From 18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Wed, 2 Jan 2019 11:36:29 +0100 Subject: Add num instance for the delay --- src/Test/VeriFuzz/Verilog/AST.hs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/Test/VeriFuzz/Verilog/AST.hs b/src/Test/VeriFuzz/Verilog/AST.hs index 184390e..36f4d6d 100644 --- a/src/Test/VeriFuzz/Verilog/AST.hs +++ b/src/Test/VeriFuzz/Verilog/AST.hs @@ -48,6 +48,15 @@ instance Monoid Identifier where newtype Delay = Delay { _delay :: Int } deriving (Eq) +instance Num Delay where + Delay a + Delay b = Delay $ a + b + Delay a - Delay b = Delay $ a - b + Delay a * Delay b = Delay $ a * b + negate (Delay a) = Delay $ negate a + abs (Delay a) = Delay $ abs a + signum (Delay a) = Delay $ signum a + fromInteger = Delay . fromInteger + -- | Verilog syntax for an event, such as @\@x@, which is used for always blocks data Event = EId Identifier | EExpr Expr -- cgit