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