From: Bruno Haible <bruno@cl...> - 2004-09-28 19:26:58
In the tests
BIGNUM.FLOAT.COMPARE.1A BIGNUM.FLOAT.COMPARE.1B BIGNUM.FLOAT.COMPARE.2A
BIGNUM.FLOAT.COMPARE.2B BIGNUM.FLOAT.COMPARE.3A BIGNUM.FLOAT.COMPARE.3B
BIGNUM.FLOAT.COMPARE.4A BIGNUM.FLOAT.COMPARE.4B BIGNUM.FLOAT.COMPARE.5A
BIGNUM.FLOAT.COMPARE.5B BIGNUM.FLOAT.COMPARE.6A BIGNUM.FLOAT.COMPARE.6B
you assume that any range of floating-point number can be
converted to integer, i.e. that the exponent range of integers is
bigger than the exponent range of all kinds of floating-point numbers.
In CLISP, the range of long-float exponents is bigger than the range
of integer exponents (ca. 2^31 versus 2^21).
In many other implementations it is just the other way around.
Neither of these implementation choices is perfect: Either you cannot assume
that conversion from integer to floating-point always works, or you cannot
assume that conversion from floating-point to integer always works.
Could you please fix the tests?