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