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