diff options
author | ross <unknown> | 2004-11-17 11:02:23 +0000 |
---|---|---|
committer | ross <unknown> | 2004-11-17 11:02:23 +0000 |
commit | 86abe71ccf62e92026473dfa736ef5184f0a8b26 (patch) | |
tree | d6118e6763c90cac63a3719034c811dba318687d /testsuite | |
parent | db21460523b7a0c19bf8b76fb598a7a992657aff (diff) | |
download | haskell-86abe71ccf62e92026473dfa736ef5184f0a8b26.tar.gz |
[project @ 2004-11-17 11:02:23 by ross]
add Hugs output (different error messages, H98-style printing of Rationals)
Diffstat (limited to 'testsuite')
3 files changed, 529 insertions, 0 deletions
diff --git a/testsuite/tests/ghc-regress/lib/should_run/enum01.stdout-hugs b/testsuite/tests/ghc-regress/lib/should_run/enum01.stdout-hugs new file mode 100644 index 0000000000..41bb64d598 --- /dev/null +++ b/testsuite/tests/ghc-regress/lib/should_run/enum01.stdout-hugs @@ -0,0 +1,246 @@ +Testing Enum Int: + (succ (0::Int)) = 1 + (succ (minBound::Int)) = -2147483647 + (succ (maxBound::Int)) = error "succ: applied to maxBound" + pred (1::Int) = 0 + pred (maxBound::Int) = 2147483646 + pred (minBound::Int) = error "pred: applied to minBound" + (map (toEnum::Int->Int) [1,minBound,maxBound]) = [1,-2147483648,2147483647] + (map fromEnum [(1::Int),minBound,maxBound]) = [1,-2147483648,2147483647] + (take 7 [(1::Int)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Int)-5)..]) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 [(1::Int),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Int),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Int),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Int),0..]) = [1,0,-1,-2,-3,-4,-5] + (take 7 [(5::Int),2..]) = [5,2,-1,-4,-7,-10,-13] + (take 7 [x, x-1 ..]) = [-2147483647,-2147483648] + (take 7 [x, x-1 ..]) = [-2147483643,-2147483644,-2147483645,-2147483646,-2147483647,-2147483648] + (take 7 [x, (x+1) ..]) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647] + ([minBound::Int,1..]) = [-2147483648,1] + ([minBound::Int,0..]) = [-2147483648,0] + ([minBound::Int,-1..]) = [-2147483648,-1,2147483646] + ([maxBound::Int,1..]) = [2147483647,1,-2147483645] + ([maxBound::Int,0..]) = [2147483647,0,-2147483647] + ([maxBound::Int,-1..]) = [2147483647,-1] + (take 7 ([(1::Int) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Int) .. 1])) = [1] + (take 7 ([(1::Int) .. 0])) = [] + (take 7 ([(5::Int) .. 0])) = [] + (take 7 ([(maxBound-(5::Int)) .. maxBound])) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 ([(minBound+(5::Int)) .. minBound])) = [] + (take 7 [(5::Int),4..1]) = [5,4,3,2,1] + (take 7 [(5::Int),3..1]) = [5,3,1] + (take 7 [(5::Int),3..2]) = [5,3] + (take 7 [(1::Int),2..1]) = [1] + (take 7 [(2::Int),1..2]) = [2] + (take 7 [(2::Int),1..1]) = [2,1] + (take 7 [(2::Int),3..1]) = [] + ([minBound, 1..maxBound::Int]) = [-2147483648,1] + ([minBound, 0..maxBound::Int]) = [-2147483648,0] + ([minBound,-1..maxBound::Int]) = [-2147483648,-1,2147483646] + ([minBound,-1..maxBound-1::Int]) = [-2147483648,-1,2147483646] + ([minBound,-1..maxBound-2::Int]) = [-2147483648,-1] + ([maxBound, 1..minBound::Int]) = [2147483647,1,-2147483645] + ([maxBound, 0..minBound::Int]) = [2147483647,0,-2147483647] + ([maxBound, 0..minBound+1::Int]) = [2147483647,0,-2147483647] + ([maxBound, 0..minBound+2::Int]) = [2147483647,0] + ([maxBound,-1..minBound::Int]) = [2147483647,-1] + (take 7 [x,(x+1)..maxBound]) = [2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 [x,(x-1)..minBound]) = [-2147483643,-2147483644,-2147483645,-2147483646,-2147483647,-2147483648] +Testing Enum Integer: + (succ (0::Integer)) = 1 + (succ ((-1)::Integer)) = 0 + pred (1::Integer) = 0 + pred (0::Integer) = -1 + (map (toEnum::Int->Integer) [1,minBound,maxBound]) = [1,-2147483648,2147483647] + (map fromEnum [(1::Integer),42,45]) = [1,42,45] + (take 7 [(1::Integer)..]) = [1,2,3,4,5,6,7] + (take 7 [(-5::Integer)..]) = [-5,-4,-3,-2,-1,0,1] + (take 7 [(1::Integer),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Integer),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Integer),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Integer),0..]) = [1,0,-1,-2,-3,-4,-5] + (take 7 [(5::Integer),2..]) = [5,2,-1,-4,-7,-10,-13] + (take 7 ([(1::Integer) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Integer) .. 1])) = [1] + (take 7 ([(1::Integer) .. 0])) = [] + (take 7 ([(5::Integer) .. 0])) = [] + (take 7 [(5::Integer),4..1]) = [5,4,3,2,1] + (take 7 [(5::Integer),3..1]) = [5,3,1] + (take 7 [(5::Integer),3..2]) = [5,3] + (take 7 [(1::Integer),2..1]) = [1] + (take 7 [(2::Integer),1..2]) = [2] + (take 7 [(2::Integer),1..1]) = [2,1] + (take 7 [(2::Integer),3..1]) = [] +Testing Enum Char: + (succ 'a') = 'b' + (succ (minBound::Char)) = '\SOH' + (succ (maxBound::Char)) = error "chr: out of range" + (pred 'b') = 'a' + pred (maxBound::Char) = '\1114110' + pred (minBound::Char) = error "chr: out of range" + (map (toEnum::Int->Char) [123,ord (minBound::Char), ord(maxBound::Char)]) = "{\NUL\1114111" + (toEnum::Int->Char) (minBound::Int) = error "chr: out of range" + (map fromEnum ['X',minBound,maxBound]) = [88,0,1114111] + (take 7 ['\NUL' .. ]) = "\NUL\SOH\STX\ETX\EOT\ENQ\ACK" + (take 7 ['\250' .. ]) = "\250\251\252\253\254\255\256" + (take 7 ['a','b'..]) = "abcdefg" + (take 7 ['a','e'..]) = "aeimquy" + (take 7 ['a','a'..]) = "aaaaaaa" + (take 7 ['z','y'..]) = "zyxwvut" + (take 7 ['z','v'..]) = "zvrnjfb" + (take 7 ['\1', '\0' ..]) = "\SOH\NUL" + (take 7 ['\5', '\4' ..]) = "\ENQ\EOT\ETX\STX\SOH\NUL" + (take 7 ['\250', '\251' ..]) = "\250\251\252\253\254\255\256" + (take 7 (['a' .. 'e'])) = "abcde" + (take 4 (['a' .. 'a'])) = "a" + (take 7 (['b' .. 'a'])) = "" + (take 7 (['e' .. 'a'])) = "" + (take 7 (['\250' .. '\255'])) = "\250\251\252\253\254\255" + (take 7 (['\5' .. '\0'])) = "" + (take 7 ['f','e' .. 'b']) = "fedcb" + (take 7 ['g','e' .. 'b']) = "gec" + (take 7 ['g','d' .. 'c']) = "gd" + (take 7 ['b','c' .. 'b']) = "b" + (take 7 ['c','b' .. 'c']) = "c" + (take 7 ['c','b' .. 'b']) = "cb" + (take 7 ['c','d' .. 'b']) = "" + (take 7 ['\251', '\252' .. maxBound]) = "\251\252\253\254\255\256\257" + (take 7 ['\5', '\4' .. minBound]) = "\ENQ\EOT\ETX\STX\SOH\NUL" +Testing Enum (): + (succ ()) = Fail: pattern match failure + (succ (minBound::())) = Fail: pattern match failure + (succ (maxBound::())) = Fail: pattern match failure + (pred ()) = Fail: pattern match failure + (pred (minBound::())) = Fail: pattern match failure + (pred (maxBound::())) = Fail: pattern match failure + (toEnum 0)::() = () + (toEnum 1)::() = Fail: pattern match failure + (fromEnum ()) = 0 + (take 7 [()..]) = [()] + (take 7 [(),()..]) = [(),(),(),(),(),(),()] + (take 7 [()..()]) = [()] + (take 7 [(),()..()]) = [(),(),(),(),(),(),()] +Testing Enum Ordering (derived): + (succ LT) = EQ + (succ (minBound::Ordering)) = EQ + (succ (maxBound::Ordering)) = error "toEnum: out of range" + (pred GT) = EQ + (pred (maxBound::Ordering)) = EQ + (pred (minBound::Ordering)) = error "toEnum: out of range" + (toEnum 0)::Ordering = LT + (toEnum 5)::Ordering = error "toEnum: out of range" + (fromEnum LT) = 0 + (fromEnum EQ) = 1 + (fromEnum GT) = 2 + ([LT ..]) = [LT,EQ,GT] + ([EQ ..]) = [EQ,GT] + ([GT ..]) = [GT] + ([LT,EQ ..]) = [LT,EQ,GT] + ([EQ,GT ..]) = [EQ,GT] + ([EQ,LT ..]) = [EQ,LT] + ([LT,GT ..]) = [LT,GT] + ([GT,LT ..]) = [GT,LT] + take 7 (([GT,GT ..])) = [GT,GT,GT,GT,GT,GT,GT] + take 7 (([LT,LT ..])) = [LT,LT,LT,LT,LT,LT,LT] + ([LT .. GT]) = [LT,EQ,GT] + ([LT .. EQ]) = [LT,EQ] + ([LT .. LT]) = [LT] + ([GT .. LT]) = [] + ([GT .. EQ]) = [] + ([GT .. GT]) = [GT] + ([LT,EQ .. GT]) = [LT,EQ,GT] + ([GT,EQ .. LT]) = [GT,EQ,LT] + ([GT,EQ .. EQ]) = [GT,EQ] + ([GT,EQ .. GT]) = [GT] + ([GT,EQ .. LT]) = [GT,EQ,LT] + ([LT,EQ .. LT]) = [LT] + ([LT,EQ .. GT]) = [LT,EQ,GT] + take 7 (([LT,LT .. GT])) = [LT,LT,LT,LT,LT,LT,LT] + take 7 (([GT,GT .. LT])) = [] +Testing Enum Bool: + (succ False) = True + (succ (minBound::Bool)) = True + (succ (maxBound::Bool)) = error "toEnum: out of range" + (pred True) = False + (pred (maxBound::Bool)) = False + (pred (minBound::Bool)) = error "toEnum: out of range" + (toEnum 0)::Bool = False + (toEnum 5)::Bool = error "toEnum: out of range" + (fromEnum False) = 0 + (fromEnum True) = 1 + ([False ..]) = [False,True] + ([True ..]) = [True] + ([False,True ..]) = [False,True] + ([True,False ..]) = [True,False] + (take 7 ([False,False ..])) = [False,False,False,False,False,False,False] + (take 7 ([True,True ..])) = [True,True,True,True,True,True,True] + ([False .. True]) = [False,True] + ([True .. False]) = [] + take 7 ([False,False .. False]) = [False,False,False,False,False,False,False] + take 7 ([False,False .. True]) = [False,False,False,False,False,False,False] + take 7 ([False,True .. False]) = [False] + take 7 ([False,True .. True]) = [False,True] + take 7 ([True,False .. False]) = [True,False] + take 7 ([True,False .. True]) = [True] + take 7 ([True,True .. False]) = [] + take 7 ([True,True .. True]) = [True,True,True,True,True,True,True] +Testing Enum Rational: + (succ (0::Rational)) = 1 % 1 + (succ ((-1)::Rational)) = 0 % 1 + pred (1::Rational) = 0 % 1 + pred (0::Rational) = (-1) % 1 + (map (toEnum::Int->Rational) [1,minBound,maxBound]) = [1 % 1,(-2147483648) % 1,2147483647 % 1] + (map fromEnum [(1::Rational),42,45]) = [1,42,45] + (take 7 [(1::Rational)..]) = [1 % 1,2 % 1,3 % 1,4 % 1,5 % 1,6 % 1,7 % 1] + (take 7 [(-5::Rational)..]) = [(-5) % 1,(-4) % 1,(-3) % 1,(-2) % 1,(-1) % 1,0 % 1,1 % 1] + (take 7 [(1::Rational),2..]) = [1 % 1,2 % 1,3 % 1,4 % 1,5 % 1,6 % 1,7 % 1] + (take 7 [(1::Rational),7..]) = [1 % 1,7 % 1,13 % 1,19 % 1,25 % 1,31 % 1,37 % 1] + (take 7 [(1::Rational),1..]) = [1 % 1,1 % 1,1 % 1,1 % 1,1 % 1,1 % 1,1 % 1] + (take 7 [(1::Rational),0..]) = [1 % 1,0 % 1,(-1) % 1,(-2) % 1,(-3) % 1,(-4) % 1,(-5) % 1] + (take 7 [(5::Rational),2..]) = [5 % 1,2 % 1,(-1) % 1,(-4) % 1,(-7) % 1,(-10) % 1,(-13) % 1] + (take 7 ([(1::Rational) .. 5])) = [1 % 1,2 % 1,3 % 1,4 % 1,5 % 1] + (take 4 ([(1::Rational) .. 1])) = [1 % 1] + (take 7 ([(1::Rational) .. 0])) = [] + (take 7 ([(5::Rational) .. 0])) = [] + (take 7 [(5::Rational),4..1]) = [5 % 1,4 % 1,3 % 1,2 % 1,1 % 1] + (take 7 [(5::Rational),3..1]) = [5 % 1,3 % 1,1 % 1] + (take 7 [(5::Rational),3..2]) = [5 % 1,3 % 1,1 % 1] + (take 7 [(1::Rational),2..1]) = [1 % 1] + (take 7 [(2::Rational),1..2]) = [2 % 1] + (take 7 [(2::Rational),1..1]) = [2 % 1,1 % 1] + (take 7 [(2::Rational),3..1]) = [] +Testing Enum (Ratio Int): + (succ (0::Ratio Int)) = 1 % 1 + (succ ((-1)::Ratio Int)) = 0 % 1 + pred (1::Ratio Int) = 0 % 1 + pred (0::Ratio Int) = (-1) % 1 + (map (toEnum::Int->Ratio Int) [1,minBound,maxBound]) = [1 % 1,(-2147483648) % 1,2147483647 % 1] + (map fromEnum [(1::Ratio Int),42,45]) = [1,42,45] + (take 7 [(1::Ratio Int)..]) = [1 % 1,2 % 1,3 % 1,4 % 1,5 % 1,6 % 1,7 % 1] + (take 7 [(-5::Ratio Int)..]) = [(-5) % 1,(-4) % 1,(-3) % 1,(-2) % 1,(-1) % 1,0 % 1,1 % 1] + (take 7 [((toEnum ((maxBound::Int)-5))::Ratio Int)..]) = [2147483642 % 1,2147483643 % 1,2147483644 % 1,2147483645 % 1,2147483646 % 1,2147483647 % 1,(-2147483648) % 1] + (take 7 [(1::Ratio Int),2..]) = [1 % 1,2 % 1,3 % 1,4 % 1,5 % 1,6 % 1,7 % 1] + (take 7 [(1::Ratio Int),7..]) = [1 % 1,7 % 1,13 % 1,19 % 1,25 % 1,31 % 1,37 % 1] + (take 7 [(1::Ratio Int),1..]) = [1 % 1,1 % 1,1 % 1,1 % 1,1 % 1,1 % 1,1 % 1] + (take 7 [(1::Ratio Int),0..]) = [1 % 1,0 % 1,(-1) % 1,(-2) % 1,(-3) % 1,(-4) % 1,(-5) % 1] + (take 7 [(5::Ratio Int),2..]) = [5 % 1,2 % 1,(-1) % 1,(-4) % 1,(-7) % 1,(-10) % 1,(-13) % 1] + (take 7 [x, x-1 ..]) = [(-2147483647) % 1,(-2147483648) % 1,2147483647 % 1,2147483646 % 1,2147483645 % 1,2147483644 % 1,2147483643 % 1] + (take 7 [x, x-1 ..]) = [(-2147483643) % 1,(-2147483644) % 1,(-2147483645) % 1,(-2147483646) % 1,(-2147483647) % 1,(-2147483648) % 1,2147483647 % 1] + (take 7 [x, (x+1) ..]) = [2147483642 % 1,2147483643 % 1,2147483644 % 1,2147483645 % 1,2147483646 % 1,2147483647 % 1,(-2147483648) % 1] + (take 7 ([(1::Ratio Int) .. 5])) = [1 % 1,2 % 1,3 % 1,4 % 1,5 % 1] + (take 4 ([(1::Ratio Int) .. 1])) = [1 % 1] + (take 7 ([(1::Ratio Int) .. 0])) = [] + (take 7 ([(5::Ratio Int) .. 0])) = [] + (take 7 ([x..y])) = [2147483642 % 1,2147483643 % 1,2147483644 % 1,2147483645 % 1,2147483646 % 1,2147483647 % 1] + (take 7 ([x..y])) = [] + (take 7 [(5::Ratio Int),4..1]) = [5 % 1,4 % 1,3 % 1,2 % 1,1 % 1] + (take 7 [(5::Ratio Int),3..1]) = [5 % 1,3 % 1,1 % 1] + (take 7 [(5::Ratio Int),3..2]) = [5 % 1,3 % 1,1 % 1] + (take 7 [(1::Ratio Int),2..1]) = [1 % 1] + (take 7 [(2::Ratio Int),1..2]) = [2 % 1] + (take 7 [(2::Ratio Int),1..1]) = [2 % 1,1 % 1] + (take 7 [(2::Ratio Int),3..1]) = [] + (take 7 [x,(x+1)..y]) = [2147483643 % 1,2147483644 % 1,2147483645 % 1,2147483646 % 1,2147483647 % 1] + (take 7 [x,(x-1)..y]) = [(-2147483643) % 1,(-2147483644) % 1,(-2147483645) % 1,(-2147483646) % 1,(-2147483647) % 1,(-2147483648) % 1] diff --git a/testsuite/tests/ghc-regress/lib/should_run/enum02.stdout-hugs b/testsuite/tests/ghc-regress/lib/should_run/enum02.stdout-hugs new file mode 100644 index 0000000000..a28b84b187 --- /dev/null +++ b/testsuite/tests/ghc-regress/lib/should_run/enum02.stdout-hugs @@ -0,0 +1,141 @@ +Testing Enum Int8: + (succ (0::Int8)) = 1 + (succ (minBound::Int8)) = -127 + (succ (maxBound::Int8)) = error "succ: applied to maxBound" + pred (1::Int8) = 0 + pred (maxBound::Int8) = 126 + pred (minBound::Int8) = error "pred: applied to minBound" + (map (toEnum::Int->Int8) [1, fromIntegral (minBound::Int8), fromIntegral (maxBound::Int8)]) = [1,-128,127] + (toEnum (maxBound::Int))::Int8 = -1 + (map fromEnum [(1::Int8),minBound,maxBound]) = [1,-128,127] + (take 7 [(1::Int8)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Int8)-5)..]) = [122,123,124,125,126,127] + (take 7 [(1::Int8),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Int8),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Int8),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Int8),0..]) = [1,0,-1,-2,-3,-4,-5] + (take 7 [(5::Int8),2..]) = [5,2,-1,-4,-7,-10,-13] + (take 7 [x, x-1 ..]) = [-127,-128] + (take 7 [x, x-1 ..]) = [-123,-124,-125,-126,-127,-128] + (take 7 [x, (x+1) ..]) = [122,123,124,125,126,127] + (take 7 ([(1::Int8) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Int8) .. 1])) = [1] + (take 7 ([(1::Int8) .. 0])) = [] + (take 7 ([(5::Int8) .. 0])) = [] + (take 7 ([(maxBound-(5::Int8)) .. maxBound])) = [122,123,124,125,126,127] + (take 7 ([(minBound+(5::Int8)) .. minBound])) = [] + (take 7 [(5::Int8),4..1]) = [5,4,3,2,1] + (take 7 [(5::Int8),3..1]) = [5,3,1] + (take 7 [(5::Int8),3..2]) = [5,3] + (take 7 [(1::Int8),2..1]) = [1] + (take 7 [(2::Int8),1..2]) = [2] + (take 7 [(2::Int8),1..1]) = [2,1] + (take 7 [(2::Int8),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [123,124,125,126,127] + (take 7 [x,(x-1)..minBound]) = [-123,-124,-125,-126,-127,-128] +Testing Enum Int16: + (succ (0::Int16)) = 1 + (succ (minBound::Int16)) = -32767 + (succ (maxBound::Int16)) = error "succ: applied to maxBound" + pred (1::Int16) = 0 + pred (maxBound::Int16) = 32766 + pred (minBound::Int16) = error "pred: applied to minBound" + (map (toEnum::Int->Int16) [1, fromIntegral (minBound::Int16), fromIntegral (maxBound::Int16)]) = [1,-32768,32767] + (toEnum (maxBound::Int))::Int16 = -1 + (map fromEnum [(1::Int16),minBound,maxBound]) = [1,-32768,32767] + (take 7 [(1::Int16)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Int16)-5)..]) = [32762,32763,32764,32765,32766,32767] + (take 7 [(1::Int16),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Int16),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Int16),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Int16),0..]) = [1,0,-1,-2,-3,-4,-5] + (take 7 [(5::Int16),2..]) = [5,2,-1,-4,-7,-10,-13] + (take 7 [x, x-1 ..]) = [-32767,-32768] + (take 7 [x, x-1 ..]) = [-32763,-32764,-32765,-32766,-32767,-32768] + (take 7 [x, (x+1) ..]) = [32762,32763,32764,32765,32766,32767] + (take 7 ([(1::Int16) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Int16) .. 1])) = [1] + (take 7 ([(1::Int16) .. 0])) = [] + (take 7 ([(5::Int16) .. 0])) = [] + (take 7 ([(maxBound-(5::Int16)) .. maxBound])) = [32762,32763,32764,32765,32766,32767] + (take 7 ([(minBound+(5::Int16)) .. minBound])) = [] + (take 7 [(5::Int16),4..1]) = [5,4,3,2,1] + (take 7 [(5::Int16),3..1]) = [5,3,1] + (take 7 [(5::Int16),3..2]) = [5,3] + (take 7 [(1::Int16),2..1]) = [1] + (take 7 [(2::Int16),1..2]) = [2] + (take 7 [(2::Int16),1..1]) = [2,1] + (take 7 [(2::Int16),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [32763,32764,32765,32766,32767] + (take 7 [x,(x-1)..minBound]) = [-32763,-32764,-32765,-32766,-32767,-32768] +Testing Enum Int32: + (succ (0::Int32)) = 1 + (succ (minBound::Int32)) = -2147483647 + (succ (maxBound::Int32)) = error "succ: applied to maxBound" + pred (1::Int32) = 0 + pred (maxBound::Int32) = 2147483646 + pred (minBound::Int32) = error "pred: applied to minBound" + (map (toEnum::Int->Int32) [1, fromIntegral (minBound::Int32), fromIntegral (maxBound::Int32)]) = [1,-2147483648,2147483647] + (toEnum (maxBound::Int))::Int32 = 2147483647 + (map fromEnum [(1::Int32),minBound,maxBound]) = [1,-2147483648,2147483647] + (take 7 [(1::Int32)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Int32)-5)..]) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 [(1::Int32),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Int32),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Int32),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Int32),0..]) = [1,0,-1,-2,-3,-4,-5] + (take 7 [(5::Int32),2..]) = [5,2,-1,-4,-7,-10,-13] + (take 7 [x, x-1 ..]) = [-2147483647,-2147483648] + (take 7 [x, x-1 ..]) = [-2147483643,-2147483644,-2147483645,-2147483646,-2147483647,-2147483648] + (take 7 [x, (x+1) ..]) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 ([(1::Int32) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Int32) .. 1])) = [1] + (take 7 ([(1::Int32) .. 0])) = [] + (take 7 ([(5::Int32) .. 0])) = [] + (take 7 ([(maxBound-(5::Int32)) .. maxBound])) = [2147483642,2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 ([(minBound+(5::Int32)) .. minBound])) = [] + (take 7 [(5::Int32),4..1]) = [5,4,3,2,1] + (take 7 [(5::Int32),3..1]) = [5,3,1] + (take 7 [(5::Int32),3..2]) = [5,3] + (take 7 [(1::Int32),2..1]) = [1] + (take 7 [(2::Int32),1..2]) = [2] + (take 7 [(2::Int32),1..1]) = [2,1] + (take 7 [(2::Int32),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [2147483643,2147483644,2147483645,2147483646,2147483647] + (take 7 [x,(x-1)..minBound]) = [-2147483643,-2147483644,-2147483645,-2147483646,-2147483647,-2147483648] +Testing Enum Int64: + (succ (0::Int64)) = 1 + (succ (minBound::Int64)) = -9223372036854775807 + (succ (maxBound::Int64)) = error "succ: applied to maxBound" + pred (1::Int64) = 0 + pred (maxBound::Int64) = 9223372036854775806 + pred (minBound::Int64) = error "pred: applied to minBound" + (map (toEnum::Int->Int64) [1, fromIntegral (minBound::Int64), fromIntegral (maxBound::Int64)]) = [1,Fail: arithmetic overflow + (toEnum (maxBound::Int))::Int64 = 2147483647 + (map fromEnum [(1::Int64),fromIntegral (minBound::Int) ,fromIntegral (maxBound::Int)]) = [1,-2147483648,2147483647] + fromEnum (maxBound::Int64) = Fail: arithmetic overflow + (take 7 [(1::Int64)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Int64)-5)..]) = [9223372036854775802,9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807] + (take 7 [(1::Int64),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Int64),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Int64),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Int64),0..]) = [1,0,-1,-2,-3,-4,-5] + (take 7 [(5::Int64),2..]) = [5,2,-1,-4,-7,-10,-13] + (take 7 [x, x-1 ..]) = [-9223372036854775807,-9223372036854775808] + (take 7 [x, x-1 ..]) = [-9223372036854775803,-9223372036854775804,-9223372036854775805,-9223372036854775806,-9223372036854775807,-9223372036854775808] + (take 7 [x, (x+1) ..]) = [9223372036854775802,9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807] + (take 7 ([(1::Int64) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Int64) .. 1])) = [1] + (take 7 ([(1::Int64) .. 0])) = [] + (take 7 ([(5::Int64) .. 0])) = [] + (take 7 ([(maxBound-(5::Int64)) .. maxBound])) = [9223372036854775802,9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807] + (take 7 ([(minBound+(5::Int64)) .. minBound])) = [] + (take 7 [(5::Int64),4..1]) = [5,4,3,2,1] + (take 7 [(5::Int64),3..1]) = [5,3,1] + (take 7 [(5::Int64),3..2]) = [5,3] + (take 7 [(1::Int64),2..1]) = [1] + (take 7 [(2::Int64),1..2]) = [2] + (take 7 [(2::Int64),1..1]) = [2,1] + (take 7 [(2::Int64),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [9223372036854775803,9223372036854775804,9223372036854775805,9223372036854775806,9223372036854775807] + (take 7 [x,(x-1)..minBound]) = [-9223372036854775803,-9223372036854775804,-9223372036854775805,-9223372036854775806,-9223372036854775807,-9223372036854775808] diff --git a/testsuite/tests/ghc-regress/lib/should_run/enum03.stdout-hugs b/testsuite/tests/ghc-regress/lib/should_run/enum03.stdout-hugs new file mode 100644 index 0000000000..babc1c2e9e --- /dev/null +++ b/testsuite/tests/ghc-regress/lib/should_run/enum03.stdout-hugs @@ -0,0 +1,142 @@ +Testing Enum Word8: + (succ (0::Word8)) = 1 + (succ (minBound::Word8)) = 1 + (succ (maxBound::Word8)) = error "succ: applied to maxBound" + pred (1::Word8) = 0 + pred (maxBound::Word8) = 254 + pred (minBound::Word8) = error "pred: applied to minBound" + (map (toEnum::Int->Word8) [1, fromIntegral (minBound::Word8)::Int, fromIntegral (maxBound::Word8)::Int]) = [1,0,255] + (toEnum (maxBound::Int))::Word8 = 255 + (map fromEnum [(1::Word8),minBound,maxBound]) = [1,0,255] + (take 7 [(1::Word8)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Word8)-5)..]) = [250,251,252,253,254,255] + (take 7 [(1::Word8),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Word8),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Word8),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Word8),0..]) = [1,0] + (take 7 [(5::Word8),2..]) = [5,2] + (take 7 [x, x-1 ..]) = [1,0] + (take 7 [x, x-1 ..]) = [5,4,3,2,1,0] + (take 7 [x, (x+1) ..]) = [250,251,252,253,254,255] + (take 7 ([(1::Word8) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Word8) .. 1])) = [1] + (take 7 ([(1::Word8) .. 0])) = [] + (take 7 ([(5::Word8) .. 0])) = [] + (take 7 ([(maxBound-(5::Word8)) .. maxBound])) = [250,251,252,253,254,255] + (take 7 ([(minBound+(5::Word8)) .. minBound])) = [] + (take 7 [(5::Word8),4..1]) = [5,4,3,2,1] + (take 7 [(5::Word8),3..1]) = [5,3,1] + (take 7 [(5::Word8),3..2]) = [5,3] + (take 7 [(1::Word8),2..1]) = [1] + (take 7 [(2::Word8),1..2]) = [2] + (take 7 [(2::Word8),1..1]) = [2,1] + (take 7 [(2::Word8),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [251,252,253,254,255] + (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0] +Testing Enum Word16: + (succ (0::Word16)) = 1 + (succ (minBound::Word16)) = 1 + (succ (maxBound::Word16)) = error "succ: applied to maxBound" + pred (1::Word16) = 0 + pred (maxBound::Word16) = 65534 + pred (minBound::Word16) = error "pred: applied to minBound" + (map (toEnum::Int->Word16) [1, fromIntegral (minBound::Word16)::Int, fromIntegral (maxBound::Word16)::Int]) = [1,0,65535] + (toEnum (maxBound::Int))::Word16 = 65535 + (map fromEnum [(1::Word16),minBound,maxBound]) = [1,0,65535] + (take 7 [(1::Word16)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Word16)-5)..]) = [65530,65531,65532,65533,65534,65535] + (take 7 [(1::Word16),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Word16),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Word16),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Word16),0..]) = [1,0] + (take 7 [(5::Word16),2..]) = [5,2] + (take 7 [x, x-1 ..]) = [1,0] + (take 7 [x, x-1 ..]) = [5,4,3,2,1,0] + (take 7 [x, (x+1) ..]) = [65530,65531,65532,65533,65534,65535] + (take 7 ([(1::Word16) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Word16) .. 1])) = [1] + (take 7 ([(1::Word16) .. 0])) = [] + (take 7 ([(5::Word16) .. 0])) = [] + (take 7 ([(maxBound-(5::Word16)) .. maxBound])) = [65530,65531,65532,65533,65534,65535] + (take 7 ([(minBound+(5::Word16)) .. minBound])) = [] + (take 7 [(5::Word16),4..1]) = [5,4,3,2,1] + (take 7 [(5::Word16),3..1]) = [5,3,1] + (take 7 [(5::Word16),3..2]) = [5,3] + (take 7 [(1::Word16),2..1]) = [1] + (take 7 [(2::Word16),1..2]) = [2] + (take 7 [(2::Word16),1..1]) = [2,1] + (take 7 [(2::Word16),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [65531,65532,65533,65534,65535] + (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0] +Testing Enum Word32: + (succ (0::Word32)) = 1 + (succ (minBound::Word32)) = 1 + (succ (maxBound::Word32)) = error "succ: applied to maxBound" + pred (1::Word32) = 0 + pred (maxBound::Word32) = 4294967294 + pred (minBound::Word32) = error "pred: applied to minBound" + (map (toEnum::Int->Word32) [1, fromIntegral (minBound::Word32)::Int, fromIntegral (maxBound::Int32)::Int]) = [1,0,2147483647] + (toEnum (maxBound::Int))::Word32 = 2147483647 + (map fromEnum [(1::Word32),minBound,fromIntegral (maxBound::Int)]) = [1,0,2147483647] + fromEnum (maxBound::Word32) = -1 + (take 7 [(1::Word32)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Word32)-5)..]) = [4294967290,4294967291,4294967292,4294967293,4294967294,4294967295] + (take 7 [(1::Word32),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Word32),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Word32),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Word32),0..]) = [1,0] + (take 7 [(5::Word32),2..]) = [5,2] + (take 7 [x, x-1 ..]) = [1,0] + (take 7 [x, x-1 ..]) = [5,4,3,2,1,0] + (take 7 [x, (x+1) ..]) = [4294967290,4294967291,4294967292,4294967293,4294967294,4294967295] + (take 7 ([(1::Word32) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Word32) .. 1])) = [1] + (take 7 ([(1::Word32) .. 0])) = [] + (take 7 ([(5::Word32) .. 0])) = [] + (take 7 ([(maxBound-(5::Word32)) .. maxBound])) = [4294967290,4294967291,4294967292,4294967293,4294967294,4294967295] + (take 7 ([(minBound+(5::Word32)) .. minBound])) = [] + (take 7 [(5::Word32),4..1]) = [5,4,3,2,1] + (take 7 [(5::Word32),3..1]) = [5,3,1] + (take 7 [(5::Word32),3..2]) = [5,3] + (take 7 [(1::Word32),2..1]) = [1] + (take 7 [(2::Word32),1..2]) = [2] + (take 7 [(2::Word32),1..1]) = [2,1] + (take 7 [(2::Word32),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [4294967291,4294967292,4294967293,4294967294,4294967295] + (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0] +Testing Enum Word64: + (succ (0::Word64)) = 1 + (succ (minBound::Word64)) = 1 + (succ (maxBound::Word64)) = error "succ: applied to maxBound" + pred (1::Word64) = 0 + pred (maxBound::Word64) = 18446744073709551614 + pred (minBound::Word64) = error "pred: applied to minBound" + (map (toEnum::Int->Word64) [1, fromIntegral (minBound::Word64)::Int, maxBound::Int]) = [1,0,2147483647] + (toEnum (maxBound::Int))::Word64 = 2147483647 + (map fromEnum [(1::Word64),minBound,fromIntegral (maxBound::Int)]) = [1,0,2147483647] + fromEnum (maxBound::Word64) = Fail: arithmetic overflow + (take 7 [(1::Word64)..]) = [1,2,3,4,5,6,7] + (take 7 [((maxBound::Word64)-5)..]) = [18446744073709551610,18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615] + (take 7 [(1::Word64),2..]) = [1,2,3,4,5,6,7] + (take 7 [(1::Word64),7..]) = [1,7,13,19,25,31,37] + (take 7 [(1::Word64),1..]) = [1,1,1,1,1,1,1] + (take 7 [(1::Word64),0..]) = [1,0] + (take 7 [(5::Word64),2..]) = [5,2] + (take 7 [x, x-1 ..]) = [1,0] + (take 7 [x, x-1 ..]) = [5,4,3,2,1,0] + (take 7 [x, (x+1) ..]) = [18446744073709551610,18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615] + (take 7 ([(1::Word64) .. 5])) = [1,2,3,4,5] + (take 4 ([(1::Word64) .. 1])) = [1] + (take 7 ([(1::Word64) .. 0])) = [] + (take 7 ([(5::Word64) .. 0])) = [] + (take 7 ([(maxBound-(5::Word64)) .. maxBound])) = [18446744073709551610,18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615] + (take 7 ([(minBound+(5::Word64)) .. minBound])) = [] + (take 7 [(5::Word64),4..1]) = [5,4,3,2,1] + (take 7 [(5::Word64),3..1]) = [5,3,1] + (take 7 [(5::Word64),3..2]) = [5,3] + (take 7 [(1::Word64),2..1]) = [1] + (take 7 [(2::Word64),1..2]) = [2] + (take 7 [(2::Word64),1..1]) = [2,1] + (take 7 [(2::Word64),3..1]) = [] + (take 7 [x,(x+1)..maxBound]) = [18446744073709551611,18446744073709551612,18446744073709551613,18446744073709551614,18446744073709551615] + (take 7 [x,(x-1)..minBound]) = [5,4,3,2,1,0] |