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