Commit c31ae893 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Add a test for Integer conversions

parent cd9221af
test('integerBits', normal, compile_and_run, [''])
test('integerConversions', normal, compile_and_run, [''])
module Main (main) where
import Data.Int
import Data.Word
around :: Integer -> [Integer]
around i = [i - 2, i - 1, i, i + 1, i + 2]
dump :: Show a => String -> [a] -> IO ()
dump s xs = do putStrLn "===================================="
putStrLn s
mapM_ print xs
main :: IO ()
main = do let xs :: [[Integer]]
xs = [around 0,
around (2^30),
around (2^31),
around (2^32),
around (2^33),
around (2^34),
around (2^62),
around (2^63),
around (2^64),
around (2^65),
around (2^66),
around (-(2^30)),
around (-(2^31)),
around (-(2^32)),
around (-(2^33)),
around (-(2^34)),
around (-(2^62)),
around (-(2^63)),
around (-(2^64)),
around (-(2^65)),
around (-(2^66))]
xsInt :: [[Int]]
xsInt = map (map fromInteger) xs
xsIntInteger :: [[Integer]]
xsIntInteger = map (map toInteger) xsInt
xsInt32 :: [[Int32]]
xsInt32 = map (map fromInteger) xs
xsInt32Integer :: [[Integer]]
xsInt32Integer = map (map toInteger) xsInt32
xsInt64 :: [[Int64]]
xsInt64 = map (map fromInteger) xs
xsInt64Integer :: [[Integer]]
xsInt64Integer = map (map toInteger) xsInt64
xsWord :: [[Word]]
xsWord = map (map fromInteger) xs
xsWordInteger :: [[Integer]]
xsWordInteger = map (map toInteger) xsWord
xsWord32 :: [[Word32]]
xsWord32 = map (map fromInteger) xs
xsWord32Integer :: [[Integer]]
xsWord32Integer = map (map toInteger) xsWord32
xsWord64 :: [[Word64]]
xsWord64 = map (map fromInteger) xs
xsWord64Integer :: [[Integer]]
xsWord64Integer = map (map toInteger) xsWord64
dump "xs" xs
dump "xsInt" xsInt
dump "xsIntInteger" xsIntInteger
dump "xsInt32" xsInt32
dump "xsInt32Integer" xsInt32Integer
dump "xsInt64" xsInt64
dump "xsInt64Integer" xsInt64Integer
dump "xsWord" xsWord
dump "xsWordInteger" xsWordInteger
dump "xsWord32" xsWord32
dump "xsWord32Integer" xsWord32Integer
dump "xsWord64" xsWord64
dump "xsWord64Integer" xsWord64Integer
test :: String -> Integer -> Integer -> IO ()
test what want got
| want == got = return ()
| otherwise = print (what, want, got)
====================================
xs
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,18446744073709551616,18446744073709551617,18446744073709551618]
[36893488147419103230,36893488147419103231,36893488147419103232,36893488147419103233,36893488147419103234]
[73786976294838206462,73786976294838206463,73786976294838206464,73786976294838206465,73786976294838206466]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[-9223372036854775810,-9223372036854775809,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-18446744073709551618,-18446744073709551617,-18446744073709551616,-18446744073709551615,-18446744073709551614]
[-36893488147419103234,-36893488147419103233,-36893488147419103232,-36893488147419103231,-36893488147419103230]
[-73786976294838206466,-73786976294838206465,-73786976294838206464,-73786976294838206463,-73786976294838206462]
====================================
xsInt
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsIntInteger
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt32
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt32Integer
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt64
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt64Integer
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsWord
[4294967294,4294967295,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[3221225470,3221225471,3221225472,3221225473,3221225474]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
====================================
xsWordInteger
[4294967294,4294967295,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[3221225470,3221225471,3221225472,3221225473,3221225474]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
====================================
xsWord32
[4294967294,4294967295,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[3221225470,3221225471,3221225472,3221225473,3221225474]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
====================================
xsWord32Integer
[4294967294,4294967295,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[3221225470,3221225471,3221225472,3221225473,3221225474]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
====================================
xsWord64
[18446744073709551614,18446744073709551615,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744072635809790,18446744072635809791,18446744072635809792,18446744072635809793,18446744072635809794]
[18446744071562067966,18446744071562067967,18446744071562067968,18446744071562067969,18446744071562067970]
[18446744069414584318,18446744069414584319,18446744069414584320,18446744069414584321,18446744069414584322]
[18446744065119617022,18446744065119617023,18446744065119617024,18446744065119617025,18446744065119617026]
[18446744056529682430,18446744056529682431,18446744056529682432,18446744056529682433,18446744056529682434]
[13835058055282163710,13835058055282163711,13835058055282163712,13835058055282163713,13835058055282163714]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
====================================
xsWord64Integer
[18446744073709551614,18446744073709551615,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744072635809790,18446744072635809791,18446744072635809792,18446744072635809793,18446744072635809794]
[18446744071562067966,18446744071562067967,18446744071562067968,18446744071562067969,18446744071562067970]
[18446744069414584318,18446744069414584319,18446744069414584320,18446744069414584321,18446744069414584322]
[18446744065119617022,18446744065119617023,18446744065119617024,18446744065119617025,18446744065119617026]
[18446744056529682430,18446744056529682431,18446744056529682432,18446744056529682433,18446744056529682434]
[13835058055282163710,13835058055282163711,13835058055282163712,13835058055282163713,13835058055282163714]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
====================================
xs
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,18446744073709551616,18446744073709551617,18446744073709551618]
[36893488147419103230,36893488147419103231,36893488147419103232,36893488147419103233,36893488147419103234]
[73786976294838206462,73786976294838206463,73786976294838206464,73786976294838206465,73786976294838206466]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[-9223372036854775810,-9223372036854775809,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-18446744073709551618,-18446744073709551617,-18446744073709551616,-18446744073709551615,-18446744073709551614]
[-36893488147419103234,-36893488147419103233,-36893488147419103232,-36893488147419103231,-36893488147419103230]
[-73786976294838206466,-73786976294838206465,-73786976294838206464,-73786976294838206463,-73786976294838206462]
====================================
xsInt
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsIntInteger
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt32
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt32Integer
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[2147483646,2147483647,-2147483648,-2147483647,-2147483646]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt64
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsInt64Integer
[-2,-1,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-1073741826,-1073741825,-1073741824,-1073741823,-1073741822]
[-2147483650,-2147483649,-2147483648,-2147483647,-2147483646]
[-4294967298,-4294967297,-4294967296,-4294967295,-4294967294]
[-8589934594,-8589934593,-8589934592,-8589934591,-8589934590]
[-17179869186,-17179869185,-17179869184,-17179869183,-17179869182]
[-4611686018427387906,-4611686018427387905,-4611686018427387904,-4611686018427387903,-4611686018427387902]
[9223372036854775806,9223372036854775807,-9223372036854775808,-9223372036854775807,-9223372036854775806]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
[-2,-1,0,1,2]
====================================
xsWord
[18446744073709551614,18446744073709551615,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744072635809790,18446744072635809791,18446744072635809792,18446744072635809793,18446744072635809794]
[18446744071562067966,18446744071562067967,18446744071562067968,18446744071562067969,18446744071562067970]
[18446744069414584318,18446744069414584319,18446744069414584320,18446744069414584321,18446744069414584322]
[18446744065119617022,18446744065119617023,18446744065119617024,18446744065119617025,18446744065119617026]
[18446744056529682430,18446744056529682431,18446744056529682432,18446744056529682433,18446744056529682434]
[13835058055282163710,13835058055282163711,13835058055282163712,13835058055282163713,13835058055282163714]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
====================================
xsWordInteger
[18446744073709551614,18446744073709551615,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,4294967296,4294967297,4294967298]
[8589934590,8589934591,8589934592,8589934593,8589934594]
[17179869182,17179869183,17179869184,17179869185,17179869186]
[4611686018427387902,4611686018427387903,4611686018427387904,4611686018427387905,4611686018427387906]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744072635809790,18446744072635809791,18446744072635809792,18446744072635809793,18446744072635809794]
[18446744071562067966,18446744071562067967,18446744071562067968,18446744071562067969,18446744071562067970]
[18446744069414584318,18446744069414584319,18446744069414584320,18446744069414584321,18446744069414584322]
[18446744065119617022,18446744065119617023,18446744065119617024,18446744065119617025,18446744065119617026]
[18446744056529682430,18446744056529682431,18446744056529682432,18446744056529682433,18446744056529682434]
[13835058055282163710,13835058055282163711,13835058055282163712,13835058055282163713,13835058055282163714]
[9223372036854775806,9223372036854775807,9223372036854775808,9223372036854775809,9223372036854775810]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
[18446744073709551614,18446744073709551615,0,1,2]
====================================
xsWord32
[4294967294,4294967295,0,1,2]
[1073741822,1073741823,1073741824,1073741825,1073741826]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[4294967294,4294967295,0,1,2]
[3221225470,3221225471,3221225472,3221225473,3221225474]
[2147483646,2147483647,2147483648,2147483649,2147483650]
[4294967294,4294967295,0,1,2]