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