aboutsummaryrefslogtreecommitdiffstats
path: root/src/VeriFuzz/Config.hs
diff options
context:
space:
mode:
authorYann Herklotz <git@ymhg.org>2019-04-12 17:16:42 +0100
committerYann Herklotz <git@ymhg.org>2019-04-12 17:16:42 +0100
commit6bcdac596fab6e989c999d63ba3f0ad09532989c (patch)
treec15aa2fef405ad8b75c274a697058d1064a13e35 /src/VeriFuzz/Config.hs
parentd695414e67f9adb7f665602a20a898fa77eba106 (diff)
downloadverismith-6bcdac596fab6e989c999d63ba3f0ad09532989c.tar.gz
verismith-6bcdac596fab6e989c999d63ba3f0ad09532989c.zip
Add for loop to design
Diffstat (limited to 'src/VeriFuzz/Config.hs')
-rw-r--r--src/VeriFuzz/Config.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/VeriFuzz/Config.hs b/src/VeriFuzz/Config.hs
index 8b48995..66c5aa2 100644
--- a/src/VeriFuzz/Config.hs
+++ b/src/VeriFuzz/Config.hs
@@ -39,6 +39,7 @@ module VeriFuzz.Config
, probStmntBlock
, probStmntNonBlock
, probStmntCond
+ , probStmntFor
, propSize
, propSeed
, propStmntDepth
@@ -81,6 +82,7 @@ data ProbModItem = ProbModItem { _probModItemAssign :: {-# UNPACK #-} !Int
data ProbStatement = ProbStatement { _probStmntBlock :: {-# UNPACK #-} !Int
, _probStmntNonBlock :: {-# UNPACK #-} !Int
, _probStmntCond :: {-# UNPACK #-} !Int
+ , _probStmntFor :: {-# UNPACK #-} !Int
}
deriving (Eq, Show)
@@ -122,7 +124,7 @@ defaultConfig = Config (Probability defModItem defStmnt defExpr)
(Property 20 Nothing 3 2 5)
where
defModItem = ProbModItem 5 1 1
- defStmnt = ProbStatement 5 5 1
+ defStmnt = ProbStatement 5 5 1 1
defExpr = ProbExpr 1 1 1 1 1 1 0 1 1
twoKey :: Toml.Piece -> Toml.Piece -> Toml.Key
@@ -165,6 +167,8 @@ stmntCodec =
.= _probStmntNonBlock
<*> defaultValue (defProb probStmntCond) (intS "conditional")
.= _probStmntCond
+ <*> defaultValue (defProb probStmntFor) (intS "forloop")
+ .= _probStmntFor
where
defProb i = defaultConfig ^. configProbability . probStmnt . i
intS = int "statement"