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