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