Merge branch 'cλash' of http://git.stderr.nl/matthijs/projects/master-project
[matthijs/master-project/cλash.git] / Adders.hs
index c4389147c28726e1f1a9486f4cfe44f44a360309..67d7d95e9fa3a7e3c5d693c2bf1980bb24900155 100644 (file)
--- a/Adders.hs
+++ b/Adders.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE TemplateHaskell #-}
+
 module Adders where
 import Bits
 import qualified Sim
@@ -172,8 +174,15 @@ highordtest = \x ->
              in
                 \c d -> op' d c
 
-functiontest :: TFVec D4 Bit -> TFVec D5 Bit -> RangedWord D3 -> RangedWord D4 -> (Bit, Bit)
-functiontest = \v1 v2 i1 i2 -> let r1 = v1!i1 ; r2 = v2!i2 in (r1,r2)
+xand a b = hwand a b
+
+functiontest :: TFVec D4 Bit -> TFVec D8 Bit
+functiontest = \v -> let r = v ++ $(vectorTH ([High,Low,High,Low] :: [Bit])) in r
+
+xhwnot x = hwnot x
+
+maptest :: TFVec D4 Bit -> TFVec D4 Bit
+maptest = \v -> let r = map xhwnot v in r
 
 highordtest2 = \a b ->
          case a of