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