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