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