class TEST

create
	make

feature {NONE} -- Creation

	make is
			-- Execute test.
		do
			io.put_string ("INTEGER_8:")
				-- Leading zeroes
			test_integer_8 (    "0" , i8_u_00   , i8_ux00  ,  0000000000000000000000000000000000 ,  0x00000000000000000000000000000000 )
			test_integer_8 (    "0" , i8_p_00   , i8_px00  , +0000000000000000000000000000000000 , +0x00000000000000000000000000000000 )
			test_integer_8 (    "0" , i8_m_00   , i8_mx00  , -0000000000000000000000000000000000 , -0x00000000000000000000000000000000 )
			test_integer_8 (  "123" , i8_u_0123 , i8_ux07B ,  0000000000000000000000000000000123 ,  0x0000000000000000000000000000007B )
			test_integer_8 (  "123" , i8_p_0123 , i8_px07B , +0000000000000000000000000000000123 , +0x0000000000000000000000000000007B )
			test_integer_8 ( "-123" , i8_m_0123 , i8_mx07B , -0000000000000000000000000000000123 , -0x0000000000000000000000000000007B )
			test_integer_8 (  "127" , i8_u_0127 , i8_ux07F ,  0000000000000000000000000000000127 ,  0x0000000000000000000000000000007F )
			test_integer_8 (  "127" , i8_p_0127 , i8_px07F , +0000000000000000000000000000000127 , +0x0000000000000000000000000000007F )
			test_integer_8 ( "-127" , i8_m_0127 , i8_mx07F , -0000000000000000000000000000000127 , -0x0000000000000000000000000000007F )
			test_integer_8 ( "-128" , i8_m_0128 , i8_mx080 , -0000000000000000000000000000000128 , -0x00000000000000000000000000000080 )
				-- Byte boundaries
			test_integer_8 (    "0" , i8_u_0   , i8_ux0  ,  0   ,  0x0  )
			test_integer_8 (    "0" , i8_p_0   , i8_px0  , +0   , +0x0  )
			test_integer_8 (    "0" , i8_m_0   , i8_mx0  , -0   , -0x0  )
			test_integer_8 (    "1" , i8_u_1   , i8_ux1  ,  1   ,  0x1  )
			test_integer_8 (    "1" , i8_p_1   , i8_px1  , +1   , +0x1  )
			test_integer_8 (   "-1" , i8_m_1   , i8_mx1  , -1   , -0x1  )
			test_integer_8 (  "127" , i8_u_127 , i8_ux7F ,  127 ,  0x7F )
			test_integer_8 (  "127" , i8_p_127 , i8_px7F , +127 , +0x7F )
			test_integer_8 ( "-127" , i8_m_127 , i8_mx7F , -127 , -0x7F )
			test_integer_8 ( "-128" , i8_m_128 , i8_mx80 , -128 , -0x80 )
				-- Implicitly negative hexadecimals
			test_integer_8 ( "-128" , i8_m_128 , i8_ux80 , -128 , 0x80 )
			test_integer_8 ( "-127" , i8_m_127 , i8_ux81 , -127 , 0x81 )
			test_integer_8 (   "-2" , i8_m_2   , i8_uxFE , -2   , 0xFE )
			test_integer_8 (   "-1" , i8_m_1   , i8_uxFF , -1   , 0xFF )
			if not has_error then
				io.put_string (" OK")
			end
			io.put_new_line
			has_error := false
			io.put_string ("INTEGER_16:")
				-- Leading zeroes
			test_integer_16 (      "0" , i16_u_00     , i16_ux00    ,  00000000000000000000000000000000000 ,  0x000000000000000000000000000000000 )
			test_integer_16 (      "0" , i16_p_00     , i16_px00    , +00000000000000000000000000000000000 , +0x000000000000000000000000000000000 )
			test_integer_16 (      "0" , i16_m_00     , i16_mx00    , -00000000000000000000000000000000000 , -0x000000000000000000000000000000000 )
			test_integer_16 (  "12345" , i16_u_012345 , i16_ux03039 ,  00000000000000000000000000000012345 ,  0x000000000000000000000000000003039 )
			test_integer_16 (  "12345" , i16_p_012345 , i16_px03039 , +00000000000000000000000000000012345 , +0x000000000000000000000000000003039 )
			test_integer_16 ( "-12345" , i16_m_012345 , i16_mx03039 , -00000000000000000000000000000012345 , -0x000000000000000000000000000003039 )
			test_integer_16 (  "32767" , i16_u_032767 , i16_ux07FFF ,  00000000000000000000000000000032767 ,  0x000000000000000000000000000007FFF )
			test_integer_16 (  "32767" , i16_p_032767 , i16_px07FFF , +00000000000000000000000000000032767 , +0x000000000000000000000000000007FFF )
			test_integer_16 ( "-32767" , i16_m_032767 , i16_mx07FFF , -00000000000000000000000000000032767 , -0x000000000000000000000000000007FFF )
			test_integer_16 ( "-32768" , i16_m_032768 , i16_mx08000 , -00000000000000000000000000000032768 , -0x000000000000000000000000000008000 )
				-- Byte boundaries
			test_integer_16 (      "0" , i16_u_0     , i16_ux0    ,  0     ,  0x0    )
			test_integer_16 (      "0" , i16_p_0     , i16_px0    , +0     , +0x0    )
			test_integer_16 (      "0" , i16_m_0     , i16_mx0    , -0     , -0x0    )
			test_integer_16 (      "1" , i16_u_1     , i16_ux1    ,  1     ,  0x1    )
			test_integer_16 (      "1" , i16_p_1     , i16_px1    , +1     , +0x1    )
			test_integer_16 (     "-1" , i16_m_1     , i16_mx1    , -1     , -0x1    )
			test_integer_16 (    "127" , i16_u_127   , i16_ux7F   ,  127   ,  0x7F   )
			test_integer_16 (    "127" , i16_p_127   , i16_px7F   , +127   , +0x7F   )
			test_integer_16 (   "-127" , i16_m_127   , i16_mx7F   , -127   , -0x7F   )
			test_integer_16 (    "128" , i16_u_128   , i16_ux80   ,  128   ,  0x80   )
			test_integer_16 (    "128" , i16_p_128   , i16_px80   , +128   , +0x80   )
			test_integer_16 (   "-128" , i16_m_128   , i16_mx80   , -128   , -0x80   )
			test_integer_16 (    "129" , i16_u_129   , i16_ux81   ,  129   ,  0x81   )
			test_integer_16 (    "129" , i16_p_129   , i16_px81   , +129   , +0x81   )
			test_integer_16 (   "-129" , i16_m_129   , i16_mx81   , -129   , -0x81   )
			test_integer_16 (    "255" , i16_u_255   , i16_uxFF   ,  255   ,  0xFF   )
			test_integer_16 (    "255" , i16_p_255   , i16_pxFF   , +255   , +0xFF   )
			test_integer_16 (   "-255" , i16_m_255   , i16_mxFF   , -255   , -0xFF   )
			test_integer_16 (    "256" , i16_u_256   , i16_ux100  ,  256   ,  0x100  )
			test_integer_16 (    "256" , i16_p_256   , i16_up100  , +256   , +0x100  )
			test_integer_16 (   "-256" , i16_m_256   , i16_um100  , -256   , -0x100  )
			test_integer_16 (    "257" , i16_u_257   , i16_ux101  ,  257   ,  0x101  )
			test_integer_16 (    "257" , i16_p_257   , i16_up101  , +257   , +0x101  )
			test_integer_16 (   "-257" , i16_m_257   , i16_um101  , -257   , -0x101  )
			test_integer_16 (  "32767" , i16_u_32767 , i16_ux7FFF ,  32767 ,  0x7FFF )
			test_integer_16 (  "32767" , i16_p_32767 , i16_px7FFF , +32767 , +0x7FFF )
			test_integer_16 ( "-32767" , i16_m_32767 , i16_mx7FFF , -32767 , -0x7FFF )
			test_integer_16 ( "-32768" , i16_m_32768 , i16_mx8000 , -32768 , -0x8000 )
				-- Implicitly negative hexadecimals
			test_integer_16 ( "-32768" , i16_m_32768 , i16_ux8000 , -32768 , 0x8000 )
			test_integer_16 ( "-32767" , i16_m_32767 , i16_ux8001 , -32767 , 0x8001 )
			test_integer_16 (     "-2" , i16_m_2     , i16_uxFFFE ,     -2 , 0xFFFE )
			test_integer_16 (     "-1" , i16_m_1     , i16_uxFFFF ,     -1 , 0xFFFF )
			if not has_error then
				io.put_string (" OK")
			end
			io.put_new_line
			has_error := false
			io.put_string ("INTEGER:")
				-- Leading zeroes
			test_integer_32 (           "0" , i32_u_00          , i32_ux00        ,  0000000000000000000000000000000000 ,  0x00000000000000000000000000000000 )
			test_integer_32 (           "0" , i32_p_00          , i32_px00        , +0000000000000000000000000000000000 , +0x00000000000000000000000000000000 )
			test_integer_32 (           "0" , i32_m_00          , i32_mx00        , -0000000000000000000000000000000000 , -0x00000000000000000000000000000000 )
			test_integer_32 (  "1234567890" , i32_u_01234567890 , i32_ux0499602D2 ,  0000000000000000000000001234567890 ,  0x000000000000000000000000499602D2 )
			test_integer_32 (  "1234567890" , i32_p_01234567890 , i32_px0499602D2 , +0000000000000000000000001234567890 , +0x000000000000000000000000499602D2 )
			test_integer_32 ( "-1234567890" , i32_m_01234567890 , i32_mx0499602D2 , -0000000000000000000000001234567890 , -0x000000000000000000000000499602D2 )
			test_integer_32 (  "2147483647" , i32_u_02147483647 , i32_ux07FFFFFFF ,  0000000000000000000000002147483647 ,  0x0000000000000000000000007FFFFFFF )
			test_integer_32 (  "2147483647" , i32_p_02147483647 , i32_px07FFFFFFF , +0000000000000000000000002147483647 , +0x0000000000000000000000007FFFFFFF )
			test_integer_32 ( "-2147483647" , i32_m_02147483647 , i32_mx07FFFFFFF , -0000000000000000000000002147483647 , -0x0000000000000000000000007FFFFFFF )
			test_integer_32 ( "-2147483648" , i32_m_02147483648 , i32_mx080000000 , -0000000000000000000000002147483648 , -0x00000000000000000000000080000000 )
				-- Byte boundaries
			test_integer_32 (           "0" , i32_u_0          , i32_ux0        ,  0          ,  0x0        )
			test_integer_32 (           "0" , i32_p_0          , i32_px0        , +0          , +0x0        )
			test_integer_32 (           "0" , i32_m_0          , i32_mx0        , -0          , -0x0        )
			test_integer_32 (           "1" , i32_u_1          , i32_ux1        ,  1          ,  0x1        )
			test_integer_32 (           "1" , i32_p_1          , i32_px1        , +1          , +0x1        )
			test_integer_32 (          "-1" , i32_m_1          , i32_mx1        , -1          , -0x1        )
			test_integer_32 (         "127" , i32_u_127        , i32_ux7F       ,  127        ,  0x7F       )
			test_integer_32 (         "127" , i32_p_127        , i32_px7F       , +127        , +0x7F       )
			test_integer_32 (        "-127" , i32_m_127        , i32_mx7F       , -127        , -0x7F       )
			test_integer_32 (         "128" , i32_u_128        , i32_ux80       ,  128        ,  0x80       )
			test_integer_32 (         "128" , i32_p_128        , i32_px80       , +128        , +0x80       )
			test_integer_32 (        "-128" , i32_m_128        , i32_mx80       , -128        , -0x80       )
			test_integer_32 (         "129" , i32_u_129        , i32_ux81       ,  129        ,  0x81       )
			test_integer_32 (         "129" , i32_p_129        , i32_px81       , +129        , +0x81       )
			test_integer_32 (        "-129" , i32_m_129        , i32_mx81       , -129        , -0x81       )
			test_integer_32 (         "255" , i32_u_255        , i32_uxFF       ,  255        ,  0xFF       )
			test_integer_32 (         "255" , i32_p_255        , i32_pxFF       , +255        , +0xFF       )
			test_integer_32 (        "-255" , i32_m_255        , i32_mxFF       , -255        , -0xFF       )
			test_integer_32 (         "256" , i32_u_256        , i32_ux100      ,  256        ,  0x100      )
			test_integer_32 (         "256" , i32_p_256        , i32_up100      , +256        , +0x100      )
			test_integer_32 (        "-256" , i32_m_256        , i32_um100      , -256        , -0x100      )
			test_integer_32 (         "257" , i32_u_257        , i32_ux101      ,  257        ,  0x101      )
			test_integer_32 (         "257" , i32_p_257        , i32_up101      , +257        , +0x101      )
			test_integer_32 (        "-257" , i32_m_257        , i32_um101      , -257        , -0x101      )
			test_integer_32 (       "32767" , i32_u_32767      , i32_ux7FFF     ,  32767      ,  0x7FFF     )
			test_integer_32 (       "32767" , i32_p_32767      , i32_px7FFF     , +32767      , +0x7FFF     )
			test_integer_32 (      "-32767" , i32_m_32767      , i32_mx7FFF     , -32767      , -0x7FFF     )
			test_integer_32 (       "32768" , i32_u_32768      , i32_ux8000     ,  32768      ,  0x8000     )
			test_integer_32 (       "32768" , i32_p_32768      , i32_px8000     , +32768      , +0x8000     )
			test_integer_32 (      "-32768" , i32_m_32768      , i32_mx8000     , -32768      , -0x8000     )
			test_integer_32 (       "32769" , i32_u_32769      , i32_ux8001     ,  32769      ,  0x8001     )
			test_integer_32 (       "32769" , i32_p_32769      , i32_px8001     , +32769      , +0x8001     )
			test_integer_32 (      "-32769" , i32_m_32769      , i32_mx8001     , -32769      , -0x8001     )
			test_integer_32 (       "65535" , i32_u_65535      , i32_uxFFFF     ,  65535      ,  0xFFFF     )
			test_integer_32 (       "65535" , i32_p_65535      , i32_pxFFFF     , +65535      , +0xFFFF     )
			test_integer_32 (      "-65535" , i32_m_65535      , i32_mxFFFF     , -65535      , -0xFFFF     )
			test_integer_32 (       "65536" , i32_u_65536      , i32_ux10000    ,  65536      ,  0x10000    )
			test_integer_32 (       "65536" , i32_p_65536      , i32_px10000    , +65536      , +0x10000    )
			test_integer_32 (      "-65536" , i32_m_65536      , i32_mx10000    , -65536      , -0x10000    )
			test_integer_32 (       "65537" , i32_u_65537      , i32_ux10001    ,  65537      ,  0x10001    )
			test_integer_32 (       "65537" , i32_p_65537      , i32_px10001    , +65537      , +0x10001    )
			test_integer_32 (      "-65537" , i32_m_65537      , i32_mx10001    , -65537      , -0x10001    )
			test_integer_32 (     "8388607" , i32_u_8388607    , i32_ux7FFFFF   ,  8388607    ,  0x7FFFFF   )
			test_integer_32 (     "8388607" , i32_p_8388607    , i32_px7FFFFF   , +8388607    , +0x7FFFFF   )
			test_integer_32 (    "-8388607" , i32_m_8388607    , i32_mx7FFFFF   , -8388607    , -0x7FFFFF   )
			test_integer_32 (     "8388608" , i32_u_8388608    , i32_ux800000   ,  8388608    ,  0x800000   )
			test_integer_32 (     "8388608" , i32_p_8388608    , i32_px800000   , +8388608    , +0x800000   )
			test_integer_32 (    "-8388608" , i32_m_8388608    , i32_mx800000   , -8388608    , -0x800000   )
			test_integer_32 (     "8388609" , i32_u_8388609    , i32_ux800001   ,  8388609    ,  0x800001   )
			test_integer_32 (     "8388609" , i32_p_8388609    , i32_px800001   , +8388609    , +0x800001   )
			test_integer_32 (    "-8388609" , i32_m_8388609    , i32_mx800001   , -8388609    , -0x800001   )
			test_integer_32 (    "16777215" , i32_u_16777215   , i32_uxFFFFFF   ,  16777215   ,  0xFFFFFF   )
			test_integer_32 (    "16777215" , i32_p_16777215   , i32_pxFFFFFF   , +16777215   , +0xFFFFFF   )
			test_integer_32 (   "-16777215" , i32_m_16777215   , i32_mxFFFFFF   , -16777215   , -0xFFFFFF   )
			test_integer_32 (    "16777216" , i32_u_16777216   , i32_ux1000000  ,  16777216   ,  0x1000000  )
			test_integer_32 (    "16777216" , i32_p_16777216   , i32_px1000000  , +16777216   , +0x1000000  )
			test_integer_32 (   "-16777216" , i32_m_16777216   , i32_mx1000000  , -16777216   , -0x1000000  )
			test_integer_32 (    "16777217" , i32_u_16777217   , i32_ux1000001  ,  16777217   ,  0x1000001  )
			test_integer_32 (    "16777217" , i32_p_16777217   , i32_px1000001  , +16777217   , +0x1000001  )
			test_integer_32 (   "-16777217" , i32_m_16777217   , i32_mx1000001  , -16777217   , -0x1000001  )
			test_integer_32 (  "2147483647" , i32_u_2147483647 , i32_ux7FFFFFFF ,  2147483647 ,  0x7FFFFFFF )
			test_integer_32 (  "2147483647" , i32_p_2147483647 , i32_px7FFFFFFF , +2147483647 , +0x7FFFFFFF )
			test_integer_32 ( "-2147483647" , i32_m_2147483647 , i32_mx7FFFFFFF , -2147483647 , -0x7FFFFFFF )
			test_integer_32 ( "-2147483648" , i32_m_2147483648 , i32_mx80000000 , -2147483648 , -0x80000000 )
				-- Implicitly negative hexadecimals
			test_integer_32 ( "-2147483648" , i32_m_2147483648 , i32_ux80000000 , -2147483648 , 0x80000000 )
			test_integer_32 ( "-2147483647" , i32_m_2147483647 , i32_ux80000001 , -2147483647 , 0x80000001 )
			test_integer_32 (          "-2" , i32_m_2          , i32_uxFFFFFFFE ,          -2 , 0xFFFFFFFE )
			test_integer_32 (          "-1" , i32_m_1          , i32_uxFFFFFFFF ,          -1 , 0xFFFFFFFF )
			if not has_error then
				io.put_string (" OK")
			end
			io.put_new_line
			has_error := false
			io.put_string ("INTEGER_64:")
				-- Leading zeroes
			test_integer_64 (                    "0" , i64_u_00                   , i64_ux00                ,  0000000000000000000000000000000000000000000 ,  0x00000000000000000000000000000000000000000 )
			test_integer_64 (                    "0" , i64_p_00                   , i64_px00                , +0000000000000000000000000000000000000000000 , +0x00000000000000000000000000000000000000000 )
			test_integer_64 (                    "0" , i64_m_00                   , i64_mx00                , -0000000000000000000000000000000000000000000 , -0x00000000000000000000000000000000000000000 )
			test_integer_64 (  "1234567890123456789" , i64_u_01234567890123456789 , i64_ux0112210F47DE98115 ,  0000000000000000000000001234567890123456789 ,  0x0000000000000000000000000112210F47DE98115 )
			test_integer_64 (  "1234567890123456789" , i64_p_01234567890123456789 , i64_px0112210F47DE98115 , +0000000000000000000000001234567890123456789 , +0x0000000000000000000000000112210F47DE98115 )
			test_integer_64 ( "-1234567890123456789" , i64_m_01234567890123456789 , i64_mx0112210F47DE98115 , -0000000000000000000000001234567890123456789 , -0x0000000000000000000000000112210F47DE98115 )
			test_integer_64 (  "9223372036854775807" , i64_u_09223372036854775807 , i64_ux07FFFFFFFFFFFFFFF ,  0000000000000000000000009223372036854775807 ,  0x00000000000000000000000007FFFFFFFFFFFFFFF )
			test_integer_64 (  "9223372036854775807" , i64_p_09223372036854775807 , i64_px07FFFFFFFFFFFFFFF , +0000000000000000000000009223372036854775807 , +0x00000000000000000000000007FFFFFFFFFFFFFFF )
			test_integer_64 ( "-9223372036854775807" , i64_m_09223372036854775807 , i64_mx07FFFFFFFFFFFFFFF , -0000000000000000000000009223372036854775807 , -0x00000000000000000000000007FFFFFFFFFFFFFFF )
			test_integer_64 ( "-9223372036854775808" , i64_m_09223372036854775808 , i64_mx08000000000000000 , -0000000000000000000000009223372036854775808 , -0x00000000000000000000000008000000000000000 )
				-- Byte boundaries
			test_integer_64 (                    "0" , i64_u_0                   , i64_ux0                ,  0                   ,  0x0                )
			test_integer_64 (                    "0" , i64_p_0                   , i64_px0                , +0                   , +0x0                )
			test_integer_64 (                    "0" , i64_m_0                   , i64_mx0                , -0                   , -0x0                )
			test_integer_64 (                    "1" , i64_u_1                   , i64_ux1                ,  1                   ,  0x1                )
			test_integer_64 (                    "1" , i64_p_1                   , i64_px1                , +1                   , +0x1                )
			test_integer_64 (                   "-1" , i64_m_1                   , i64_mx1                , -1                   , -0x1                )
			test_integer_64 (                  "127" , i64_u_127                 , i64_ux7F               ,  127                 ,  0x7F               )
			test_integer_64 (                  "127" , i64_p_127                 , i64_px7F               , +127                 , +0x7F               )
			test_integer_64 (                 "-127" , i64_m_127                 , i64_mx7F               , -127                 , -0x7F               )
			test_integer_64 (                  "128" , i64_u_128                 , i64_ux80               ,  128                 ,  0x80               )
			test_integer_64 (                  "128" , i64_p_128                 , i64_px80               , +128                 , +0x80               )
			test_integer_64 (                 "-128" , i64_m_128                 , i64_mx80               , -128                 , -0x80               )
			test_integer_64 (                  "129" , i64_u_129                 , i64_ux81               ,  129                 ,  0x81               )
			test_integer_64 (                  "129" , i64_p_129                 , i64_px81               , +129                 , +0x81               )
			test_integer_64 (                 "-129" , i64_m_129                 , i64_mx81               , -129                 , -0x81               )
			test_integer_64 (                  "255" , i64_u_255                 , i64_uxFF               ,  255                 ,  0xFF               )
			test_integer_64 (                  "255" , i64_p_255                 , i64_pxFF               , +255                 , +0xFF               )
			test_integer_64 (                 "-255" , i64_m_255                 , i64_mxFF               , -255                 , -0xFF               )
			test_integer_64 (                  "256" , i64_u_256                 , i64_ux100              ,  256                 ,  0x100              )
			test_integer_64 (                  "256" , i64_p_256                 , i64_up100              , +256                 , +0x100              )
			test_integer_64 (                 "-256" , i64_m_256                 , i64_um100              , -256                 , -0x100              )
			test_integer_64 (                  "257" , i64_u_257                 , i64_ux101              ,  257                 ,  0x101              )
			test_integer_64 (                  "257" , i64_p_257                 , i64_up101              , +257                 , +0x101              )
			test_integer_64 (                 "-257" , i64_m_257                 , i64_um101              , -257                 , -0x101              )
			test_integer_64 (                "32767" , i64_u_32767               , i64_ux7FFF             ,  32767               ,  0x7FFF             )
			test_integer_64 (                "32767" , i64_p_32767               , i64_px7FFF             , +32767               , +0x7FFF             )
			test_integer_64 (               "-32767" , i64_m_32767               , i64_mx7FFF             , -32767               , -0x7FFF             )
			test_integer_64 (                "32768" , i64_u_32768               , i64_ux8000             ,  32768               ,  0x8000             )
			test_integer_64 (                "32768" , i64_p_32768               , i64_px8000             , +32768               , +0x8000             )
			test_integer_64 (               "-32768" , i64_m_32768               , i64_mx8000             , -32768               , -0x8000             )
			test_integer_64 (                "32769" , i64_u_32769               , i64_ux8001             ,  32769               ,  0x8001             )
			test_integer_64 (                "32769" , i64_p_32769               , i64_px8001             , +32769               , +0x8001             )
			test_integer_64 (               "-32769" , i64_m_32769               , i64_mx8001             , -32769               , -0x8001             )
			test_integer_64 (                "65535" , i64_u_65535               , i64_uxFFFF             ,  65535               ,  0xFFFF             )
			test_integer_64 (                "65535" , i64_p_65535               , i64_pxFFFF             , +65535               , +0xFFFF             )
			test_integer_64 (               "-65535" , i64_m_65535               , i64_mxFFFF             , -65535               , -0xFFFF             )
			test_integer_64 (                "65536" , i64_u_65536               , i64_ux10000            ,  65536               ,  0x10000            )
			test_integer_64 (                "65536" , i64_p_65536               , i64_px10000            , +65536               , +0x10000            )
			test_integer_64 (               "-65536" , i64_m_65536               , i64_mx10000            , -65536               , -0x10000            )
			test_integer_64 (                "65537" , i64_u_65537               , i64_ux10001            ,  65537               ,  0x10001            )
			test_integer_64 (                "65537" , i64_p_65537               , i64_px10001            , +65537               , +0x10001            )
			test_integer_64 (               "-65537" , i64_m_65537               , i64_mx10001            , -65537               , -0x10001            )
			test_integer_64 (              "8388607" , i64_u_8388607             , i64_ux7FFFFF           ,  8388607             ,  0x7FFFFF           )
			test_integer_64 (              "8388607" , i64_p_8388607             , i64_px7FFFFF           , +8388607             , +0x7FFFFF           )
			test_integer_64 (             "-8388607" , i64_m_8388607             , i64_mx7FFFFF           , -8388607             , -0x7FFFFF           )
			test_integer_64 (              "8388608" , i64_u_8388608             , i64_ux800000           ,  8388608             ,  0x800000           )
			test_integer_64 (              "8388608" , i64_p_8388608             , i64_px800000           , +8388608             , +0x800000           )
			test_integer_64 (             "-8388608" , i64_m_8388608             , i64_mx800000           , -8388608             , -0x800000           )
			test_integer_64 (              "8388609" , i64_u_8388609             , i64_ux800001           ,  8388609             ,  0x800001           )
			test_integer_64 (              "8388609" , i64_p_8388609             , i64_px800001           , +8388609             , +0x800001           )
			test_integer_64 (             "-8388609" , i64_m_8388609             , i64_mx800001           , -8388609             , -0x800001           )
			test_integer_64 (             "16777215" , i64_u_16777215            , i64_uxFFFFFF           ,  16777215            ,  0xFFFFFF           )
			test_integer_64 (             "16777215" , i64_p_16777215            , i64_pxFFFFFF           , +16777215            , +0xFFFFFF           )
			test_integer_64 (            "-16777215" , i64_m_16777215            , i64_mxFFFFFF           , -16777215            , -0xFFFFFF           )
			test_integer_64 (             "16777216" , i64_u_16777216            , i64_ux1000000          ,  16777216            ,  0x1000000          )
			test_integer_64 (             "16777216" , i64_p_16777216            , i64_px1000000          , +16777216            , +0x1000000          )
			test_integer_64 (            "-16777216" , i64_m_16777216            , i64_mx1000000          , -16777216            , -0x1000000          )
			test_integer_64 (             "16777217" , i64_u_16777217            , i64_ux1000001          ,  16777217            ,  0x1000001          )
			test_integer_64 (             "16777217" , i64_p_16777217            , i64_px1000001          , +16777217            , +0x1000001          )
			test_integer_64 (            "-16777217" , i64_m_16777217            , i64_mx1000001          , -16777217            , -0x1000001          )
			test_integer_64 (           "2147483647" , i64_u_2147483647          , i64_ux7FFFFFFF         ,  2147483647          ,  0x7FFFFFFF         )
			test_integer_64 (           "2147483647" , i64_p_2147483647          , i64_px7FFFFFFF         , +2147483647          , +0x7FFFFFFF         )
			test_integer_64 (          "-2147483647" , i64_m_2147483647          , i64_mx7FFFFFFF         , -2147483647          , -0x7FFFFFFF         )
			test_integer_64 (           "2147483648" , i64_u_2147483648          , i64_ux80000000         ,  2147483648          ,  0x80000000         )
			test_integer_64 (           "2147483648" , i64_p_2147483648          , i64_px80000000         , +2147483648          , +0x80000000         )
			test_integer_64 (          "-2147483648" , i64_m_2147483648          , i64_mx80000000         , -2147483648          , -0x80000000         )
			test_integer_64 (           "2147483649" , i64_u_2147483649          , i64_ux80000001         ,  2147483649          ,  0x80000001         )
			test_integer_64 (           "2147483649" , i64_p_2147483649          , i64_px80000001         , +2147483649          , +0x80000001         )
			test_integer_64 (          "-2147483649" , i64_m_2147483649          , i64_mx80000001         , -2147483649          , -0x80000001         )
			test_integer_64 (           "4294967295" , i64_u_4294967295          , i64_uxFFFFFFFF         ,  4294967295          ,  0xFFFFFFFF         )
			test_integer_64 (           "4294967295" , i64_p_4294967295          , i64_pxFFFFFFFF         , +4294967295          , +0xFFFFFFFF         )
			test_integer_64 (          "-4294967295" , i64_m_4294967295          , i64_mxFFFFFFFF         , -4294967295          , -0xFFFFFFFF         )
			test_integer_64 (           "4294967296" , i64_u_4294967296          , i64_ux100000000        ,  4294967296          ,  0x100000000        )
			test_integer_64 (           "4294967296" , i64_p_4294967296          , i64_px100000000        , +4294967296          , +0x100000000        )
			test_integer_64 (          "-4294967296" , i64_m_4294967296          , i64_mx100000000        , -4294967296          , -0x100000000        )
			test_integer_64 (           "4294967297" , i64_u_4294967297          , i64_ux100000001        ,  4294967297          ,  0x100000001        )
			test_integer_64 (           "4294967297" , i64_p_4294967297          , i64_px100000001        , +4294967297          , +0x100000001        )
			test_integer_64 (          "-4294967297" , i64_m_4294967297          , i64_mx100000001        , -4294967297          , -0x100000001        )
			test_integer_64 (         "549755813887" , i64_u_549755813887        , i64_ux7FFFFFFFFF       ,  549755813887        ,  0x7FFFFFFFFF       )
			test_integer_64 (         "549755813887" , i64_p_549755813887        , i64_px7FFFFFFFFF       , +549755813887        , +0x7FFFFFFFFF       )
			test_integer_64 (        "-549755813887" , i64_m_549755813887        , i64_mx7FFFFFFFFF       , -549755813887        , -0x7FFFFFFFFF       )
			test_integer_64 (         "549755813888" , i64_u_549755813888        , i64_ux8000000000       ,  549755813888        ,  0x8000000000       )
			test_integer_64 (         "549755813888" , i64_p_549755813888        , i64_px8000000000       , +549755813888        , +0x8000000000       )
			test_integer_64 (        "-549755813888" , i64_m_549755813888        , i64_mx8000000000       , -549755813888        , -0x8000000000       )
			test_integer_64 (         "549755813889" , i64_u_549755813889        , i64_ux8000000001       ,  549755813889        ,  0x8000000001       )
			test_integer_64 (         "549755813889" , i64_p_549755813889        , i64_px8000000001       , +549755813889        , +0x8000000001       )
			test_integer_64 (        "-549755813889" , i64_m_549755813889        , i64_mx8000000001       , -549755813889        , -0x8000000001       )
			test_integer_64 (        "1099511627775" , i64_u_1099511627775       , i64_uxFFFFFFFFFF       ,  1099511627775       ,  0xFFFFFFFFFF       )
			test_integer_64 (        "1099511627775" , i64_p_1099511627775       , i64_pxFFFFFFFFFF       , +1099511627775       , +0xFFFFFFFFFF       )
			test_integer_64 (       "-1099511627775" , i64_m_1099511627775       , i64_mxFFFFFFFFFF       , -1099511627775       , -0xFFFFFFFFFF       )
			test_integer_64 (        "1099511627776" , i64_u_1099511627776       , i64_ux10000000000      ,  1099511627776       ,  0x10000000000      )
			test_integer_64 (        "1099511627776" , i64_p_1099511627776       , i64_px10000000000      , +1099511627776       , +0x10000000000      )
			test_integer_64 (       "-1099511627776" , i64_m_1099511627776       , i64_mx10000000000      , -1099511627776       , -0x10000000000      )
			test_integer_64 (        "1099511627777" , i64_u_1099511627777       , i64_ux10000000001      ,  1099511627777       ,  0x10000000001      )
			test_integer_64 (        "1099511627777" , i64_p_1099511627777       , i64_px10000000001      , +1099511627777       , +0x10000000001      )
			test_integer_64 (       "-1099511627777" , i64_m_1099511627777       , i64_mx10000000001      , -1099511627777       , -0x10000000001      )
			test_integer_64 (      "140737488355327" , i64_u_140737488355327     , i64_ux7FFFFFFFFFFF     ,  140737488355327     ,  0x7FFFFFFFFFFF     )
			test_integer_64 (      "140737488355327" , i64_p_140737488355327     , i64_px7FFFFFFFFFFF     , +140737488355327     , +0x7FFFFFFFFFFF     )
			test_integer_64 (     "-140737488355327" , i64_m_140737488355327     , i64_mx7FFFFFFFFFFF     , -140737488355327     , -0x7FFFFFFFFFFF     )
			test_integer_64 (      "140737488355328" , i64_u_140737488355328     , i64_ux800000000000     ,  140737488355328     ,  0x800000000000     )
			test_integer_64 (      "140737488355328" , i64_p_140737488355328     , i64_px800000000000     , +140737488355328     , +0x800000000000     )
			test_integer_64 (     "-140737488355328" , i64_m_140737488355328     , i64_mx800000000000     , -140737488355328     , -0x800000000000     )
			test_integer_64 (      "140737488355329" , i64_u_140737488355329     , i64_ux800000000001     ,  140737488355329     ,  0x800000000001     )
			test_integer_64 (      "140737488355329" , i64_p_140737488355329     , i64_px800000000001     , +140737488355329     , +0x800000000001     )
			test_integer_64 (     "-140737488355329" , i64_m_140737488355329     , i64_mx800000000001     , -140737488355329     , -0x800000000001     )
			test_integer_64 (      "281474976710655" , i64_u_281474976710655     , i64_uxFFFFFFFFFFFF     ,  281474976710655     ,  0xFFFFFFFFFFFF     )
			test_integer_64 (      "281474976710655" , i64_p_281474976710655     , i64_pxFFFFFFFFFFFF     , +281474976710655     , +0xFFFFFFFFFFFF     )
			test_integer_64 (     "-281474976710655" , i64_m_281474976710655     , i64_mxFFFFFFFFFFFF     , -281474976710655     , -0xFFFFFFFFFFFF     )
			test_integer_64 (      "281474976710656" , i64_u_281474976710656     , i64_ux1000000000000    ,  281474976710656     ,  0x1000000000000    )
			test_integer_64 (      "281474976710656" , i64_p_281474976710656     , i64_px1000000000000    , +281474976710656     , +0x1000000000000    )
			test_integer_64 (     "-281474976710656" , i64_m_281474976710656     , i64_mx1000000000000    , -281474976710656     , -0x1000000000000    )
			test_integer_64 (      "281474976710657" , i64_u_281474976710657     , i64_ux1000000000001    ,  281474976710657     ,  0x1000000000001    )
			test_integer_64 (      "281474976710657" , i64_p_281474976710657     , i64_px1000000000001    , +281474976710657     , +0x1000000000001    )
			test_integer_64 (     "-281474976710657" , i64_m_281474976710657     , i64_mx1000000000001    , -281474976710657     , -0x1000000000001    )
			test_integer_64 (    "36028797018963967" , i64_u_36028797018963967   , i64_ux7FFFFFFFFFFFFF   ,  36028797018963967   ,  0x7FFFFFFFFFFFFF   )
			test_integer_64 (    "36028797018963967" , i64_p_36028797018963967   , i64_px7FFFFFFFFFFFFF   , +36028797018963967   , +0x7FFFFFFFFFFFFF   )
			test_integer_64 (   "-36028797018963967" , i64_m_36028797018963967   , i64_mx7FFFFFFFFFFFFF   , -36028797018963967   , -0x7FFFFFFFFFFFFF   )
			test_integer_64 (    "36028797018963968" , i64_u_36028797018963968   , i64_ux80000000000000   ,  36028797018963968   ,  0x80000000000000   )
			test_integer_64 (    "36028797018963968" , i64_p_36028797018963968   , i64_px80000000000000   , +36028797018963968   , +0x80000000000000   )
			test_integer_64 (   "-36028797018963968" , i64_m_36028797018963968   , i64_mx80000000000000   , -36028797018963968   , -0x80000000000000   )
			test_integer_64 (    "36028797018963969" , i64_u_36028797018963969   , i64_ux80000000000001   ,  36028797018963969   ,  0x80000000000001   )
			test_integer_64 (    "36028797018963969" , i64_p_36028797018963969   , i64_px80000000000001   , +36028797018963969   , +0x80000000000001   )
			test_integer_64 (   "-36028797018963969" , i64_m_36028797018963969   , i64_mx80000000000001   , -36028797018963969   , -0x80000000000001   )
			test_integer_64 (    "72057594037927935" , i64_u_72057594037927935   , i64_uxFFFFFFFFFFFFFF   ,  72057594037927935   ,  0xFFFFFFFFFFFFFF   )
			test_integer_64 (    "72057594037927935" , i64_p_72057594037927935   , i64_pxFFFFFFFFFFFFFF   , +72057594037927935   , +0xFFFFFFFFFFFFFF   )
			test_integer_64 (   "-72057594037927935" , i64_m_72057594037927935   , i64_mxFFFFFFFFFFFFFF   , -72057594037927935   , -0xFFFFFFFFFFFFFF   )
			test_integer_64 (    "72057594037927936" , i64_u_72057594037927936   , i64_ux100000000000000  ,  72057594037927936   ,  0x100000000000000  )
			test_integer_64 (    "72057594037927936" , i64_p_72057594037927936   , i64_px100000000000000  , +72057594037927936   , +0x100000000000000  )
			test_integer_64 (   "-72057594037927936" , i64_m_72057594037927936   , i64_mx100000000000000  , -72057594037927936   , -0x100000000000000  )
			test_integer_64 (    "72057594037927937" , i64_u_72057594037927937   , i64_ux100000000000001  ,  72057594037927937   ,  0x100000000000001  )
			test_integer_64 (    "72057594037927937" , i64_p_72057594037927937   , i64_px100000000000001  , +72057594037927937   , +0x100000000000001  )
			test_integer_64 (   "-72057594037927937" , i64_m_72057594037927937   , i64_mx100000000000001  , -72057594037927937   , -0x100000000000001  )
			test_integer_64 (  "9223372036854775807" , i64_u_9223372036854775807 , i64_ux7FFFFFFFFFFFFFFF ,  9223372036854775807 ,  0x7FFFFFFFFFFFFFFF )
			test_integer_64 (  "9223372036854775807" , i64_p_9223372036854775807 , i64_px7FFFFFFFFFFFFFFF , +9223372036854775807 , +0x7FFFFFFFFFFFFFFF )
			test_integer_64 ( "-9223372036854775807" , i64_m_9223372036854775807 , i64_mx7FFFFFFFFFFFFFFF , -9223372036854775807 , -0x7FFFFFFFFFFFFFFF )
			test_integer_64 ( "-9223372036854775808" , i64_m_9223372036854775808 , i64_mx8000000000000000 , -9223372036854775808 , -0x8000000000000000 )
				-- Implicitly negative hexadecimals
			test_integer_64 ( "-9223372036854775808" , i64_m_9223372036854775808 , i64_ux8000000000000000 , -9223372036854775808 , 0x8000000000000000 )
			test_integer_64 ( "-9223372036854775807" , i64_m_9223372036854775807 , i64_ux8000000000000001 , -9223372036854775807 , 0x8000000000000001 )
			test_integer_64 (                   "-2" , i64_m_2                   , i64_uxFFFFFFFFFFFFFFFE ,                   -2 , 0xFFFFFFFFFFFFFFFE )
			test_integer_64 (                   "-1" , i64_m_1                   , i64_uxFFFFFFFFFFFFFFFF ,                   -1 , 0xFFFFFFFFFFFFFFFF )
			if not has_error then
				io.put_string (" OK")
			end
			io.put_new_line
		end
		
