diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2019-01-02 11:36:29 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2019-01-02 11:36:29 +0100 |
commit | 18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b (patch) | |
tree | 8317bf6edc743b8c094e82f5dd79c2546034206d /src/Test/VeriFuzz/Verilog | |
parent | db5b066ad6ad7e05295209ffd8f003a6d5b6bb5a (diff) | |
download | verismith-18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b.tar.gz verismith-18e69d8a89ff0c2dbce4f3b37f5f4e53a6044a3b.zip |
Add num instance for the delay
Diffstat (limited to 'src/Test/VeriFuzz/Verilog')
-rw-r--r-- | src/Test/VeriFuzz/Verilog/AST.hs | 9 |
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 |