Learn ExpandExpr how to handle simple case expressions.
[matthijs/master-project/cλash.git] / Adders.hs
index 748c06fdb73e50158297e887b07939cb57d3865e..03f04101ff9c72612bea6e4ab5030bc8b9fc2eda 100644 (file)
--- a/Adders.hs
+++ b/Adders.hs
@@ -14,6 +14,18 @@ show_add f = do print ("Sum:   " ++ (displaysigs s)); print ("Carry: " ++ (displ
 wire :: Bit -> Bit
 wire a = a
 
+-- Not really an adder either, but a slightly more complex example
+inv :: Bit -> Bit
+inv a = hwnot a
+
+-- Not really an adder either, but a slightly more complex example
+invinv :: Bit -> Bit
+invinv a = hwnot (hwnot a)
+
+-- Not really an adder either, but a slightly more complex example
+dup :: Bit -> (Bit, Bit)
+dup a = (a, a)
+
 -- Combinatoric stateless no-carry adder
 -- A -> B -> S
 no_carry_adder :: (Bit, Bit) -> Bit