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