Correctly handle negate for unsigned integers
[matthijs/master-project/cλash.git] / Adders.hs
index 672c83c964fe630f154a802bf2feb8160865ac0d..d9c1d26f61be295d5061654608616117c31c2ac2 100644 (file)
--- a/Adders.hs
+++ b/Adders.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE TemplateHaskell #-}
+
 module Adders where
 import Bits
 import qualified Sim
@@ -11,6 +13,8 @@ import Language.Haskell.Syntax
 import Types
 import Data.Param.TFVec
 import Data.RangedWord
+import Data.SizedInt
+import Data.SizedWord
 
 mainIO f = Sim.simulateIO (Sim.stateless f) ()
 
@@ -174,8 +178,8 @@ highordtest = \x ->
 
 xand a b = hwand a b
 
-functiontest :: TFVec D4 (TFVec D3 Bit) -> TFVec D12 Bit
-functiontest = \v -> let r = concat v in r
+functiontest :: SizedWord D8 -> SizedWord D8
+functiontest = \a -> let r = a + ((-1) :: SizedWord D8) in r
 
 xhwnot x = hwnot x