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