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