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