/[cln]/ChangeLog
ViewVC logotype

Contents of /ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.205 - (show annotations)
Mon Feb 4 23:51:56 2008 UTC (5 years, 3 months ago) by kreckel
Branch: MAIN
Changes since 1.204: +6 -0 lines
        Fix cl_F output of more than 2^32 decimal digits:
        * src/base/string/cl_sstring.cc (cl_sstring): make len uintC.
        * src/base/string/cl_sstring.h: Likewise.

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

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