summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/programs/jtod_circint/Bit.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/programs/jtod_circint/Bit.hs')
-rw-r--r--testsuite/tests/ghc-regress/programs/jtod_circint/Bit.hs183
1 files changed, 0 insertions, 183 deletions
diff --git a/testsuite/tests/ghc-regress/programs/jtod_circint/Bit.hs b/testsuite/tests/ghc-regress/programs/jtod_circint/Bit.hs
deleted file mode 100644
index be11a6f517..0000000000
--- a/testsuite/tests/ghc-regress/programs/jtod_circint/Bit.hs
+++ /dev/null
@@ -1,183 +0,0 @@
-module Bit where
-import LogFun
-import Signal
-
-data Bit = Bot | WeakZero | WeakOne | Zero | One | Top
- deriving (Eq,Show{-was:Text-})
-
-instance Static Bit where
- intToSig = intToSigBit
- sigToInt = sigToIntBit
- showStaticSig = showBit
-
-instance Lattice Bit where
- bot = Bot
- top = Top
- weakZero = WeakZero
- weakOne = WeakOne
- lub = lubBit
- pass = passBit
-
-instance Signal Bit where
- showSig = showBit
- initial = Zero
- zerO = Zero
- one = One
- tt1 = tt1Bit
- tt2 = tt2Bit
-
-instance Log Bit where
- dumLog = Zero
-
-tt1Bit :: TT1 -> Bit -> Bit
-tt1Bit (a,b) =
- let p = intBit a
- q = intBit b
- f x = case x of
- Bot -> Bot
- Zero -> p
- One -> q
- Top -> Top
- in f
-
-tt2Bit :: TT2 -> Bit -> Bit -> Bit
-tt2Bit (a,b,c,d) = f
- where p = intBit a
- q = intBit b
- r = intBit c
- s = intBit d
- f x y = case x of
- Bot -> case y of
- Bot -> Bot
- WeakZero -> Bot
- WeakOne -> Bot
- Zero -> Bot
- One -> Bot
- Top -> Top
- WeakZero -> case y of
- Bot -> Bot
- WeakZero -> p
- WeakOne -> q
- Zero -> p
- One -> q
- Top -> Top
- WeakOne -> case y of
- Bot -> Bot
- WeakZero -> r
- WeakOne -> s
- Zero -> r
- One -> s
- Top -> Top
- Zero -> case y of
- Bot -> Bot
- WeakZero -> p
- WeakOne -> q
- Zero -> p
- One -> q
- Top -> Top
- One -> case y of
- Bot -> Bot
- WeakZero -> r
- WeakOne -> s
- Zero -> r
- One -> s
- Top -> Top
- Top -> case y of
- Bot -> Top
- WeakZero -> Top
- WeakOne -> Top
- Zero -> Top
- One -> Top
- Top -> Top
-
-lubBit :: Bit -> Bit -> Bit
-lubBit a b =
- case a of
- Bot -> case b of
- Bot -> Bot
- WeakZero -> WeakZero
- WeakOne -> WeakOne
- Zero -> Zero
- One -> One
- Top -> Top
- WeakZero -> case b of
- Bot -> Zero
- WeakZero -> WeakZero
- WeakOne -> Top
- Zero -> Zero
- One -> One
- Top -> Top
- WeakOne -> case b of
- Bot -> WeakOne
- WeakZero -> Top
- WeakOne -> WeakOne
- Zero -> Zero
- One -> One
- Top -> Top
- Zero -> case b of
- Bot -> Zero
- WeakZero -> Zero
- WeakOne -> Zero
- Zero -> Zero
- One -> Top
- Top -> Top
- One -> case b of
- Bot -> One
- WeakZero -> One
- WeakOne -> One
- Zero -> Top
- One -> One
- Top -> Top
- Top -> case b of
- Bot -> Top
- WeakZero -> Top
- WeakOne -> Top
- Zero -> Top
- One -> Top
- Top -> Top
-
-showBit :: Bit -> String
-showBit Bot = "v"
-showBit WeakZero = "z"
-showBit WeakOne = "o"
-showBit Zero = "0"
-showBit One = "1"
-showBit Top = "^"
-
-
-intBit :: Int -> Bit
-intBit 0 = Zero
-intBit 1 = One
-intBit x =
- error ("\nintBit received bad Int " ++ show x ++ ".\n")
-
-intToSigBit :: Int -> Bit
-intToSigBit i
- | i==0 = Zero
- | i==1 = One
- | i==8 = Bot
- | i==9 = Top
-
-sigToIntBit :: Bit -> Int
-sigToIntBit Zero = 0
-sigToIntBit One = 1
-sigToIntBit Bot = 8
-sigToIntBit Top = 9
-
-passBit :: Bit -> Bit -> Bit
-passBit c a =
- case c of
- Bot -> Bot
- Zero -> Bot
- One -> a
- Top -> Top
-
-instance Num Bit where
- (+) = or2
- (*) = and2
- a - b = xor a b
- negate = inv
- abs = error "abs not defined for Signals"
- signum = error "signum not defined for Signals"
- fromInteger = error "fromInteger not defined for Signals"
-