blob: 1d0f9ba40a932a030cfdaf358af490a3cc19be1c (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
-- logop.hs -- logical operations on numbers
--
-- author : Sandra Loosemore
-- date : 19 June 1993
--
module LogOp where
import LogOpPrims -- from logop-prims.hi
class LogOperand a where
logior :: a -> a -> a
logxor :: a -> a -> a
logand :: a -> a -> a
logeqv :: a -> a -> a
lognand :: a -> a -> a
lognor :: a -> a -> a
logandc1 :: a -> a -> a
logandc2 :: a -> a -> a
logorc1 :: a -> a -> a
logorc2 :: a -> a -> a
lognot :: a -> a
logtest :: a -> a -> a
logbitp :: Int -> a -> a
ash :: a -> Int -> a
logcount :: a -> Int
integerLength :: a -> Int
instance LogOperand Integer where
logior = logiorInteger
logxor = logxorInteger
logand = logandInteger
logeqv = logeqvInteger
lognand = lognandInteger
lognor = lognorInteger
logandc1 = logandc1Integer
logandc2 = logandc2Integer
logorc1 = logorc1Integer
logorc2 = logorc2Integer
lognot = lognotInteger
logtest = logtestInteger
logbitp = logbitpInteger
ash = ashInteger
logcount = logcountInteger
integerLength = integerLengthInteger
instance LogOperand Int where
logior = logiorInt
logxor = logxorInt
logand = logandInt
logeqv = logeqvInt
lognand = lognandInt
lognor = lognorInt
logandc1 = logandc1Int
logandc2 = logandc2Int
logorc1 = logorc1Int
logorc2 = logorc2Int
lognot = lognotInt
logtest = logtestInt
logbitp = logbitpInt
ash = ashInt
logcount = logcountInt
integerLength = integerLengthInt
|