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