feature {NONE} -- INTEGER_8 constants: leading zeroes

	i8_u_00:   INTEGER_8 is  0000000000000000000000000000000000
	i8_p_00:   INTEGER_8 is +0000000000000000000000000000000000
	i8_m_00:   INTEGER_8 is -0000000000000000000000000000000000
	i8_u_0123: INTEGER_8 is  0000000000000000000000000000000123
	i8_p_0123: INTEGER_8 is +0000000000000000000000000000000123
	i8_m_0123: INTEGER_8 is -0000000000000000000000000000000123
	i8_u_0127: INTEGER_8 is  0000000000000000000000000000000127
	i8_p_0127: INTEGER_8 is +0000000000000000000000000000000127
	i8_m_0127: INTEGER_8 is -0000000000000000000000000000000127
	i8_m_0128: INTEGER_8 is -0000000000000000000000000000000128
	i8_ux00:   INTEGER_8 is  0x00000000000000000000000000000000
	i8_px00:   INTEGER_8 is +0x00000000000000000000000000000000
	i8_mx00:   INTEGER_8 is -0x00000000000000000000000000000000
	i8_ux07B:  INTEGER_8 is  0x0000000000000000000000000000007B
	i8_px07B:  INTEGER_8 is +0x0000000000000000000000000000007B
	i8_mx07B:  INTEGER_8 is -0x0000000000000000000000000000007B
	i8_ux07F:  INTEGER_8 is  0x0000000000000000000000000000007F
	i8_px07F:  INTEGER_8 is +0x0000000000000000000000000000007F
	i8_mx07F:  INTEGER_8 is -0x0000000000000000000000000000007F
	i8_mx080:  INTEGER_8 is -0x00000000000000000000000000000080

