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