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