feature {NONE} -- INTEGER_8 constants: decimal byte boundaries

	i8_u_0:   INTEGER_8 is  0
	i8_p_0:   INTEGER_8 is +0
	i8_m_0:   INTEGER_8 is -0
	i8_u_1:   INTEGER_8 is  1
	i8_p_1:   INTEGER_8 is +1
	i8_m_1:   INTEGER_8 is -1
	i8_u_127: INTEGER_8 is  127
	i8_p_127: INTEGER_8 is +127
	i8_m_127: INTEGER_8 is -127
	i8_m_128: INTEGER_8 is -128

feature {NONE} -- INTEGER_8 constants: hexadecimal byte boundaries

	i8_ux0:  INTEGER_8 is  0x0
	i8_px0:  INTEGER_8 is +0x0
	i8_mx0:  INTEGER_8 is -0x0
	i8_ux1:  INTEGER_8 is  0x1
	i8_px1:  INTEGER_8 is +0x1
	i8_mx1:  INTEGER_8 is -0x1
	i8_ux7F: INTEGER_8 is  0x7F
	i8_px7F: INTEGER_8 is +0x7F
	i8_mx7F: INTEGER_8 is -0x7F
	i8_mx80: INTEGER_8 is -0x80

feature {NONE} -- INTEGER_8 constants: implicitly negative hexadecimals

	i8_m_2: INTEGER_8 is -2

	i8_ux80: INTEGER_8 is 0x80
	i8_ux81: INTEGER_8 is 0x81
	i8_uxFE: INTEGER_8 is 0xFE
	i8_uxFF: INTEGER_8 is 0xFF
	                 
