[project @ 1999-05-07 14:52:49 by simonm]
[ghc-hetmet.git] / ghc / tests / lib / should_run / enum03.stdout
1 Testing Enum Word8:
2     (succ (0::Word8)) = 1
3     (succ (minBound::Word8)) = 1
4     (succ (maxBound::Word8)) = error "Enum.succ{Word8}: tried to take `succ' of maxBound"
5     pred (1::Word8) = 0
6     pred (maxBound::Word8) = 254
7     pred (minBound::Word8) = error "Enum.pred{Word8}: tried to take `pred' of minBound"
8     (map (toEnum::Int->Word8) [1, toInt (minBound::Word8), toInt (maxBound::Word8)]) = [1,0,255]
9     (toEnum (maxBound::Int))::Word8 = error "Enum.toEnum{Word8}: tag (2147483647) is outside of bounds (0,255)"
10     (map fromEnum [(1::Word8),minBound,maxBound]) = [1,0,255]
11     (take 7 [(1::Word8)..]) = [1,2,3,4,5,6,7]
12     (take 7 [((maxBound::Word8)-5)..]) = [250,251,252,253,254,255]
13     (take 7 [(1::Word8),2..]) = [1,2,3,4,5,6,7]
14     (take 7 [(1::Word8),7..]) = [1,7,13,19,25,31,37]
15     (take 7 [(1::Word8),1..]) = [1,1,1,1,1,1,1]
16     (take 7 [(1::Word8),0..]) = [1,0]
17     (take 7 [(5::Word8),2..]) = [5,2]
18     (take 7 [x, x-1 ..]) = [1,0]
19     (take 7 [x, x-1 ..]) = [5,4,3,2,1,0]
20     (take 7 [x, (x+1) ..]) = [250,251,252,253,254,255]
21     (take 7 ([(1::Word8) .. 5])) = [1,2,3,4,5]
22     (take 4 ([(1::Word8) .. 1])) = [1]
23     (take 7 ([(1::Word8) .. 0])) = []
24     (take 7 ([(5::Word8) .. 0])) = []
25     (take 7 ([(maxBound-(5::Word8)) .. maxBound])) = [250,251,252,253,254,255]
26     (take 7 ([(minBound+(5::Word8)) .. minBound])) = []
27     (take 7 [(5::Word8),4..1]) = [5,4,3,2,1]
28     (take 7 [(5::Word8),3..1]) = [5,3,1]
29     (take 7 [(5::Word8),3..2]) = [5,3]
30     (take 7 [(1::Word8),2..1]) = [1]
31     (take 7 [(2::Word8),1..2]) = [2]
32     (take 7 [(2::Word8),1..1]) = [2,1]
33     (take 7 [(2::Word8),3..1]) = []
34     (take 7 [x,(x+1)..maxBound]) = [251,252,253,254,255]
35     (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0]
36 Testing Enum Word16:
37     (succ (0::Word16)) = 1
38     (succ (minBound::Word16)) = 1
39     (succ (maxBound::Word16)) = error "Enum.succ{Word16}: tried to take `succ' of maxBound"
40     pred (1::Word16) = 0
41     pred (maxBound::Word16) = 65534
42     pred (minBound::Word16) = error "Enum.pred{Word16}: tried to take `pred' of minBound"
43     (map (toEnum::Int->Word16) [1, toInt (minBound::Word16), toInt (maxBound::Word16)]) = [1,0,65535]
44     (toEnum (maxBound::Int))::Word16 = error "Enum.toEnum{Word16}: tag (2147483647) is outside of bounds (0,65535)"
45     (map fromEnum [(1::Word16),minBound,maxBound]) = [1,0,65535]
46     (take 7 [(1::Word16)..]) = [1,2,3,4,5,6,7]
47     (take 7 [((maxBound::Word16)-5)..]) = [65530,65531,65532,65533,65534,65535]
48     (take 7 [(1::Word16),2..]) = [1,2,3,4,5,6,7]
49     (take 7 [(1::Word16),7..]) = [1,7,13,19,25,31,37]
50     (take 7 [(1::Word16),1..]) = [1,1,1,1,1,1,1]
51     (take 7 [(1::Word16),0..]) = [1,0]
52     (take 7 [(5::Word16),2..]) = [5,2]
53     (take 7 [x, x-1 ..]) = [1,0]
54     (take 7 [x, x-1 ..]) = [5,4,3,2,1,0]
55     (take 7 [x, (x+1) ..]) = [65530,65531,65532,65533,65534,65535]
56     (take 7 ([(1::Word16) .. 5])) = [1,2,3,4,5]
57     (take 4 ([(1::Word16) .. 1])) = [1]
58     (take 7 ([(1::Word16) .. 0])) = []
59     (take 7 ([(5::Word16) .. 0])) = []
60     (take 7 ([(maxBound-(5::Word16)) .. maxBound])) = [65530,65531,65532,65533,65534,65535]
61     (take 7 ([(minBound+(5::Word16)) .. minBound])) = []
62     (take 7 [(5::Word16),4..1]) = [5,4,3,2,1]
63     (take 7 [(5::Word16),3..1]) = [5,3,1]
64     (take 7 [(5::Word16),3..2]) = [5,3]
65     (take 7 [(1::Word16),2..1]) = [1]
66     (take 7 [(2::Word16),1..2]) = [2]
67     (take 7 [(2::Word16),1..1]) = [2,1]
68     (take 7 [(2::Word16),3..1]) = []
69     (take 7 [x,(x+1)..maxBound]) = [65531,65532,65533,65534,65535]
70     (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0]
71 Testing Enum Word32:
72     (succ (0::Word32)) = 1
73     (succ (minBound::Word32)) = 1
74     (succ (maxBound::Word32)) = error "Enum.succ{Word32}: tried to take `succ' of maxBound"
75     pred (1::Word32) = 0
76     pred (maxBound::Word32) = 4294967294
77     pred (minBound::Word32) = error "Enum.pred{Word32}: tried to take `pred' of minBound"
78     (map (toEnum::Int->Word32) [1, toInt (minBound::Word32), maxBound::Int]) = [1,0,2147483647]
79     (toEnum (maxBound::Int))::Word32 = 2147483647
80     (map fromEnum [(1::Word32),minBound,fromInt (maxBound::Int)]) = [1,0,2147483647]
81     fromEnum (maxBound::Word32) = error "Enum.fromEnum{Word32}: value (4294967295) is outside of Int's bounds (-2147483648,2147483647)"
82     (take 7 [(1::Word32)..]) = [1,2,3,4,5,6,7]
83     (take 7 [((maxBound::Word32)-5)..]) = [4294967290,4294967291,4294967292,4294967293,4294967294,4294967295]
84     (take 7 [(1::Word32),2..]) = [1,2,3,4,5,6,7]
85     (take 7 [(1::Word32),7..]) = [1,7,13,19,25,31,37]
86     (take 7 [(1::Word32),1..]) = [1,1,1,1,1,1,1]
87     (take 7 [(1::Word32),0..]) = [1,0]
88     (take 7 [(5::Word32),2..]) = [5,2]
89     (take 7 [x, x-1 ..]) = [1,0]
90     (take 7 [x, x-1 ..]) = [5,4,3,2,1,0]
91     (take 7 [x, (x+1) ..]) = [4294967290,4294967291,4294967292,4294967293,4294967294,4294967295]
92     (take 7 ([(1::Word32) .. 5])) = [1,2,3,4,5]
93     (take 4 ([(1::Word32) .. 1])) = [1]
94     (take 7 ([(1::Word32) .. 0])) = []
95     (take 7 ([(5::Word32) .. 0])) = []
96     (take 7 ([(maxBound-(5::Word32)) .. maxBound])) = [4294967290,4294967291,4294967292,4294967293,4294967294,4294967295]
97     (take 7 ([(minBound+(5::Word32)) .. minBound])) = []
98     (take 7 [(5::Word32),4..1]) = [5,4,3,2,1]
99     (take 7 [(5::Word32),3..1]) = [5,3,1]
100     (take 7 [(5::Word32),3..2]) = [5,3]
101     (take 7 [(1::Word32),2..1]) = [1]
102     (take 7 [(2::Word32),1..2]) = [2]
103     (take 7 [(2::Word32),1..1]) = [2,1]
104     (take 7 [(2::Word32),3..1]) = []
105     (take 7 [x,(x+1)..maxBound]) = [4294967291,4294967292,4294967293,4294967294,4294967295]
106     (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0]
107 Testing Enum Word64:
108     (succ (0::Word64)) = 1
109     (succ (minBound::Word64)) = 1
110     (succ (maxBound::Word64)) = error "Enum.succ{Word64}: tried to take `succ' of maxBound"
111     pred (1::Word64) = 0
112     pred (maxBound::Word64) = 18446744073709551614
113     pred (minBound::Word64) = error "Enum.pred{Word64}: tried to take `pred' of minBound"
114     (map (toEnum::Int->Word64) [1, toInt (minBound::Word64), maxBound::Int]) = [1,0,2147483647]
115     (toEnum (maxBound::Int))::Word64 = 2147483647
116     (map fromEnum [(1::Word64),minBound,fromInt (maxBound::Int)]) = [1,0,2147483647]
117     fromEnum (maxBound::Word64) = error "Enum.fromEnum{Word64}: value (18446744073709551615) is outside of Int's bounds (-2147483648,2147483647)"
118     (take 7 [(1::Word64)..]) = [1,2,3,4,5,6,7]
119     (take 7 [((maxBound::Word64)-5)..]) = [18446744073709551610,18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615]
120     (take 7 [(1::Word64),2..]) = [1,2,3,4,5,6,7]
121     (take 7 [(1::Word64),7..]) = [1,7,13,19,25,31,37]
122     (take 7 [(1::Word64),1..]) = [1,1,1,1,1,1,1]
123     (take 7 [(1::Word64),0..]) = [1,0]
124     (take 7 [(5::Word64),2..]) = [5,2]
125     (take 7 [x, x-1 ..]) = [1,0]
126     (take 7 [x, x-1 ..]) = [5,4,3,2,1,0]
127     (take 7 [x, (x+1) ..]) = [18446744073709551610,18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615]
128     (take 7 ([(1::Word64) .. 5])) = [1,2,3,4,5]
129     (take 4 ([(1::Word64) .. 1])) = [1]
130     (take 7 ([(1::Word64) .. 0])) = []
131     (take 7 ([(5::Word64) .. 0])) = []
132     (take 7 ([(maxBound-(5::Word64)) .. maxBound])) = [18446744073709551610,18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615]
133     (take 7 ([(minBound+(5::Word64)) .. minBound])) = []
134     (take 7 [(5::Word64),4..1]) = [5,4,3,2,1]
135     (take 7 [(5::Word64),3..1]) = [5,3,1]
136     (take 7 [(5::Word64),3..2]) = [5,3]
137     (take 7 [(1::Word64),2..1]) = [1]
138     (take 7 [(2::Word64),1..2]) = [2]
139     (take 7 [(2::Word64),1..1]) = [2,1]
140     (take 7 [(2::Word64),3..1]) = []
141     (take 7 [x,(x+1)..maxBound]) = [18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615]
142     (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0]