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