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