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