feature {NONE} -- INTEGER_16 constants: leading zeroes

	i16_u_00:     INTEGER_16 is  00000000000000000000000000000000000
	i16_p_00:     INTEGER_16 is +00000000000000000000000000000000000
	i16_m_00:     INTEGER_16 is -00000000000000000000000000000000000
	i16_u_012345: INTEGER_16 is  00000000000000000000000000000012345
	i16_p_012345: INTEGER_16 is +00000000000000000000000000000012345
	i16_m_012345: INTEGER_16 is -00000000000000000000000000000012345
	i16_u_032767: INTEGER_16 is  00000000000000000000000000000032767
	i16_p_032767: INTEGER_16 is +00000000000000000000000000000032767
	i16_m_032767: INTEGER_16 is -00000000000000000000000000000032767
	i16_m_032768: INTEGER_16 is -00000000000000000000000000000032768
	i16_ux00:     INTEGER_16 is  0x000000000000000000000000000000000
	i16_px00:     INTEGER_16 is +0x000000000000000000000000000000000
	i16_mx00:     INTEGER_16 is -0x000000000000000000000000000000000
	i16_ux03039:  INTEGER_16 is  0x000000000000000000000000000003039
	i16_px03039:  INTEGER_16 is +0x000000000000000000000000000003039
	i16_mx03039:  INTEGER_16 is -0x000000000000000000000000000003039
	i16_ux07FFF:  INTEGER_16 is  0x000000000000000000000000000007FFF
	i16_px07FFF:  INTEGER_16 is +0x000000000000000000000000000007FFF
	i16_mx07FFF:  INTEGER_16 is -0x000000000000000000000000000007FFF
	i16_mx08000:  INTEGER_16 is -0x000000000000000000000000000008000

