X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=Adders.hs;h=d9c1d26f61be295d5061654608616117c31c2ac2;hb=7eb34cb0e082185b256b7231ee84cb04e006f51c;hp=6cf3be5d97ddafff47bd158e4d38a8e7cdaea73d;hpb=91914df9b344ccf0bc3242dc28ce74a8d6721944;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/Adders.hs b/Adders.hs index 6cf3be5..d9c1d26 100644 --- 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) () @@ -172,8 +176,15 @@ highordtest = \x -> in \c d -> op' d c -functiontest :: TFVec D4 Bit -> RangedWord D3 -> Bit -functiontest = \v i -> let r = v!i in r +xand a b = hwand a b + +functiontest :: SizedWord D8 -> SizedWord D8 +functiontest = \a -> let r = a + ((-1) :: SizedWord D8) 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