Richard Kreckel
3a8c34e9a6
Make index variables uintC.
17 years ago
Richard Kreckel
7c57b746de
* More robust definition of CL_HAVE_ATTRIBUTE_FLATTEN.
17 years ago
Richard Kreckel
f6383b61c7
* Upgrade to files from libtool 1.5.26.
17 years ago
Richard Kreckel
27e3a2ba76
Avoid compiler warning about ignored 'flatten' attribute directive.
17 years ago
Richard Kreckel
a38a607fa0
Enable modifying operators by default.
17 years ago
Richard Kreckel
b044ba9e36
Fix crash in output of huge numbers.
17 years ago
Richard Kreckel
5a43f044db
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.
17 years ago
Bruno Haible
66adc0659c
Allow 64-bit builds on MacOS X 10.5.
17 years ago
Bruno Haible
51e687eef2
Avoid some gcc warnings.
17 years ago
Richard Kreckel
679a0a8927
* Update to fixes in doc subdir.
17 years ago
Richard Kreckel
fba62adaf9
* Release 1.2.0.
17 years ago
Richard Kreckel
ce119d8c96
Fix linking problems on some platforms caused by inline/non-inline versions
of same functions (obsoletes MAYBE_INLINE) [by Alexei Sheplyakov].
17 years ago
Richard Kreckel
ce250e91fb
Fix linking problems on some platforms caused by inline/non-inline versions
of same functions (obsoletes MAYBE_INLINE) [by Alexei Sheplyakov].
17 years ago
Bruno Haible
124a6e42cd
Don't generate cln.texi from cln.tex any more.
17 years ago
Richard Kreckel
962a167b47
* include/cln/float.h (cos_sin_t, cosh_sinh_t): Add default ctor.
17 years ago
Richard Kreckel
76ff0ad8c1
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.
17 years ago
Richard Kreckel
8b3d91dec7
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.
17 years ago
Richard Kreckel
b5cd2461ca
* m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=rs6000 for
powerpc64 if userland is 32 bit.
17 years ago
Richard Kreckel
86d90164af
* autoconf/ltmain.sh: Update to libtool-1.5.24.
* autoconf/config.guess: Likewise.
* autoconf/config.sub: Likewise.
* m4/libtool.m4: Likewise.
17 years ago
Richard Kreckel
3c77def744
* 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.
17 years ago
Richard Kreckel
71b5519690
Silly workaround for silly bug in gmp.h:
* m4/gmp.m4 (CL_GMP_SET_UINTD): Swap #include <gmp.h> and <stdio.h>.
17 years ago
Richard Kreckel
d816780ff5
* src/polynomial/elem/cl_UP_GF2.h (gf2_mul_table): define for sparc64.
17 years ago
Richard Kreckel
eefd94b485
* include/cln/types.h ([su]intE): 64-bit exponents for MIPS and RS6000.
17 years ago
Richard Kreckel
e9d3c7fabf
* src/float/lfloat/cl_LF.h (cl_heap_lfloat): Change len type to uintC.
17 years ago
Richard Kreckel
b62e4af28f
* 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>.
17 years ago
Richard Kreckel
88ed5f76b2
* src/base/digitseq/cl_asm_i386_.cc (compare_loop_up,
compare_loop_down): Fix empty ranges.
17 years ago
Richard Kreckel
a5a43ddb1b
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>.
17 years ago
Richard Kreckel
69c2eee786
* 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>.
17 years ago
Richard Kreckel
32d5370e41
On popular demand (Debian bug #286266 , Ubuntu bug #128851 ):
* examples/pi.cc: Output no more than requested number of digits.
17 years ago
Richard Kreckel
bdb89128bd
* autoconf/config.guess, autoconf/config.sub: updated from automake-1.9.
17 years ago
Richard Kreckel
11b97d8545
* 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.
17 years ago
Richard Kreckel
c371715132
* 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 >.
17 years ago
Richard Kreckel
665c18cd37
* */*: Convert encoding from ISO 8859-1 to UTF-8.
17 years ago
Richard Kreckel
962f4b052d
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.
17 years ago
Richard Kreckel
4109ef07d7
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.
17 years ago
Richard Kreckel
38b03c332c
* src/base/digitseq/cl_DS_div.cc (cl_recip_suitable): uintC arguments.
18 years ago
Richard Kreckel
5370ad8054
* */*: Remove cl_boolean, cl_true, and cl_false in favor of built-in
C++ bool, true, and false.
18 years ago
Richard Kreckel
c486b78a1a
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.
18 years ago
Richard Kreckel
10f72159f3
* cln.spec.in (Source0): Package is bzip2-compressed.
Reported by Markus Grabner <grabner@icg.tugraz.at>.
18 years ago
Richard Kreckel
749cf017b2
* 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.
18 years ago
Richard Kreckel
38f5f03b3f
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.
18 years ago
Richard Kreckel
e939a0df33
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.
18 years ago
Bruno Haible
e765bccd22
Make it work with gcc-4.3 snapshots.
18 years ago
Bruno Haible
3472bb8016
Avoid using undeclared function exit().
18 years ago
Richard Kreckel
e528307482
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.
18 years ago
Richard Kreckel
ba086b080a
* src/base/digitseq/cl_DS.h: #undef DS, needed for i386-Solaris.
18 years ago
Richard Kreckel
22b09542dc
* tests/Makefile.in (VPATH): Fix syntax error.
18 years ago
Richard Kreckel
cd604868b5
* examples/perfnum.cc: update to presumed 44th Mersenne prime.
18 years ago
Richard Kreckel
a742499cd4
* 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.
19 years ago
Richard Kreckel
837c571db9
* configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
19 years ago