Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Tag: |
Remove support for K&R C compilers.
Fix sparc64 build with -DNO_ASM and reduce compiler warnings.
Fix last ChangeLog entry.
Fix a bug in FN_to_NDS in configurations where intDsize < intPsize.
Fix VPATH build [Alexei Sheplyakov].
Re-esatblish 1.2.0 ABI, broken 2008-02-22 [Alexei Sheplyakov]. * src/float/input/cl_F_readparsed.cc: Add obsolete signature with index args uintL. * src/integer/input/cl_I_readparsed.cc: Likewise. * src/rational/input/cl_RA_readparsed.cc: Likewise.
Finalize release 1.2.2.
Re-establish ABI, broken 2008-01-20. * src/float/ffloat/conv/cl_FF_from_float.cc: Add obsolete signature of cl_float_to_FF_pointer. * src/float/dfloat/conv/cl_DF_from_double.cc: Add obsolete signature of cl_double_to_DF_pointer.
Fix hack from 2008-01-20 that broke on ARM.
Finalize release 1.2.1.
New file, for recreating the build prerequisites after a CVS checkout.
Fix bug introduced on 2008-02-23.
Optional support for configure --with-gmp=GMP-PREFIX.
Support for gcc-4.3 snapshots.
Change "make alls" and "make allo" to recurse into subdirectories. * src/Makefile.in (alls-local): Renamed from alls. (allo-local): Renamed from allo. (SUBDIRS_TARGET_ALL): Renamed from SUBDIRS_TARGET. (alls, allo): New rules. (SUBDIRS_TARGET_ALLS, SUBDIRS_TARGET_ALLO): New variables.
Make index variables uintC.
* More robust definition of CL_HAVE_ATTRIBUTE_FLATTEN.
* Upgrade to files from libtool 1.5.26.
Avoid compiler warning about ignored 'flatten' attribute directive.
Enable modifying operators by default.
Fix crash in output of huge numbers.
Fix cl_F output of more than 2^32 decimal digits:
* src/base/string/cl_sstring.cc (cl_sstring): make len uintC.
* src/base/string/cl_sstring.h: Likewise.
Allow 64-bit builds on MacOS X 10.5.
Avoid some gcc warnings.
* Update to fixes in doc subdir.
* Release 1.2.0.
Fix linking problems on some platforms caused by inline/non-inline versions of same functions (obsoletes MAYBE_INLINE) [by Alexei Sheplyakov].
Fix linking problems on some platforms caused by inline/non-inline versions of same functions (obsoletes MAYBE_INLINE) [by Alexei Sheplyakov].
Don't generate cln.texi from cln.tex any more.
* include/cln/float.h (cos_sin_t, cosh_sinh_t): Add default ctor.
Make some functions more memory efficient:
* src/float/transcendental/cl_LF_tran.h (eval_rational_series): The
evaluation of streamed rational series may profit from shift-counting Q,
too. Introduce a template parameter to determine whether shift-counting
is to be used or not.
* src/float/transcendental/cl_LF_ratseries_pqb.cc: Introduce template
parameter.
* src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise.
* src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise.
* src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise.
* src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise.
* src/float/transcendental/cl_LF_ratseries_q.cc: Likewise, added
overload for streamed expansion.
* src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise.
* src/float/transcendental/cl_LF_ratseries_pq.cc: Introduce template
parameter, added overload for streamed expansion using shift-counts.
* src/float/transcendental/cl_LF_zeta3.cc: Adapt to above changes.
* src/float/transcendental/cl_LF_pi.cc: Likewise.
* src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
* src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
* src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
* src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
* src/float/transcendental/cl_LF_atanh_recip.cc: Use streamed series.
* src/float/transcendental/cl_LF_atan_recip.cc: Likewise.
* src/float/transcendental/cl_LF_exp1.cc: Likewise.
* src/float/transcendental/cl_LF_exp_aux.cc: Likewise.
* src/float/transcendental/cl_LF_ratseries.cc: Removed.
Cater to the fact that g++ 4.3 will use a different naming for
the global constructor suffix in shared and static objects.
* m4/c++-constructors.m4 (CL_GLOBAL_CONSTRUCTORS): Add test for
the global constructor suffix, define CL_GLOBAL_CONSTRUCTOR_SUFFIX_PIC
and CL_GLOBAL_CONSTRUCTOR_SUFFIX_NOPIC appropriately.
* include/cln/config.h.in: Provide templates to be filled in by
configure.
* include/cln/modules.h (CL_PROVIDE, CL_REQUIRE): Use
CL_GLOBAL_CONSTRUCTOR_SUFFIX_PIC, CL_GLOBAL_CONSTRUCTOR_SUFFIX_NOPIC.
* m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=rs6000 for
powerpc64 if userland is 32 bit.
* autoconf/ltmain.sh: Update to libtool-1.5.24.
* autoconf/config.guess: Likewise.
* autoconf/config.sub: Likewise.
* m4/libtool.m4: Likewise.
* src/float/transcendental/cl_F_lnx.cc: Make actuallen of type uintC.
* src/float/transcendental/cl_F_expx.cc: Likewise.
* src/float/transcendental/cl_F_sinhx.cc: Likewise.
* src/float/transcendental/cl_F_sinx.cc: Likewise.
Silly workaround for silly bug in gmp.h:
* m4/gmp.m4 (CL_GMP_SET_UINTD): Swap #include <gmp.h> and <stdio.h>.
* src/polynomial/elem/cl_UP_GF2.h (gf2_mul_table): define for sparc64.
* include/cln/types.h ([su]intE): 64-bit exponents for MIPS and RS6000.
* src/float/lfloat/cl_LF.h (cl_heap_lfloat): Change len type to uintC.
* include/cln/object.h: Don't redefine cl_word_alignment on sparc64.
* src/base/digitseq/cl_asm_sparc64_.cc: Declare use of global
register %g2 as scratch register within this file.
Reported by Paul Irofti <bulibuta@gmail.com> and Sven Verdoolaege
<skimo@kotnet.org>.
* src/base/digitseq/cl_asm_i386_.cc (compare_loop_up,
compare_loop_down): Fix empty ranges.
Fix compilation on CYGWIN:
* src/float/transcendental/cl_LF_zeta_int.cc: Avoid leading underscores
in variable names.
* src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
Reported by Chris Bouchard <cbouchrd@uiuc.edu>.
* src/base/cl_low.h: Add missing linefeeds in SPARC 64 inline assembler.
* src/base/low/cl_low_div.cc (divu_6464_6464_): Fix a copy-paste typo.
Reported by Sven Verdoolaege <skimo@kotnet.org>.
On popular demand (Debian bug #286266, Ubuntu bug #128851): * examples/pi.cc: Output no more than requested number of digits.
* autoconf/config.guess, autoconf/config.sub: updated from automake-1.9.
* doc/cln.tex: Put entire document in @dircategory Mathematics.
* doc/Makefile.in: texi2html -split_chapter suddenly uses subdirectory.
* Makefile.in: Don't install non-existing cln-config* and cln.m4.
* include/cln/modules.h (CL_JUMP_TO): Use a pc relative jump on m68k.
See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=388000>.
* */*: Convert encoding from ISO 8859-1 to UTF-8.
Truncated binary splitting for even more memory efficiency: * src/float/transcendental/cl_LF_tran.h: Added new overloads. See below. * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Removed and moved everything to... * src/float/transcendental/cl_LF_ratseries_pq.cc: ...here. Added an overload for truncated expansion. * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Removed and moved everything to... * src/float/transcendental/cl_LF_ratseries_pqa.cc: ...here. Added an overload for truncated expansion. * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Removed and moved everything to... * src/float/transcendental/cl_LF_ratseries_pqb.cc: ...here. Added an overload for truncated expansion. * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Removed and moved everything to... * src/float/transcendental/cl_LF_ratseries_pqab.cc: ...here. Added an overload for truncated expansion. * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Added overloads for streamed and truncated expansion. * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise. * src/float/transcendental/cl_LF_ratsumseries_stream_pqd_aux.cc: Removed and moved everything to... * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: ...here. Added an overload for truncated expansion. * src/float/transcendental/cl_LF_ratsumseries_stream_pqd.cc: Removed and moved everything to... * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: ...here. Added an overload for truncated expansion. * src/float/transcendental/cl_LF_pi.cc: Use truncated series. * src/float/transcendental/cl_LF_catalanconst.cc: Likewise. * src/float/transcendental/cl_LF_eulerconst.cc: Likewise. * src/float/transcendental/cl_LF_zeta_int.cc: Likewise. * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
More memory efficient Euler-Mascheroni constant: * src/float/transcendental/cl_LF_tran.h (cl_pqd_series_stream): New. * src/float/transcendental/cl_LF_ratsumseries_stream_pqd.cc: New file. * src/float/transcendental/cl_LF_ratsumseries_stream_pqd_aux.cc: New file. * src/float/transcendental/cl_LF_eulerconst.cc: Compute series coefficients on demand, using a series stream object.
* src/base/digitseq/cl_DS_div.cc (cl_recip_suitable): uintC arguments.
* */*: Remove cl_boolean, cl_true, and cl_false in favor of built-in
C++ bool, true, and false.
Remove exception hooks in favor of real C++ exceptions:
* include/cln/exception.h: New file...
* include/cln/cln.h: ...included here...
* include/cln/rational.h: ...and here.
* include/cln/abort.h: Removed.
* include/cln/integer.h (ash_exception, exquo_exception): Add exception
types.
* include/cln/float.h (floating_point_exception,
floating_point_nan_exception, floating_point_overflow_exception,
floating_point_underflow_exception): Likewise.
* include/cln/number_io.h (read_number_exception,
read_number_bad_syntax_exception, read_number_junk_exception,
read_number_eof_exception): Likewise.
* include/cln/object.h (CL_DEFINE_CONVERTER): Replace dynamic assertion
with a compile-time assertion.
* include/cln/GV.h: Replace nonreturning functions with exceptions.
* include/cln/modinteger.h: Likewise.
* include/cln/SV.h: Likewise.
* include/cln/ring.h: Likewise.
* include/cln/string.h: Likewise.
* include/cln/univpoly.h: Likewise.
* src/base/cl_abort.cc: Removed.
* src/base/cl_N_err_d0.cc: Removed.
* src/base/cl_d0_exception.cc: New file.
* src/base/cl_as_err.cc: Removed.
* src/base/cl_as_exception.cc: New file.
* src/base/cl_notreached.cc: Removed.
* src/base/cl_notreached_exception.cc: New file.
* src/base/input/cl_read_err_bad.cc: Removed.
* src/base/input/cl_read_bad_syntax_exception.cc: New file.
* src/base/input/cl_read_err_junk.cc: Removed.
* src/base/input/cl_read_junk_exception.cc: New file.
* src/base/input/cl_read_err_eof.cc: Removed.
* src/base/input/cl_read_eof_exception.cc: New file.
* src/base/cl_N.h (cl_as_error): Removed (see cln/exception.h).
* src/base/macros.h (NOTREACHED): Throw.
* src/base/cl_malloc.cc (xmalloc): Throw.
* src/base/digitseq/cl_2DS_div.cc: Throw.
* src/base/digitseq/cl_DS_div.cc: Throw.
* src/base/digitseq/cl_DS_mul.cc: Throw.
* src/base/digitseq/cl_DS_mul_fftc.h: Throw.
* src/base/digitseq/cl_DS_mul_fftcs.h: Throw.
* src/base/digitseq/cl_DS_mul_fftm.h: Throw.
* src/base/digitseq/cl_DS_mul_fftp.h: Throw.
* src/base/digitseq/cl_DS_mul_fftp3.h: Throw.
* src/base/digitseq/cl_DS_mul_fftp3m.h: Throw.
* src/base/digitseq/cl_DS_mul_fftr.h: Throw.
* src/base/digitseq/cl_DS_mul_nuss.h: Throw.
* src/base/digitseq/cl_DS_recipsqrt.cc: Throw.
* src/base/digitseq/cl_DS_sqrt.cc: Throw.
* src/base/hash/cl_hash.h: Throw.
* src/base/hash/cl_hash1.h: Throw.
* src/base/hash/cl_hash1weak.h: Throw.
* src/base/hash/cl_hash2.h: Throw.
* src/base/hash/cl_hash2weak.h: Throw.
* src/base/hash/cl_hashset.h: Throw.
* src/base/hash/cl_hashuniq.h: Throw.
* src/base/hash/cl_hashuniqweak.h: Throw.
* src/base/proplist/cl_pl_add.cc: Throw.
* src/base/ring/cl_no_ring.cc: Throw.
* src/base/string/cl_spushstring.h: Throw.
* src/base/symbol/cl_symbol.cc: Throw.
* src/integer/bitwise/cl_I_ash.h: Removed (see cln/integer.h.)
* src/integer/bitwise/cl_I_asherr.cc: Removed.
* src/integer/bitwise/cl_I_ash_exception.cc: New file.
* src/integer/division/cl_I_exquoerr.cc: Removed.
* src/integer/division/cl_I_exquo_exception.cc: New file.
* src/integer/cl_I.h: Throw.
* src/integer/division/cl_I_exquopos.cc: Throw.
* src/integer/bitwise/cl_I_logbitp_I.cc: Throw.
* src/integer/bitwise/cl_I_ash.cc: Throw.
* src/integer/bitwise/cl_I_ash_I.cc: Throw.
* src/integer/division/cl_I_exquo.cc: Throw.
* src/integer/gcd/cl_I_gcd_aux2.cc: Throw.
* src/integer/conv/cl_I_to_L.cc: Throw.
* src/integer/conv/cl_I_to_Q.cc: Throw.
* src/integer/conv/cl_I_to_UL.cc: Throw.
* src/integer/conv/cl_I_to_UQ.cc: Throw.
* src/integer/conv/cl_I_to_digits.cc: Throw.
* src/integer/elem/cl_I_div.cc: Throw.
* src/integer/algebraic/cl_I_sqrt.cc: Throw.
* src/integer/input/cl_I_read.cc: Throw.
* src/integer/input/cl_I_read_stream.cc: Throw.
* src/integer/misc/cl_I_as.cc: Throw.
* src/rational/elem/cl_RA_from_I_I_div.cc: Throw.
* src/rational/elem/cl_RA_recip.cc: Throw.
* src/rational/input/cl_RA_read.cc: Throw.
* src/rational/input/cl_RA_read_stream.cc: Throw.
* src/rational/input/cl_RA_readparsed.cc: Throw.
* src/rational/misc/cl_RA_as.cc: Throw.
* src/float/base/cl_F_err_nan.cc: Removed.
* src/float/base/cl_F_nan_exception.cc: New file.
* src/float/base/cl_F_err_un.cc: Removed.
* src/float/base/cl_F_underflow_exception.cc: New file.
* src/float/base/cl_F_err_ov.cc: Removed.
* src/float/base/cl_F_overflow_exception.cc: New file.
* src/float/cl_F.h (cl_error_floating_point_nan,
cl_error_floating_point_overflow, cl_error_floating_point_underflow):
Removed (see cln/float.h.)
* src/float/sfloat/cl_SF.h: Throw.
* src/float/sfloat/elem/cl_SF_div.cc: Throw.
* src/float/sfloat/elem/cl_SF_from_RA.cc: Throw.
* src/float/sfloat/elem/cl_SF_scale.cc: Throw.
* src/float/sfloat/elem/cl_SF_scale_I.cc: Throw.
* src/float/sfloat/misc/cl_SF_as.cc: Throw.
* src/float/ffloat/cl_FF.h: Throw.
* src/float/ffloat/conv/cl_FF_from_float.cc: Throw.
* src/float/ffloat/elem/cl_FF_div.cc: Throw.
* src/float/ffloat/elem/cl_FF_from_RA.cc: Throw.
* src/float/ffloat/elem/cl_FF_scale.cc: Throw.
* src/float/ffloat/elem/cl_FF_scale_I.cc: Throw.
* src/float/ffloat/misc/cl_FF_as.cc: Throw.
* src/float/dfloat/cl_DF.h: Throw.
* src/float/dfloat/conv/cl_DF_from_double.cc: Throw.
* src/float/dfloat/elem/cl_DF_div.cc: Throw.
* src/float/dfloat/elem/cl_DF_from_RA.cc: Throw.
* src/float/dfloat/elem/cl_DF_scale.cc: Throw.
* src/float/dfloat/elem/cl_DF_scale_I.cc: Throw.
* src/float/dfloat/misc/cl_DF_as.cc: Throw.
* src/float/lfloat/algebraic/cl_LF_sqrt.cc: Throw.
* src/float/lfloat/elem/cl_LF_1plus.cc: Throw.
* src/float/lfloat/elem/cl_LF_I_div.cc: Throw.
* src/float/lfloat/elem/cl_LF_I_mul.cc: Throw.
* src/float/lfloat/elem/cl_LF_div.cc: Throw.
* src/float/lfloat/elem/cl_LF_from_I.cc: Throw.
* src/float/lfloat/elem/cl_LF_mul.cc: Throw.
* src/float/lfloat/elem/cl_LF_scale.cc: Throw.
* src/float/lfloat/elem/cl_LF_scale_I.cc: Throw.
* src/float/lfloat/elem/cl_LF_square.cc: Throw.
* src/float/lfloat/misc/cl_LF_as.cc: Throw.
* src/float/lfloat/misc/cl_LF_shorten.cc: Throw.
* src/float/lfloat/misc/cl_LF_shortenrel.cc: Throw.
* src/float/lfloat/misc/cl_LF_shortenwith.cc: Throw.
* src/float/input/cl_F_read.cc: Throw.
* src/float/input/cl_F_read_stream.cc: Throw.
* src/float/misc/cl_F_as.cc: Throw.
* src/float/misc/cl_F_shortenrel.cc: Throw.
* src/float/transcendental/cl_LF_coshsinh_aux.cc: Throw.
* src/float/transcendental/cl_LF_cossin_aux.cc: Throw.
* src/float/transcendental/cl_LF_exp_aux.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_a.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_ab.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_b.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_p.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pa.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pab.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pb.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pq.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pqa.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pqab.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_pqb.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_q.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_qa.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_qab.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_qb.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Throw.
* src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Throw.
* src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Throw.
* src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Throw.
* src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Throw.
* src/float/transcendental/cl_LF_zeta_int.cc: Throw.
* src/real/elem/cl_R_div.cc: Throw.
* src/real/format-output/cl_fmt_cardinal.cc: Throw.
* src/real/format-output/cl_fmt_newroman.cc: Throw.
* src/real/format-output/cl_fmt_oldroman.cc: Throw.
* src/real/input/cl_R_read.cc: Throw.
* src/real/input/cl_R_read_stream.cc: Throw.
* src/real/misc/cl_R_as.cc: Throw.
* src/real/random/cl_R_random.cc: Throw.
* src/real/transcendental/cl_R_atan2.cc: Throw.
* src/real/transcendental/cl_R_log.cc: Throw.
* src/complex/input/cl_N_read.cc: Throw.
* src/complex/input/cl_N_read_stream.cc: Throw.
* src/complex/misc/cl_N_as.cc: Throw.
* src/complex/transcendental/cl_C_atanh_aux.cc: Throw.
* src/complex/transcendental/cl_C_expt_C.cc: Throw.
* src/complex/transcendental/cl_C_log.cc: Throw.
* src/complex/transcendental/cl_C_log2.cc: Throw.
* src/numtheory/cl_nt_cornacchia1.cc: Throw.
* src/numtheory/cl_nt_cornacchia4.cc: Throw.
* src/numtheory/cl_nt_isprobprime.cc: Throw.
* src/numtheory/cl_nt_jacobi.cc: Throw.
* src/numtheory/cl_nt_jacobi_low.cc: Throw.
* src/numtheory/cl_nt_sqrtmodp.cc: Throw.
* src/modinteger/cl_MI.cc: Throw.
* src/modinteger/cl_MI_int.h: Throw.
* src/modinteger/cl_MI_montgom.h: Throw.
* src/modinteger/cl_MI_pow2.h: Throw.
* src/modinteger/cl_MI_rshift.cc: Throw.
* src/modinteger/cl_MI_std.h: Throw.
* src/polynomial/elem/cl_UP_GF2.h: Throw.
* src/polynomial/elem/cl_UP_MI.h: Throw.
* src/polynomial/elem/cl_UP_gen.h: Throw.
* src/polynomial/elem/cl_UP_named.cc: Throw.
* src/polynomial/elem/cl_UP_no_ring.cc (uninitialized_error,
uninitialized_ring): Removed (see cln/ring.h.)
* src/polynomial/elem/cl_UP_number.h: Throw.
* src/polynomial/elem/cl_UP_unnamed.cc: Throw.
* src/vector/cl_GV_I.cc: Throw.
* src/vector/cl_GV_number.cc: Throw.
* tests/timediv2adic-compare.cc: Use default abort(), not cl_abort().
* tests/timeprint-compare.cc: Likewise.
* tests/timerecip2adic-compare.cc: Likewise.
* doc/cln.tex: Document the exception classes.
* examples/contfrac.cc: Use try/catch instead of setjmp/longjmp.
* INSTALL: undocument -fno-exceptions.
* README: Add exceptions to list of used C++ features.
* cln.spec.in (Source0): Package is bzip2-compressed.
Reported by Markus Grabner <grabner@icg.tugraz.at>.
* include/cln/integer.h (cl_I_to_E, cl_I_to_UE): New functions.
* src/float/transcendental/cl_LF_exp_aux.cc: Make lq argument an uintE.
* src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
* src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
* src/float/transcendental/cl_F_tran.h: Change declaration of lq.
* src/float/transcendental/cl_F_lnx.cc: Fix some exponent types.
* src/float/transcendental/cl_F_expx.cc: Likewise.
* src/float/transcendental/cl_F_sinh.cc: Likewise.
* src/float/transcendental/cl_F_atanx.cc: Likewise.
* src/float/transcendental/cl_F_coshsinh.cc: Likewise.
* src/float/transcendental/cl_LF_cossin.cc: Likewise.
* src/float/transcendental/cl_LF_coshsinh.cc: Likewise.
More memory efficient constants:
* src/float/transcendental/cl_LF_pi.cc (compute_pi_ramanujan_163_fast):
Compute series coefficients on demand, using a series stream object.
* src/float/transcendental/cl_LF_zeta3.cc (zeta3): Likewise.
* src/float/transcendental/cl_LF_catalanconst.cc
(compute_catalanconst_ramanujan_fast): Likewise.
(compute_catalanconst_lupas): New function.
(compute_catalanconst): Simplify, based on new benchmark.
Debian Bug#412103:
* cln.pc.in: list -lgmp in Libs.private instead of in Libs.
* doc/cln.tex: Undocument cln-config, properly document pkg-config.
* cln-config.1.in: Remove.
* cln-config.in: Remove.
* cln.m4: Remove.
* configure.ac: Don't output cln-config and cln-config.1.
Make it work with gcc-4.3 snapshots.
Avoid using undeclared function exit().
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.
* src/base/digitseq/cl_DS.h: #undef DS, needed for i386-Solaris.
* tests/Makefile.in (VPATH): Fix syntax error.
* examples/perfnum.cc: update to presumed 44th Mersenne prime.
* tests/Makefile.in: MinGW support for make check
(Patch by Sheplyakov Alexei <varg@theor.jinr.ru> to add ${EXEEXT}).
* Makefile.in: Convert from $(VAR) to ${VAR} syntax.
* benchmarks/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* examples/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* Version 1.1.13 released.
* Apply patch for autoconf-2.60:
2006-04-19 Bruno Haible <bruno@clisp.org>
* m4/general.m4 (CL_CC_WORKS): Include <stdlib.h>, for exit()
declaration.
* m4/longdouble.m4 (CL_LONGDOUBLE): Likewise.
* m4/longlong.m4 (CL_LONGLONG): Likewise.
* m4/times.m4 (CL_TIMES_CLOCK): Likewise.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
* Version 1.1.12 released.
* configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
* configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
* Apply patch for autoconf-2.60:
2006-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.in (datarootdir): New variable.
* src/Makefile.in (datarootdir): New variable.
* doc/Makefile.in (datarootdir): New variable.
* configure.ac: Disable shared lib on MinGW.
* configure.ac: Disable shared lib on MinGW.
* m4/param.m4: Add support for MinGW.
* src/base/random/cl_random_from.cc: Fix for last patch.
* m4/param.m4: Add support for MinGW.
* src/base/random/cl_random_from.cc: Fix for last patch.
2006-07-23 Sheplyakov Alexei <varg@theor.jinr.ru> * src/base/random/cl_random_from.cc: Add support for MinGW.
2006-07-23 Sheplyakov Alexei <varg@theor.jinr.ru> * src/base/random/cl_random_from.cc: Add support for MinGW.
* src/float/output/cl_F_dprint.cc (decode_float_decimal): Fix rare
assertion for quite large numbers (cl_LF binary exponent >~ 4.8E8).
* m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=i386 for x86_64
if userland is 32 bit.
* include/cln/config.h.in: Simplify __x86_64__ selection.
* src/base/digitseq/cl_asm_x86_64_.cc: Remove.
FreeBSD, NetBSD are normal Unices.
* src/base/digitseq/cl_DS.h (struct DS): Change len type to uintC.
2006-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * m4/gettimeofday.m4 (CL_GETTIMEOFDAY): Fix M4 quoting.
FreeBSD, NetBSD are normal Unices.
* include/cln/modules.h (CL_JUMP_TO): Fix for Intel Mac.
* include/cln/modules.h (CL_JUMP_TO): Fix for Intel Mac.
Prepare for autoconf-2.60.
2006-04-25 Bruno Haible <bruno@clisp.org> Richard B. Kreckel <kreckel@ginac.de> Make it theoretically possible to use bignums and long-floats with more than 2^32 significant digits or bits. * doc/cln.tex (logcount): Change return type to uintC. (struct cl_byte): Change elements to uintC. (integer_length, ord2, power2p): Change return type to uintC. (scale_float): Change argument type to sintC. (float_digits, float_precision): Change return type to uintC. * examples/atan_recip.cc: Use uintC instead of uintL where appropriate. * examples/atanh_recip.cc: Likewise. * include/cln/GV.h: Likewise. * include/cln/GV_complex.h: Likewise. * include/cln/GV_integer.h: Likewise. * include/cln/GV_modinteger.h: Likewise. * include/cln/GV_number.h: Likewise. * include/cln/GV_rational.h: Likewise. * include/cln/GV_real.h: Likewise. * include/cln/SV.h: Likewise. * include/cln/SV_complex.h: Likewise. * include/cln/SV_integer.h: Likewise. * include/cln/SV_number.h: Likewise. * include/cln/SV_rational.h: Likewise. * include/cln/SV_real.h: Likewise. * include/cln/SV_ringelt.h: Likewise. * include/cln/dfloat.h: Likewise. * include/cln/ffloat.h: Likewise. * include/cln/float.h: Likewise. * include/cln/integer.h: Likewise. * include/cln/lfloat.h: Likewise. * include/cln/modinteger.h: Likewise. * include/cln/sfloat.h: Likewise. * src/base/cl_low.h (integerlengthC): New macro. * src/base/digitseq/cl_2DS_div.cc: Use uintC instead of uintL where appropriate. * src/base/digitseq/cl_2DS_recip.cc: Likewise. * src/base/digitseq/cl_DS.h: Likewise. * src/base/digitseq/cl_DS_mul.c: Likewise. * src/base/digitseq/cl_DS_mul_fftc.h: Likewise. * src/base/digitseq/cl_DS_mul_fftcs.h: Likewise. * src/base/digitseq/cl_DS_mul_fftm.h: Likewise. * src/base/digitseq/cl_DS_mul_fftp.h: Likewise. * src/base/digitseq/cl_DS_mul_fftp3.h: Likewise. * src/base/digitseq/cl_DS_mul_fftp3m.h: Likewise. * src/base/digitseq/cl_DS_mul_fftr.h: Likewise. * src/base/digitseq/cl_DS_mul_kara.h: Likewise. * src/base/digitseq/cl_DS_mul_nuss.h: Likewise. * src/base/digitseq/cl_DS_recip.cc: Likewise. * src/base/digitseq/cl_DS_recipsqrt.cc: Likewise. * src/base/digitseq/cl_DS_sqrt.cc: Likewise. * src/base/digitseq/cl_DS_trandom.cc: Likewise. * src/complex/input/cl_N_read.cc: Likewise. * src/complex/transcendental/cl_C_asinh_aux.cc: Likewise. * src/complex/transcendental/cl_C_expt_C.cc: Likewise. * src/float/cl_F.h: Likewise. * src/float/conv/cl_F_from_F_f.cc: Likewise. * src/float/conv/cl_F_from_I_f.cc: Likewise. * src/float/conv/cl_F_from_RA_f.cc: Likewise. * src/float/dfloat/conv/cl_I_to_double.cc: Likewise. * src/float/dfloat/conv/cl_RA_to_double.cc: Likewise. * src/float/dfloat/elem/cl_DF_from_I.cc: Likewise. * src/float/dfloat/elem/cl_DF_from_RA.cc: Likewise. * src/float/dfloat/elem/cl_DF_scale.cc: Likewise. * src/float/dfloat/misc/cl_DF_digits.cc: Likewise. * src/float/dfloat/misc/cl_DF_precision.cc: Likewise. * src/float/elem/cl_F_scale.cc: Likewise. * src/float/ffloat/conv/cl_I_to_float.cc: Likewise. * src/float/ffloat/conv/cl_RA_to_float.cc: Likewise. * src/float/ffloat/elem/cl_FF_from_I.cc: Likewise. * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise. * src/float/ffloat/elem/cl_FF_scale.cc: Likewise. * src/float/ffloat/misc/cl_FF_digits.cc: Likewise. * src/float/ffloat/misc/cl_FF_precision.cc: Likewise. * src/float/input/cl_F_read.cc: 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_div.cc: Likewise. * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise. * src/float/lfloat/elem/cl_LF_from_RA.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_scale.cc: Likewise. * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise. * src/float/lfloat/misc/cl_LF_digits.cc: Likewise. * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise. * src/float/lfloat/misc/cl_LF_leninc.cc: Likewise. * src/float/lfloat/misc/cl_LF_lenincx.cc: Likewise. * src/float/lfloat/misc/cl_LF_precision.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_digits.cc: Likewise. * src/float/misc/cl_F_epsneg.cc: Likewise. * src/float/misc/cl_F_epspos.cc: Likewise. * src/float/misc/cl_F_leastneg.cc: Likewise. * src/float/misc/cl_F_leastpos.cc: Likewise. * src/float/misc/cl_F_mostneg.cc: Likewise. * src/float/misc/cl_F_mostpos.cc: Likewise. * src/float/misc/cl_F_precision.cc: Likewise. * src/float/misc/cl_F_rational.cc: Likewise. * src/float/misc/cl_F_shortenrel.cc: Likewise. * src/float/output/cl_F_dprint.cc: Likewise. * src/float/random/cl_F_random.cc: Likewise. * src/float/sfloat/elem/cl_SF_from_I.cc: Likewise. * src/float/sfloat/elem/cl_SF_from_RA.cc: Likewise. * src/float/sfloat/elem/cl_SF_scale.cc: Likewise. * src/float/sfloat/misc/cl_SF_digits.cc: Likewise. * src/float/sfloat/misc/cl_SF_precision.cc: Likewise. * src/float/transcendental/cl_F_atanhx.cc: Likewise. * src/float/transcendental/cl_F_atanx.cc: Likewise. * src/float/transcendental/cl_F_catalanconst_f.cc: Likewise. * src/float/transcendental/cl_F_cos.cc: Likewise. * src/float/transcendental/cl_F_cosh.cc: Likewise. * src/float/transcendental/cl_F_coshsinh.cc: Likewise. * src/float/transcendental/cl_F_cossin.cc: Likewise. * src/float/transcendental/cl_F_eulerconst_f.cc: Likewise. * src/float/transcendental/cl_F_exp1_f.cc: Likewise. * src/float/transcendental/cl_F_expx.cc: Likewise. * src/float/transcendental/cl_F_ln10_f.cc: Likewise. * src/float/transcendental/cl_F_ln2_f.cc: Likewise. * src/float/transcendental/cl_F_lnx.cc: Likewise. * src/float/transcendental/cl_F_pi_f.cc: Likewise. * src/float/transcendental/cl_F_sin.cc: Likewise. * src/float/transcendental/cl_F_sinh.cc: Likewise. * src/float/transcendental/cl_F_sinhx.cc: Likewise. * src/float/transcendental/cl_F_sinx.cc: Likewise. * src/float/transcendental/cl_F_tran.h: Likewise. * src/float/transcendental/cl_F_zeta_int_f.cc: Likewise. * src/float/transcendental/cl_LF_atan_recip.cc: Likewise. * src/float/transcendental/cl_LF_atanh_recip.cc: Likewise. * src/float/transcendental/cl_LF_catalanconst.cc: Likewise. * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise. * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise. * src/float/transcendental/cl_LF_eulerconst.cc: Likewise. * src/float/transcendental/cl_LF_exp1.cc: Likewise. * src/float/transcendental/cl_LF_exp_aux.cc: Likewise. * src/float/transcendental/cl_LF_pi.cc: Likewise. * src/float/transcendental/cl_LF_ratseries.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_a.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_ab.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_b.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_p.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pa.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pab.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pb.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pq.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_pqb.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_q.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Likewise. * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Likewise. * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise. * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Likewise. * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Likewise. * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Likewise. * src/float/transcendental/cl_LF_tran.h: Likewise. * src/float/transcendental/cl_LF_zeta3.cc: Likewise. * src/float/transcendental/cl_LF_zeta_int.cc: Likewise. * src/integer/algebraic/cl_I_rootp_I.cc: Likewise. * src/integer/algebraic/cl_I_rootp_aux.cc: Likewise. * src/integer/bitwise/cl_I_ash.cc: Likewise. * src/integer/bitwise/cl_I_ash_I.cc: Likewise. * src/integer/bitwise/cl_I_byte.h: Likewise. * src/integer/bitwise/cl_I_fullbyte.cc: Likewise. * src/integer/bitwise/cl_I_ilength.cc: Likewise. * src/integer/bitwise/cl_I_ldb.cc: Likewise. * src/integer/bitwise/cl_I_ldbtest.cc: Likewise. * src/integer/bitwise/cl_I_ldbx.cc: Likewise. * src/integer/bitwise/cl_I_ldbxtest.cc: Likewise. * src/integer/bitwise/cl_I_logbitp.cc: Likewise. * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise. * src/integer/bitwise/cl_I_logcount.cc: Likewise. * src/integer/bitwise/cl_I_mkf.cc: Likewise. * src/integer/bitwise/cl_I_mkfx.cc: Likewise. * src/integer/cl_I.h: Likewise. * src/integer/conv/cl_I_to_digits.cc: Likewise. * src/integer/conv/cl_I_digits_need.cc: Likewise. * src/integer/conv/cl_I_from_digits.cc: Likewise. * src/integer/gcd/cl_I_gcd.cc: Likewise. * src/integer/gcd/cl_I_xgcd.cc: Likewise. * src/integer/misc/cl_I_eqhashcode.cc: Likewise. * src/integer/misc/cl_I_ord2.cc: Likewise. * src/integer/misc/cl_I_power2p.cc: Likewise. * src/integer/output/cl_I_cached_power.h (cached_power_table): allow for 40 elements. * src/integer/output/cl_I_decstring.cc: Use uintC instead of uintL where appropriate. * src/integer/output/cl_I_print.cc: Likewise. * src/integer/output/cl_I_print_string.cc: Likewise. * src/modinteger/cl_MI.cc: Likewise. * src/modinteger/cl_MI_lshift.cc: Likewise. * src/modinteger/cl_MI_montgom.h: Likewise. * src/modinteger/cl_MI_pow2.h: Likewise. * src/modinteger/cl_MI_pow2m1.h: Likewise. * src/modinteger/cl_MI_pow2p1.h: Likewise. * src/modinteger/cl_MI_rshift.cc: Likewise. * src/modinteger/cl_MI_std.h: Likewise. * src/numtheory/cl_IF_millerrabin.cc: Likewise. * src/numtheory/cl_nt_isprobprime.cc: Likewise. * src/numtheory/cl_nt_sqrtmodp.cc: Likewise. * src/polynomial/elem/cl_UP_GF2.h: Likewise. * src/real/conv/cl_F_from_R_f.cc: Likewise. * src/real/format-output/cl_fmt_floatstring.cc: Likewise. * src/real/input/cl_R_read.cc: Likewise. * src/vector/cl_GV_I.cc: Likewise. * src/vector/cl_GV_I_copy.cc: Likewise. * src/vector/cl_GV_number.cc: Likewise. * src/vector/cl_GV_number_copy.cc: Likewise. * src/vector/cl_SV_copy.cc: Likewise. * src/vector/cl_SV_number.cc: Likewise. * src/vector/cl_SV_ringelt.cc: Likewise. * tests/main.cc: Likewise. * tests/test_I_ilength.cc: Likewise. * tests/test_I_ord2.cc: Likewise.
* Apply patch for x86_64 from mainline:
2005-12-02 Bruno Haible <bruno@clisp.org>
* src/base/cl_low.h (mulu64) [x86_64]: Change asm restriction,
since mulq doesn't accept immediate arguments.
Prepare for autoconf-2.60.
* Cumulative patch including Bruno's work on large fixnums on 64 bit machines.
* Fix typo.
* Updated for maintenance branch.
* Updated for main branch.
* Add support for OpenBSD.
* Release date corrected.
* Prepare for release 1.1.11.
* src/integer/conv/cl_I_cached_power.h: New file.
* src/integer/conv/cl_I_cached_power.cc: New file.
Contains power_table and cached_power_table previously...
* src/integer/conv/cl_I_to_digits.cc: ...here.
* src/integer/conv/cl_I_from_digits.cc: Use cached powers.
* src/integer/conv/cl_I_from_digits.cc: Made input of all numbers in
non-power-of-two base much faster.
* tests/test_I_io.cc: New file...
* tests/Makefile.in, tests/test_I.cc: ...used here.
* Release 1.1.10.
* src/Makefile.in: Accept CPPFLAGS from environment. * examples/Makefile.in: Likewise. * benchmarks/Makefile.in: Likewise. * tests/Makefile.in: Likewise.
Use full pathname.
Have split aclocal.m4 into individual files.
* include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant duplication of basic blocks on m68k.
* include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.
Avoid shifting a 32-bit zero value by more than 31 bits.
Make the long-float overflow check work on 64-bit platforms.
Work around g++ 4.0 "duplicated labels" problem.
Make it possible to cross-compile CLN.
Define HAVE_LONGLONG and HAVE_LONGDOUBLE when cross-compiling.
Fix for an error message when cross-compiling: checking whether getrusage works... guessing no ./configure: line 20174: test: too many arguments
The patch of 2005-05-01 made it impossible to test the type of a cl_UP by comparing with &cl_class_univpoly_ring. We need an alternative: * include/cln/object.h (cl_class_flags_modint_ring): New #define... * src/polynomial/elem/cl_UP.cc (cl_class_univpoly_ring): ...used here. * src/polynomial/elem/cl_UP_GF2.h: Likewise. * src/polynomial/elem/cl_UP_MI.h: Likewise. * src/polynomial/elem/cl_UP_gen.h: Likewise. * src/polynomial/elem/cl_UP_number.h: Likewise.
* m4/cc.m4 (CL_AS_NOEXECSTACK): New macro... * configure.ac: ...used here for setting ASMFLAGS... * src/Makefile.in: ...which are used here.
* include/cln/config.h.in: Add support for PowerPC 64 CPU. * include/cln/modules.h: Likewise. * include/cln/object.h: Likewise. * include/cln/types.h: Likewise.
Make out of the box build on x86_64 system with complete 32 bit
userland possible
* include/cln/config.h.in: Don't #define __x86_64__ when
__i386__ is defined.
* src/base/digitseq/cl_asm_x86_64_.cc: New file.
* doc/cln.tex: Revert workaround description introduced 2005-05-02.
If a directory doesn't exist, fail instead of doing infinite recursion.
Speed up the linking step * src/Makefile.in: Use -objectlist for linking libcln.la.
* autoconf/ltmain.sh: Upgrade to libtool-1.5.16. * m4/libtool.m4: Upgrade to libtool-1.5.16 (without Comeau patch).
* doc/cln.tex: Document what to do on a x86_64 machine with 32-bit userland.
Fix crashes in find_univpoly_ring and related functions * include/cln/modinteger.h: Remove vptr from cl_heap_modint_ring; remove declaration of cl_class cl_class_modint_ring. * include/cln/univpoly.h: Remove vptr from cl_heap_univpoly_ring; remove declaration of cl_class_univpoly_ring. * include/cln/object.h: cl_class_flags_modint_ring: New #define... * src/modinteger/cl_MI.cc: ...used in cl_class_modint_ring. * src/modinteger/cl_MI_fix16.h: No vptr, but static dtor and type flag. * src/modinteger/cl_MI_fix29.h: Likewise. * src/modinteger/cl_MI_fix32.h: Likewise. * src/modinteger/cl_MI_int32.h: Likewise. * src/modinteger/cl_MI_montgom.h: Likewise. * src/modinteger/cl_MI_pow2: Likewise. * src/modinteger/cl_MI_pow2m1.h: Likewise. * src/modinteger/cl_MI_pow2p1.h: Likewise. * src/modinteger/cl_MI_std.h: Likewise. * src/polynomial/elem/cl_UP.cc (cl_make_univpoly_ring): Compare with cl_class_flags_modint_ring, not with cl_class_modint_ring. * src/polynomial/elem/cl_UP_GF2.h (cl_class_num_univpoly_ring): New. * src/polynomial/elem/cl_UP_MI.h (cl_class_modint_univpoly_ring): New. * src/polynomial/elem/cl_UP_gen.h (cl_class_gen_univpoly_ring): New. * src/polynomial/elem/cl_UP_number.h (cl_class_num_univpoly_ring): New. Reported by Ralf Goertz <R_Goertz@web.de>.
* m4/cc.m4: Emit a warning if g++ is used and optimization turned off.
Make GCC compiler flags default to -O * m4/cc.m4: New file... * configure.ac: ...used here. * autoconf/aclocal.m4: Regenerate.
* include/cln/string.h: Declare cl_string.
* autoconf/ltmain.sh: Upgrade to libtool-1.5.14.
* m4/libtool.m4: Upgrade to libtool-1.5.14 with Comeau patch.
* autoconf/aclocal.m4: Regenerate.
* src/Makefile.in: Use $CXX instead of $CC when linking.
* examples/perfnum.cc: update to presumed 42st Mersenne prime.
Disambiguate binary operators of CLN types with float/double * include/cln/dfloat.h: Add binary operator overloads for arguments of type double. * include/cln/ffloat.h: Likewise, for arguments of type float. * include/cln/float.h: Likewise, both for arguments of types double and float. * include/cln/real.h: Likewise. Reported by Isidro Cachadiña Gutiérrez <icacha@unex.es>. ---------------------------------------------------------------------- include/cln/dfloat.h include/cln/ffloat.h CVS: include/cln/float.h include/cln/real.h CVS: ----------------------------------------------------------------------
* Version 1.1.9 released.
* src/Makefile.in: Let config.status set LDFLAGS.
* cln.pc.in: Fix typo.
* Makefile.in (INSTALL_SCRIPT): Added, to be used for scripts like
cln-config. Allows us to do special things to binaries, like
installing them with install -s.
* doc/Makefile.in: add/remove the cln.info from the installed
$(infodir)/dir unless this is debian install-info (code copied from
what GNU automake would produce).
* src/integer/input/cl_I_read_stream.cc (read_integer): Fix a bug that caused radix specifiers to not work when reading from a stream. * src/rational/input/cl_RA_read_stream.cc (read_rational): Likewise. * src/real/input/cl_R_read_stream.cc (read_real): Likewise. * src/float/input/cl_F_read_stream.cc (read_float): Likewise. * src/complex/input/cl_N_read_stream.cc (read_complex): Likewise.
* src/base/cl_low.h: Add mulu64 assembler macro for ia64.
* src/base/cl_low.h: Add mul and div macros for x86_64.
* src/integer/conv/cl_I_from_digits.cc (digits_to_I): Fix thinko in
new code for base power of two.
* src/integer/conv/cl_I_to_digits (I_to_digits): Fix an elusive stack
overwriting problem. That was the real cause for Debian bug#246319.
* src/integer/output/cl_I_print.cc (print_integer): Revert workaround
for the bug fixed above.
* include/cln/types.h: Use 64 bit digits on x86_64 CPU.
* src/integer/conv/cl_I_from_digits.cc (digits_to_I): Speedup when the base is a power of two.
* src/integer/conv/cl_I_to_digits.cc (I_to_digits): Fix bug in base 32.
Support for little-endian Mips, second shot
* src/base/digitseq/cl_asm_mipsel_.cc: New file...
* src/base/digitseq/cl_asm_cc: ...used here.
* src/base/digitseq/cl_asm.h: Include cl_asm_mips.h for any endianness.
* include/cln/object.h: Set alignment for mipsel explicitly.
Support for little-endian Mips
* include/cln/config.h.in: Add __mipsel__.
* include/cln/modules.h: For Mips, this is endianness-agnostic.
* src/base/digitseq/cl_asm_.cc, src/base/digitseq/cl_asm.h:
Mask out assembler for little-endian Mips.
Update benchmark results.
* Revert indentation (after re-re-reading again).
2004-08-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * cln/examples/e.cc: remove extra semicolon.
Regenerated aclocal.m4.
Upgrade to libtool-1.5.6.
Fix link error on MacOS X.
* Version 1.1.8 released.
*** empty log message ***
* src/base/cl_macros.h: alloca(3) has size_t argument type.
* include/cln/floatformat.h: Do define a type here.
* include/cln/modules.h (CL_JUMP_TO): Fix AMD64 brokenness.
* Document jacobi, isprobprime and nextprobprime.
* Remove unused labels.
* Make template specializations explicit.
* Change all C include headers to ISO style within C++ code.
Fix autoconf problem with ftime().
* rational/transcendental/cl_RA_logp.cc: fix bug where base is
reciprocal of an integer.
* examples/perfnum.cc: update to presumed 40th Mersenne prime.
* Version 1.1.7 released.
* examples/pi.cc and examples/pi.1: New files. * examples/Makefile.in: Build the pi executable.
* src/Makefile.in: Fix for parallel build: wait for subdir objects to be finished before creating the library.
* src/integer/output/cl_I_print.cc (print_integer): workaround GCC compiler bug (cf. Debian bug#246319).
* m4/gmp.m4 (CL_GMP_CHECK): Do not lose LIBS setting with config.cache enabled.
Fix a bug occurring with extremely high exponents.
Fix an extreme case in long-float multiplication.
* Makefile.in (install): Add ${srcdir} for cln.m4.
* m4/gmp.m4: quote macro names.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
* Finalize release 1.1.6.
2004-01-01 Richard B. Kreckel <kreckel@ginac.de> * include/cln/univpoly.h, include/cln/univpoly_complex.h, include/cln//univpoly_integer.h, include/cln/univpoly_modint.h, include/cln/univpoly_rational.h, include/cln/univpoly_real.h, src/polynomial/elem/cl_UP_GF2.h, src/polynomial/elem/cl_UP_MI.h, src/polynomial/elem/cl_UP_gen.h, src/polynomial/elem/cl_UP_no_ring.cc, src/polynomial/elem/cl_UP_number.h (ldegree): New function. * doc/cln.tex: Document `ldegree'.
Rework of autoconfiscation infrastructure
* autoconf/config.{guess,sub}: Update to GNU version 2003-10-07.
* autoconf/ltmain.sh: Update to GNU version 1.4.3.
* autoconf/autoconf: Remove (from now on we assume autoconf is
installed properly on the sytem).
* autoconf/autoconf.m4: Likewise.
* autoconf/autoconf.m4f: Likewise.
* autoconf/acgeneral.m4: Likewise.
* autoconf/acspecific.m4: Likewise.
* autoconf/aclocal.m4: Regenerate.
* autoconf/acinclude.m4: Remove (while moving the macros...)
* m4/gmp.m4: New file (...to here).
* Makefile.devel: Update to new scheme.
* configure.ac: Likewise.
* include/cln/GV_integer.h: Assume template specializations work.
* include/cln/GV_modinteger.h: Likewise.
* include/cln/config.h.in: Likewise, and drop HAVE_BOOL.
* src/base/cl_base_config.h.in: Drop support for obsolete ftime(3).
* src/base/random/cl_random_from.cc: Likewise.
* src/timing/cl_base_config.h.in: Likewise.
* src/timing/cl_t_current.cc: Likewise.
* src/polynomial/cl_UP_gen.h (gen_minus): Fix case where first
argument is zero.
* src/polynomial/cl_UP_MI.h (modint_minus): Likewise.
* src/polynomial/cl_UP_number.h (num_minus): Likewise.
Reported by Munagala Ramanath <amberarrow@yahoo.com>.
* examples/perfnum.cc: update to presumed 40th Mersenne prime.
* src/numtheory/cl_nt_sqrtmodp.cc: #undef _R.
Reported by Andrew Rechnitzer <A.Rechnitzer@ms.unimelb.edu.au>.
More dependent base resolution issues * src/base/hash/cl_hash.h (cl_heap_hashtable<T>::iterator()): portable syntactic simplification. * src/base/hash/cl_hashset.h: Preceed inherited members with this->. * src/base/hash/cl_hash1.h: Likewise for member functions. * src/base/hash/cl_hash2.h: Likewise. * src/base/hash/cl_hashuniq.h: Likewise. * src/base/hash/cl_hashuniqweak.h: Likewise. * src/base/hash/cl_hash.h: Revert explicit static member function lookup since that was GCC's fault. * src/base/hash/cl_hash2weak.h: Likewise. * src/base/hash/cl_hashuniqweak.h: Likewise.
Dependent base resolution needed for GCC-3.4 * include/cln/GV.h: Preceed inherited members with this->. * include/cln/SV.h: Likewise. * include/cln/object.h: Likewise. * src/base/hash/cl_hash1.h: Likewise. * src/base/hash/cl_hash1weak.h: Likewise. * src/base/hash/cl_hash2.h: Likewise. * src/base/hash/cl_hashuniq.h: Likewise. * src/base/hash/cl_hash.h: Make lookup of static member function explicit. * src/base/hash/cl_hash2weak.h: Likewise. * src/base/hash/cl_hashuniqweak.h: Likewise. * src/modinteger/cl_MI.cc: Make shell-comment a C-comment. Geez.
Tweak for MacOS X.
Add support for MacOS X.
Add support for x86_64 CPU.
* src/base/digitseq/cl_asm.h: ensure intCsize==16 when including
m68k Assembler routines.
* src/base/digitseq/cl_asm_.cc: Likewise.
* Last bits for release 1.1.5.
* include/cln/modules.h (CL_CONCATENATE): New macro.
* doc/cln.tex (Building the library): Update recommendations for
compiling on Tru64 using g++ 3.0 and 3.1.
* README: Update homepage.
Recommendation for g++-3.1 users.
Force link-time references despite optimizations done by g++.
Avoid g++-3.1 offsetof warnings.
Avoid g++-3.1 typename warning.
Document a broken version of GNU make.
* cln.m4: quote macro name.
Pointed out by Roberto Bagnara.
* autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
(the old one was broken on Linux/Mips.)
* Bump dates, version numbers, etc, for 1.1.4-release...
* autoconf/acinclude.m4: revamp MPN-matcher.
* autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
sync with CLisp from CVS.
* autoconf/autoconf: Likewise.
* autoconf/autoconf.m4f: Likewise (new file).
* configure.ac: Likewise (new file, replaces configure.in).
* configure.in: Likewise (deleted, replaced by configure.ac).
* autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
* src/Makefile.in: made VPATH safe for autoconf-2.52.
* include/cln/config.h.in: Add __s390__.
* src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"
any more since GMP4 has some C++ support in it.
* include/cln/modules.h, include/cln/object.h: add support for
s390.
* src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
on s390, provided by Gerhard Tonn.
* autoconf/ltmain.sh: Upgrade to libtool-1.4.2.
* autoconf/config.{guess,sub}: Update to GNU version 2001-09-07.
* Version 1.1.3 released.
Interoperability with gcc-3.0 -fuse-cxa-atexit.
Fix an old ChangeLog entry.
* src/float/transcendental/cl_F_sinx.cc (sinx_naive): For small
values of x, return square(x) instead of x.
* src/float/transcendental/cl_F_sinhx.cc (sinhx_naive): Likewise.
* Landing 1.1.2.
* prepare for release 1.1.2.
* src/float/base/cl_ieee.cc: try to do magic to the FPU only if
_FPU_IEEE is really defined.
* include/cln/modules.h: change assembler labels from `label' to
`label:' on hppa, needed by Linux (see comment).
* autoconf/acinclude.m4: new file (for storing CLN-specific macros).
* Makefile.devel: adjusted.
* autoconf/aclocal.m4: regenerate.
* src/base/low/cl_low_mul.cc: moved POD variables that are declared
extern "C" elsewhere out of the namespace.
* src/base/low/cl_low_div.cc: Likewise.
Upgrade to libtool-1.4.
* tests/tests.cc: resolve namespace ambiguity about strcmp().
* configure.in: adjust lt-versions, taking into account that a
change in prototype breaks compatibility in C++. :-(
* INSTALL: sync compiler options with doc/cln.tex.
* NEWS: adjust date.
* cln/cln.tex: documented problems with shared library on Sparc
using gcc older than 2.95.3.
* configure.in: Fixed typos in versioning docu.
Update to new gas-arm syntax.
* Adjusted dates and final touches for 1.1.1.
* INSTALL: Update toolchain info: no egcs, some more platforms.
* doc/cln.tex: Likewise.
* src/base/cl_low.h: prepended variables declared inside macros
with underscore. Fixes equal_hashcode() on various platforms.
* src/base/cl_low.h: Added several checks if NO_ASM is defined, so
this definition becomes actually useful. This is needed for
compilation on Arm until somebody fixes the assembler files for Arm.
* src/base/digitseq/cl_asm.h: Likewise.
* src/base/digitseq/cl_asm_.cc: Likewise.
* */Makefile.in: Added `override' in front of `CPPFLAGS +=' so
one can say `make CPPFLAGS=-DFOOBAR'.
* src/base/random/cl_random_from.cc: ported to beos.
* include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
* include/cln/number.h (cl_as_N): Remove bogus comment.
* include/cln/*.h: Change signatures of all classes' methods
cln::cl_foo::operator new(size_t, cl_foo*) to
cln::cl_foo::operator new(size_t, void*) so one can declare
std::vector<cln::cl_foo>, std::list<cln::cl_foo> etc. for
certain STL implementations (like libstdc++-v3).
* */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
* Makefile.in, src/Makefile.in, doc/Makefile.in: Use mkdir -p.
* include/cln/version.h.in, src/base/verion.cc: New files.
* configure.in: Generate include/cln/version.h.
* cln.m4: Rewrote it. Check result of cln-config without compiling.
Do cross-check library version and header version information.
* */*: Removed problematic stdin, stdout and stderr definitions.
Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
* Makefile.devel: Use bzip2.
* Makefile.in: Target maintainer-clean remove cln-config cln-config.1.
cln-config.1: change title.
* cln.m4: New file.
* doc/cln.tex: Document package tools cln-config and cln.m4.
* Makefile.in: Care about cln.m4.
* cln-config.1: added manpage, as required by a couple of distros.
* Makefile.in, doc/Makefile.in: target install depends on installdirs.
* autoconf/aclocal.m4 (CL_GMP_SET_UINTD): New macro...
* configure.in: ...used here.
* include/cln/config.h.in: Put in macros defined by CL_GMP_SET_UINTD...
* include/cln/types.h: ...used here.
* autoconf/acgeneral.m4, autoconf/aclocal.m4: Adhere to FHS.
* src/base/digitseq/cl_asm.h: Test if (intDsize==32) for MIPS and HPPA,
in order to guard against an accidented configuration.
* src/integer/conv/cl_I_to_digits.cc (table): member b_hoch_k of
struct power_table_entry initialized as ULL instead of as UL, if
intDsize==64 (caused misprinting on MIPS w/ GMP).
* src/base/cl_macros.h (minus_bitm, bitc): implemented ULL, if
HAVE_FAST_LONGLONG.
* src/integer/bitwise/cl_I_mkfx.cc (mkf_extract): Likewise.
* src/integer/conv/cl_I_from_L.cc (cl_I_from_L): Added trival
generation of Bignum for intDsize==64 and a notreached-check at end.
* autoconf/config.guess, autoconf/config.sub: updated from FSF.
* include/cln/config.h.in: Prepared support for IA64.
* include/cln/types.h: Likewise.
* include/cln/object.h: Likewise.
* include/cln/modules.h: Likewise.
* src/base/cl_macros.h (nonreturning_function): Likewise (NUE's
compiler claims __GNUC_MINOR__==9).
* src/base/cl_macros.h (bit, minus_bit): changed criterion for ULL from
HAVE_DD to HAVE_FAST_LONGLONG.
* src/base/cl_macros.h (bitm): implemented ULL, if HAVE_FAST_LONGLONG.
* src/base/cl_low.h: actually no need to include "cln/types.h" here.
* src/base/cl_low.h (logcount_64): always ULL, independent of HAVE_DD.
* src/base/random/cl_UL_random.cc (random32): a is always ULL.
* include/cln/object.h (cl_combine): define additional signatures, if
HAVE_LONGLONG is defined, in order to keep the compiler happy.
* src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
* src/base/cl_macros.h (bit): ...for this macro...
* src/base/cl_macros.h (minus_bit): ...and this one.
* src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
* src/base/cl_low.h (logcount_64): ...for this macro.
* src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
* src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug
that turned up when intDsize==32 and cl_word_size==64.
* src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
to uint64 that turned up when intDsize==32 and cl_word_size==64.
* src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
#undef stderr, if it's defined so cln::stderr isn't confused.
* src/base/input/cl_read_globals.cc: stdin should not be extern.
* include/cln/number.h (As): Fix it in namespace by suffixing `_As'
to the appropiate method instead of prefixing `as_'.
* src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
* src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
* src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
* src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
* src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
* src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
* src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
* src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
* src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
* src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
the 0^y cases.
* inserted the missing ChangLog entry. :-)
* include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
Rearranged for a clearer distinction between macros and remaining
identifiers, so Cint can parse it smoothly.
* Changelog: *trival* documentation changes have nix verloren.
* doc/cln.info, doc/cln.texi: Removed non-sources from CVS.
* include/cln/number.h, the(const cl_number& x): New template
function.
Make @exec_prefix@ usable in shell scripts.
Fix a typo.
Accept floats with 1.2L0_100 syntax when reading from streams, not only when reading from strings.
Distinguish between cl_word_size and the ABI's pointer size.
- doc/*, INSTALL: Mention that both shared and static library are now build by default.
Add one test.
- configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK): New macros. - configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR, CL_VERSION_PATCHLEVEL): New definitions. - autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig, autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc). - src/Makefile.in, configure.in: release-variables renamed from CLN_* to CL_*. - configure.in: default to build both shared and static library (i.e. default to the most common behaviour).
- autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote environment around the patch of 2000-05-23.
Fix typo.
- src/float/lfloat/algebraic/cl_LF_sqrt.cc, src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
- autoconf/config.*: Updated to new version from FSF (the new libtool wants this). - src/Makefile.in: added $(LDFLAGS) to link step. - src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Adjusted break-even points. - Changelog, NEWS: updated.
Fix determination of host_cpu.
- INSTALL.generic: Clarified behaviour of --with-gmp. - configure, configure.in: Safer GMP3-detection. - ChangeLog: Updated.
- src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the parameter passing was changed for the MIPS n32 ABI.
- gmp/*: Replaced the complete mpn sources with the ones from Debian since they are maintained while the ones from FSF aren't and there were problems on some architectures, PowerPC in particular. See the file gmp/README.CLN. This way the hard links in this directory have vanished, they were causing trouble for people working in AFS and also with CVS.
- CLN vanilla release 1.0.3.
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
| Christian Bauer">Christian Bauer | ViewVC Help |
| Powered by ViewVC 1.1.15 |