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