aboutsummaryrefslogtreecommitdiffstats
path: root/src/Test/VeriFuzz/Graph/CodeGen.hs
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-12-22 11:35:32 +0000
committerYann Herklotz <ymherklotz@gmail.com>2018-12-22 11:35:32 +0000
commitb5202e97fe669dfa10ec15cc39f9c7f250bcefc5 (patch)
tree57dbe1150acdd89f4465fc14706f53b97611f4e3 /src/Test/VeriFuzz/Graph/CodeGen.hs
parent73514c6500c6431406313ee7db665dd5e64286ee (diff)
downloadverismith-b5202e97fe669dfa10ec15cc39f9c7f250bcefc5.tar.gz
verismith-b5202e97fe669dfa10ec15cc39f9c7f250bcefc5.zip
Add more functions to the code generation
Diffstat (limited to 'src/Test/VeriFuzz/Graph/CodeGen.hs')
-rw-r--r--src/Test/VeriFuzz/Graph/CodeGen.hs13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/Test/VeriFuzz/Graph/CodeGen.hs b/src/Test/VeriFuzz/Graph/CodeGen.hs
index 43fee25..8d20a71 100644
--- a/src/Test/VeriFuzz/Graph/CodeGen.hs
+++ b/src/Test/VeriFuzz/Graph/CodeGen.hs
@@ -21,15 +21,9 @@ import Data.Graph.Inductive (Graph, LNode, Node, indeg,
import Data.Maybe (fromMaybe)
import Data.Text (Text, empty, pack)
import Test.VeriFuzz.Circuit
+import Test.VeriFuzz.Internal.Gen
import Test.VeriFuzz.Internal.Shared
-fromNode :: Node -> Text
-fromNode node = pack $ "w" <> show node
-
-filterGr :: (Graph gr) => gr n e -> (Node -> Bool) -> [Node]
-filterGr graph f =
- filter f $ nodes graph
-
toOperator :: Gate -> Text
toOperator And = " & "
toOperator Or = " | "
@@ -61,7 +55,6 @@ generate graph =
<> "$display(\"Hello, world\");\n $finish;\n "
<> "end\nendmodule"
where
- zero fun1 fun2 n = fun1 graph n == 0 && fun2 graph n /= 0
- inp = filterGr graph $ zero indeg outdeg
- out = filterGr graph $ zero outdeg indeg
+ inp = inputs graph
+ out = outputs graph
imap b e = fmap ((\s -> b <> s <> e) . fromNode)