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