/[cln]/ChangeLog
ViewVC logotype

Contents of /ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.208 - (show annotations)
Sat Feb 9 16:44:17 2008 UTC (5 years, 4 months ago) by kreckel
Branch: MAIN
Changes since 1.207: +9 -0 lines
Avoid compiler warning about ignored 'flatten' attribute directive.

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

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.15