]> www.ginac.de Git - cln.git/commit
Extend the exponent range from 32 bits to 64 bits on selected platforms.
authorRichard Kreckel <kreckel@ginac.de>
Mon, 11 Dec 2006 17:31:06 +0000 (17:31 +0000)
committerRichard Kreckel <kreckel@ginac.de>
Mon, 11 Dec 2006 17:31:06 +0000 (17:31 +0000)
commite52830748240df6b0ab51d8a78243c88132f6c75
tree6f77e57664430360d3c22394c7cdff7df8322636
parentba086b080a1851fdc272fac0466310229737b629
    Extend the exponent range from 32 bits to 64 bits on selected platforms.
        * include/cln/number.h: Add signatures for operations with long long.
        * include/cln/complex_class.h: Likewise.
        * include/cln/real_class.h: Likewise.
        * include/cln/real.h: Likewise.
        * include/cln/rational_class.h: Likewise.
        * include/cln/rational.h: Likewise.
        * include/cln/integer_class.h: Likewise.
        * include/cln/integer.h: Likewise.
        * include/cln/float.h: Likewise.
        * include/cln/lfloat.h: Likewise.
        * include/cln/types.h (sintE and uintE): New types for exponents.
        * include/cln/*float.h: Use the new types for exponents.
        * include/cln/floatformat.h (float_format_t): Make underlying type
        compatible with sintE.
        * doc/cln.tex: Document changed float_exponent return value.
        * src/float/cl_F.h: Likewise.
        * src/float/ffloat/misc/cl_FF_exponent.cc: Likewise.
        * src/float/input/cl_F_read.cc: Likewise.
        * src/float/lfloat/cl_LF.h: Likewise.
        * src/float/lfloat/cl_LF_impl.h: Likewise.
        * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_compare.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_mul.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_square.cc: Likewise.
        * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
        * src/float/lfloat/misc/cl_LF_decode.cc: Likewise.
        * src/float/lfloat/misc/cl_LF_exponent.cc: Likewise.
        * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
        * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
        * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
        * src/float/misc/cl_F_decode.cc: Likewise.
        * src/float/misc/cl_F_exponent.cc: Likewise.
        * src/float/misc/cl_F_shortenrel.cc: Likewise.
        * src/float/misc/cl_float_format.cc: Likewise.
        * src/float/output/cl_F_dprint.cc: Likewise.
        * src/float/sfloat/misc/cl_SF_exponent.cc: Likewise.
        * src/float/transcendental/cl_F_atanhx.cc: Likewise.
        * src/float/transcendental/cl_F_atanx.cc: Likewise.
        * src/float/transcendental/cl_F_cosh.cc: Likewise.
        * src/float/transcendental/cl_F_expx.cc: Likewise.
        * src/float/transcendental/cl_F_lnx.cc: Likewise.
        * src/float/transcendental/cl_F_sinhx.cc: Likewise.
        * src/float/transcendental/cl_F_sinx.cc: Likewise.
        * src/float/transcendental/cl_LF_pi.cc: Likewise.
        * src/integer/cl_I.h: Likewise.
        * src/complex/algebraic/cl_LF_hypot.cc: Likewise.
        * src/complex/elem/division/cl_C_LF_recip.cc: Likewise.
        * src/float/dfloat/misc/cl_DF_exponent.cc: Likewise.
        * src/integer/conv/cl_I_from_Q2.cc: Added.
        * src/base/cl_low.h (isqrtC): New function, for 64 bit falls back to...
        * src/base/low/cl_low_isqrt.cc (isqrt): ...this new implementation.
        * src/base/cl_macros.h (bitc): Make sure 64 bit is used if required by
        exponent operations.
        * examples/pi.cc: Support more than 646456614 decimal digits.
66 files changed:
ChangeLog
NEWS
doc/cln.tex
examples/pi.cc
include/cln/complex_class.h
include/cln/dfloat.h
include/cln/ffloat.h
include/cln/float.h
include/cln/floatformat.h
include/cln/integer.h
include/cln/integer_class.h
include/cln/lfloat.h
include/cln/number.h
include/cln/rational.h
include/cln/rational_class.h
include/cln/real.h
include/cln/real_class.h
include/cln/sfloat.h
include/cln/types.h
src/base/cl_low.h
src/base/cl_macros.h
src/base/low/cl_low_isqrt.cc
src/complex/algebraic/cl_LF_hypot.cc
src/complex/elem/division/cl_C_LF_recip.cc
src/float/cl_F.h
src/float/dfloat/misc/cl_DF_exponent.cc
src/float/ffloat/misc/cl_FF_exponent.cc
src/float/input/cl_F_read.cc
src/float/lfloat/algebraic/cl_LF_sqrt.cc
src/float/lfloat/cl_LF.h
src/float/lfloat/cl_LF_impl.h
src/float/lfloat/elem/cl_LF_1plus.cc
src/float/lfloat/elem/cl_LF_I_div.cc
src/float/lfloat/elem/cl_LF_I_mul.cc
src/float/lfloat/elem/cl_LF_compare.cc
src/float/lfloat/elem/cl_LF_div.cc
src/float/lfloat/elem/cl_LF_from_I.cc
src/float/lfloat/elem/cl_LF_fround.cc
src/float/lfloat/elem/cl_LF_ftrunc.cc
src/float/lfloat/elem/cl_LF_futrunc.cc
src/float/lfloat/elem/cl_LF_mul.cc
src/float/lfloat/elem/cl_LF_scale.cc
src/float/lfloat/elem/cl_LF_scale_I.cc
src/float/lfloat/elem/cl_LF_square.cc
src/float/lfloat/elem/cl_LF_to_I.cc
src/float/lfloat/misc/cl_LF_decode.cc
src/float/lfloat/misc/cl_LF_exponent.cc
src/float/lfloat/misc/cl_LF_idecode.cc
src/float/lfloat/misc/cl_LF_shortenrel.cc
src/float/lfloat/misc/cl_LF_shortenwith.cc
src/float/misc/cl_F_decode.cc
src/float/misc/cl_F_exponent.cc
src/float/misc/cl_F_shortenrel.cc
src/float/misc/cl_float_format.cc
src/float/output/cl_F_dprint.cc
src/float/sfloat/misc/cl_SF_exponent.cc
src/float/transcendental/cl_F_atanhx.cc
src/float/transcendental/cl_F_atanx.cc
src/float/transcendental/cl_F_cosh.cc
src/float/transcendental/cl_F_expx.cc
src/float/transcendental/cl_F_lnx.cc
src/float/transcendental/cl_F_sinhx.cc
src/float/transcendental/cl_F_sinx.cc
src/float/transcendental/cl_LF_pi.cc
src/integer/cl_I.h
src/integer/conv/cl_I_from_Q2.cc [new file with mode: 0644]