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