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