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