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