feature {NONE} -- INTEGER_16 constants: decimal byte boundaries

	i16_u_0:     INTEGER_16 is  0
	i16_p_0:     INTEGER_16 is +0
	i16_m_0:     INTEGER_16 is -0
	i16_u_1:     INTEGER_16 is  1
	i16_p_1:     INTEGER_16 is +1
	i16_m_1:     INTEGER_16 is -1
	i16_u_127:   INTEGER_16 is  127
	i16_p_127:   INTEGER_16 is +127
	i16_m_127:   INTEGER_16 is -127
	i16_u_128:   INTEGER_16 is  128
	i16_p_128:   INTEGER_16 is +128
	i16_m_128:   INTEGER_16 is -128
	i16_u_129:   INTEGER_16 is  129
	i16_p_129:   INTEGER_16 is +129
	i16_m_129:   INTEGER_16 is -129
	i16_u_255:   INTEGER_16 is  255
	i16_p_255:   INTEGER_16 is +255
	i16_m_255:   INTEGER_16 is -255
	i16_u_256:   INTEGER_16 is  256
	i16_p_256:   INTEGER_16 is +256
	i16_m_256:   INTEGER_16 is -256
	i16_u_257:   INTEGER_16 is  257
	i16_p_257:   INTEGER_16 is +257
	i16_m_257:   INTEGER_16 is -257
	i16_u_32767: INTEGER_16 is  32767
	i16_p_32767: INTEGER_16 is +32767
	i16_m_32767: INTEGER_16 is -32767
	i16_m_32768: INTEGER_16 is -32768

feature {NONE} -- INTEGER_16 constants: hexadecimal byte boundaries

	i16_ux0:    INTEGER_16 is  0x0
	i16_px0:    INTEGER_16 is +0x0
	i16_mx0:    INTEGER_16 is -0x0
	i16_ux1:    INTEGER_16 is  0x1
	i16_px1:    INTEGER_16 is +0x1
	i16_mx1:    INTEGER_16 is -0x1
	i16_ux7F:   INTEGER_16 is  0x7F
	i16_px7F:   INTEGER_16 is +0x7F
	i16_mx7F:   INTEGER_16 is -0x7F
	i16_ux80:   INTEGER_16 is  0x80
	i16_px80:   INTEGER_16 is +0x80
	i16_mx80:   INTEGER_16 is -0x80
	i16_ux81:   INTEGER_16 is  0x81
	i16_px81:   INTEGER_16 is +0x81
	i16_mx81:   INTEGER_16 is -0x81
	i16_uxFF:   INTEGER_16 is  0xFF
	i16_pxFF:   INTEGER_16 is +0xFF
	i16_mxFF:   INTEGER_16 is -0xFF
	i16_ux100:  INTEGER_16 is  0x100
	i16_up100:  INTEGER_16 is +0x100
	i16_um100:  INTEGER_16 is -0x100
	i16_ux101:  INTEGER_16 is  0x101
	i16_up101:  INTEGER_16 is +0x101
	i16_um101:  INTEGER_16 is -0x101
	i16_ux7FFF: INTEGER_16 is  0x7FFF
	i16_px7FFF: INTEGER_16 is +0x7FFF
	i16_mx7FFF: INTEGER_16 is -0x7FFF
	i16_mx8000: INTEGER_16 is -0x8000

feature {NONE} -- INTEGER_16 constants: implicitly negative hexadecimals

	i16_m_2: INTEGER_16 is -2

	i16_ux8000: INTEGER_16 is 0x8000
	i16_ux8001: INTEGER_16 is 0x8001
	i16_uxFFFE: INTEGER_16 is 0xFFFE
	i16_uxFFFF: INTEGER_16 is 0xFFFF

feature {NONE} -- INTEGER constants: leading zeroes

	i32_u_00:          INTEGER is  0000000000000000000000000000000000
	i32_p_00:          INTEGER is +0000000000000000000000000000000000
	i32_m_00:          INTEGER is -0000000000000000000000000000000000
	i32_u_01234567890: INTEGER is  0000000000000000000000001234567890
	i32_p_01234567890: INTEGER is +0000000000000000000000001234567890
	i32_m_01234567890: INTEGER is -0000000000000000000000001234567890
	i32_u_02147483647: INTEGER is  0000000000000000000000002147483647
	i32_p_02147483647: INTEGER is +0000000000000000000000002147483647
	i32_m_02147483647: INTEGER is -0000000000000000000000002147483647
	i32_m_02147483648: INTEGER is -0000000000000000000000002147483648
	i32_ux00:          INTEGER is  0x00000000000000000000000000000000
	i32_px00:          INTEGER is +0x00000000000000000000000000000000
	i32_mx00:          INTEGER is -0x00000000000000000000000000000000
	i32_ux0499602D2:   INTEGER is  0x000000000000000000000000499602D2
	i32_px0499602D2:   INTEGER is +0x000000000000000000000000499602D2
	i32_mx0499602D2:   INTEGER is -0x000000000000000000000000499602D2
	i32_ux07FFFFFFF:   INTEGER is  0x0000000000000000000000007FFFFFFF
	i32_px07FFFFFFF:   INTEGER is +0x0000000000000000000000007FFFFFFF
	i32_mx07FFFFFFF:   INTEGER is -0x0000000000000000000000007FFFFFFF
	i32_mx080000000:   INTEGER is -0x00000000000000000000000080000000

