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