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