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