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