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