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