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