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