+{-# LANGUAGE TemplateHaskell #-}
+
module Adders where
import Bits
import qualified Sim
import Types
import Data.Param.TFVec
import Data.RangedWord
+import Data.SizedInt
+import Data.SizedWord
mainIO f = Sim.simulateIO (Sim.stateless f) ()
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 D3 (TFVec D4 Bit) -> TFVec D12 Bit
+functiontest = \v -> let r = concat v in r
+
+functiontest2 :: SizedInt D8 -> SizedInt D7
+functiontest2 = \a -> let r = Data.SizedInt.resize a in r
xhwnot x = hwnot x