feature {NONE} -- INTEGER constants: decimal byte boundaries

	i32_u_0:          INTEGER is  0
	i32_p_0:          INTEGER is +0
	i32_m_0:          INTEGER is -0
	i32_u_1:          INTEGER is  1
	i32_p_1:          INTEGER is +1
	i32_m_1:          INTEGER is -1
	i32_u_127:        INTEGER is  127
	i32_p_127:        INTEGER is +127
	i32_m_127:        INTEGER is -127
	i32_u_128:        INTEGER is  128
	i32_p_128:        INTEGER is +128
	i32_m_128:        INTEGER is -128
	i32_u_129:        INTEGER is  129
	i32_p_129:        INTEGER is +129
	i32_m_129:        INTEGER is -129
	i32_u_255:        INTEGER is  255
	i32_p_255:        INTEGER is +255
	i32_m_255:        INTEGER is -255
	i32_u_256:        INTEGER is  256
	i32_p_256:        INTEGER is +256
	i32_m_256:        INTEGER is -256
	i32_u_257:        INTEGER is  257
	i32_p_257:        INTEGER is +257
	i32_m_257:        INTEGER is -257
	i32_u_32767:      INTEGER is  32767
	i32_p_32767:      INTEGER is +32767
	i32_m_32767:      INTEGER is -32767
	i32_u_32768:      INTEGER is  32768
	i32_p_32768:      INTEGER is +32768
	i32_m_32768:      INTEGER is -32768
	i32_u_32769:      INTEGER is  32769
	i32_p_32769:      INTEGER is +32769
	i32_m_32769:      INTEGER is -32769
	i32_u_65535:      INTEGER is  65535
	i32_p_65535:      INTEGER is +65535
	i32_m_65535:      INTEGER is -65535
	i32_u_65536:      INTEGER is  65536
	i32_p_65536:      INTEGER is +65536
	i32_m_65536:      INTEGER is -65536
	i32_u_65537:      INTEGER is  65537
	i32_p_65537:      INTEGER is +65537
	i32_m_65537:      INTEGER is -65537
	i32_u_8388607:    INTEGER is  8388607
	i32_p_8388607:    INTEGER is +8388607
	i32_m_8388607:    INTEGER is -8388607
	i32_u_8388608:    INTEGER is  8388608
	i32_p_8388608:    INTEGER is +8388608
	i32_m_8388608:    INTEGER is -8388608
	i32_u_8388609:    INTEGER is  8388609
	i32_p_8388609:    INTEGER is +8388609
	i32_m_8388609:    INTEGER is -8388609
	i32_u_16777215:   INTEGER is  16777215
	i32_p_16777215:   INTEGER is +16777215
	i32_m_16777215:   INTEGER is -16777215
	i32_u_16777216:   INTEGER is  16777216
	i32_p_16777216:   INTEGER is +16777216
	i32_m_16777216:   INTEGER is -16777216
	i32_u_16777217:   INTEGER is  16777217
	i32_p_16777217:   INTEGER is +16777217
	i32_m_16777217:   INTEGER is -16777217
	i32_u_2147483647: INTEGER is  2147483647
	i32_p_2147483647: INTEGER is +2147483647
	i32_m_2147483647: INTEGER is -2147483647
	i32_m_2147483648: INTEGER is -2147483648

feature {NONE} -- INTEGER constants: hexadecimal byte boundaries

	i32_ux0:        INTEGER is  0x0
	i32_px0:        INTEGER is +0x0
	i32_mx0:        INTEGER is -0x0
	i32_ux1:        INTEGER is  0x1
	i32_px1:        INTEGER is +0x1
	i32_mx1:        INTEGER is -0x1
	i32_ux7F:       INTEGER is  0x7F
	i32_px7F:       INTEGER is +0x7F
	i32_mx7F:       INTEGER is -0x7F
	i32_ux80:       INTEGER is  0x80
	i32_px80:       INTEGER is +0x80
	i32_mx80:       INTEGER is -0x80
	i32_ux81:       INTEGER is  0x81
	i32_px81:       INTEGER is +0x81
	i32_mx81:       INTEGER is -0x81
	i32_uxFF:       INTEGER is  0xFF
	i32_pxFF:       INTEGER is +0xFF
	i32_mxFF:       INTEGER is -0xFF
	i32_ux100:      INTEGER is  0x100
	i32_up100:      INTEGER is +0x100
	i32_um100:      INTEGER is -0x100
	i32_ux101:      INTEGER is  0x101
	i32_up101:      INTEGER is +0x101
	i32_um101:      INTEGER is -0x101
	i32_ux7FFF:     INTEGER is  0x7FFF
	i32_px7FFF:     INTEGER is +0x7FFF
	i32_mx7FFF:     INTEGER is -0x7FFF
	i32_ux8000:     INTEGER is  0x8000
	i32_px8000:     INTEGER is +0x8000
	i32_mx8000:     INTEGER is -0x8000
	i32_ux8001:     INTEGER is  0x8001
	i32_px8001:     INTEGER is +0x8001
	i32_mx8001:     INTEGER is -0x8001
	i32_uxFFFF:     INTEGER is  0xFFFF
	i32_pxFFFF:     INTEGER is +0xFFFF
	i32_mxFFFF:     INTEGER is -0xFFFF
	i32_ux10000:    INTEGER is  0x10000
	i32_px10000:    INTEGER is +0x10000
	i32_mx10000:    INTEGER is -0x10000
	i32_ux10001:    INTEGER is  0x10001
	i32_px10001:    INTEGER is +0x10001
	i32_mx10001:    INTEGER is -0x10001
	i32_ux7FFFFF:   INTEGER is  0x7FFFFF
	i32_px7FFFFF:   INTEGER is +0x7FFFFF
	i32_mx7FFFFF:   INTEGER is -0x7FFFFF
	i32_ux800000:   INTEGER is  0x800000
	i32_px800000:   INTEGER is +0x800000
	i32_mx800000:   INTEGER is -0x800000
	i32_ux800001:   INTEGER is  0x800001
	i32_px800001:   INTEGER is +0x800001
	i32_mx800001:   INTEGER is -0x800001
	i32_uxFFFFFF:   INTEGER is  0xFFFFFF
	i32_pxFFFFFF:   INTEGER is +0xFFFFFF
	i32_mxFFFFFF:   INTEGER is -0xFFFFFF
	i32_ux1000000:  INTEGER is  0x1000000
	i32_px1000000:  INTEGER is +0x1000000
	i32_mx1000000:  INTEGER is -0x1000000
	i32_ux1000001:  INTEGER is  0x1000001
	i32_px1000001:  INTEGER is +0x1000001
	i32_mx1000001:  INTEGER is -0x1000001
	i32_ux7FFFFFFF: INTEGER is  0x7FFFFFFF
	i32_px7FFFFFFF: INTEGER is +0x7FFFFFFF
	i32_mx7FFFFFFF: INTEGER is -0x7FFFFFFF
	i32_mx80000000: INTEGER is -0x80000000

feature {NONE} -- INTEGER constants: implicitly negative hexadecimals

	i32_m_2: INTEGER is -2

	i32_ux80000000: INTEGER is 0x80000000
	i32_ux80000001: INTEGER is 0x80000001
	i32_uxFFFFFFFE: INTEGER is 0xFFFFFFFE
	i32_uxFFFFFFFF: INTEGER is 0xFFFFFFFF

feature {NONE} -- INTEGER_64 constants: leading zeroes

	i64_u_00:                   INTEGER_64 is  0000000000000000000000000000000000000000000
	i64_p_00:                   INTEGER_64 is +0000000000000000000000000000000000000000000
	i64_m_00:                   INTEGER_64 is -0000000000000000000000000000000000000000000
	i64_u_01234567890123456789: INTEGER_64 is  0000000000000000000000001234567890123456789
	i64_p_01234567890123456789: INTEGER_64 is +0000000000000000000000001234567890123456789
	i64_m_01234567890123456789: INTEGER_64 is -0000000000000000000000001234567890123456789
	i64_u_09223372036854775807: INTEGER_64 is  0000000000000000000000009223372036854775807
	i64_p_09223372036854775807: INTEGER_64 is +0000000000000000000000009223372036854775807
	i64_m_09223372036854775807: INTEGER_64 is -0000000000000000000000009223372036854775807
	i64_m_09223372036854775808: INTEGER_64 is -0000000000000000000000009223372036854775808
	i64_ux00:                   INTEGER_64 is  0x00000000000000000000000000000000000000000
	i64_px00:                   INTEGER_64 is +0x00000000000000000000000000000000000000000
	i64_mx00:                   INTEGER_64 is -0x00000000000000000000000000000000000000000
	i64_ux0112210F47DE98115:    INTEGER_64 is  0x0000000000000000000000000112210F47DE98115
	i64_px0112210F47DE98115:    INTEGER_64 is +0x0000000000000000000000000112210F47DE98115
	i64_mx0112210F47DE98115:    INTEGER_64 is -0x0000000000000000000000000112210F47DE98115
	i64_ux07FFFFFFFFFFFFFFF:    INTEGER_64 is  0x00000000000000000000000007FFFFFFFFFFFFFFF
	i64_px07FFFFFFFFFFFFFFF:    INTEGER_64 is +0x00000000000000000000000007FFFFFFFFFFFFFFF
	i64_mx07FFFFFFFFFFFFFFF:    INTEGER_64 is -0x00000000000000000000000007FFFFFFFFFFFFFFF
	i64_mx08000000000000000:    INTEGER_64 is -0x00000000000000000000000008000000000000000

