From: <sc...@op...> - 2011-01-07 19:37:49
|
changeset: edd2b526023c in /home/euweb/scm/hg_repos/euphoria author: Matt Lewis url: http://scm.openeuphoria.org/hg/euphoria?cmd=changeset;node=edd2b526023c description: * fixed to_integer() test for rolling over from an integer to an atom on 64-bit euphoria diffstat: tests/t_convert.e | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diffs (26 lines): diff -r 4c44f39958e5 -r edd2b526023c tests/t_convert.e --- a/tests/t_convert.e Fri Jan 07 13:05:45 2011 -0500 +++ b/tests/t_convert.e Fri Jan 07 13:36:12 2011 -0500 @@ -1,6 +1,7 @@ include std/convert.e include std/unittest.e include std/math.e +include std/dll.e test_equal("int_to_bytes +ve", {231, 3, 0, 0}, int_to_bytes(999)) test_equal("int_to_bytes -ve", {-231, -4, -1, -1}, int_to_bytes(-999)) @@ -96,7 +97,13 @@ test_equal( "to_integer #6", -1, to_integer("a12",-1)) test_equal( "to_integer #7", 0, to_integer({"12"})) test_equal( "to_integer #8", 1073741823, to_integer(#3FFFFFFF)) -test_equal( "to_integer #9", 0, to_integer(#3FFFFFFF + 1)) +if sizeof( C_POINTER ) = 4 then + test_equal( "to_integer #9", 0, to_integer(#3FFFFFFF + 1)) +else + -- The relative size of 63-bit euphoria integers and the mantissa of + -- doubles requires we add 513 to roll over to a double + test_equal( "to_integer #9", 0, to_integer(#3FFFFFFF_FFFFFFFF + 513)) +end if test_equal( "to_string #1", `12` , to_string(12)) test_equal( "to_string #2", `abc` , to_string("abc")) |