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