feature {NONE} -- INTEGER_64 constants: decimal byte boundaries

	i64_u_0:                   INTEGER_64 is  0
	i64_p_0:                   INTEGER_64 is +0
	i64_m_0:                   INTEGER_64 is -0
	i64_u_1:                   INTEGER_64 is  1
	i64_p_1:                   INTEGER_64 is +1
	i64_m_1:                   INTEGER_64 is -1
	i64_u_127:                 INTEGER_64 is  127
	i64_p_127:                 INTEGER_64 is +127
	i64_m_127:                 INTEGER_64 is -127
	i64_u_128:                 INTEGER_64 is  128
	i64_p_128:                 INTEGER_64 is +128
	i64_m_128:                 INTEGER_64 is -128
	i64_u_129:                 INTEGER_64 is  129
	i64_p_129:                 INTEGER_64 is +129
	i64_m_129:                 INTEGER_64 is -129
	i64_u_255:                 INTEGER_64 is  255
	i64_p_255:                 INTEGER_64 is +255
	i64_m_255:                 INTEGER_64 is -255
	i64_u_256:                 INTEGER_64 is  256
	i64_p_256:                 INTEGER_64 is +256
	i64_m_256:                 INTEGER_64 is -256
	i64_u_257:                 INTEGER_64 is  257
	i64_p_257:                 INTEGER_64 is +257
	i64_m_257:                 INTEGER_64 is -257
	i64_u_32767:               INTEGER_64 is  32767
	i64_p_32767:               INTEGER_64 is +32767
	i64_m_32767:               INTEGER_64 is -32767
	i64_u_32768:               INTEGER_64 is  32768
	i64_p_32768:               INTEGER_64 is +32768
	i64_m_32768:               INTEGER_64 is -32768
	i64_u_32769:               INTEGER_64 is  32769
	i64_p_32769:               INTEGER_64 is +32769
	i64_m_32769:               INTEGER_64 is -32769
	i64_u_65535:               INTEGER_64 is  65535
	i64_p_65535:               INTEGER_64 is +65535
	i64_m_65535:               INTEGER_64 is -65535
	i64_u_65536:               INTEGER_64 is  65536
	i64_p_65536:               INTEGER_64 is +65536
	i64_m_65536:               INTEGER_64 is -65536
	i64_u_65537:               INTEGER_64 is  65537
	i64_p_65537:               INTEGER_64 is +65537
	i64_m_65537:               INTEGER_64 is -65537
	i64_u_8388607:             INTEGER_64 is  8388607
	i64_p_8388607:             INTEGER_64 is +8388607
	i64_m_8388607:             INTEGER_64 is -8388607
	i64_u_8388608:             INTEGER_64 is  8388608
	i64_p_8388608:             INTEGER_64 is +8388608
	i64_m_8388608:             INTEGER_64 is -8388608
	i64_u_8388609:             INTEGER_64 is  8388609
	i64_p_8388609:             INTEGER_64 is +8388609
	i64_m_8388609:             INTEGER_64 is -8388609
	i64_u_16777215:            INTEGER_64 is  16777215
	i64_p_16777215:            INTEGER_64 is +16777215
	i64_m_16777215:            INTEGER_64 is -16777215
	i64_u_16777216:            INTEGER_64 is  16777216
	i64_p_16777216:            INTEGER_64 is +16777216
	i64_m_16777216:            INTEGER_64 is -16777216
	i64_u_16777217:            INTEGER_64 is  16777217
	i64_p_16777217:            INTEGER_64 is +16777217
	i64_m_16777217:            INTEGER_64 is -16777217
	i64_u_2147483647:          INTEGER_64 is  2147483647
	i64_p_2147483647:          INTEGER_64 is +2147483647
	i64_m_2147483647:          INTEGER_64 is -2147483647
	i64_u_2147483648:          INTEGER_64 is  2147483648
	i64_p_2147483648:          INTEGER_64 is +2147483648
	i64_m_2147483648:          INTEGER_64 is -2147483648
	i64_u_2147483649:          INTEGER_64 is  2147483649
	i64_p_2147483649:          INTEGER_64 is +2147483649
	i64_m_2147483649:          INTEGER_64 is -2147483649
	i64_u_4294967295:          INTEGER_64 is  4294967295
	i64_p_4294967295:          INTEGER_64 is +4294967295
	i64_m_4294967295:          INTEGER_64 is -4294967295
	i64_u_4294967296:          INTEGER_64 is  4294967296
	i64_p_4294967296:          INTEGER_64 is +4294967296
	i64_m_4294967296:          INTEGER_64 is -4294967296
	i64_u_4294967297:          INTEGER_64 is  4294967297
	i64_p_4294967297:          INTEGER_64 is +4294967297
	i64_m_4294967297:          INTEGER_64 is -4294967297
	i64_u_549755813887:        INTEGER_64 is  549755813887
	i64_p_549755813887:        INTEGER_64 is +549755813887
	i64_m_549755813887:        INTEGER_64 is -549755813887
	i64_u_549755813888:        INTEGER_64 is  549755813888
	i64_p_549755813888:        INTEGER_64 is +549755813888
	i64_m_549755813888:        INTEGER_64 is -549755813888
	i64_u_549755813889:        INTEGER_64 is  549755813889
	i64_p_549755813889:        INTEGER_64 is +549755813889
	i64_m_549755813889:        INTEGER_64 is -549755813889
	i64_u_1099511627775:       INTEGER_64 is  1099511627775
	i64_p_1099511627775:       INTEGER_64 is +1099511627775
	i64_m_1099511627775:       INTEGER_64 is -1099511627775
	i64_u_1099511627776:       INTEGER_64 is  1099511627776
	i64_p_1099511627776:       INTEGER_64 is +1099511627776
	i64_m_1099511627776:       INTEGER_64 is -1099511627776
	i64_u_1099511627777:       INTEGER_64 is  1099511627777
	i64_p_1099511627777:       INTEGER_64 is +1099511627777
	i64_m_1099511627777:       INTEGER_64 is -1099511627777
	i64_u_140737488355327:     INTEGER_64 is  140737488355327
	i64_p_140737488355327:     INTEGER_64 is +140737488355327
	i64_m_140737488355327:     INTEGER_64 is -140737488355327
	i64_u_140737488355328:     INTEGER_64 is  140737488355328
	i64_p_140737488355328:     INTEGER_64 is +140737488355328
	i64_m_140737488355328:     INTEGER_64 is -140737488355328
	i64_u_140737488355329:     INTEGER_64 is  140737488355329
	i64_p_140737488355329:     INTEGER_64 is +140737488355329
	i64_m_140737488355329:     INTEGER_64 is -140737488355329
	i64_u_281474976710655:     INTEGER_64 is  281474976710655
	i64_p_281474976710655:     INTEGER_64 is +281474976710655
	i64_m_281474976710655:     INTEGER_64 is -281474976710655
	i64_u_281474976710656:     INTEGER_64 is  281474976710656
	i64_p_281474976710656:     INTEGER_64 is +281474976710656
	i64_m_281474976710656:     INTEGER_64 is -281474976710656
	i64_u_281474976710657:     INTEGER_64 is  281474976710657
	i64_p_281474976710657:     INTEGER_64 is +281474976710657
	i64_m_281474976710657:     INTEGER_64 is -281474976710657
	i64_u_36028797018963967:   INTEGER_64 is  36028797018963967
	i64_p_36028797018963967:   INTEGER_64 is +36028797018963967
	i64_m_36028797018963967:   INTEGER_64 is -36028797018963967
	i64_u_36028797018963968:   INTEGER_64 is  36028797018963968
	i64_p_36028797018963968:   INTEGER_64 is +36028797018963968
	i64_m_36028797018963968:   INTEGER_64 is -36028797018963968
	i64_u_36028797018963969:   INTEGER_64 is  36028797018963969
	i64_p_36028797018963969:   INTEGER_64 is +36028797018963969
	i64_m_36028797018963969:   INTEGER_64 is -36028797018963969
	i64_u_72057594037927935:   INTEGER_64 is  72057594037927935
	i64_p_72057594037927935:   INTEGER_64 is +72057594037927935
	i64_m_72057594037927935:   INTEGER_64 is -72057594037927935
	i64_u_72057594037927936:   INTEGER_64 is  72057594037927936
	i64_p_72057594037927936:   INTEGER_64 is +72057594037927936
	i64_m_72057594037927936:   INTEGER_64 is -72057594037927936
	i64_u_72057594037927937:   INTEGER_64 is  72057594037927937
	i64_p_72057594037927937:   INTEGER_64 is +72057594037927937
	i64_m_72057594037927937:   INTEGER_64 is -72057594037927937
	i64_u_9223372036854775807: INTEGER_64 is  9223372036854775807
	i64_p_9223372036854775807: INTEGER_64 is +9223372036854775807
	i64_m_9223372036854775807: INTEGER_64 is -9223372036854775807
	i64_m_9223372036854775808: INTEGER_64 is -9223372036854775808

