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