/[cln]/ChangeLog
ViewVC logotype

Contents of /ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.174 - (hide annotations)
Sat Jul 28 17:11:46 2007 UTC (5 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.173: +212 -0 lines
        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.

1 kreckel 1.174 2007-07-28 Richard B. Kreckel <kreckel@ginac.de>
2    
3     Remove exception hooks in favor of real C++ exceptions:
4     * include/cln/exception.h: New file...
5     * include/cln/cln.h: ...included here...
6     * include/cln/rational.h: ...and here.
7     * include/cln/abort.h: Removed.
8     * include/cln/integer.h (ash_exception, exquo_exception): Add exception
9     types.
10     * include/cln/float.h (floating_point_exception,
11     floating_point_nan_exception, floating_point_overflow_exception,
12     floating_point_underflow_exception): Likewise.
13     * include/cln/number_io.h (read_number_exception,
14     read_number_bad_syntax_exception, read_number_junk_exception,
15     read_number_eof_exception): Likewise.
16     * include/cln/object.h (CL_DEFINE_CONVERTER): Replace dynamic assertion
17     with a compile-time assertion.
18     * include/cln/GV.h: Replace nonreturning functions with exceptions.
19     * include/cln/modinteger.h: Likewise.
20     * include/cln/SV.h: Likewise.
21     * include/cln/ring.h: Likewise.
22     * include/cln/string.h: Likewise.
23     * include/cln/univpoly.h: Likewise.
24     * src/base/cl_abort.cc: Removed.
25     * src/base/cl_N_err_d0.cc: Removed.
26     * src/base/cl_d0_exception.cc: New file.
27     * src/base/cl_as_err.cc: Removed.
28     * src/base/cl_as_exception.cc: New file.
29     * src/base/cl_notreached.cc: Removed.
30     * src/base/cl_notreached_exception.cc: New file.
31     * src/base/input/cl_read_err_bad.cc: Removed.
32     * src/base/input/cl_read_bad_syntax_exception.cc: New file.
33     * src/base/input/cl_read_err_junk.cc: Removed.
34     * src/base/input/cl_read_junk_exception.cc: New file.
35     * src/base/input/cl_read_err_eof.cc: Removed.
36     * src/base/input/cl_read_eof_exception.cc: New file.
37     * src/base/cl_N.h (cl_as_error): Removed (see cln/exception.h).
38     * src/base/macros.h (NOTREACHED): Throw.
39     * src/base/cl_malloc.cc (xmalloc): Throw.
40     * src/base/digitseq/cl_2DS_div.cc: Throw.
41     * src/base/digitseq/cl_DS_div.cc: Throw.
42     * src/base/digitseq/cl_DS_mul.cc: Throw.
43     * src/base/digitseq/cl_DS_mul_fftc.h: Throw.
44     * src/base/digitseq/cl_DS_mul_fftcs.h: Throw.
45     * src/base/digitseq/cl_DS_mul_fftm.h: Throw.
46     * src/base/digitseq/cl_DS_mul_fftp.h: Throw.
47     * src/base/digitseq/cl_DS_mul_fftp3.h: Throw.
48     * src/base/digitseq/cl_DS_mul_fftp3m.h: Throw.
49     * src/base/digitseq/cl_DS_mul_fftr.h: Throw.
50     * src/base/digitseq/cl_DS_mul_nuss.h: Throw.
51     * src/base/digitseq/cl_DS_recipsqrt.cc: Throw.
52     * src/base/digitseq/cl_DS_sqrt.cc: Throw.
53     * src/base/hash/cl_hash.h: Throw.
54     * src/base/hash/cl_hash1.h: Throw.
55     * src/base/hash/cl_hash1weak.h: Throw.
56     * src/base/hash/cl_hash2.h: Throw.
57     * src/base/hash/cl_hash2weak.h: Throw.
58     * src/base/hash/cl_hashset.h: Throw.
59     * src/base/hash/cl_hashuniq.h: Throw.
60     * src/base/hash/cl_hashuniqweak.h: Throw.
61     * src/base/proplist/cl_pl_add.cc: Throw.
62     * src/base/ring/cl_no_ring.cc: Throw.
63     * src/base/string/cl_spushstring.h: Throw.
64     * src/base/symbol/cl_symbol.cc: Throw.
65     * src/integer/bitwise/cl_I_ash.h: Removed (see cln/integer.h.)
66     * src/integer/bitwise/cl_I_asherr.cc: Removed.
67     * src/integer/bitwise/cl_I_ash_exception.cc: New file.
68     * src/integer/division/cl_I_exquoerr.cc: Removed.
69     * src/integer/division/cl_I_exquo_exception.cc: New file.
70     * src/integer/cl_I.h: Throw.
71     * src/integer/division/cl_I_exquopos.cc: Throw.
72     * src/integer/bitwise/cl_I_logbitp_I.cc: Throw.
73     * src/integer/bitwise/cl_I_ash.cc: Throw.
74     * src/integer/bitwise/cl_I_ash_I.cc: Throw.
75     * src/integer/division/cl_I_exquo.cc: Throw.
76     * src/integer/gcd/cl_I_gcd_aux2.cc: Throw.
77     * src/integer/conv/cl_I_to_L.cc: Throw.
78     * src/integer/conv/cl_I_to_Q.cc: Throw.
79     * src/integer/conv/cl_I_to_UL.cc: Throw.
80     * src/integer/conv/cl_I_to_UQ.cc: Throw.
81     * src/integer/conv/cl_I_to_digits.cc: Throw.
82     * src/integer/elem/cl_I_div.cc: Throw.
83     * src/integer/algebraic/cl_I_sqrt.cc: Throw.
84     * src/integer/input/cl_I_read.cc: Throw.
85     * src/integer/input/cl_I_read_stream.cc: Throw.
86     * src/integer/misc/cl_I_as.cc: Throw.
87     * src/rational/elem/cl_RA_from_I_I_div.cc: Throw.
88     * src/rational/elem/cl_RA_recip.cc: Throw.
89     * src/rational/input/cl_RA_read.cc: Throw.
90     * src/rational/input/cl_RA_read_stream.cc: Throw.
91     * src/rational/input/cl_RA_readparsed.cc: Throw.
92     * src/rational/misc/cl_RA_as.cc: Throw.
93     * src/float/base/cl_F_err_nan.cc: Removed.
94     * src/float/base/cl_F_nan_exception.cc: New file.
95     * src/float/base/cl_F_err_un.cc: Removed.
96     * src/float/base/cl_F_underflow_exception.cc: New file.
97     * src/float/base/cl_F_err_ov.cc: Removed.
98     * src/float/base/cl_F_overflow_exception.cc: New file.
99     * src/float/cl_F.h (cl_error_floating_point_nan,
100     cl_error_floating_point_overflow, cl_error_floating_point_underflow):
101     Removed (see cln/float.h.)
102     * src/float/sfloat/cl_SF.h: Throw.
103     * src/float/sfloat/elem/cl_SF_div.cc: Throw.
104     * src/float/sfloat/elem/cl_SF_from_RA.cc: Throw.
105     * src/float/sfloat/elem/cl_SF_scale.cc: Throw.
106     * src/float/sfloat/elem/cl_SF_scale_I.cc: Throw.
107     * src/float/sfloat/misc/cl_SF_as.cc: Throw.
108     * src/float/ffloat/cl_FF.h: Throw.
109     * src/float/ffloat/conv/cl_FF_from_float.cc: Throw.
110     * src/float/ffloat/elem/cl_FF_div.cc: Throw.
111     * src/float/ffloat/elem/cl_FF_from_RA.cc: Throw.
112     * src/float/ffloat/elem/cl_FF_scale.cc: Throw.
113     * src/float/ffloat/elem/cl_FF_scale_I.cc: Throw.
114     * src/float/ffloat/misc/cl_FF_as.cc: Throw.
115     * src/float/dfloat/cl_DF.h: Throw.
116     * src/float/dfloat/conv/cl_DF_from_double.cc: Throw.
117     * src/float/dfloat/elem/cl_DF_div.cc: Throw.
118     * src/float/dfloat/elem/cl_DF_from_RA.cc: Throw.
119     * src/float/dfloat/elem/cl_DF_scale.cc: Throw.
120     * src/float/dfloat/elem/cl_DF_scale_I.cc: Throw.
121     * src/float/dfloat/misc/cl_DF_as.cc: Throw.
122     * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Throw.
123     * src/float/lfloat/elem/cl_LF_1plus.cc: Throw.
124     * src/float/lfloat/elem/cl_LF_I_div.cc: Throw.
125     * src/float/lfloat/elem/cl_LF_I_mul.cc: Throw.
126     * src/float/lfloat/elem/cl_LF_div.cc: Throw.
127     * src/float/lfloat/elem/cl_LF_from_I.cc: Throw.
128     * src/float/lfloat/elem/cl_LF_mul.cc: Throw.
129     * src/float/lfloat/elem/cl_LF_scale.cc: Throw.
130     * src/float/lfloat/elem/cl_LF_scale_I.cc: Throw.
131     * src/float/lfloat/elem/cl_LF_square.cc: Throw.
132     * src/float/lfloat/misc/cl_LF_as.cc: Throw.
133     * src/float/lfloat/misc/cl_LF_shorten.cc: Throw.
134     * src/float/lfloat/misc/cl_LF_shortenrel.cc: Throw.
135     * src/float/lfloat/misc/cl_LF_shortenwith.cc: Throw.
136     * src/float/input/cl_F_read.cc: Throw.
137     * src/float/input/cl_F_read_stream.cc: Throw.
138     * src/float/misc/cl_F_as.cc: Throw.
139     * src/float/misc/cl_F_shortenrel.cc: Throw.
140     * src/float/transcendental/cl_LF_coshsinh_aux.cc: Throw.
141     * src/float/transcendental/cl_LF_cossin_aux.cc: Throw.
142     * src/float/transcendental/cl_LF_exp_aux.cc: Throw.
143     * src/float/transcendental/cl_LF_ratseries_a.cc: Throw.
144     * src/float/transcendental/cl_LF_ratseries_ab.cc: Throw.
145     * src/float/transcendental/cl_LF_ratseries_b.cc: Throw.
146     * src/float/transcendental/cl_LF_ratseries_p.cc: Throw.
147     * src/float/transcendental/cl_LF_ratseries_pa.cc: Throw.
148     * src/float/transcendental/cl_LF_ratseries_pab.cc: Throw.
149     * src/float/transcendental/cl_LF_ratseries_pb.cc: Throw.
150     * src/float/transcendental/cl_LF_ratseries_pq.cc: Throw.
151     * src/float/transcendental/cl_LF_ratseries_pqa.cc: Throw.
152     * src/float/transcendental/cl_LF_ratseries_pqab.cc: Throw.
153     * src/float/transcendental/cl_LF_ratseries_pqb.cc: Throw.
154     * src/float/transcendental/cl_LF_ratseries_q.cc: Throw.
155     * src/float/transcendental/cl_LF_ratseries_qa.cc: Throw.
156     * src/float/transcendental/cl_LF_ratseries_qab.cc: Throw.
157     * src/float/transcendental/cl_LF_ratseries_qb.cc: Throw.
158     * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Throw.
159     * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Throw.
160     * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Throw.
161     * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Throw.
162     * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Throw.
163     * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Throw.
164     * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Throw.
165     * src/float/transcendental/cl_LF_zeta_int.cc: Throw.
166     * src/real/elem/cl_R_div.cc: Throw.
167     * src/real/format-output/cl_fmt_cardinal.cc: Throw.
168     * src/real/format-output/cl_fmt_newroman.cc: Throw.
169     * src/real/format-output/cl_fmt_oldroman.cc: Throw.
170     * src/real/input/cl_R_read.cc: Throw.
171     * src/real/input/cl_R_read_stream.cc: Throw.
172     * src/real/misc/cl_R_as.cc: Throw.
173     * src/real/random/cl_R_random.cc: Throw.
174     * src/real/transcendental/cl_R_atan2.cc: Throw.
175     * src/real/transcendental/cl_R_log.cc: Throw.
176     * src/complex/input/cl_N_read.cc: Throw.
177     * src/complex/input/cl_N_read_stream.cc: Throw.
178     * src/complex/misc/cl_N_as.cc: Throw.
179     * src/complex/transcendental/cl_C_atanh_aux.cc: Throw.
180     * src/complex/transcendental/cl_C_expt_C.cc: Throw.
181     * src/complex/transcendental/cl_C_log.cc: Throw.
182     * src/complex/transcendental/cl_C_log2.cc: Throw.
183     * src/numtheory/cl_nt_cornacchia1.cc: Throw.
184     * src/numtheory/cl_nt_cornacchia4.cc: Throw.
185     * src/numtheory/cl_nt_isprobprime.cc: Throw.
186     * src/numtheory/cl_nt_jacobi.cc: Throw.
187     * src/numtheory/cl_nt_jacobi_low.cc: Throw.
188     * src/numtheory/cl_nt_sqrtmodp.cc: Throw.
189     * src/modinteger/cl_MI.cc: Throw.
190     * src/modinteger/cl_MI_int.h: Throw.
191     * src/modinteger/cl_MI_montgom.h: Throw.
192     * src/modinteger/cl_MI_pow2.h: Throw.
193     * src/modinteger/cl_MI_rshift.cc: Throw.
194     * src/modinteger/cl_MI_std.h: Throw.
195     * src/polynomial/elem/cl_UP_GF2.h: Throw.
196     * src/polynomial/elem/cl_UP_MI.h: Throw.
197     * src/polynomial/elem/cl_UP_gen.h: Throw.
198     * src/polynomial/elem/cl_UP_named.cc: Throw.
199     * src/polynomial/elem/cl_UP_no_ring.cc (uninitialized_error,
200     uninitialized_ring): Removed (see cln/ring.h.)
201     * src/polynomial/elem/cl_UP_number.h: Throw.
202     * src/polynomial/elem/cl_UP_unnamed.cc: Throw.
203     * src/vector/cl_GV_I.cc: Throw.
204     * src/vector/cl_GV_number.cc: Throw.
205     * tests/timediv2adic-compare.cc: Use default abort(), not cl_abort().
206     * tests/timeprint-compare.cc: Likewise.
207     * tests/timerecip2adic-compare.cc: Likewise.
208     * doc/cln.tex: Document the exception classes.
209     * examples/contfrac.cc: Use try/catch instead of setjmp/longjmp.
210     * INSTALL: undocument -fno-exceptions.
211     * README: Add exceptions to list of used C++ features.
212    
213 kreckel 1.173 2007-06-20 Richard B. Kreckel <kreckel@ginac.de>
214    
215     * cln.spec.in (Source0): Package is bzip2-compressed.
216     Reported by Markus Grabner <grabner@icg.tugraz.at>.
217    
218 kreckel 1.172 2007-05-31 Richard B. Kreckel <kreckel@ginac.de>
219    
220     * include/cln/integer.h (cl_I_to_E, cl_I_to_UE): New functions.
221     * src/float/transcendental/cl_LF_exp_aux.cc: Make lq argument an uintE.
222     * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
223     * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
224     * src/float/transcendental/cl_F_tran.h: Change declaration of lq.
225     * src/float/transcendental/cl_F_lnx.cc: Fix some exponent types.
226     * src/float/transcendental/cl_F_expx.cc: Likewise.
227     * src/float/transcendental/cl_F_sinh.cc: Likewise.
228     * src/float/transcendental/cl_F_atanx.cc: Likewise.
229     * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
230     * src/float/transcendental/cl_LF_cossin.cc: Likewise.
231     * src/float/transcendental/cl_LF_coshsinh.cc: Likewise.
232    
233 kreckel 1.171 2007-04-09 Richard B. Kreckel <kreckel@ginac.de>
234    
235     More memory efficient constants:
236     * src/float/transcendental/cl_LF_pi.cc (compute_pi_ramanujan_163_fast):
237     Compute series coefficients on demand, using a series stream object.
238     * src/float/transcendental/cl_LF_zeta3.cc (zeta3): Likewise.
239     * src/float/transcendental/cl_LF_catalanconst.cc
240     (compute_catalanconst_ramanujan_fast): Likewise.
241     (compute_catalanconst_lupas): New function.
242     (compute_catalanconst): Simplify, based on new benchmark.
243    
244 kreckel 1.170 2007-04-02 Alexei Sheplyakov <varg@theor.jinr.ru>
245    
246     Debian Bug#412103:
247     * cln.pc.in: list -lgmp in Libs.private instead of in Libs.
248     * doc/cln.tex: Undocument cln-config, properly document pkg-config.
249     * cln-config.1.in: Remove.
250     * cln-config.in: Remove.
251     * cln.m4: Remove.
252     * configure.ac: Don't output cln-config and cln-config.1.
253    
254 haible 1.169 2006-12-24 Bruno Haible <bruno@clisp.org>
255    
256     Make autoconfiguration work with gcc-4.3 snapshots.
257     * autoconf/intparam.c (main1): Rename get_integer_bitsize to
258     get_unsigned_integer_bitsize. New macro get_signed_integer_bitsize.
259    
260 haible 1.168 2006-12-19 Bruno Haible <bruno@clisp.org>
261    
262     * autoconf/intparam.c (main): Use 'return', not exit().
263     * autoconf/floatparam.c (main): Likewise.
264     Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
265    
266 kreckel 1.167 2006-12-11 Richard B. Kreckel <kreckel@ginac.de>
267    
268     Extend the exponent range from 32 bits to 64 bits on selected platforms.
269     * include/cln/number.h: Add signatures for operations with long long.
270     * include/cln/complex_class.h: Likewise.
271     * include/cln/real_class.h: Likewise.
272     * include/cln/real.h: Likewise.
273     * include/cln/rational_class.h: Likewise.
274     * include/cln/rational.h: Likewise.
275     * include/cln/integer_class.h: Likewise.
276     * include/cln/integer.h: Likewise.
277     * include/cln/float.h: Likewise.
278     * include/cln/lfloat.h: Likewise.
279     * include/cln/types.h (sintE and uintE): New types for exponents.
280     * include/cln/*float.h: Use the new types for exponents.
281     * include/cln/floatformat.h (float_format_t): Make underlying type
282     compatible with sintE.
283     * doc/cln.tex: Document changed float_exponent return value.
284     * src/float/cl_F.h: Likewise.
285     * src/float/ffloat/misc/cl_FF_exponent.cc: Likewise.
286     * src/float/input/cl_F_read.cc: Likewise.
287     * src/float/lfloat/cl_LF.h: Likewise.
288     * src/float/lfloat/cl_LF_impl.h: Likewise.
289     * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
290     * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
291     * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
292     * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
293     * src/float/lfloat/elem/cl_LF_compare.cc: Likewise.
294     * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
295     * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
296     * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
297     * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
298     * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
299     * src/float/lfloat/elem/cl_LF_mul.cc: Likewise.
300     * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
301     * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
302     * src/float/lfloat/elem/cl_LF_square.cc: Likewise.
303     * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
304     * src/float/lfloat/misc/cl_LF_decode.cc: Likewise.
305     * src/float/lfloat/misc/cl_LF_exponent.cc: Likewise.
306     * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
307     * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
308     * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
309     * src/float/misc/cl_F_decode.cc: Likewise.
310     * src/float/misc/cl_F_exponent.cc: Likewise.
311     * src/float/misc/cl_F_shortenrel.cc: Likewise.
312     * src/float/misc/cl_float_format.cc: Likewise.
313     * src/float/output/cl_F_dprint.cc: Likewise.
314     * src/float/sfloat/misc/cl_SF_exponent.cc: Likewise.
315     * src/float/transcendental/cl_F_atanhx.cc: Likewise.
316     * src/float/transcendental/cl_F_atanx.cc: Likewise.
317     * src/float/transcendental/cl_F_cosh.cc: Likewise.
318     * src/float/transcendental/cl_F_expx.cc: Likewise.
319     * src/float/transcendental/cl_F_lnx.cc: Likewise.
320     * src/float/transcendental/cl_F_sinhx.cc: Likewise.
321     * src/float/transcendental/cl_F_sinx.cc: Likewise.
322     * src/float/transcendental/cl_LF_pi.cc: Likewise.
323     * src/integer/cl_I.h: Likewise.
324     * src/complex/algebraic/cl_LF_hypot.cc: Likewise.
325     * src/complex/elem/division/cl_C_LF_recip.cc: Likewise.
326     * src/float/dfloat/misc/cl_DF_exponent.cc: Likewise.
327     * src/integer/conv/cl_I_from_Q2.cc: Added.
328     * src/base/cl_low.h (isqrtC): New function, for 64 bit falls back to...
329     * src/base/low/cl_low_isqrt.cc (isqrt): ...this new implementation.
330     * src/base/cl_macros.h (bitc): Make sure 64 bit is used if required by
331     exponent operations.
332     * examples/pi.cc: Support more than 646456614 decimal digits.
333    
334 kreckel 1.166 2006-11-02 Richard B. Kreckel <kreckel@ginac.de>
335    
336     * src/base/digitseq/cl_DS.h: #undef DS, needed for i386-Solaris.
337    
338 kreckel 1.165 2006-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
339    
340     * tests/Makefile.in (VPATH): Fix syntax error.
341    
342 kreckel 1.164 2006-09-14 Richard B. Kreckel <kreckel@ginac.de>
343    
344     * examples/perfnum.cc: update to presumed 44th Mersenne prime.
345    
346 kreckel 1.163 2006-08-15 Richard B. Kreckel <kreckel@ginac.de>
347    
348     * tests/Makefile.in: MinGW support for make check
349     (Patch by Sheplyakov Alexei <varg@theor.jinr.ru> to add ${EXEEXT}).
350     * Makefile.in: Convert from $(VAR) to ${VAR} syntax.
351     * benchmarks/Makefile.in: Likewise.
352     * doc/Makefile.in: Likewise.
353     * examples/Makefile.in: Likewise.
354     * src/Makefile.in: Likewise.
355     * tests/Makefile.in: Likewise.
356    
357 kreckel 1.162 2006-08-06 Richard B. Kreckel <kreckel@ginac.de>
358    
359     * configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
360    
361 kreckel 1.161 2006-08-04 Sheplyakov Alexei <varg@theor.jinr.ru>
362    
363     * configure.ac: Disable shared lib on MinGW.
364    
365 kreckel 1.160 2006-08-03 Sheplyakov Alexei <varg@theor.jinr.ru>
366    
367     * m4/param.m4: Add support for MinGW.
368     * src/base/random/cl_random_from.cc: Fix for last patch.
369    
370 kreckel 1.159 2006-07-23 Sheplyakov Alexei <varg@theor.jinr.ru>
371    
372     * src/base/random/cl_random_from.cc: Add support for MinGW.
373    
374 kreckel 1.158 2006-06-13 Richard B. Kreckel <kreckel@ginac.de>
375    
376     * m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=i386 for x86_64
377     if userland is 32 bit.
378     * include/cln/config.h.in: Simplify __x86_64__ selection.
379     * src/base/digitseq/cl_asm_x86_64_.cc: Remove.
380    
381 kreckel 1.157 2006-06-09 Richard B. Kreckel <kreckel@ginac.de>
382    
383     * src/base/digitseq/cl_DS.h (struct DS): Change len type to uintC.
384    
385 kreckel 1.156 2006-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
386    
387     * m4/gettimeofday.m4 (CL_GETTIMEOFDAY): Fix M4 quoting.
388    
389 haible 1.155 2006-05-20 Bruno Haible <bruno@clisp.org>
390    
391     * src/base/random/cl_random_from.cc: Treat FreeBSD, NetBSD like other
392     Unix platforms.
393    
394 kreckel 1.154 2006-05-07 Richard B. Kreckel <kreckel@ginac.de>
395    
396     * include/cln/modules.h (CL_JUMP_TO): Fix for Intel Mac.
397    
398 haible 1.153 2006-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
399    
400     Prepare for autoconf-2.60.
401     * Makefile.in (datarootdir): New variable.
402     * src/Makefile.in (datarootdir): New variable.
403     * doc/Makefile.in (datarootdir): New variable.
404    
405 kreckel 1.152 2006-04-25 Bruno Haible <bruno@clisp.org>
406     Richard B. Kreckel <kreckel@ginac.de>
407    
408     Make it theoretically possible to use bignums and long-floats with
409     more than 2^32 significant digits or bits.
410     * doc/cln.tex (logcount): Change return type to uintC.
411     (struct cl_byte): Change elements to uintC.
412     (integer_length, ord2, power2p): Change return type to uintC.
413     (scale_float): Change argument type to sintC.
414     (float_digits, float_precision): Change return type to uintC.
415     * examples/atan_recip.cc: Use uintC instead of uintL where appropriate.
416     * examples/atanh_recip.cc: Likewise.
417     * include/cln/GV.h: Likewise.
418     * include/cln/GV_complex.h: Likewise.
419     * include/cln/GV_integer.h: Likewise.
420     * include/cln/GV_modinteger.h: Likewise.
421     * include/cln/GV_number.h: Likewise.
422     * include/cln/GV_rational.h: Likewise.
423     * include/cln/GV_real.h: Likewise.
424     * include/cln/SV.h: Likewise.
425     * include/cln/SV_complex.h: Likewise.
426     * include/cln/SV_integer.h: Likewise.
427     * include/cln/SV_number.h: Likewise.
428     * include/cln/SV_rational.h: Likewise.
429     * include/cln/SV_real.h: Likewise.
430     * include/cln/SV_ringelt.h: Likewise.
431     * include/cln/dfloat.h: Likewise.
432     * include/cln/ffloat.h: Likewise.
433     * include/cln/float.h: Likewise.
434     * include/cln/integer.h: Likewise.
435     * include/cln/lfloat.h: Likewise.
436     * include/cln/modinteger.h: Likewise.
437     * include/cln/sfloat.h: Likewise.
438     * src/base/cl_low.h (integerlengthC): New macro.
439     * src/base/digitseq/cl_2DS_div.cc: Use uintC instead of uintL where
440     appropriate.
441     * src/base/digitseq/cl_2DS_recip.cc: Likewise.
442     * src/base/digitseq/cl_DS.h: Likewise.
443     * src/base/digitseq/cl_DS_mul.c: Likewise.
444     * src/base/digitseq/cl_DS_mul_fftc.h: Likewise.
445     * src/base/digitseq/cl_DS_mul_fftcs.h: Likewise.
446     * src/base/digitseq/cl_DS_mul_fftm.h: Likewise.
447     * src/base/digitseq/cl_DS_mul_fftp.h: Likewise.
448     * src/base/digitseq/cl_DS_mul_fftp3.h: Likewise.
449     * src/base/digitseq/cl_DS_mul_fftp3m.h: Likewise.
450     * src/base/digitseq/cl_DS_mul_fftr.h: Likewise.
451     * src/base/digitseq/cl_DS_mul_kara.h: Likewise.
452     * src/base/digitseq/cl_DS_mul_nuss.h: Likewise.
453     * src/base/digitseq/cl_DS_recip.cc: Likewise.
454     * src/base/digitseq/cl_DS_recipsqrt.cc: Likewise.
455     * src/base/digitseq/cl_DS_sqrt.cc: Likewise.
456     * src/base/digitseq/cl_DS_trandom.cc: Likewise.
457     * src/complex/input/cl_N_read.cc: Likewise.
458     * src/complex/transcendental/cl_C_asinh_aux.cc: Likewise.
459     * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
460     * src/float/cl_F.h: Likewise.
461     * src/float/conv/cl_F_from_F_f.cc: Likewise.
462     * src/float/conv/cl_F_from_I_f.cc: Likewise.
463     * src/float/conv/cl_F_from_RA_f.cc: Likewise.
464     * src/float/dfloat/conv/cl_I_to_double.cc: Likewise.
465     * src/float/dfloat/conv/cl_RA_to_double.cc: Likewise.
466     * src/float/dfloat/elem/cl_DF_from_I.cc: Likewise.
467     * src/float/dfloat/elem/cl_DF_from_RA.cc: Likewise.
468     * src/float/dfloat/elem/cl_DF_scale.cc: Likewise.
469     * src/float/dfloat/misc/cl_DF_digits.cc: Likewise.
470     * src/float/dfloat/misc/cl_DF_precision.cc: Likewise.
471     * src/float/elem/cl_F_scale.cc: Likewise.
472     * src/float/ffloat/conv/cl_I_to_float.cc: Likewise.
473     * src/float/ffloat/conv/cl_RA_to_float.cc: Likewise.
474     * src/float/ffloat/elem/cl_FF_from_I.cc: Likewise.
475     * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
476     * src/float/ffloat/elem/cl_FF_scale.cc: Likewise.
477     * src/float/ffloat/misc/cl_FF_digits.cc: Likewise.
478     * src/float/ffloat/misc/cl_FF_precision.cc: Likewise.
479     * src/float/input/cl_F_read.cc: Likewise.
480     * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
481     * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
482     * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
483     * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
484     * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
485     * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
486     * src/float/lfloat/elem/cl_LF_from_RA.cc: Likewise.
487     * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
488     * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
489     * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
490     * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
491     * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
492     * src/float/lfloat/misc/cl_LF_digits.cc: Likewise.
493     * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
494     * src/float/lfloat/misc/cl_LF_leninc.cc: Likewise.
495     * src/float/lfloat/misc/cl_LF_lenincx.cc: Likewise.
496     * src/float/lfloat/misc/cl_LF_precision.cc: Likewise.
497     * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
498     * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
499     * src/float/misc/cl_F_digits.cc: Likewise.
500     * src/float/misc/cl_F_epsneg.cc: Likewise.
501     * src/float/misc/cl_F_epspos.cc: Likewise.
502     * src/float/misc/cl_F_leastneg.cc: Likewise.
503     * src/float/misc/cl_F_leastpos.cc: Likewise.
504     * src/float/misc/cl_F_mostneg.cc: Likewise.
505     * src/float/misc/cl_F_mostpos.cc: Likewise.
506     * src/float/misc/cl_F_precision.cc: Likewise.
507     * src/float/misc/cl_F_rational.cc: Likewise.
508     * src/float/misc/cl_F_shortenrel.cc: Likewise.
509     * src/float/output/cl_F_dprint.cc: Likewise.
510     * src/float/random/cl_F_random.cc: Likewise.
511     * src/float/sfloat/elem/cl_SF_from_I.cc: Likewise.
512     * src/float/sfloat/elem/cl_SF_from_RA.cc: Likewise.
513     * src/float/sfloat/elem/cl_SF_scale.cc: Likewise.
514     * src/float/sfloat/misc/cl_SF_digits.cc: Likewise.
515     * src/float/sfloat/misc/cl_SF_precision.cc: Likewise.
516     * src/float/transcendental/cl_F_atanhx.cc: Likewise.
517     * src/float/transcendental/cl_F_atanx.cc: Likewise.
518     * src/float/transcendental/cl_F_catalanconst_f.cc: Likewise.
519     * src/float/transcendental/cl_F_cos.cc: Likewise.
520     * src/float/transcendental/cl_F_cosh.cc: Likewise.
521     * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
522     * src/float/transcendental/cl_F_cossin.cc: Likewise.
523     * src/float/transcendental/cl_F_eulerconst_f.cc: Likewise.
524     * src/float/transcendental/cl_F_exp1_f.cc: Likewise.
525     * src/float/transcendental/cl_F_expx.cc: Likewise.
526     * src/float/transcendental/cl_F_ln10_f.cc: Likewise.
527     * src/float/transcendental/cl_F_ln2_f.cc: Likewise.
528     * src/float/transcendental/cl_F_lnx.cc: Likewise.
529     * src/float/transcendental/cl_F_pi_f.cc: Likewise.
530     * src/float/transcendental/cl_F_sin.cc: Likewise.
531     * src/float/transcendental/cl_F_sinh.cc: Likewise.
532     * src/float/transcendental/cl_F_sinhx.cc: Likewise.
533     * src/float/transcendental/cl_F_sinx.cc: Likewise.
534     * src/float/transcendental/cl_F_tran.h: Likewise.
535     * src/float/transcendental/cl_F_zeta_int_f.cc: Likewise.
536     * src/float/transcendental/cl_LF_atan_recip.cc: Likewise.
537     * src/float/transcendental/cl_LF_atanh_recip.cc: Likewise.
538     * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
539     * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
540     * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
541     * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
542     * src/float/transcendental/cl_LF_exp1.cc: Likewise.
543     * src/float/transcendental/cl_LF_exp_aux.cc: Likewise.
544     * src/float/transcendental/cl_LF_pi.cc: Likewise.
545     * src/float/transcendental/cl_LF_ratseries.cc: Likewise.
546     * src/float/transcendental/cl_LF_ratseries_.cc: Likewise.
547     * src/float/transcendental/cl_LF_ratseries_a.cc: Likewise.
548     * src/float/transcendental/cl_LF_ratseries_ab.cc: Likewise.
549     * src/float/transcendental/cl_LF_ratseries_b.cc: Likewise.
550     * src/float/transcendental/cl_LF_ratseries_p.cc: Likewise.
551     * src/float/transcendental/cl_LF_ratseries_pa.cc: Likewise.
552     * src/float/transcendental/cl_LF_ratseries_pab.cc: Likewise.
553     * src/float/transcendental/cl_LF_ratseries_pb.cc: Likewise.
554     * src/float/transcendental/cl_LF_ratseries_pq.cc: Likewise.
555     * src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise.
556     * src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise.
557     * src/float/transcendental/cl_LF_ratseries_pqb.cc: Likewise.
558     * src/float/transcendental/cl_LF_ratseries_q.cc: Likewise.
559     * src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise.
560     * src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise.
561     * src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise.
562     * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Likewise.
563     * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Likewise.
564     * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Likewise.
565     * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Likewise.
566     * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise.
567     * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Likewise.
568     * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Likewise.
569     * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Likewise.
570     * src/float/transcendental/cl_LF_tran.h: Likewise.
571     * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
572     * src/float/transcendental/cl_LF_zeta_int.cc: Likewise.
573     * src/integer/algebraic/cl_I_rootp_I.cc: Likewise.
574     * src/integer/algebraic/cl_I_rootp_aux.cc: Likewise.
575     * src/integer/bitwise/cl_I_ash.cc: Likewise.
576     * src/integer/bitwise/cl_I_ash_I.cc: Likewise.
577     * src/integer/bitwise/cl_I_byte.h: Likewise.
578     * src/integer/bitwise/cl_I_fullbyte.cc: Likewise.
579     * src/integer/bitwise/cl_I_ilength.cc: Likewise.
580     * src/integer/bitwise/cl_I_ldb.cc: Likewise.
581     * src/integer/bitwise/cl_I_ldbtest.cc: Likewise.
582     * src/integer/bitwise/cl_I_ldbx.cc: Likewise.
583     * src/integer/bitwise/cl_I_ldbxtest.cc: Likewise.
584     * src/integer/bitwise/cl_I_logbitp.cc: Likewise.
585     * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
586     * src/integer/bitwise/cl_I_logcount.cc: Likewise.
587     * src/integer/bitwise/cl_I_mkf.cc: Likewise.
588     * src/integer/bitwise/cl_I_mkfx.cc: Likewise.
589     * src/integer/cl_I.h: Likewise.
590     * src/integer/conv/cl_I_to_digits.cc: Likewise.
591     * src/integer/conv/cl_I_digits_need.cc: Likewise.
592     * src/integer/conv/cl_I_from_digits.cc: Likewise.
593     * src/integer/gcd/cl_I_gcd.cc: Likewise.
594     * src/integer/gcd/cl_I_xgcd.cc: Likewise.
595     * src/integer/misc/cl_I_eqhashcode.cc: Likewise.
596     * src/integer/misc/cl_I_ord2.cc: Likewise.
597     * src/integer/misc/cl_I_power2p.cc: Likewise.
598     * src/integer/output/cl_I_cached_power.h (cached_power_table): allow
599     for 40 elements.
600     * src/integer/output/cl_I_decstring.cc: Use uintC instead of uintL
601     where appropriate.
602     * src/integer/output/cl_I_print.cc: Likewise.
603     * src/integer/output/cl_I_print_string.cc: Likewise.
604     * src/modinteger/cl_MI.cc: Likewise.
605     * src/modinteger/cl_MI_lshift.cc: Likewise.
606     * src/modinteger/cl_MI_montgom.h: Likewise.
607     * src/modinteger/cl_MI_pow2.h: Likewise.
608     * src/modinteger/cl_MI_pow2m1.h: Likewise.
609     * src/modinteger/cl_MI_pow2p1.h: Likewise.
610     * src/modinteger/cl_MI_rshift.cc: Likewise.
611     * src/modinteger/cl_MI_std.h: Likewise.
612     * src/numtheory/cl_IF_millerrabin.cc: Likewise.
613     * src/numtheory/cl_nt_isprobprime.cc: Likewise.
614     * src/numtheory/cl_nt_sqrtmodp.cc: Likewise.
615     * src/polynomial/elem/cl_UP_GF2.h: Likewise.
616     * src/real/conv/cl_F_from_R_f.cc: Likewise.
617     * src/real/format-output/cl_fmt_floatstring.cc: Likewise.
618     * src/real/input/cl_R_read.cc: Likewise.
619     * src/vector/cl_GV_I.cc: Likewise.
620     * src/vector/cl_GV_I_copy.cc: Likewise.
621     * src/vector/cl_GV_number.cc: Likewise.
622     * src/vector/cl_GV_number_copy.cc: Likewise.
623     * src/vector/cl_SV_copy.cc: Likewise.
624     * src/vector/cl_SV_number.cc: Likewise.
625     * src/vector/cl_SV_ringelt.cc: Likewise.
626     * tests/main.cc: Likewise.
627     * tests/test_I_ilength.cc: Likewise.
628     * tests/test_I_ord2.cc: Likewise.
629    
630 haible 1.151 2006-04-19 Bruno Haible <bruno@clisp.org>
631    
632     Prepare for autoconf-2.60.
633     * general.m4 (CL_CC_WORKS): Include <stdlib.h>, for exit() declaration.
634     * longdouble.m4 (CL_LONGDOUBLE): Likewise.
635     * longlong.m4 (CL_LONGLONG): Likewise.
636     * times.m4 (CL_TIMES_CLOCK): Likewise.
637     Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
638    
639 kreckel 1.150 2005-12-04 Bruno Haible <bruno@clisp.org>
640    
641     * src/integer/conv/cl_I_to_digits.cc (I_to_digits_noshrink): Set
642     erg->len at the end.
643    
644     2005-12-04 Bruno Haible <bruno@clisp.org>
645    
646     Extend the fixnum range from 32 bits to 61 bits on 64-bit platforms.
647     * doc/cln.tex (gcd, jacobi): Take 'long' instead of 'int32' arguments.
648     * include/cln/object.h (cl_value_shift): Define as 3, not 32, in the
649     64-bit case.
650     * include/cln/types.h (intVsize): New macro.
651     (sintV, uintV): New types.
652     * include/cln/integer.h (gcd): Take uintV arguments.
653     * include/cln/numtheory.h (jacobi): Take sintV arguments.
654     * src/complex/input/cl_N_read.cc (read_complex): Call FN_to_UV instead
655     of FN_to_UL.
656     * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
657     * src/float/dfloat/elem/cl_DF_scale_I.cc: Use uintV instead of uintL
658     * src/float/dfloat/elem/cl_DF_from_RA.cc: Don't assume values >= 2^53
659     and < 2^55 are always bignums.
660     where appropriate.
661     * src/float/ffloat/conv/cl_RA_to_float.cc: Call FN_to_UV instead of
662     FN_to_UL.
663     * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
664     * src/float/ffloat/elem/cl_FF_scale_I.cc: Call FN_to_V instead of
665     FN_to_L.
666     * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
667     * src/float/output/cl_F_dprint.cc: Likewise.
668     * src/float/sfloat/elem/cl_SF_from_RA.cc: Call FN_to_UV instead of
669     FN_to_UL.
670     * src/float/sfloat/elem/cl_SF_scale_I.cc: Call FN_to_V instead of
671     FN_to_L.
672     * src/integer/cl_I.h (FN_to_UV): Renamed from FN_to_UL, change return
673     type.
674     (FN_to_V): Renamed from FN_to_L, change return type.
675     (FN_V_zerop): Renamed from FN_L_zerop.
676     (FN_V_minusp): Renamed from FN_L_minusp.
677     (cl_I_constructor_from_L2, cl_I_constructor_from_UL2): Define as an
678     inline function on 64-bit platforms.
679     (V_to_I, UV_to_I): New macros.
680     (pFN_maxlength_digits_at): Return an uintV instead of an uint32.
681     (set_pFN_maxlength_digits_at): Take an uintV instead of an uint32.
682     * src/integer/algebraic/cl_I_sqrtp.cc: Call FN_to_UV instead of
683     FN_to_UL.
684     * src/integer/bitwise/cl_I_ash_I.cc: Call FN_to_V instead of FN_to_L.
685     * src/integer/bitwise/cl_I_ilength.cc: Likewise.
686     * src/integer/bitwise/cl_I_log_aux.cc: Likewise.
687     * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
688     * src/integer/bitwise/cl_I_logcount.cc: Likewise.
689     * src/integer/bitwise/cl_I_logtest.cc: Likewise.
690     * src/integer/conv/cl_I_from_L2.cc: Don't produce code on 64-bit
691     platforms.
692     * src/integer/conv/cl_I_from_UL2.cc: Likewise.
693     * src/integer/conv/cl_I_from_NDS.cc: Update.
694     * src/integer/conv/cl_I_from_Q.cc: Remove cast to sint32.
695     * src/integer/conv/cl_I_from_UQ.cc: Remove cast to uint32.
696     * src/integer/conv/cl_I_to_L.cc: Check again fixnum that needs more
697     than 32 bits.
698     * src/integer/conv/cl_I_to_Q.cc: Call FN_to_V instead of FN_to_L.
699     * src/integer/conv/cl_I_to_UL.cc: Likewise.
700     * src/integer/conv/cl_I_to_UQ.cc: Likewise.
701     * src/integer/elem/cl_I_div.cc: Treat fixnums that need more than 32
702     bits like bignums.
703     * src/integer/elem/cl_I_minus.cc: Call FN_to_V instead of FN_to_L.
704     * src/integer/elem/cl_I_mul.cc: Likewise.
705     * src/integer/elem/cl_I_plus.cc: Likewise.
706     * src/integer/elem/cl_I_square.cc: Likewise.
707     * src/integer/elem/cl_I_uminus.cc: Likewise.
708     * src/integer/gcd/cl_I_gcd.cc: Likewise.
709     * src/integer/gcd/cl_low_gcd.cc (gcd): Take uintV arguments.
710     * src/integer/hash/cl_I_hashcode.cc: Call FN_to_V instead of FN_to_L.
711     * src/integer/input/cl_I_read.cc (read_integer): Call FN_to_UV instead
712     of FN_to_UL.
713     * src/integer/misc/cl_I_ord2.cc (ord2): Call ord2_64 on 64-bit
714     platforms.
715     * src/integer/misc/cl_I_power2p.cc: Call FN_to_UV instead of FN_to_UL.
716     * src/integer/misc/combin/cl_I_doublefactorial.cc (doublefakul_table):
717     Extend table for larger fixnums.
718     (doublefactorial): Update.
719     * src/integer/misc/combin/cl_I_factorial.cc (fakul_table): Extend table
720     for larger fixnums.
721     (factorial): Update.
722     * src/modinteger/cl_MI_fix16.h: Call FN_to_UV instead of FN_to_UL.
723     * src/modinteger/cl_MI_fix29.h: Likewise.
724     * src/modinteger/cl_MI_fix32.h: Likewise.
725     * src/modinteger/cl_MI_std.h: Likewise.
726     * src/numtheory/cl_nt_cornacchia4.cc: Call FN_to_V instead of FN_to_L.
727     * src/numtheory/cl_nt_jacobi.cc: Likewise.
728     * src/numtheory/cl_nt_jacobi_low.cc (jacobi_aux): Take uintV arguments
729     instead of uint32 arguments.
730     (jacobi): Take sintV argument instead of a sint32 argument.
731     * src/rational/input/cl_RA_read.cc: Call FN_to_UV instead of FN_to_UL.
732     * src/real/input/cl_R_read.cc: Likewise.
733     * src/vector/cl_GV_I.cc: Likewise.
734     * tests/timefact.cc: Call FN_to_V instead of FN_to_L.
735    
736     2005-12-04 Bruno Haible <bruno@clisp.org>
737    
738     More complete 64-bit division macros.
739     * src/base/cl_low.h (divu_6432_3232_w): Choose a different macro
740     expansion on x86_64.
741     (divu_6432_6432): New macro.
742     (divu_6464_6464): Choose a different macro expansion for all CPUs
743     except sparc64 and x86_64.
744     (divu_12864_6464): Define NEED_VAR_divu_64_rest here.
745     * src/base/low/cl_low_div.cc (divu_64_rest): Avoid defining it twice.
746     (divu_6464_6464_): New function.
747    
748     2005-12-04 Bruno Haible <bruno@clisp.org>
749    
750     * src/base/cl_low.h (ord2_64): New macro.
751    
752     2005-12-02 Bruno Haible <bruno@clisp.org>
753    
754     * src/base/cl_low.h (mulu64) [x86_64]: Change asm restriction, since
755     mulq doesn't accept immediate arguments.
756    
757     2005-11-26 Bruno Haible <bruno@clisp.org>
758    
759     * src/base/cl_low.h (GENERIC_INTEGERLENGTH32): New macro.
760     (integerlength64): Define using integerlength32 if integerlength32
761     is not defined generically.
762    
763     2005-11-26 Bruno Haible <bruno@clisp.org>
764    
765     * src/base/cl_low.h (mulu32) [SPARC64]: Remove rd instruction, since
766     umul returns the complete 64-bit product in a register.
767     (mulu32_w) [SPARC64]: Prefer umul over mulx instruction.
768     (divu_6432_3232_w) [SPARC64]: Prefer umul/udiv over mulx/udivx
769     instructions.
770    
771     2005-11-26 Bruno Haible <bruno@clisp.org>
772    
773     * src/base/cl_low.h (divu_3216_1616): Prepend underscore to local
774     variables.
775    
776     2005-11-26 Bruno Haible <bruno@clisp.org>
777    
778     * src/base/cl_low.h (ord2_32): Parenthesize macro argument.
779    
780 kreckel 1.149 2005-12-17 Richard B. Kreckel <kreckel@ginac.de>
781    
782     * Created branch cln_1-1 for maintenance patches.
783     This is the main branch, which will eventually become CLN 1.2.0.
784    
785 kreckel 1.148 2005-12-15 Dmitry V. Kustov <kustov@telex221.ru>
786    
787     * src/base/random/cl_random_from.cc: Add support for OpenBSD.
788    
789 kreckel 1.147 2005-11-23 Richard B. Kreckel <kreckel@ginac.de>
790 kreckel 1.146
791     * Version 1.1.11 released.
792    
793 kreckel 1.145 2005-11-20 Richard B. Kreckel <kreckel@ginac.de>
794    
795     * src/integer/conv/cl_I_cached_power.h: New file.
796     * src/integer/conv/cl_I_cached_power.cc: New file.
797     Contains power_table and cached_power_table previously...
798     * src/integer/conv/cl_I_to_digits.cc: ...here.
799     * src/integer/conv/cl_I_from_digits.cc: Use cached powers.
800    
801 kreckel 1.144 2005-11-02 Richard B. Kreckel <kreckel@ginac.de>
802    
803     * src/integer/conv/cl_I_from_digits.cc: Made input of all numbers in
804     non-power-of-two base much faster.
805     * tests/test_I_io.cc: New file...
806     * tests/Makefile.in, tests/test_I.cc: ...used here.
807    
808     2005-10-22 Richard B. Kreckel <kreckel@ginac.de>
809 kreckel 1.143
810     * Version 1.1.10 released.
811    
812 kreckel 1.142 2005-10-22 Richard B. Kreckel <kreckel@ginac.de>
813    
814     * src/Makefile.in: Accept CPPFLAGS from environment.
815     * examples/Makefile.in: Likewise.
816     * benchmarks/Makefile.in: Likewise.
817     * tests/Makefile.in: Likewise.
818    
819 kreckel 1.138 2005-08-30 Richard B. Kreckel <kreckel@ginac.de>
820    
821 kreckel 1.139 * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
822     duplication of basic blocks on m68k.
823    
824     2005-08-30 Richard B. Kreckel <kreckel@ginac.de>
825    
826 kreckel 1.138 * include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.
827    
828 haible 1.132 2005-08-27 Bruno Haible <bruno@clisp.org>
829    
830 haible 1.140 Split aclocal.m4 into individual files.
831     * m4/alloca.m4, m4/as-underscore.m4, m4/c++-constructors.m4:
832     * m4/fpu_control.m4, m4/general.m4, m4/gettimeofday.m4:
833     * m4/longdouble.m4, m4/longlong.m4, m4/param.m4, m4/perror.m4:
834     * m4/proto.m4, m4/rusage.m4, m4/times.m4:
835     New files, extracted from autoconf/aclocal.m4.
836     * autoconf/aclocal.m4: m4_include them.
837     * Makefile.devel (AUTOCONF_MACROS): New variable.
838     (configure): Depend on it.
839     (CLISP_M4DIR): Remove variable.
840     (autoconf/aclocal.m4): Remove rule.
841    
842     2005-08-27 Bruno Haible <bruno@clisp.org>
843    
844 haible 1.137 * src/integer/bitwise/cl_I_ash_I.cc (ash): Avoid shifting a 32-bit
845     zero value by more than 31 bits.
846    
847     2005-08-27 Bruno Haible <bruno@clisp.org>
848    
849 haible 1.136 Make the long-float overflow check work on 64-bit platforms.
850     * src/float/lfloat/cl_LF.h (LF_exp_mid, LF_exp_high): Define as
851     'unsigned int', not 'unsigned long'.
852    
853     2005-08-27 Bruno Haible <bruno@clisp.org>
854    
855 haible 1.141 * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
856     duplication of basic blocks by g++ 4.0.
857 haible 1.135 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345>.
858    
859     2005-08-27 Bruno Haible <bruno@clisp.org>
860    
861 haible 1.134 Make it possible to cross-compile CLN.
862     * m4/intparam.m4: New file.
863     * m4/floatparam.m4: New file.
864     * autoconf/aclocal.m4: Include both.
865     (CL_MACHINE): Add an additional CROSS_MACRO parameter.
866     * configure.ac (CL_MACHINE): When cross-compiling, use
867     CL_INTPARAM_CROSS and CL_FLOATPARAM_CROSS.
868    
869     2005-08-27 Bruno Haible <bruno@clisp.org>
870    
871 haible 1.133 Define HAVE_LONGLONG and HAVE_LONGDOUBLE when cross-compiling.
872     * autoconf/aclocal.m4 (CL_LONGLONG, CL_LONGDOUBLE): When cross-
873     compiling, use the test code from gnulib.
874    
875     2005-08-27 Bruno Haible <bruno@clisp.org>
876    
877 haible 1.132 * autoconf/aclocal.m4 (CL_RUSAGE): Fix error when cross-compiling.
878    
879 kreckel 1.131 2005-08-16 Richard B. Kreckel <kreckel@ginac.de>
880    
881     The patch of 2005-05-01 made it impossible to test the type of a cl_UP
882     by comparing with &cl_class_univpoly_ring. We need an alternative:
883     * include/cln/object.h (cl_class_flags_modint_ring): New #define...
884     * src/polynomial/elem/cl_UP.cc (cl_class_univpoly_ring): ...used here.
885     * src/polynomial/elem/cl_UP_GF2.h: Likewise.
886     * src/polynomial/elem/cl_UP_MI.h: Likewise.
887     * src/polynomial/elem/cl_UP_gen.h: Likewise.
888     * src/polynomial/elem/cl_UP_number.h: Likewise.
889    
890 kreckel 1.130 2005-08-15 Richard B. Kreckel <kreckel@ginac.de>
891    
892     * m4/cc.m4 (CL_AS_NOEXECSTACK): New macro...
893     * configure.ac: ...used here for setting ASMFLAGS...
894     * src/Makefile.in: ...which are used here.
895    
896 kreckel 1.129 2005-08-02 Andreas Jochens <aj@andaco.de>
897    
898     * include/cln/config.h.in: Add support for PowerPC 64 CPU.
899     * include/cln/modules.h: Likewise.
900     * include/cln/object.h: Likewise.
901     * include/cln/types.h: Likewise.
902    
903     2005-07-24 Richard B. Kreckel <kreckel@ginac.de>
904 kreckel 1.128
905     Make out of the box build on x86_64 system with complete 32 bit
906     userland possible
907     * include/cln/config.h.in: Don't #define __x86_64__ when
908     __i386__ is defined.
909     * src/base/digitseq/cl_asm_x86_64_.cc: New file.
910     * doc/cln.tex: Revert workaround description introduced 2005-05-02.
911    
912 haible 1.127 2005-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
913    
914     * Makefile.in: Don't enter nonexisting directories.
915    
916 kreckel 1.126 2005-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
917    
918     Speed up the linking step
919     * src/Makefile.in: Use -objectlist for linking libcln.la.
920    
921 kreckel 1.125 2005-05-15 Richard B. Kreckel <kreckel@ginac.de>
922    
923     * autoconf/ltmain.sh: Upgrade to libtool-1.5.16.
924     * m4/libtool.m4: Upgrade to libtool-1.5.16 (without Comeau patch).
925    
926 kreckel 1.124 2005-05-02 Richard B. Kreckel <kreckel@ginac.de>
927    
928     * doc/cln.tex: Document what to do on a x86_64 machine with 32-bit
929     userland.
930    
931 kreckel 1.123 2005-05-01 Richard B. Kreckel <kreckel@ginac.de>
932    
933     Fix crashes in find_univpoly_ring and related functions
934     * include/cln/modinteger.h: Remove vptr from cl_heap_modint_ring;
935     remove declaration of cl_class cl_class_modint_ring.
936     * include/cln/univpoly.h: Remove vptr from cl_heap_univpoly_ring;
937     remove declaration of cl_class_univpoly_ring.
938     * include/cln/object.h: cl_class_flags_modint_ring: New #define...
939     * src/modinteger/cl_MI.cc: ...used in cl_class_modint_ring.
940     * src/modinteger/cl_MI_fix16.h: No vptr, but static dtor and type flag.
941     * src/modinteger/cl_MI_fix29.h: Likewise.
942     * src/modinteger/cl_MI_fix32.h: Likewise.
943     * src/modinteger/cl_MI_int32.h: Likewise.
944     * src/modinteger/cl_MI_montgom.h: Likewise.
945     * src/modinteger/cl_MI_pow2: Likewise.
946     * src/modinteger/cl_MI_pow2m1.h: Likewise.
947     * src/modinteger/cl_MI_pow2p1.h: Likewise.
948     * src/modinteger/cl_MI_std.h: Likewise.
949     * src/polynomial/elem/cl_UP.cc (cl_make_univpoly_ring): Compare with
950     cl_class_flags_modint_ring, not with cl_class_modint_ring.
951     * src/polynomial/elem/cl_UP_GF2.h (cl_class_num_univpoly_ring): New.
952     * src/polynomial/elem/cl_UP_MI.h (cl_class_modint_univpoly_ring): New.
953     * src/polynomial/elem/cl_UP_gen.h (cl_class_gen_univpoly_ring): New.
954     * src/polynomial/elem/cl_UP_number.h (cl_class_num_univpoly_ring): New.
955     Reported by Ralf Goertz <R_Goertz@web.de>.
956    
957 kreckel 1.122 2005-04-29 Richard B. Kreckel <kreckel@ginac.de>
958     Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
959    
960     * m4/cc.m4: Emit a warning if g++ is used and optimization turned off.
961    
962 kreckel 1.121 2005-04-24 Richard B. Kreckel <kreckel@ginac.de>
963    
964     Make GCC compiler flags default to -O
965     * m4/cc.m4: New file...
966     * configure.ac: ...used here.
967     * autoconf/aclocal.m4: Regenerate.
968    
969 kreckel 1.120 2005-04-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
970    
971     * include/cln/string.h: Declare cl_string.
972    
973 kreckel 1.119 2005-03-17 Richard B. Kreckel <kreckel@ginac.de>
974    
975     * autoconf/ltmain.sh: Upgrade to libtool-1.5.14.
976     * m4/libtool.m4: Upgrade to libtool-1.5.14 with Comeau patch.
977     * autoconf/aclocal.m4: Regenerate.
978    
979 kreckel 1.118 2005-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
980    
981     * src/Makefile.in: Use $CXX instead of $CC when linking.
982    
983 kreckel 1.117 2005-02-27 Richard B. Kreckel <kreckel@ginac.de>
984    
985     * examples/perfnum.cc: update to presumed 42st Mersenne prime.
986    
987 kreckel 1.116 2004-11-28 Richard B. Kreckel <kreckel@ginac.de>
988    
989     Disambiguate binary operators of CLN types with float/double
990     * include/cln/dfloat.h: Add binary operator overloads for arguments of
991     type double.
992     * include/cln/ffloat.h: Likewise, for arguments of type float.
993     * include/cln/float.h: Likewise, both for arguments of types double and
994     float.
995     * include/cln/real.h: Likewise.
996 kreckel 1.120 Reported by Isidro Cachadiña Gutiérrez <icacha@unex.es>.
997 kreckel 1.116
998 kreckel 1.115 2004-11-03 Richard B. Kreckel <kreckel@ginac.de>
999    
1000     * Version 1.1.9 released.
1001    
1002 kreckel 1.114 2004-10-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1003    
1004     * src/Makefile.in: Let config.status set LDFLAGS.
1005    
1006 kreckel 1.113 2004-10-27 Peter Breitenlohner <peb@mppmu.mpg.de>
1007    
1008     * cln.pc.in: Fix typo.
1009     * Makefile.in (INSTALL_SCRIPT): Added, to be used for scripts like
1010     cln-config. Allows us to do special things to binaries, like
1011     installing them with install -s.
1012     * doc/Makefile.in: add/remove the cln.info from the installed
1013     $(infodir)/dir unless this is debian install-info (code copied from
1014     what GNU automake would produce).
1015    
1016 kreckel 1.112 2004-10-26 Richard B. Kreckel <kreckel@ginac.de>
1017    
1018     * src/integer/input/cl_I_read_stream.cc (read_integer): Fix a bug
1019     that caused radix specifiers to not work when reading from a stream.
1020     * src/rational/input/cl_RA_read_stream.cc (read_rational): Likewise.
1021     * src/real/input/cl_R_read_stream.cc (read_real): Likewise.
1022     * src/float/input/cl_F_read_stream.cc (read_float): Likewise.
1023     * src/complex/input/cl_N_read_stream.cc (read_complex): Likewise.
1024    
1025 kreckel 1.111 2004-10-25 Richard B. Kreckel <kreckel@ginac.de>
1026    
1027     * src/base/cl_low.h: Add mulu64 assembler macro for ia64.
1028    
1029 kreckel 1.110 2004-10-24 Richard B. Kreckel <kreckel@ginac.de>
1030    
1031     * src/base/cl_low.h: Add mul and div macros for x86_64.
1032    
1033 kreckel 1.109 2004-10-23 Richard B. Kreckel <kreckel@ginac.de>
1034    
1035     * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Fix thinko in
1036     new code for base power of two.
1037    
1038 kreckel 1.108 2004-10-22 Richard B. Kreckel <kreckel@ginac.de>
1039    
1040     * src/integer/conv/cl_I_to_digits (I_to_digits): Fix an elusive stack
1041     overwriting problem. That was the real cause for Debian bug#246319.
1042     * src/integer/output/cl_I_print.cc (print_integer): Revert workaround
1043     for the bug fixed above.
1044    
1045 kreckel 1.107 2004-10-20 Richard B. Kreckel <kreckel@ginac.de>
1046    
1047     * include/cln/types.h: Use 64 bit digits on x86_64 CPU.
1048    
1049 kreckel 1.106 2004-10-12 Richard B. Kreckel <kreckel@ginac.de>
1050    
1051     * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Speedup when
1052     the base is a power of two.
1053    
1054 kreckel 1.105 2004-10-05 Richard B. Kreckel <kreckel@ginac.de>
1055    
1056     * src/integer/conv/cl_I_to_digits.cc (I_to_digits): Fix bug in base 32.
1057    
1058 kreckel 1.104 2004-09-27 Richard B. Kreckel <kreckel@ginac.de>
1059    
1060     Support for little-endian Mips, second shot
1061     * src/base/digitseq/cl_asm_mipsel_.cc: New file...
1062     * src/base/digitseq/cl_asm_cc: ...used here.
1063     * src/base/digitseq/cl_asm.h: Include cl_asm_mips.h for any endianness.
1064     * include/cln/object.h: Set alignment for mipsel explicitly.
1065    
1066 kreckel 1.103 2004-09-05 Richard B. Kreckel <kreckel@ginac.de>
1067    
1068     Support for little-endian Mips
1069     * include/cln/config.h.in: Add __mipsel__.
1070     * include/cln/modules.h: For Mips, this is endianness-agnostic.
1071     * src/base/digitseq/cl_asm_.cc, src/base/digitseq/cl_asm.h:
1072     Mask out assembler for little-endian Mips.
1073    
1074 haible 1.102 2004-08-30 Bruno Haible <bruno@clisp.org>
1075    
1076     * benchmarks/timebench2.sh: Multiply all repeat counts by 100.
1077     * benchmarks/timebench2.results: Add recent PowerPC G4 results.
1078    
1079 kreckel 1.100 2004-08-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1080    
1081 haible 1.102 * examples/e.cc: remove extra semicolon.
1082 kreckel 1.100
1083 haible 1.98 2004-08-25 Bruno Haible <bruno@clisp.org>
1084    
1085     * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
1086     * m4/libtool.m4: New file, from libtool-1.5.6 with modifications:
1087 kreckel 1.101 2004-08-22 Bruno Haible <bruno@clisp.org>
1088 kreckel 1.150 * m4/libtool.m4: Add support for Comeau C++ on Linux.
1089     Reported by Prof. Roberto Bagnara <bagnara@cs.unipr.it>.
1090 haible 1.99 * autoconf/aclocal.m4: Regenerate.
1091 haible 1.98
1092 haible 1.97 2004-08-19 Bruno Haible <bruno@clisp.org>
1093    
1094     * include/cln/modules.h (CL_GLOBALIZE_JUMP_LABEL, CL_JUMP_TO): When
1095     converting a label to a string, use ASM_UNDERSCORE_PREFIX. Needed on
1096     MacOS X.
1097     Reported by Darren Bane <darren.bane@ul.ie>.
1098    
1099 kreckel 1.96 2004-07-01 Richard B. Kreckel <kreckel@ginac.de>
1100    
1101     * Version 1.1.8 released.
1102    
1103 kreckel 1.95 2004-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1104 kreckel 1.93
1105 kreckel 1.94 * src/base/cl_macros.h: alloca(3) has size_t argument type.
1106    
1107 kreckel 1.95 2004-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1108 kreckel 1.94
1109 kreckel 1.93 * include/cln/floatformat.h: Do define a type here.
1110    
1111 kreckel 1.92 2004-06-27 Richard B. Kreckel <kreckel@ginac.de>
1112    
1113     * include/cln/modules.h (CL_JUMP_TO): Fix AMD64 brokenness.
1114    
1115 haible 1.87 2004-06-23 Bruno Haible <bruno@clisp.org>
1116    
1117     * configure.ac: Pretend ftime() is not available. Needed by
1118     CL_TIMES_CLOCK.
1119    
1120 kreckel 1.91 2004-06-21 Ralf Stephan <ralf@ark.in-berlin.de>
1121    
1122     * doc/cln.tex: Document jacobi, isprobprime and nextprobprime.
1123    
1124 kreckel 1.86 2004-06-18 Richard B. Kreckel <kreckel@ginac.de>
1125    
1126     * rational/transcendental/cl_RA_logp.cc: fix bug where base is
1127     reciprocal of an integer.
1128 kreckel 1.91 Reported by Niklas Knutsson <nq@altern.org>.
1129 kreckel 1.86
1130 kreckel 1.89 2004-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1131    
1132     * src/complex/ring/cl_C_ring.cc, src/integer/ring/cl_I_ring.cc,
1133     src/rational/ring/cl_RA_ring.cc, src/real/ring/cl_R_ring.cc:
1134     Make template specializations explicit.
1135    
1136 kreckel 1.88 2004-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1137    
1138 kreckel 1.90 * src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
1139     src/integer/input/cl_I_read.cc, src/rational/input/cl_RA_read.cc,
1140     src/real/input/cl_R_read.cc: Remove unused labels.
1141    
1142     2004-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1143    
1144 kreckel 1.88 * benchmarks/timebench1.cc, benchmarks/timebench2a.LiDIA.cc,
1145     benchmarks/timebench2a.cc, benchmarks/timebench2ap.cc,
1146     benchmarks/timebench2b.LiDIA.cc, benchmarks/timebench2b.cc,
1147     examples/atan_recip.cc, examples/atanh_recip.cc,
1148     examples/contfrac.cc, examples/e.cc, examples/legendre.cc,
1149     examples/lucaslehmer.cc, examples/pi.cc, include/cln/GV.h,
1150     include/cln/SV.h, include/cln/malloc.h, include/cln/modules.h,
1151     include/cln/object.h, include/cln/string.h, src/base/cl_abort.cc,
1152     src/base/cl_alloca.h, src/base/cl_malloc.cc,
1153     src/base/random/cl_random_from.cc,
1154     src/base/string/cl_spushstring_append.cc,
1155     src/base/string/cl_spushstring_push.cc,
1156     src/base/string/cl_st_debug.cc,
1157     src/base/string/input/cl_st_gettoken.cc,
1158     src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
1159     src/float/output/cl_F_dprint.cc, src/integer/input/cl_I_read.cc,
1160     src/rational/input/cl_RA_read.cc,
1161     src/real/format-output/cl_fmt_integer.cc,
1162     src/real/format-output/cl_fmt_paddedstring.cc,
1163     src/real/input/cl_R_read.cc, src/timing/cl_t_current.cc,
1164     src/timing/cl_t_current2.cc, tests/exam.cc, tests/tests.cc,
1165     tests/timeLFRAmul.cc, tests/timeLFatan-compare.cc,
1166     tests/timeLFatan.cc, tests/timeLFatanh-compare.cc,
1167     tests/timeLFatanh.cc, tests/timeLFcos-compare.cc, tests/timeLFcos.cc,
1168     tests/timeLFcosh.cc, tests/timeLFexp-compare.cc, tests/timeLFexp.cc,
1169     tests/timeLFln-compare.cc, tests/timeLFln.cc,
1170     tests/timeLFsin-compare.cc, tests/timeLFsin.cc, tests/timeLFsinh.cc,
1171     tests/timeLFsqrt.cc, tests/timeMImisc5.cc, tests/timeMIpow2div.cc,
1172     tests/timeMIpow2recip.cc, tests/timeRALFdiv.cc, tests/timeRAtoLF.cc,
1173     tests/timeUPMImul.cc, tests/timecatalan.cc, tests/timediv.cc,
1174     tests/timediv2adic-compare.cc, tests/timediv2adic.cc,
1175     tests/timeeuler.cc, tests/timeexp1.cc, tests/timefact.cc,
1176     tests/timegcd.cc, tests/timemul-compare.cc, tests/timemul.cc,
1177     tests/timepi.cc, tests/timeprint-compare.cc, tests/timeprint.cc,
1178     tests/timerecip2adic-compare.cc, tests/timerecip2adic.cc,
1179     tests/timesqrt.cc, tests/timesqrtmodp.cc, tests/timesquare.cc,
1180     tests/timezeta3.cc: Change all C include headers to ISO style
1181     within C++ code.
1182    
1183 kreckel 1.85 2004-06-10 Richard B. Kreckel <kreckel@ginac.de>
1184    
1185     * examples/perfnum.cc: update to presumed 41st Mersenne prime.
1186    
1187 kreckel 1.83 2004-05-02 Richard B. Kreckel <kreckel@ginac.de>
1188    
1189 kreckel 1.84 * Version 1.1.7 released.
1190    
1191     2004-05-02 Richard B. Kreckel <kreckel@ginac.de>
1192    
1193 kreckel 1.83 * examples/pi.cc and examples/pi.1: New files.
1194     * examples/Makefile.in: Build the pi executable.
1195    
1196 kreckel 1.82 2004-05-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1197    
1198     * src/Makefile.in: Fix for parallel build: wait for subdir objects to
1199     be finished before creating the library.
1200    
1201 kreckel 1.81 2004-04-30 Richard B. Kreckel <kreckel@ginac.de>
1202    
1203     * src/integer/output/cl_I_print.cc (print_integer): workaround
1204     GCC compiler bug (cf. Debian bug#246319).
1205    
1206 kreckel 1.80 2004-03-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1207    
1208     * m4/gmp.m4 (CL_GMP_CHECK): Do not lose LIBS setting with config.cache
1209     enabled.
1210    
1211 haible 1.78 2004-03-08 Bruno Haible <bruno@clisp.org>
1212    
1213     * src/float/lfloat/elem/cl_LF_mul.cc (operator*): Fix the second
1214     underflow condition.
1215 haible 1.79 * src/float/lfloat/algebraic/cl_LF_sqrt.cc (sqrt): Fix a bug with large
1216     uexp whereby SQRT of MOST-POSITIVE-LONG-FLOAT was less than 1.
1217 haible 1.78
1218 kreckel 1.77 2004-03-04 Richard B. Kreckel <kreckel@ginac.de>
1219    
1220     * Makefile.in (install): Add ${srcdir} for cln.m4.
1221     * m4/gmp.m4: quote macro names.
1222     Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1223    
1224 kreckel 1.75 2004-01-01 Richard B. Kreckel <kreckel@ginac.de>
1225    
1226 kreckel 1.76 * Version 1.1.6 released.
1227    
1228     2004-01-01 Richard B. Kreckel <kreckel@ginac.de>
1229    
1230 kreckel 1.75 * include/cln/univpoly.h, include/cln/univpoly_complex.h,
1231     include/cln//univpoly_integer.h, include/cln/univpoly_modint.h,
1232     include/cln/univpoly_rational.h, include/cln/univpoly_real.h,
1233     src/polynomial/elem/cl_UP_GF2.h, src/polynomial/elem/cl_UP_MI.h,
1234     src/polynomial/elem/cl_UP_gen.h, src/polynomial/elem/cl_UP_no_ring.cc,
1235     src/polynomial/elem/cl_UP_number.h (ldegree): New function.
1236     * doc/cln.tex: Document `ldegree'.
1237    
1238 kreckel 1.74 2003-12-29 Richard B. Kreckel <kreckel@ginac.de>
1239    
1240     Rework of autoconfiscation infrastructure
1241     * autoconf/config.{guess,sub}: Update to GNU version 2003-10-07.
1242     * autoconf/ltmain.sh: Update to GNU version 1.4.3.
1243     * autoconf/autoconf: Remove (from now on we assume autoconf is
1244     installed properly on the sytem).
1245     * autoconf/autoconf.m4: Likewise.
1246     * autoconf/autoconf.m4f: Likewise.
1247     * autoconf/acgeneral.m4: Likewise.
1248     * autoconf/acspecific.m4: Likewise.
1249     * autoconf/aclocal.m4: Regenerate.
1250     * autoconf/acinclude.m4: Remove (while moving the macros...)
1251     * m4/gmp.m4: New file (...to here).
1252     * Makefile.devel: Update to new scheme.
1253     * configure.ac: Likewise.
1254     * include/cln/GV_integer.h: Assume template specializations work.
1255     * include/cln/GV_modinteger.h: Likewise.
1256     * include/cln/config.h.in: Likewise, and drop HAVE_BOOL.
1257     * src/base/cl_base_config.h.in: Drop support for obsolete ftime(3).
1258     * src/base/random/cl_random_from.cc: Likewise.
1259     * src/timing/cl_base_config.h.in: Likewise.
1260     * src/timing/cl_t_current.cc: Likewise.
1261    
1262 kreckel 1.73 2003-12-27 Richard B. Kreckel <kreckel@ginac.de>
1263    
1264     * src/polynomial/cl_UP_gen.h (gen_minus): Fix case where first
1265     argument is zero.
1266     * src/polynomial/cl_UP_MI.h (modint_minus): Likewise.
1267     * src/polynomial/cl_UP_number.h (num_minus): Likewise.
1268     Reported by Munagala Ramanath <amberarrow@yahoo.com>.
1269    
1270 kreckel 1.72 2003-12-02 Richard B. Kreckel <kreckel@ginac.de>
1271    
1272     * examples/perfnum.cc: update to presumed 40th Mersenne prime.
1273    
1274 kreckel 1.75 2003-11-20 Christian Bauer <cbauer@ginac.de>
1275    
1276     Added pkg-config support
1277     * cln.pc.in: New file.
1278     * Makefile.in: Take care of cln.pc.
1279     * configure.ac: Likewise.
1280    
1281     2003-08-06 Richard B. Kreckel <kreckel@ginac.de>
1282 kreckel 1.71
1283     * src/numtheory/cl_nt_sqrtmodp.cc: #undef _R.
1284     Reported by Andrew Rechnitzer <A.Rechnitzer@ms.unimelb.edu.au>.
1285    
1286 kreckel 1.70 2003-08-01 Richard Kreckel <kreckel@ginac.de>
1287    
1288     More dependent base resolution issues
1289     * src/base/hash/cl_hash.h (cl_heap_hashtable<T>::iterator()):
1290     portable syntactic simplification.
1291     * src/base/hash/cl_hashset.h: Preceed inherited members with this->.
1292     * src/base/hash/cl_hash1.h: Likewise for member functions.
1293     * src/base/hash/cl_hash2.h: Likewise.
1294     * src/base/hash/cl_hashuniq.h: Likewise.
1295     * src/base/hash/cl_hashuniqweak.h: Likewise.
1296     * src/base/hash/cl_hash.h: Revert explicit static member function
1297     lookup since that was GCC's fault.
1298     * src/base/hash/cl_hash2weak.h: Likewise.
1299     * src/base/hash/cl_hashuniqweak.h: Likewise.
1300    
1301 kreckel 1.69 2003-06-29 Richard Kreckel <kreckel@ginac.de>
1302    
1303     Dependent base resolution needed for GCC-3.4
1304     * include/cln/GV.h: Preceed inherited members with this->.
1305     * include/cln/SV.h: Likewise.
1306     * include/cln/object.h: Likewise.
1307     * src/base/hash/cl_hash1.h: Likewise.
1308     * src/base/hash/cl_hash1weak.h: Likewise.
1309     * src/base/hash/cl_hash2.h: Likewise.
1310     * src/base/hash/cl_hashuniq.h: Likewise.
1311     * src/base/hash/cl_hash.h: Make lookup of static member function
1312     explicit.
1313     * src/base/hash/cl_hash2weak.h: Likewise.
1314     * src/base/hash/cl_hashuniqweak.h: Likewise.
1315     * src/modinteger/cl_MI.cc: Make shell-comment a C-comment. Geez.
1316    
1317 haible 1.68 2003-02-24 Bruno Haible <bruno@clisp.org>
1318 haible 1.67
1319     * src/base/random/cl_random_from.cc (random_state::random_state): Add
1320     support for MacOS X.
1321 haible 1.68 * src/modinteger/cl_MI.cc: #undef _R.
1322 haible 1.67 Reported by Erann Gat <gat@jpl.nasa.gov>.
1323    
1324 haible 1.66 2002-08-03 Joerg Arndt <jj@suse.de>
1325    
1326     * include/cln/config.h.in: Add support for x86_64 CPU.
1327     * include/cln/modules.h: Likewise.
1328     * include/cln/types.h: Likewise.
1329     * include/cln/object.h: Likewise.
1330    
1331 kreckel 1.65 2002-06-08 Richard Kreckel <kreckel@ginac.de>
1332    
1333     * src/base/digitseq/cl_asm.h: ensure intCsize==16 when including
1334     m68k Assembler routines.
1335     * src/base/digitseq/cl_asm_.cc: Likewise.
1336    
1337 kreckel 1.64 2002-05-28 Richard Kreckel <kreckel@ginac.de>
1338    
1339     * Version 1.1.5 released.
1340    
1341 kreckel 1.63 2002-05-27 Richard Kreckel <kreckel@ginac.de>
1342    
1343     * include/cln/modules.h (CL_CONCATENATE): New macro.
1344    
1345 kreckel 1.62 2002-05-10 Richard Kreckel <kreckel@ginac.de>
1346    
1347     * doc/cln.tex (Building the library): Update recommendations for
1348     compiling on Tru64 using g++ 3.0 and 3.1.
1349     * README: Update homepage.
1350    
1351 haible 1.58 2002-05-05 Bruno Haible <bruno@clisp.org>
1352    
1353 haible 1.61 * doc/cln.tex (Building the library): Give some recommendations for
1354     g++ 3.0 and 3.1.
1355    
1356 haible 1.60 Force link-time references despite optimizations done by g++ 2.95
1357     and newer.
1358     * include/cln/modules.h (CL_FORCE_LINK): New macro.
1359     * Use CL_FORCE_LINK.
1360     * include/cln/GV_integer.h (cl_GV_I_debug_dummy): Likewise.
1361     * include/cln/GV_number.h (cl_GV_number_debug_dummy): Likewise.
1362     * include/cln/SV_number.h (cl_SV_number_debug_dummy): Likewise.
1363     * include/cln/SV_ringelt.h (cl_SV_ringelt_debug_dummy): Likewise.
1364     * include/cln/dfloat.h (cl_DF_debug_dummy): Likewise.
1365     * include/cln/ffloat.h (cl_FF_classes_dummy, cl_FF_debug_dummy):
1366     Likewise.
1367     * include/cln/integer.h (cl_I_classes_dummy, cl_I_debug_dummy):
1368     Likewise.
1369     * include/cln/lfloat.h (cl_LF_debug_dummy): Likewise.
1370     * include/cln/modinteger.h (cl_MI_debug_dummy): Likewise.
1371     * include/cln/rational.h (cl_RA_debug_dummy): Likewise.
1372     * include/cln/real.h (cl_R_debug_dummy): Likewise.
1373     * include/cln/ring.h (cl_ring_debug_dummy): Likewise.
1374     * include/cln/sfloat.h (cl_SF_classes_dummy, cl_SF_classes_dummy):
1375     Likewise.
1376     * include/cln/string.h (cl_string_debug_dummy): Likewise.
1377     * include/cln/univpoly.h (cl_UP_debug_dummy): Likewise.
1378     * src/float/base/cl_ieee.h (cl_ieee_dummy_NNN): Likewise.
1379    
1380 haible 1.58 Avoid g++ 3.1 warnings.
1381 haible 1.59 * src/base/cl_offsetof.h (offsetof): Redefine each time.
1382     * src/base/digitseq/cl_DS.h: Include "cl_offsetof.h" after <gmp.h>.
1383    
1384     Avoid g++ 3.1 warnings.
1385 haible 1.58 * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
1386     where needed.
1387     * src/base/hash/cl_hash1.h (struct cl_heap_hashtable_1): typedef
1388     htxentry as a shortcut.
1389     * src/base/hash/cl_hash2.h (struct cl_heap_hashtable_2): Likewise.
1390     * src/base/hash/cl_hashset.h (struct cl_heap_hashtable_set): Likewise.
1391     * src/base/hash/cl_hashuniq.h (struct cl_heap_hashtable_uniq):
1392     Likewise.
1393    
1394 haible 1.57 2002-03-15 Bruno Haible <bruno@clisp.org>
1395    
1396     * cln.tex: Document problem with GNU make 3.77.
1397     Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
1398    
1399 kreckel 1.56 2002-02-16 Richard Kreckel <kreckel@ginac.de>
1400    
1401 kreckel 1.150 * cln.m4: quote macro name.
1402     Pointed out by Roberto Bagnara.
1403 kreckel 1.56
1404 kreckel 1.55 2002-01-20 Richard Kreckel <kreckel@ginac.de>
1405    
1406 kreckel 1.150 * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
1407     (the old one was broken on Linux/Mips.)
1408 kreckel 1.55
1409 kreckel 1.54 2002-01-04 Richard Kreckel <kreckel@ginac.de>
1410    
1411 kreckel 1.150 * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
1412     * Version 1.1.4 released.
1413 kreckel 1.54
1414 kreckel 1.53 2002-01-03 Richard Kreckel <kreckel@ginac.de>
1415    
1416 kreckel 1.150 * autoconf/acinclude.m4: revamp MPN-matcher.
1417     * autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
1418     sync with CLisp from CVS.
1419     * autoconf/autoconf: Likewise.
1420     * autoconf/autoconf.m4f: Likewise (new file).
1421     * configure.ac: Likewise (new file, replaces configure.in).
1422     * configure.in: Likewise (deleted, replaced by configure.ac).
1423     * autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
1424     * src/Makefile.in: made VPATH safe for autoconf-2.52.
1425     * include/cln/config.h.in: Add __s390__.
1426 kreckel 1.53
1427 kreckel 1.52 2001-12-31 Richard Kreckel <kreckel@ginac.de>
1428    
1429 kreckel 1.150 * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"
1430     any more since GMP4 has some C++ support in it.
1431 kreckel 1.52
1432 kreckel 1.51 2001-12-14 Richard Kreckel <kreckel@ginac.de>
1433    
1434 kreckel 1.150 * include/cln/modules.h, include/cln/object.h: add support for
1435     s390.
1436     * src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
1437     on s390, provided by Gerhard Tonn.
1438 kreckel 1.51
1439 kreckel 1.50 2001-11-05 Richard Kreckel <kreckel@ginac.de>
1440    
1441 kreckel 1.150 * autoconf/ltmain.sh: Upgrade to libtool-1.4.2.
1442     * autoconf/config.{guess,sub}: Update to GNU version 2001-09-07.
1443     * Version 1.1.3 released.
1444 kreckel 1.50
1445 haible 1.49 2001-11-04 Bruno Haible <haible@clisp.cons.org>
1446    
1447 kreckel 1.150 Interoperability with gcc-3.0 -fuse-cxa-atexit.
1448     * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add test whether
1449     global destructors actually exist.
1450     * include/cln/modules.h (CL_PROVIDE, CL_PROVIDE_END, CL_PROVIDE_END):
1451     Don't hack the global destructors if there is no global destructors
1452     function.
1453 haible 1.49
1454 kreckel 1.47 2001-11-03 Richard Kreckel <kreckel@ginac.de>
1455    
1456 kreckel 1.150 * src/float/transcendental/cl_F_sinx.cc (sinx_naive): For small
1457     values of x, return square(x) instead of x.
1458     * src/float/transcendental/cl_F_sinhx.cc (sinhx_naive): Likewise.
1459 kreckel 1.47
1460     2001-07-25 Richard Kreckel <kreckel@ginac.de>
1461 kreckel 1.46
1462 kreckel 1.150 * Version 1.1.2 released.
1463 kreckel 1.46
1464 kreckel 1.47 2001-07-24 Richard Kreckel <kreckel@ginac.de>
1465 kreckel 1.45
1466 kreckel 1.150 * src/base/hash/cl_hash.h: declare _cl_hashtable_iterator<htentry> a
1467     friend of cl_heap_hashtable<htentry>.
1468 kreckel 1.45
1469 kreckel 1.47 2001-07-22 Richard Kreckel <kreckel@ginac.de>
1470 kreckel 1.44
1471 kreckel 1.150 * src/float/base/cl_ieee.cc: try to do magic to the FPU only if
1472     _FPU_IEEE is really defined.
1473     * include/cln/modules.h: change assembler labels from `label' to
1474     `label:' on hppa, needed by Linux (see comment).
1475     * autoconf/acinclude.m4: new file (for storing CLN-specific macros).
1476     * Makefile.devel: adjusted.
1477     * autoconf/aclocal.m4: regenerate.
1478     * src/base/low/cl_low_mul.cc: moved POD variables that are declared
1479     extern "C" elsewhere out of the namespace.
1480     * src/base/low/cl_low_div.cc: Likewise.
1481 kreckel 1.44
1482 kreckel 1.47 2001-06-08 Bruno Haible <haible@clisp.cons.org>
1483 haible 1.43
1484 kreckel 1.150 * autoconf/config.{guess,sub}: Update to GNU version 2001-05-11.
1485     * autoconf/aclocal.m4: Upgrade to libtool-1.4.
1486     * autoconf/ltmain.sh: Likewise.
1487     * autoconf/ltconfig: Remove file.
1488     * autoconf/install-sh: New file.
1489     * configure.in: Add AC_CONFIG_AUX_DIR call.
1490 haible 1.43
1491 kreckel 1.47 2001-06-05 Richard Kreckel <kreckel@ginac.de>
1492 kreckel 1.42
1493 kreckel 1.150 * tests/tests.cc: resolve namespace ambiguity about strcmp().
1494 kreckel 1.42
1495 kreckel 1.47 2001-05-31 Richard Kreckel <kreckel@ginac.de>
1496 kreckel 1.41
1497 kreckel 1.150 * Version 1.1.1 released.
1498 kreckel 1.41
1499 kreckel 1.40 2001-05-28 Richard Kreckel <kreckel@ginac.de>
1500    
1501 kreckel 1.150 * cln/cln.tex: documented problems with shared library on Sparc
1502     using gcc older than 2.95.3.
1503     * configure.in: Fixed typos in versioning docu.
1504 kreckel 1.40
1505 haible 1.39 2001-05-25 Bruno Haible <haible@clisp.cons.org>
1506    
1507 kreckel 1.150 * src/base/digitseq/cl_asm_arm_.cc: Use #0x instead of #& to designate
1508     hexadecimal constants.
1509 haible 1.39
1510 kreckel 1.38 2001-05-25 Richard Kreckel <kreckel@ginac.de>
1511    
1512 kreckel 1.150 * autoconf/floatparam.c (double_wordorder_bigendian_p): new symbol.
1513     * src/float/dfloat/cl_DF.h: Check for double_wordorder_bigendian_p.
1514     * Removed LiDIA interface since that is now outdated (namespace cln)
1515     and maintained elsewhere.
1516     * Adjusted dates and final touches for 1.1.1.
1517 kreckel 1.38
1518 kreckel 1.37 2001-05-19 Richard Kreckel <kreckel@ginac.de>
1519    
1520 kreckel 1.150 * INSTALL: Update toolchain info: no egcs, some more platforms.
1521     * doc/cln.tex: Likewise.
1522 kreckel 1.37
1523 kreckel 1.36 2001-05-18 Richard Kreckel <kreckel@ginac.de>
1524    
1525 kreckel 1.150 * src/base/cl_low.h: prepended variables declared inside macros
1526     with underscore. Fixes equal_hashcode() on various platforms.
1527 kreckel 1.36
1528 kreckel 1.35 2001-04-25 Richard Kreckel <kreckel@ginac.de>
1529    
1530 kreckel 1.150 * src/base/cl_low.h: Added several checks if NO_ASM is defined, so
1531     this definition becomes actually useful. This is needed for
1532     compilation on Arm until somebody fixes the assembler files for Arm.
1533     * src/base/digitseq/cl_asm.h: Likewise.
1534     * src/base/digitseq/cl_asm_.cc: Likewise.
1535     * */Makefile.in: Added `override' in front of `CPPFLAGS +=' so
1536     one can say `make CPPFLAGS=-DFOOBAR'.
1537 kreckel 1.35
1538 kreckel 1.34 2001-03-26 Arvid Norberg <c99ang@cs.umu.se>
1539    
1540 kreckel 1.150 * src/base/random/cl_random_from.cc: ported to beos.
1541 kreckel 1.34
1542 kreckel 1.33 2001-03-05 Richard Kreckel <kreckel@ginac.de>
1543    
1544 kreckel 1.150 * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
1545 kreckel 1.33
1546 kreckel 1.32 2001-01-28 Richard Kreckel <kreckel@ginac.de>
1547    
1548 kreckel 1.150 * include/cln/number.h (cl_as_N): Remove bogus comment.
1549 kreckel 1.32
1550 kreckel 1.31 2001-01-22 Richard Kreckel <kreckel@ginac.de>
1551    
1552 kreckel 1.150 * configure.in: Make build in separate builddir possible (again).
1553 kreckel 1.31
1554     2001-01-22 Richard Kreckel <kreckel@ginac.de>
1555    
1556 kreckel 1.150 * include/cln/*.h: Change signatures of all classes' methods
1557     cln::cl_foo::operator new(size_t, cl_foo*) to
1558     cln::cl_foo::operator new(size_t, void*) so one can declare
1559     std::vector<cln::cl_foo>, std::list<cln::cl_foo> etc. for
1560     certain STL implementations (like libstdc++-v3).
1561 kreckel 1.31
1562 kreckel 1.30 2000-12-14 Richard Kreckel <kreckel@ginac.de>
1563    
1564 kreckel 1.150 * Version 1.1 released.
1565 kreckel 1.30
1566     2000-12-13 Richard Kreckel <kreckel@ginac.de>
1567    
1568 kreckel 1.150 * */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
1569 kreckel 1.30
1570 kreckel 1.29 2000-12-05 Richard Kreckel <kreckel@ginac.de>
1571    
1572 kreckel 1.150 * Makefile.in, src/Makefile.in, doc/Makefile.in: Use mkdir -p.
1573     * include/cln/version.h.in, src/base/verion.cc: New files.
1574     * configure.in: Generate include/cln/version.h.
1575     * cln.m4: Rewrote it. Check result of cln-config without compiling.
1576     Do cross-check library version and header version information.
1577 kreckel 1.29
1578     2000-12-02 Christian Bauer <cbauer@ginac.de>
1579    
1580 kreckel 1.150 * Makefile.in, src/Makefile.in, doc/Makefile.in: Added $DESTDIR.
1581     * cln.m4, cln.spec.in: some minor fixes with respect to RPM package
1582     building.
1583 kreckel 1.29
1584 kreckel 1.28 2000-11-24 Richard Kreckel <kreckel@ginac.de>
1585    
1586 kreckel 1.150 * */*: Removed problematic stdin, stdout and stderr definitions.
1587     Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
1588 kreckel 1.28
1589 haible 1.27 2000-11-20 Bruno Haible
1590    
1591 kreckel 1.150 * cln-config.1: change title.
1592 haible 1.27
1593 kreckel 1.26 2000-11-18 Richard Kreckel <kreckel@ginac.de>
1594    
1595 kreckel 1.150 * cln.m4: New file.
1596     * doc/cln.tex: Document package tools cln-config and cln.m4.
1597     * Makefile.in: Care about cln.m4.
1598 kreckel 1.26
1599 kreckel 1.25 2000-11-17 Richard Kreckel <kreckel@ginac.de>
1600    
1601 kreckel 1.150 * cln-config.1: added manpage, as required by a couple of distros.
1602     * Makefile.in, doc/Makefile.in: target install depends on installdirs.
1603 kreckel 1.25
1604 kreckel 1.24 2000-11-16 Richard Kreckel <kreckel@ginac.de>
1605    
1606 kreckel 1.150 * autoconf/aclocal.m4 (CL_GMP_SET_UINTD): New macro...
1607     * configure.in: ...used here.
1608     * include/cln/config.h.in: Put in macros defined by CL_GMP_SET_UINTD...
1609     * include/cln/types.h: ...used here.
1610     * autoconf/acgeneral.m4, autoconf/aclocal.m4: Adhere to FHS.
1611 kreckel 1.24
1612 kreckel 1.23 2000-11-13 Richard Kreckel <kreckel@ginac.de>
1613    
1614 kreckel 1.150 * src/base/digitseq/cl_asm.h: Test if (intDsize==32) for MIPS and HPPA,
1615     in order to guard against an accidented configuration.
1616     * src/integer/conv/cl_I_to_digits.cc (table): member b_hoch_k of
1617     struct power_table_entry initialized as ULL instead of as UL, if
1618     intDsize==64 (caused misprinting on MIPS w/ GMP).
1619     * src/base/cl_macros.h (minus_bitm, bitc): implemented ULL, if
1620     HAVE_FAST_LONGLONG.
1621     * src/integer/bitwise/cl_I_mkfx.cc (mkf_extract): Likewise.
1622     * src/integer/conv/cl_I_from_L.cc (cl_I_from_L): Added trival
1623     generation of Bignum for intDsize==64 and a notreached-check at end.
1624     * autoconf/config.guess, autoconf/config.sub: updated from FSF.
1625     * include/cln/config.h.in: Prepared support for IA64.
1626     * include/cln/types.h: Likewise.
1627     * include/cln/object.h: Likewise.
1628     * include/cln/modules.h: Likewise.
1629     * src/base/cl_macros.h (nonreturning_function): Likewise (NUE's
1630     compiler claims __GNUC_MINOR__==9).
1631 kreckel 1.23
1632     2000-11-03 Richard Kreckel <kreckel@ginac.de>
1633    
1634 kreckel 1.150 * src/base/cl_macros.h (bit, minus_bit): changed criterion for ULL from
1635     HAVE_DD to HAVE_FAST_LONGLONG.
1636     * src/base/cl_macros.h (bitm): implemented ULL, if HAVE_FAST_LONGLONG.
1637     * src/base/cl_low.h: actually no need to include "cln/types.h" here.
1638     * src/base/cl_low.h (logcount_64): always ULL, independent of HAVE_DD.
1639     * src/base/random/cl_UL_random.cc (random32): a is always ULL.
1640 kreckel 1.23
1641 kreckel 1.22 2000-11-01 Richard Kreckel <kreckel@ginac.de>
1642    
1643 kreckel 1.150 * include/cln/object.h (cl_combine): define additional signatures, if
1644     HAVE_LONGLONG is defined, in order to keep the compiler happy.
1645     * src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
1646     * src/base/cl_macros.h (bit): ...for this macro...
1647     * src/base/cl_macros.h (minus_bit): ...and this one.
1648     * src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
1649     * src/base/cl_low.h (logcount_64): ...for this macro.
1650     * src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
1651     * src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug.
1652     that turned up when intDsize==32 and cl_word_size==64.
1653     * src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
1654     to uint64 that turned up when intDsize==32 and cl_word_size==64.
1655 kreckel 1.22
1656 kreckel 1.21 2000-10-29 Richard Kreckel <kreckel@ginac.de>
1657    
1658 kreckel 1.150 * src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
1659     #undef stderr, if it's defined so cln::stderr isn't confused.
1660     * src/base/input/cl_read_globals.cc: stdin should not be extern.
1661 kreckel 1.21
1662 kreckel 1.19 2000-09-05 Richard Kreckel <kreckel@ginac.de>
1663    
1664 kreckel 1.150 * include/cln/number.h (As): Fix it in namespace by suffixing `_As'
1665     to the appropiate method instead of prefixing `as_'.
1666     * src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
1667     * src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
1668     * src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
1669     * src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
1670     * src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
1671     * src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
1672     * src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
1673     * src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
1674     * src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
1675 kreckel 1.20
1676     2000-09-05 Richard Kreckel <kreckel@ginac.de>
1677    
1678 kreckel 1.150 * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
1679     the 0^y cases.
1680 kreckel 1.19
1681 kreckel 1.18 2000-08-30 Richard Kreckel <kreckel@ginac.de>
1682    
1683 kreckel 1.150 * include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
1684     Rearranged for a clearer distinction between macros and remaining
1685     identifiers, so Cint can parse it smoothly.
1686 kreckel 1.18
1687 kreckel 1.17 2000-08-29 Richard Kreckel <kreckel@ginac.de>
1688    
1689 kreckel 1.150 * include/cln/number.h, the(const cl_number& x): New template
1690     function.
1691 kreckel 1.17
1692 kreckel 1.18 2000-08-29 Richard Kreckel <kreckel@ginac.de>
1693    
1694 kreckel 1.150 * */*: Pushed CLN into a namespace `cln'. While doing so, the
1695     following identifiers got their poor-man's namespace (i.e. the
1696     prefix `cl_') stripped off:
1697     cl_catalanconst() -> catalanconst()
1698     cl_compare() -> compare()
1699     cl_cos_sin() -> cos_sin()
1700     cl_cos_sin_t -> cos_sin_t
1701     cl_cosh_sinh() -> cosh_sinh()
1702     cl_cosh_sinh_t -> cosh_sinh_t
1703     cl_decoded_dfloat -> decoded_dfloat
1704     cl_decoded_ffloat -> decoded_ffloat
1705     cl_decoded_float -> decoded_float
1706     cl_decoded_lfloat -> decoded_lfloat
1707     cl_decoded_sfloat -> decoded_sfloat
1708     cl_default_float_format -> default_float_format
1709     cl_default_print_flags -> default_print_flags
1710     cl_default_random_state -> default_random_state
1711     cl_double_approx() -> double_approx()
1712     cl_equal() -> equal()
1713     cl_equal_hashcode() -> equal_hashcode()
1714     cl_eulerconst() -> eulerconst()
1715     cl_find_modint_ring() -> find_modint_ring()
1716     cl_find_univpoly_ring() -> find_univ_poly_ring()
1717     cl_float_approx() -> float_approx
1718     cl_float_format() -> float_format()
1719     cl_float_format_t -> float_format_t
1720     cl_free_hook() -> free_hook()
1721     cl_hermite() -> hermite()
1722     cl_laguerre() -> laguerre()
1723     cl_legendre() -> legandre()
1724     cl_malloc_hook() -> malloc_hook()
1725     cl_pi() -> pi()
1726     cl_tschebychev() -> tschebychev()
1727     cl_zeta() -> zeta()
1728     NB: For functions these changes includes all signatures.
1729     * include/*: moved to include/cln/*, stripped `cl_' off filenames.
1730     * cln-config.in: new file.
1731 kreckel 1.18
1732 haible 1.16 2000-08-26 Bruno Haible <haible@clisp.cons.org>
1733    
1734 kreckel 1.150 * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
1735     value, not parens.
1736 haible 1.16
1737 haible 1.15 2000-08-18 Bruno Haible <haible@clisp.cons.org>
1738    
1739 kreckel 1.150 * include/cl_univpoly_modint.h: Fix typo.
1740 haible 1.15
1741 haible 1.14 2000-07-13 Bruno Haible <haible@clisp.cons.org>
1742    
1743 kreckel 1.150 * src/float/input/cl_F_read_stream.cc (number_char_p): Accept '_',
1744     used as precision marker for floats.
1745     Reported by Keith Briggs (in 1998) and Thomas Roessler.
1746     * src/integer/input/cl_I_read_stream.cc (number_char_p): Likewise.
1747     * src/rational/input/cl_RA_read_stream.cc (number_char_p): Likewise.
1748     * src/real/input/cl_R_read_stream.cc (number_char_p): Likewise.
1749     * src/complex/input/cl_N_read_stream.cc (number_char_p): Likewise.
1750 haible 1.14
1751 haible 1.13 2000-06-22 Bruno Haible <haible@clisp.cons.org>
1752    
1753 kreckel 1.150 * include/cl_object.h: Rename cl_word_size to cl_pointer_size.
1754     * include/cl_types.h (HAVE_FAST_LONGLONG): Also define on Irix6
1755     with N32 ABI.
1756     (cl_word_size): New macro.
1757     * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
1758     cl_word_size.
1759 haible 1.13
1760 haible 1.11 2000-05-31 Bruno Haible <haible@clisp.cons.org>
1761    
1762 kreckel 1.150 * tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
1763     From a sample that fails with gcc-2.95.2 on Sparc.
1764     * tests/exam_I_gcd.cc (integer_gcd_tests): Likewise.
1765 haible 1.11
1766 kreckel 1.10 2000-05-30 Richard Kreckel <kreckel@ginac.de>
1767    
1768 kreckel 1.150 * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
1769     New macros.
1770     * configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR,
1771     CL_VERSION_PATCHLEVEL): New definitions.
1772     * autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig,
1773     autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc).
1774     * src/Makefile.in, configure.in: release-variables renamed from
1775     CLN_* to CL_*.
1776     * configure.in: default to build both shared and static library
1777     (i.e. default to the most common behaviour).
1778 kreckel 1.10
1779 kreckel 1.9 2000-05-29 Richard Kreckel <kreckel@ginac.de>
1780    
1781 kreckel 1.150 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
1782     environment around the patch of 2000-05-23.
1783 kreckel 1.9
1784 haible 1.8 2000-05-29 Bruno Haible <haible@clisp.cons.org>
1785    
1786 kreckel 1.150 * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
1787     Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
1788 haible 1.8
1789 kreckel 1.7 2000-05-27 Richard Kreckel <kreckel@ginac.de>
1790    
1791 kreckel 1.150 * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
1792     src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
1793 kreckel 1.7
1794 kreckel 1.6 2000-05-24 Richard Kreckel <kreckel@ginac.de>
1795    
1796 kreckel 1.150 * autoconf/config.*: Updated to new version from FSF
1797     (the new libtool wants this).
1798     * src/Makefile.in: added $(LDFLAGS) to link step.
1799     * src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Readjusted
1800     break-even points.
1801 kreckel 1.6
1802 haible 1.5 2000-05-23 Bruno Haible <haible@clisp.cons.org>
1803    
1804 kreckel 1.150 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
1805     host_vendor, host_os correctly if $host has more than two hyphens.
1806 haible 1.5
1807 kreckel 1.4 2000-05-19 Richard Kreckel <kreckel@ginac.de>
1808    
1809 kreckel 1.150 * src/base/digitseq/cl_DS_mul.cc: Rearranged break-even points to
1810     better match present-day CPUs whenever GMP3 is used.
1811     * src/base/digitseq/cl_DS_div.cc: dto.
1812     * src/TUNING: Added comment about order of tuning.
1813     * configure, configure.in: Safer GMP3-detection.
1814     * INSTALL.generic: Clarified behaviour of --with-gmp.
1815     * autoconf/config.guess: updated from Clisp-2000-03-06 sources.
1816 kreckel 1.4
1817     2000-05-04 Richard Kreckel <kreckel@ginac.de>
1818    
1819 kreckel 1.150 * gmp/: removed completely. From now on we are going to link
1820     externally against libgmp3.0 or above!
1821     * configure, configure.in, Makefile.in, */Makeflags: removed support
1822     of internal gmp 2.0.2, like $GMP_INCLUDES, which should be done by
1823     setting $CPPFLAGS instead.
1824     * Makefile.in: Added libtool inter-library dependency for -lgmp and
1825     conforming interface versioning (-version-info).
1826     * autoconf/ltconfig, autoconf/ltmain.sh: Updated to newer versions
1827     from libtool 1.3.4.
1828 kreckel 1.4
1829 kreckel 1.3 2000-02-22 Bruno Haible <haible@clisp.cons.org>
1830    
1831 kreckel 1.150 * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
1832     parameter passing was changed for the MIPS n32 ABI.
1833 kreckel 1.3
1834 kreckel 1.2 2000-01-24 Richard Kreckel <kreckel@ginac.de>
1835    
1836 kreckel 1.150 * gmp/*: Replaced the complete mpn sources with the ones from
1837     Debian since they are maintained while the ones from FSF
1838     aren't and there were problems on some architectures, PowerPC
1839     in particular. See the file gmp/README.CLN. This way the
1840     hard links in this directory have vanished, they were causing
1841     trouble for people working in AFS. This became necessary for
1842     Debian, because there it woudn't compile on PPC.
1843 kreckel 1.2
1844 kreckel 1.1 2000-01-13 Richard Kreckel <kreckel@ginac.de>
1845    
1846 kreckel 1.150 * Version 1.0.3 released.
1847 kreckel 1.1
1848     2000-01-13 Richard Kreckel <kreckel@ginac.de>
1849    
1850 kreckel 1.150 * src/base/cl_macros.h (nonreturning_function): For egcs and newer
1851     use __attribute__ ((__noreturn__)) instead of the __volatile__
1852     storage class.
1853     (nonreturning): Remove macro.
1854     * include/*: Minor fixes to stop -ansi -pedantic from complaining.
1855     * include/cl_integer.h: (doublefactorial): New declaration.
1856     * src/integer/misc/combin/cl_I_doublefactorial.cc: New file.
1857 kreckel 1.1
1858     1999-12-18 Bruno Haible <haible@clisp.cons.org>
1859    
1860 kreckel 1.150 * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
1861     "cat", not "echo".
1862     * autoconf/ltconfig: Improve support for recent FreeBSD 3.
1863     * include/cl_GV.h (cl_GV_vectorops): Change return type from 'T' to
1864     'const T', to match definition in src/vector/cl_GV_number.cc.
1865     Reported by Duncan Simpson <dps@io.stargate.co.uk>.
1866     * gmp/mpn/Makefile.in (.S.lo): Use 'if', not '&&', because '&&' may
1867     yield return code 1.
1868 kreckel 1.1
1869     1999-09-07 Bruno Haible <haible@clisp.cons.org>
1870    
1871 kreckel 1.150 * Version 1.0.2 released.
1872 kreckel 1.1
1873     1999-09-06 Bruno Haible <haible@clisp.cons.org>
1874    
1875 kreckel 1.150 * src/rational/cl_RA.h (integerp, ratiop): Instead of returning a
1876     boolean expression, write alternatives ending with either
1877     "return cl_true;" or "return cl_false;". This way, g++ does a
1878     better job inlining it.
1879     * src/float/cl_F.h (longfloatp): Likewise.
1880     * src/real/cl_R.h (rationalp, integerp, floatp): Likewise.
1881     * src/complex/cl_C.h (realp, complexp): Likewise.
1882 kreckel 1.1
1883     1999-09-05 Bruno Haible <haible@clisp.cons.org>
1884    
1885 kreckel 1.150 * include/cl_integer.h (cl_equal_hashcode): New declaration.
1886     * include/cl_rational.h (cl_equal_hashcode): New declaration.
1887     * include/cl_sfloat.h (cl_equal_hashcode): New declaration.
1888     * include/cl_ffloat.h (cl_equal_hashcode): New declaration.
1889     * include/cl_dfloat.h (cl_equal_hashcode): New declaration.
1890     * include/cl_lfloat.h (cl_equal_hashcode): New declaration.
1891     * include/cl_float.h (cl_equal_hashcode): New declaration.
1892     * include/cl_real.h (cl_equal_hashcode): New declaration.
1893     * include/cl_complex.h (cl_equal_hashcode): New declaration.
1894     * src/base/cl_N.h (equal_hashcode_low, equal_hashcode_one): New macros.
1895     * src/integer/misc/cl_I_eqhashcode.cc: New file.
1896     * src/rational/misc/cl_RA_eqhashcode.cc: New file.
1897     * src/float/sfloat/misc/cl_SF_eqhashcode.cc: New file.
1898     * src/float/ffloat/misc/cl_FF_eqhashcode.cc: New file.
1899     * src/float/dfloat/misc/cl_DF_eqhashcode.cc: New file.
1900     * src/float/lfloat/misc/cl_LF_eqhashcode.cc: New file.
1901     * src/float/misc/cl_F_eqhashcode.cc: New file.
1902     * src/real/misc/cl_R_eqhashcode.cc: New file.
1903     * src/complex/misc/cl_C_eqhashcode.cc: New file.
1904     * doc/cln.tex: Document `cl_equal_hashcode'.
1905 kreckel 1.1
1906     1999-09-05 Bruno Haible <haible@clisp.cons.org>
1907    
1908 kreckel 1.150 * include/cl_ring.h (cl_number_ring_ops): Add `contains' member.
1909     (cl_number_ring): New class.
1910     (cl_specialized_number_ring<T>): Inherit from cl_number_ring.
1911     (instanceof): New function.
1912     * src/integer/ring/cl_I_ring.cc (cl_I_p): New function.
1913     * src/integer/misc/cl_I_as.cc (cl_I_p): Add comment.
1914     * src/rational/ring/cl_RA_ring.cc (cl_RA_p): New function.
1915     * src/rational/misc/cl_RA_as.cc (cl_RA_p): Add comment.
1916     * src/real/ring/cl_R_ring.cc (cl_R_p): New function.
1917     * src/real/misc/cl_R_as.cc (cl_R_p): Add comment.
1918     * src/complex/ring/cl_C_ring.cc (cl_N_p): New function.
1919     * src/complex/misc/cl_N_as.cc (cl_N_p): Add comment.
1920     * doc/cln.tex: Document `instanceof'.
1921 kreckel 1.1
1922     1999-09-05 Bruno Haible <haible@clisp.cons.org>
1923    
1924 kreckel 1.150 * include/cl_rational.h (numerator, denominator): New declarations.
1925     * src/rational/elem/cl_RA_numerator.cc: New file.
1926     * src/rational/elem/cl_RA_denominator.cc: New file.
1927     * include/cl_integer.h (numerator, denominator): New inline functions.
1928     * doc/cln.tex: Document `numerator' and `denominator'.
1929 kreckel 1.1
1930     1999-09-05 Bruno Haible <haible@clisp.cons.org>
1931    
1932 kreckel 1.150 * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
1933     in the integer case.
1934     * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
1935 kreckel 1.1
1936     1999-09-05 Bruno Haible <haible@clisp.cons.org>
1937    
1938 kreckel 1.150 * include/cl_config.h.in: Support for sparc64 CPU.
1939     * include/cl_modules.h: Likewise.
1940     * include/cl_types.h: Likewise.
1941     * include/cl_object.h: Likewise.
1942     * include/cl_GV.h: Likewise.
1943     * src/Makefile.in: Likewise.
1944     * src/base/cl_alloca.h: Likewise.
1945     * src/base/cl_macros.h: Likewise.
1946     * src/base/cl_sysdep.h: Likewise.
1947     * src/base/cl_low.h: Likewise.
1948     * src/base/digitseq/cl_asm.h: Likewise.
1949     * src/base/digitseq/cl_asm_.cc: Likewise.
1950     * src/base/digitseq/cl_asm_sparc64.h: New file.
1951     * src/base/digitseq/cl_asm_sparc64_.cc: New file.
1952     * src/modinteger/cl_MI_int.h: Support for sparc64 CPU.
1953     * src/polynomial/elem/cl_UP_no_ring.cc: Likewise.
1954     * src/polynomial/elem/cl_UP_GF2.h: Likewise.
1955     * src/polynomial/elem/cl_asm_GF2.cc: Likewise.
1956 kreckel 1.1
1957     1999-09-04 Bruno Haible <haible@clisp.cons.org>
1958    
1959 kreckel 1.150 * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
1960     Use the `orn' instruction.
1961 kreckel 1.1
1962     1999-08-14 Bruno Haible <haible@clisp.cons.org>
1963    
1964 kreckel 1.150 Assume all platforms have <stdlib.h> and clock_t.
1965     * configure.in: Don't call CL_STDLIB_H and CL_CLOCK_T.
1966     * src/base/cl_base_config.h.in (CLOCK_T): Remove definition.
1967     * src/base/random/cl_random_from.cc: Use clock_t instead of CLOCK_T.
1968     * src/timing/cl_t_config.h.in (CLOCK_T): Remove definition.
1969     * src/timing/cl_t_current2.cc: Use clock_t instead of CLOCK_T.
1970 kreckel 1.1
1971     1999-07-18 Bruno Haible <haible@clisp.cons.org>
1972    
1973 kreckel 1.150 * gmp/config.guess: Link to autoconf/config.guess.
1974     gmp/config.sub: Link to autoconf/config.sub.
1975     Needed for Win32 platforms.
1976 kreckel 1.1
1977     1999-07-17 Bruno Haible <haible@clisp.cons.org>
1978    
1979 kreckel 1.150 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
1980     "sparc64" according to the C compiler, not the uname result.
1981 kreckel 1.1
1982     1999-06-17 Bruno Haible <haible@clisp.cons.org>
1983    
1984 kreckel 1.150 * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
1985     COUNTER_LOOPS version, fortunately not used yet.
1986 kreckel 1.1
1987 kreckel 1.150 * include/cl_modules.h: Prepare for gcc version 3.
1988 kreckel 1.1
1989     1999-06-12 Bruno Haible <haible@clisp.cons.org>
1990    
1991 kreckel 1.150 * src/rational/elem/cl_RA_plus.cc, src/rational/elem/cl_RA_minus.cc:
1992     Change the last call from I_I_to_RT to I_I_to_RA.
1993 kreckel 1.1
1994     1999-06-09 Bruno Haible <haible@clisp.cons.org>
1995    
1996 kreckel 1.150 * Version 1.0.1 released.
1997 kreckel 1.1
1998     1999-06-09 Bruno Haible <haible@clisp.cons.org>
1999    
2000 kreckel 1.150 * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
2001     intDsize==64.
2002 kreckel 1.1
2003     1999-06-08 Bruno Haible <haible@clisp.cons.org>
2004    
2005 kreckel 1.150 * autoconf/intparam.c (printf_underscored): Change argument type to
2006     `const char*'.
2007     * include/cl_modules.h (CL_OUTPUT_LABEL, CL_JUMP_TO): New macros.
2008     (CL_PROVIDE, CL_PROVIDE_END): Use them.
2009     * include/cl_string.h (cl_heap_string::operator new): Return 1, not 0.
2010     * include/cl_GV.h (cl_GV_inner<T>::operator new): Likewise.
2011     * src/base/ring/cl_no_ring.cc (dummy_canonhom, dummy_expt_pos): Don't
2012     cast a cl_I to void here. Works around a bug in g++-2.95.
2013     * src/complex/misc/cl_C_class.cc: Include "cl_C.h".
2014     * src/polynomial/elem/cl_UP_no_ring.cc (dummy_canonhom,
2015     dummy_expt_pos): Don't cast a cl_I to void here. Works around a bug
2016     in g++-2.95.
2017     * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
2018     macro.
2019     * src/rational/misc/cl_RA_class.cc: Include "cl_RA.h".
2020     * src/vector/cl_GV_I.cc (cl_heap_GV_I_general::operator new,
2021     DEFINE_cl_heap_GV_I_bits): Return 1, not 0.
2022     * src/vector/cl_GV_number.cc (cl_heap_GV_number_general::operator new):
2023     Likewise.
2024 kreckel 1.1
2025     1999-06-01 Bruno Haible <haible@clisp.cons.org>
2026    
2027 kreckel 1.150 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
2028     variants to alpha.
2029 kreckel 1.1
2030     1999-05-29 Bruno Haible <haible@clisp.cons.org>
2031    
2032 kreckel 1.150 * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
2033     OpenBSD like NetBSD.
2034     * src/base/digitseq/cl_asm_sparc_.cc (DECLARE_FUNCTION): Likewise.
2035     * src/base/digitseq/cl_asm_m68k_.cc (DECLARE_FUNCTION): Treat
2036     OpenBSD like NetBSD, and Linux/ELF like SVR4.
2037 kreckel 1.1
2038     1999-05-16 Bruno Haible <haible@clisp.cons.org>
2039    
2040 kreckel 1.150 * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
2041     syntax on AIX systems and new assembler syntax on non-AIX systems.
2042 kreckel 1.1
2043     1999-05-01 Bruno Haible <haible@clisp.cons.org>
2044    
2045 kreckel 1.150 * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
2046     version from GNU CVS.
2047 kreckel 1.1
2048     1999-04-24 Bruno Haible <haible@clisp.cons.org>
2049    
2050 kreckel 1.150 * src/integer/bitwise/cl_I_logand.cc (logand): Optimize the case when
2051     either operand is a positive fixnum, O(1) instead of O(N).
2052     * src/integer/bitwise/cl_I_lognand.cc (lognand): Likewise.
2053     * src/integer/bitwise/cl_I_logandc2.cc (logandc2): Likewise for the
2054     first operand.
2055 kreckel 1.1
2056     1999-04-14 Bruno Haible <haible@clisp.cons.org>
2057    
2058 kreckel 1.150 * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add check whether
2059     ctor/dtor needs to be exported.
2060     * include/cl_config.h.in (CL_NEED_GLOBALIZE_CTORDTOR): New macro.
2061     * include/cl_modules.h (CL_GLOBALIZE_JUMP_LABEL): Renamed from
2062     CL_GLOBALIZE_LABEL.
2063     (CL_GLOBALIZE_LABEL): New macro.
2064     (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
2065     (CL_PROVIDE): Update.
2066 kreckel 1.1
2067     1999-04-12 Bruno Haible <haible@clisp.cons.org>
2068    
2069 kreckel 1.150 * src/Makefile.in ($(ASMFILES_S)): On HPPA, ignore preprocessing
2070     errors ("unterminated string or character constant").
2071     ($(ASMFILES_LO)): On HPPA, try with various settings of
2072     COMPILER_PATH, in order to try /usr/ccs/bin/as and /bin/as.
2073 kreckel 1.1
2074     1999-04-11 Bruno Haible <haible@clisp.cons.org>
2075    
2076 kreckel 1.150 * INSTALL: Mention gmp problems on MIPS.
2077     * doc/cln.tex: Likewise.
2078 kreckel 1.1
2079     1999-03-24 Mumit Khan <khan@xraylith.wisc.edu>
2080    
2081 kreckel 1.150 * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
2082     the source tree.
2083     * include/cl_modules.h (CL_GLOBALIZE_LABEL): Define for Win32.
2084     (CL_GLOBALIZE_ASM_LABEL): New macro.
2085     (CL_PROVIDE): Use it.
2086     * src/base/random/cl_random_from.cc: Handle WIN32.
2087     * src/timing/cl_t_current.cc: Likewise.
2088 kreckel 1.1
2089     1999-03-15 Bruno Haible <haible@clisp.cons.org>
2090    
2091 kreckel 1.150 * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
2092     (main8): Adapt for C++.
2093 kreckel 1.1
2094     1999-03-09 Bruno Haible <haible@clisp.cons.org>
2095    
2096 kreckel 1.150 * INSTALL: Mention egcs-1.1 problems on Sparc.
2097     * doc/cln.tex: Likewise.
2098 kreckel 1.1
2099     1999-03-08 Bruno Haible <haible@clisp.cons.org>
2100    
2101 kreckel 1.150 * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
2102     messages.
2103 kreckel 1.1
2104     1999-02-25 Bruno Haible <haible@clisp.cons.org>
2105    
2106 kreckel 1.150 * autoconf/aclocal.m4: In test programs, declare `int main()', not
2107     `main()'.
2108 kreckel 1.1
2109 kreckel 1.150 * lidia-interface/src/interfaces/integers/cln/bigint.c
2110     (bigint_to_string): Fix for negative arguments.
2111 kreckel 1.1
2112 kreckel 1.150 * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
2113     * src/base/cl_alloca.h: Likewise.
2114 kreckel 1.1
2115 kreckel 1.150 * src/base/cl_low.h: Eliminate CLISP style "# " comments.
2116     * src/base/digitseq/cl_asm_arm_.cc,
2117     src/base/digitseq/cl_asm_mips_.cc,
2118     src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
2119    
2120     * src/modinteger/cl_MI_pow2.h,
2121     src/modinteger/cl_MI_pow2m1.h,
2122     src/modinteger/cl_MI_pow2p1.h: Workaround g++-2.7.2 inlining bug.
2123 kreckel 1.1
2124     1999-01-18 Bruno Haible <haible@clisp.cons.org>
2125    
2126 kreckel 1.150 * autoconf/acgeneral.m4,
2127     autoconf/acspecific.m4: Upgrade to autoconf-2.13.
2128     * autoconf/config.guess, autoconf/config.sub: Likewise.
2129     * autoconf/aclocal.m4 (CL_ALLOCA): Test for _MSC_VER and alloca being
2130     a macro. Use ${ac_objext}.
2131     * src/base/cl_macros.h (alloca): Put _MSC_VER test before the others,
2132     conforming with CL_ALLOCA.
2133 kreckel 1.1
2134     1999-01-12 Bruno Haible <haible@clisp.cons.org>
2135    
2136 kreckel 1.150 * Version 1.0 released.
2137 kreckel 1.1

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.15