aboutsummaryrefslogtreecommitdiffstats
path: root/src/VeriFuzz/Verilog/Gen.hs
diff options
context:
space:
mode:
authorYann Herklotz <git@ymhg.org>2019-05-09 23:18:10 +0100
committerYann Herklotz <git@ymhg.org>2019-05-09 23:18:10 +0100
commit77702d5492ba19b6e3e0dda9e9460a8bb67a8e3f (patch)
tree1fb623c5b94aab30c7ab74d34942390827cb0a5d /src/VeriFuzz/Verilog/Gen.hs
parent76ce30d979686307babe8ebb6269072338f24910 (diff)
downloadverismith-77702d5492ba19b6e3e0dda9e9460a8bb67a8e3f.tar.gz
verismith-77702d5492ba19b6e3e0dda9e9460a8bb67a8e3f.zip
Add new pretty printer with indentation
Diffstat (limited to 'src/VeriFuzz/Verilog/Gen.hs')
-rw-r--r--src/VeriFuzz/Verilog/Gen.hs14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/VeriFuzz/Verilog/Gen.hs b/src/VeriFuzz/Verilog/Gen.hs
index feb2be5..9a5b71d 100644
--- a/src/VeriFuzz/Verilog/Gen.hs
+++ b/src/VeriFuzz/Verilog/Gen.hs
@@ -98,12 +98,6 @@ randomMod inps total = do
gen :: Gen a -> StateGen a
gen = lift . lift
-listOf1 :: Gen a -> Gen [a]
-listOf1 a = Hog.list (Hog.linear 1 100) a
-
---listOf :: Gen a -> Gen [a]
---listOf = Hog.list (Hog.linear 0 100)
-
largeNum :: Gen Int
largeNum = Hog.int Hog.linearBounded
@@ -178,9 +172,9 @@ constExprWithContext ps prob size
, ConstBinOp <$> subexpr 2 <*> binOp <*> subexpr 2
)
, ( prob ^. probExprCond
- , ConstCond <$> subexpr 3 <*> subexpr 3 <*> subexpr 3
+ , ConstCond <$> subexpr 2 <*> subexpr 2 <*> subexpr 2
)
- , (prob ^. probExprConcat, ConstConcat <$> listOf1 (subexpr 8))
+ , (prob ^. probExprConcat, ConstConcat <$> Hog.list (Hog.linear 1 10) (subexpr 2))
]
| otherwise = constExprWithContext ps prob 0
where subexpr y = constExprWithContext ps prob $ size `div` y
@@ -191,11 +185,11 @@ exprSafeList prob = [(prob ^. probExprNum, Number <$> genBitVec)]
exprRecList :: ProbExpr -> (Hog.Size -> Gen Expr) -> [(Int, Gen Expr)]
exprRecList prob subexpr =
[ (prob ^. probExprNum , Number <$> genBitVec)
- , (prob ^. probExprConcat , Concat <$> listOf1 (subexpr 8))
+ , (prob ^. probExprConcat , Concat <$> Hog.list (Hog.linear 1 10) (subexpr 2))
, (prob ^. probExprUnOp , UnOp <$> unOp <*> subexpr 2)
, (prob ^. probExprStr, Str <$> Hog.text (Hog.linear 0 100) Hog.alphaNum)
, (prob ^. probExprBinOp , BinOp <$> subexpr 2 <*> binOp <*> subexpr 2)
- , (prob ^. probExprCond , Cond <$> subexpr 3 <*> subexpr 3 <*> subexpr 3)
+ , (prob ^. probExprCond , Cond <$> subexpr 2 <*> subexpr 2 <*> subexpr 2)
, (prob ^. probExprSigned , Appl <$> pure "$signed" <*> subexpr 2)
, (prob ^. probExprUnsigned, Appl <$> pure "$unsigned" <*> subexpr 2)
]