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