aboutsummaryrefslogtreecommitdiffstats
path: root/src/Test/VeriFuzz/CodeGen.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Test/VeriFuzz/CodeGen.hs')
-rw-r--r--src/Test/VeriFuzz/CodeGen.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Test/VeriFuzz/CodeGen.hs b/src/Test/VeriFuzz/CodeGen.hs
index eb99d6b..85f1d1c 100644
--- a/src/Test/VeriFuzz/CodeGen.hs
+++ b/src/Test/VeriFuzz/CodeGen.hs
@@ -58,9 +58,12 @@ genExpr _ = "TODO"
genPrimary :: Primary -> Text
genPrimary (PrimNum num) =
- sh (num ^. numSize) <> "'d" <> sh (num ^. numVal)
+ neg <> sh (num ^. numSize) <> "'d" <> (sh . abs) n
where
sh = T.pack . show
+ abs x = if x <= 0 then -x else x
+ n = num ^. numVal
+ neg = if n <= 0 then "-" else ""
genPrimary (PrimId ident) = ident ^. getIdentifier
genBinaryOperator :: BinaryOperator -> Text