feature {NONE} -- INTEGER_64 constants: hexadecimal byte boundaries

	i64_ux0:                INTEGER_64 is  0x0
	i64_px0:                INTEGER_64 is +0x0
	i64_mx0:                INTEGER_64 is -0x0
	i64_ux1:                INTEGER_64 is  0x1
	i64_px1:                INTEGER_64 is +0x1
	i64_mx1:                INTEGER_64 is -0x1
	i64_ux7F:               INTEGER_64 is  0x7F
	i64_px7F:               INTEGER_64 is +0x7F
	i64_mx7F:               INTEGER_64 is -0x7F
	i64_ux80:               INTEGER_64 is  0x80
	i64_px80:               INTEGER_64 is +0x80
	i64_mx80:               INTEGER_64 is -0x80
	i64_ux81:               INTEGER_64 is  0x81
	i64_px81:               INTEGER_64 is +0x81
	i64_mx81:               INTEGER_64 is -0x81
	i64_uxFF:               INTEGER_64 is  0xFF
	i64_pxFF:               INTEGER_64 is +0xFF
	i64_mxFF:               INTEGER_64 is -0xFF
	i64_ux100:              INTEGER_64 is  0x100
	i64_up100:              INTEGER_64 is +0x100
	i64_um100:              INTEGER_64 is -0x100
	i64_ux101:              INTEGER_64 is  0x101
	i64_up101:              INTEGER_64 is +0x101
	i64_um101:              INTEGER_64 is -0x101
	i64_ux7FFF:             INTEGER_64 is  0x7FFF
	i64_px7FFF:             INTEGER_64 is +0x7FFF
	i64_mx7FFF:             INTEGER_64 is -0x7FFF
	i64_ux8000:             INTEGER_64 is  0x8000
	i64_px8000:             INTEGER_64 is +0x8000
	i64_mx8000:             INTEGER_64 is -0x8000
	i64_ux8001:             INTEGER_64 is  0x8001
	i64_px8001:             INTEGER_64 is +0x8001
	i64_mx8001:             INTEGER_64 is -0x8001
	i64_uxFFFF:             INTEGER_64 is  0xFFFF
	i64_pxFFFF:             INTEGER_64 is +0xFFFF
	i64_mxFFFF:             INTEGER_64 is -0xFFFF
	i64_ux10000:            INTEGER_64 is  0x10000
	i64_px10000:            INTEGER_64 is +0x10000
	i64_mx10000:            INTEGER_64 is -0x10000
	i64_ux10001:            INTEGER_64 is  0x10001
	i64_px10001:            INTEGER_64 is +0x10001
	i64_mx10001:            INTEGER_64 is -0x10001
	i64_ux7FFFFF:           INTEGER_64 is  0x7FFFFF
	i64_px7FFFFF:           INTEGER_64 is +0x7FFFFF
	i64_mx7FFFFF:           INTEGER_64 is -0x7FFFFF
	i64_ux800000:           INTEGER_64 is  0x800000
	i64_px800000:           INTEGER_64 is +0x800000
	i64_mx800000:           INTEGER_64 is -0x800000
	i64_ux800001:           INTEGER_64 is  0x800001
	i64_px800001:           INTEGER_64 is +0x800001
	i64_mx800001:           INTEGER_64 is -0x800001
	i64_uxFFFFFF:           INTEGER_64 is  0xFFFFFF
	i64_pxFFFFFF:           INTEGER_64 is +0xFFFFFF
	i64_mxFFFFFF:           INTEGER_64 is -0xFFFFFF
	i64_ux1000000:          INTEGER_64 is  0x1000000
	i64_px1000000:          INTEGER_64 is +0x1000000
	i64_mx1000000:          INTEGER_64 is -0x1000000
	i64_ux1000001:          INTEGER_64 is  0x1000001
	i64_px1000001:          INTEGER_64 is +0x1000001
	i64_mx1000001:          INTEGER_64 is -0x1000001
	i64_ux7FFFFFFF:         INTEGER_64 is  0x7FFFFFFF
	i64_px7FFFFFFF:         INTEGER_64 is +0x7FFFFFFF
	i64_mx7FFFFFFF:         INTEGER_64 is -0x7FFFFFFF
	i64_ux80000000:         INTEGER_64 is  0x80000000
	i64_px80000000:         INTEGER_64 is +0x80000000
	i64_mx80000000:         INTEGER_64 is -0x80000000
	i64_ux80000001:         INTEGER_64 is  0x80000001
	i64_px80000001:         INTEGER_64 is +0x80000001
	i64_mx80000001:         INTEGER_64 is -0x80000001
	i64_uxFFFFFFFF:         INTEGER_64 is  0xFFFFFFFF
	i64_pxFFFFFFFF:         INTEGER_64 is +0xFFFFFFFF
	i64_mxFFFFFFFF:         INTEGER_64 is -0xFFFFFFFF
	i64_ux100000000:        INTEGER_64 is  0x100000000
	i64_px100000000:        INTEGER_64 is +0x100000000
	i64_mx100000000:        INTEGER_64 is -0x100000000
	i64_ux100000001:        INTEGER_64 is  0x100000001
	i64_px100000001:        INTEGER_64 is +0x100000001
	i64_mx100000001:        INTEGER_64 is -0x100000001
	i64_ux7FFFFFFFFF:       INTEGER_64 is  0x7FFFFFFFFF
	i64_px7FFFFFFFFF:       INTEGER_64 is +0x7FFFFFFFFF
	i64_mx7FFFFFFFFF:       INTEGER_64 is -0x7FFFFFFFFF
	i64_ux8000000000:       INTEGER_64 is  0x8000000000
	i64_px8000000000:       INTEGER_64 is +0x8000000000
	i64_mx8000000000:       INTEGER_64 is -0x8000000000
	i64_ux8000000001:       INTEGER_64 is  0x8000000001
	i64_px8000000001:       INTEGER_64 is +0x8000000001
	i64_mx8000000001:       INTEGER_64 is -0x8000000001
	i64_uxFFFFFFFFFF:       INTEGER_64 is  0xFFFFFFFFFF
	i64_pxFFFFFFFFFF:       INTEGER_64 is +0xFFFFFFFFFF
	i64_mxFFFFFFFFFF:       INTEGER_64 is -0xFFFFFFFFFF
	i64_ux10000000000:      INTEGER_64 is  0x10000000000
	i64_px10000000000:      INTEGER_64 is +0x10000000000
	i64_mx10000000000:      INTEGER_64 is -0x10000000000
	i64_ux10000000001:      INTEGER_64 is  0x10000000001
	i64_px10000000001:      INTEGER_64 is +0x10000000001
	i64_mx10000000001:      INTEGER_64 is -0x10000000001
	i64_ux7FFFFFFFFFFF:     INTEGER_64 is  0x7FFFFFFFFFFF
	i64_px7FFFFFFFFFFF:     INTEGER_64 is +0x7FFFFFFFFFFF
	i64_mx7FFFFFFFFFFF:     INTEGER_64 is -0x7FFFFFFFFFFF
	i64_ux800000000000:     INTEGER_64 is  0x800000000000
	i64_px800000000000:     INTEGER_64 is +0x800000000000
	i64_mx800000000000:     INTEGER_64 is -0x800000000000
	i64_ux800000000001:     INTEGER_64 is  0x800000000001
	i64_px800000000001:     INTEGER_64 is +0x800000000001
	i64_mx800000000001:     INTEGER_64 is -0x800000000001
	i64_uxFFFFFFFFFFFF:     INTEGER_64 is  0xFFFFFFFFFFFF
	i64_pxFFFFFFFFFFFF:     INTEGER_64 is +0xFFFFFFFFFFFF
	i64_mxFFFFFFFFFFFF:     INTEGER_64 is -0xFFFFFFFFFFFF
	i64_ux1000000000000:    INTEGER_64 is  0x1000000000000
	i64_px1000000000000:    INTEGER_64 is +0x1000000000000
	i64_mx1000000000000:    INTEGER_64 is -0x1000000000000
	i64_ux1000000000001:    INTEGER_64 is  0x1000000000001
	i64_px1000000000001:    INTEGER_64 is +0x1000000000001
	i64_mx1000000000001:    INTEGER_64 is -0x1000000000001
	i64_ux7FFFFFFFFFFFFF:   INTEGER_64 is  0x7FFFFFFFFFFFFF
	i64_px7FFFFFFFFFFFFF:   INTEGER_64 is +0x7FFFFFFFFFFFFF
	i64_mx7FFFFFFFFFFFFF:   INTEGER_64 is -0x7FFFFFFFFFFFFF
	i64_ux80000000000000:   INTEGER_64 is  0x80000000000000
	i64_px80000000000000:   INTEGER_64 is +0x80000000000000
	i64_mx80000000000000:   INTEGER_64 is -0x80000000000000
	i64_ux80000000000001:   INTEGER_64 is  0x80000000000001
	i64_px80000000000001:   INTEGER_64 is +0x80000000000001
	i64_mx80000000000001:   INTEGER_64 is -0x80000000000001
	i64_uxFFFFFFFFFFFFFF:   INTEGER_64 is  0xFFFFFFFFFFFFFF
	i64_pxFFFFFFFFFFFFFF:   INTEGER_64 is +0xFFFFFFFFFFFFFF
	i64_mxFFFFFFFFFFFFFF:   INTEGER_64 is -0xFFFFFFFFFFFFFF
	i64_ux100000000000000:  INTEGER_64 is  0x100000000000000
	i64_px100000000000000:  INTEGER_64 is +0x100000000000000
	i64_mx100000000000000:  INTEGER_64 is -0x100000000000000
	i64_ux100000000000001:  INTEGER_64 is  0x100000000000001
	i64_px100000000000001:  INTEGER_64 is +0x100000000000001
	i64_mx100000000000001:  INTEGER_64 is -0x100000000000001
	i64_ux7FFFFFFFFFFFFFFF: INTEGER_64 is  0x7FFFFFFFFFFFFFFF
	i64_px7FFFFFFFFFFFFFFF: INTEGER_64 is +0x7FFFFFFFFFFFFFFF
	i64_mx7FFFFFFFFFFFFFFF: INTEGER_64 is -0x7FFFFFFFFFFFFFFF
	i64_mx8000000000000000: INTEGER_64 is -0x8000000000000000

feature {NONE} -- INTEGER_64 constants: implicitly negative hexadecimals

	i64_m_2: INTEGER_64 is -2

	i64_ux8000000000000000: INTEGER_64 is 0x8000000000000000
	i64_ux8000000000000001: INTEGER_64 is 0x8000000000000001
	i64_uxFFFFFFFFFFFFFFFE: INTEGER_64 is 0xFFFFFFFFFFFFFFFE
	i64_uxFFFFFFFFFFFFFFFF: INTEGER_64 is 0xFFFFFFFFFFFFFFFF

feature {NONE} -- Output

	dca: STRING is "decimal constant attribute"
	hca: STRING is "hexadecimal constant attribute"
	dmc: STRING is "decimal manifest constant"
	hmc: STRING is "hexadecimal manifest constant"

feature {NONE} -- Tests

	test_equal (name: STRING; actual: STRING; expected: STRING) is
			-- Test that `actual' is equal to `expected'.
		require
			name_not_void: name /= Void
			actual_not_void: actual /= Void
			expected_not_void: expected /= Void
		do
			if not actual.is_equal (expected) then
				has_error := true
				io.put_new_line
				io.put_string (name)
				io.put_string (": expected %"")
				io.put_string (expected)
				io.put_string ("%" but got %"")
				io.put_string (actual)
				io.put_string ("%"")
			end
		end

	test_integer_8 (expected: STRING; da, ha, dm, hm: INTEGER_8) is
			-- Test that all values are equal to `expected'.
		require
			expected_not_void: expected /= Void
		do
			test_equal (dca, da.out, expected)
			test_equal (hca, ha.out, expected)
			test_equal (dmc, dm.out, expected)
			test_equal (hmc, hm.out, expected)
		end

	test_integer_16 (expected: STRING; da, ha, dm, hm: INTEGER_16) is
			-- Test that all values are equal to `expected'.
		require
			expected_not_void: expected /= Void
		do
			test_equal (dca, da.out, expected)
			test_equal (hca, ha.out, expected)
			test_equal (dmc, dm.out, expected)
			test_equal (hmc, hm.out, expected)
		end

	test_integer_32 (expected: STRING; da, ha, dm, hm: INTEGER) is
			-- Test that all values are equal to `expected'.
		require
			expected_not_void: expected /= Void
		do
			test_equal (dca, da.out, expected)
			test_equal (hca, ha.out, expected)
			test_equal (dmc, dm.out, expected)
			test_equal (hmc, hm.out, expected)
		end

	test_integer_64 (expected: STRING; da, ha, dm, hm: INTEGER_64) is
			-- Test that all values are equal to `expected'.
		require
			expected_not_void: expected /= Void
		do
			test_equal (dca, da.out, expected)
			test_equal (hca, ha.out, expected)
			test_equal (dmc, dm.out, expected)
			test_equal (hmc, hm.out, expected)
		end

feature {NONE} -- Status report

	has_error: BOOLEAN
			-- Has error been detected?

end