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