aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2019-01-02 11:36:29 +0100
committerYann Herklotz <ymherklotz@gmail.com>2019-01-02 11:36:29 +0100
commit18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b (patch)
tree8317bf6edc743b8c094e82f5dd79c2546034206d /src
parentdb5b066ad6ad7e05295209ffd8f003a6d5b6bb5a (diff)
downloadverismith-18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b.tar.gz
verismith-18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b.zip
Add num instance for the delay
Diffstat (limited to 'src')
-rw-r--r--src/Test/VeriFuzz/Verilog/AST.hs9
1 files changed, 9 insertions, 0 deletions
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