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