diff options
Diffstat (limited to 'src/Test/VeriFuzz/CodeGen.hs')
-rw-r--r-- | src/Test/VeriFuzz/CodeGen.hs | 5 |
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 |