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