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