[project @ 1999-05-07 14:52:49 by simonm]
[ghc-hetmet.git] / ghc / tests / lib / should_run / enum02.stdout
1 Testing Enum Int8:
2     (succ (0::Int8)) = 1
3     (succ (minBound::Int8)) = -127
4     (succ (maxBound::Int8)) = error "Enum.succ{Int8}: tried to take `succ' of maxBound"
5     pred (1::Int8) = 0
6     pred (maxBound::Int8) = 126
7     pred (minBound::Int8) = error "Enum.pred{Int8}: tried to take `pred' of minBound"
8     (map (toEnum::Int->Int8) [1, toInt (minBound::Int8), toInt (maxBound::Int8)]) = [1,-128,127]
9     (toEnum (maxBound::Int))::Int8 = error "Enum.toEnum{Int8}: tag (2147483647) is outside of bounds (-128,127)"
10     (map fromEnum [(1::Int8),minBound,maxBound]) = [1,-128,127]
11     (take 7 [(1::Int8)..]) = [1,2,3,4,5,6,7]
12     (take 7 [((maxBound::Int8)-5)..]) = [122,123,124,125,126,127]
13     (take 7 [(1::Int8),2..]) = [1,2,3,4,5,6,7]
14     (take 7 [(1::Int8),7..]) = [1,7,13,19,25,31,37]
15     (take 7 [(1::Int8),1..]) = [1,1,1,1,1,1,1]
16     (take 7 [(1::Int8),0..]) = [1,0,-1,-2,-3,-4,-5]
17     (take 7 [(5::Int8),2..]) = [5,2,-1,-4,-7,-10,-13]
18     (take 7 [x, x-1 ..]) = [-127,-128]
19     (take 7 [x, x-1 ..]) = [-123,-124,-125,-126,-127,-128]
20     (take 7 [x, (x+1) ..]) = [122,123,124,125,126,127]
21     (take 7 ([(1::Int8) .. 5])) = [1,2,3,4,5]
22     (take 4 ([(1::Int8) .. 1])) = [1]
23     (take 7 ([(1::Int8) .. 0])) = []
24     (take 7 ([(5::Int8) .. 0])) = []
25     (take 7 ([(maxBound-(5::Int8)) .. maxBound])) = [122,123,124,125,126,127]
26     (take 7 ([(minBound+(5::Int8)) .. minBound])) = []
27     (take 7 [(5::Int8),4..1]) = [5,4,3,2,1]
28     (take 7 [(5::Int8),3..1]) = [5,3,1]
29     (take 7 [(5::Int8),3..2]) = [5,3]
30     (take 7 [(1::Int8),2..1]) = [1]
31     (take 7 [(2::Int8),1..2]) = [2]
32     (take 7 [(2::Int8),1..1]) = [2,1]
33     (take 7 [(2::Int8),3..1]) = []
34     (take 7 [x,(x+1)..maxBound]) = [123,124,125,126,127]
35     (take 7 [x,(x-1)..minBound]) = [-123,-124,-125,-126,-127,-128]
36 Testing Enum Int16:
37     (succ (0::Int16)) = 1
38     (succ (minBound::Int16)) = -32767
39     (succ (maxBound::Int16)) = error "Enum.succ{Int16}: tried to take `succ' of maxBound"
40     pred (1::Int16) = 0
41     pred (maxBound::Int16) = 32766
42     pred (minBound::Int16) = error "Enum.pred{Int16}: tried to take `pred' of minBound"
43     (map (toEnum::Int->Int16) [1, toInt (minBound::Int16), toInt (maxBound::Int16)]) = [1,-32768,32767]
44     (toEnum (maxBound::Int))::Int16 = error "Enum.toEnum{Int16}: tag (2147483647) is outside of bounds (-32768,32767)"
45     (map fromEnum [(1::Int16),minBound,maxBound]) = [1,-32768,32767]
46     (take 7 [(1::Int16)..]) = [1,2,3,4,5,6,7]
47     (take 7 [((maxBound::Int16)-5)..]) = [32762,32763,32764,32765,32766,32767]
48     (take 7 [(1::Int16),2..]) = [1,2,3,4,5,6,7]
49     (take 7 [(1::Int16),7..]) = [1,7,13,19,25,31,37]
50     (take 7 [(1::Int16),1..]) = [1,1,1,1,1,1,1]
51     (take 7 [(1::Int16),0..]) = [1,0,-1,-2,-3,-4,-5]
52     (take 7 [(5::Int16),2..]) = [5,2,-1,-4,-7,-10,-13]
53     (take 7 [x, x-1 ..]) = [-32767,-32768]
54     (take 7 [x, x-1 ..]) = [-32763,-32764,-32765,-32766,-32767,-32768]
55     (take 7 [x, (x+1) ..]) = [32762,32763,32764,32765,32766,32767]
56     (take 7 ([(1::Int16) .. 5])) = [1,2,3,4,5]
57     (take 4 ([(1::Int16) .. 1])) = [1]
58     (take 7 ([(1::Int16) .. 0])) = []
59     (take 7 ([(5::Int16) .. 0])) = []
60     (take 7 ([(maxBound-(5::Int16)) .. maxBound])) = [32762,32763,32764,32765,32766,32767]
61     (take 7 ([(minBound+(5::Int16)) .. minBound])) = []
62     (take 7 [(5::Int16),4..1]) = [5,4,3,2,1]
63     (take 7 [(5::Int16),3..1]) = [5,3,1]
64     (take 7 [(5::Int16),3..2]) = [5,3]
65     (take 7 [(1::Int16),2..1]) = [1]
66     (take 7 [(2::Int16),1..2]) = [2]
67     (take 7 [(2::Int16),1..1]) = [2,1]
68     (take 7 [(2::Int16),3..1]) = []
69     (take 7 [x,(x+1)..maxBound]) = [32763,32764,32765,32766,32767]
70     (take 7 [x,(x-1)..minBound]) = [-32763,-32764,-32765,-32766,-32767,-32768]
71 Testing Enum Int32:
72     (succ (0::Int32)) = 1
73     (succ (minBound::Int32)) = -2147483647
74     (succ (maxBound::Int32)) = error "Enum.succ{Int32}: tried to take `succ' of maxBound"
75     pred (1::Int32) = 0
76     pred (maxBound::Int32) = 2147483646
77     pred (minBound::Int32) = error "Enum.pred{Int32}: tried to take `pred' of minBound"
78     (map (toEnum::Int->Int32) [1, toInt (minBound::Int32), toInt (maxBound::Int32)]) = [1,-2147483648,2147483647]
79     (toEnum (maxBound::Int))::Int32 = 2147483647
80     (map fromEnum [(1::Int32),minBound,maxBound]) = [1,-2147483648,2147483647]
81     (take 7 [(1::Int32)..]) = [1,2,3,4,5,6,7]
82     (take 7 [((maxBound::Int32)-5)..]) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647]
83     (take 7 [(1::Int32),2..]) = [1,2,3,4,5,6,7]
84     (take 7 [(1::Int32),7..]) = [1,7,13,19,25,31,37]
85     (take 7 [(1::Int32),1..]) = [1,1,1,1,1,1,1]
86     (take 7 [(1::Int32),0..]) = [1,0,-1,-2,-3,-4,-5]
87     (take 7 [(5::Int32),2..]) = [5,2,-1,-4,-7,-10,-13]
88     (take 7 [x, x-1 ..]) = [-2147483647,-2147483648]
89     (take 7 [x, x-1 ..]) = [-2147483643,-2147483644,-2147483645,-2147483646,-2147483647,-2147483648]
90     (take 7 [x, (x+1) ..]) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647]
91     (take 7 ([(1::Int32) .. 5])) = [1,2,3,4,5]
92     (take 4 ([(1::Int32) .. 1])) = [1]
93     (take 7 ([(1::Int32) .. 0])) = []
94     (take 7 ([(5::Int32) .. 0])) = []
95     (take 7 ([(maxBound-(5::Int32)) .. maxBound])) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647]
96     (take 7 ([(minBound+(5::Int32)) .. minBound])) = []
97     (take 7 [(5::Int32),4..1]) = [5,4,3,2,1]
98     (take 7 [(5::Int32),3..1]) = [5,3,1]
99     (take 7 [(5::Int32),3..2]) = [5,3]
100     (take 7 [(1::Int32),2..1]) = [1]
101     (take 7 [(2::Int32),1..2]) = [2]
102     (take 7 [(2::Int32),1..1]) = [2,1]
103     (take 7 [(2::Int32),3..1]) = []
104     (take 7 [x,(x+1)..maxBound]) = [2147483643,2147483644,2147483645,2147483646,2147483647]
105     (take 7 [x,(x-1)..minBound]) = [-2147483643,-2147483644,-2147483645,-2147483646,-2147483647,-2147483648]
106 Testing Enum Int64:
107     (succ (0::Int64)) = 1
108     (succ (minBound::Int64)) = -9223372036854775807
109     (succ (maxBound::Int64)) = error "Enum.succ{Int64}: tried to take `succ' of maxBound"
110     pred (1::Int64) = 0
111     pred (maxBound::Int64) = 9223372036854775806
112     pred (minBound::Int64) = error "Enum.pred{Int64}: tried to take `pred' of minBound"
113     (map (toEnum::Int->Int64) [1, toInt (minBound::Int64), toInt (maxBound::Int64)]) = [1,0,-1]
114     (toEnum (maxBound::Int))::Int64 = 2147483647
115     (map fromEnum [(1::Int64),fromInt (minBound::Int) ,fromInt (maxBound::Int)]) = [1,-2147483648,2147483647]
116     fromEnum (maxBound::Int64) = error "Enum.fromEnum{Int64}: value (9223372036854775807) is outside of Int's bounds (-2147483648,2147483647)"
117     (take 7 [(1::Int64)..]) = [1,2,3,4,5,6,7]
118     (take 7 [((maxBound::Int64)-5)..]) = [9223372036854775802,9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807]
119     (take 7 [(1::Int64),2..]) = [1,2,3,4,5,6,7]
120     (take 7 [(1::Int64),7..]) = [1,7,13,19,25,31,37]
121     (take 7 [(1::Int64),1..]) = [1,1,1,1,1,1,1]
122     (take 7 [(1::Int64),0..]) = [1,0,-1,-2,-3,-4,-5]
123     (take 7 [(5::Int64),2..]) = [5,2,-1,-4,-7,-10,-13]
124     (take 7 [x, x-1 ..]) = [-9223372036854775807,-9223372036854775808]
125     (take 7 [x, x-1 ..]) = [-9223372036854775803,-9223372036854775804,-9223372036854775805,-9223372036854775806,-9223372036854775807,-9223372036854775808]
126     (take 7 [x, (x+1) ..]) = [9223372036854775802,9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807]
127     (take 7 ([(1::Int64) .. 5])) = [1,2,3,4,5]
128     (take 4 ([(1::Int64) .. 1])) = [1]
129     (take 7 ([(1::Int64) .. 0])) = []
130     (take 7 ([(5::Int64) .. 0])) = []
131     (take 7 ([(maxBound-(5::Int64)) .. maxBound])) = [9223372036854775802,9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807]
132     (take 7 ([(minBound+(5::Int64)) .. minBound])) = []
133     (take 7 [(5::Int64),4..1]) = [5,4,3,2,1]
134     (take 7 [(5::Int64),3..1]) = [5,3,1]
135     (take 7 [(5::Int64),3..2]) = [5,3]
136     (take 7 [(1::Int64),2..1]) = [1]
137     (take 7 [(2::Int64),1..2]) = [2]
138     (take 7 [(2::Int64),1..1]) = [2,1]
139     (take 7 [(2::Int64),3..1]) = []
140     (take 7 [x,(x+1)..maxBound]) = [9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807]
141     (take 7 [x,(x-1)..minBound]) = [-9223372036854775803,-9223372036854775804,-9223372036854775805,-9223372036854775806,-9223372036854775807,-9223372036854775808]