/[cln]/ChangeLog
ViewVC logotype

Diff of /ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.52 by kreckel, Mon Dec 31 19:01:42 2001 UTC revision 1.206 by kreckel, Wed Feb 6 08:11:34 2008 UTC
# Line 1  Line 1 
1    2007-02-06  Richard B. Kreckel  <kreckel@ginac.de>
2    
3            Fix crash in output of huge numbers:
4            * src/integer/conv/cl_I_to_digits.cc: Make erglen uintC.
5            * src/integer/output/cl_I_print_string.cc: Make B_baselen uintC.
6    
7    2007-02-04  Richard B. Kreckel  <kreckel@ginac.de>
8    
9            Fix cl_F output of more than 2^32 decimal digits:
10            * src/base/string/cl_sstring.cc (cl_sstring): make len uintC.
11            * src/base/string/cl_sstring.h: Likewise.
12    
13    2007-01-23  Bruno Haible  <bruno@clisp.org>
14    
15            Allow 64-bit builds on MacOS X 10.5.
16            * m4/general.m4 (CL_CANONICAL_HOST_CPU): Test for x86_64 CPU if
17            "uname -m" returns "i386".
18            Reported by Ron Garret <ron@flownet.com>.
19    
20    2007-01-20  Bruno Haible  <bruno@clisp.org>
21    
22            Avoid some gcc warnings.
23            * autoconf/floatparam.c (flipped_double): Use a union instead of a
24            type-punning cast.
25            * include/cln/number.h (union ffloatjanus, union dfloatjanus): Remove
26            declarations.
27            (cl_float_to_FF_pointer, cl_double_to_DF_pointer): Change argument
28            type.
29            (CL_DEFINE_FLOAT_CONSTRUCTOR, CL_DEFINE_DOUBLE_CONSTRUCTOR): Update.
30            * src/float/ffloat/cl_FF.h (cl_float_to_FF_pointer): Change argument
31            type.
32            (cl_float_to_FF): Remove function.
33            * src/float/ffloat/conv/cl_FF_from_float.cc (FAST_FLOAT): Define.
34            (cl_float_to_FF_pointer): Change argument type.
35            * src/float/dfloat/cl_DF.h (cl_double_to_DF_pointer): Change argument
36            type.
37            (cl_double_to_DF): Remove function.
38            * src/float/dfloat/conv/cl_DF_from_double.cc (FAST_DOUBLE): Define.
39            (cl_double_to_DF_pointer): Change argument type.
40            * src/float/lfloat/cl_LF_impl.h (LF_decode): Mark the mantlen_zuweisung
41            assignment as possibly unused.
42            * src/base/cl_low.h (mulu32): Mark the hi_zuweisung assignment as
43            possibly unused.
44            * src/float/transcendental/cl_LF_zeta_int.cc (compute_zeta_cvz2):
45            Remove unused local variable.
46    
47    2007-01-19  Richard B. Kreckel  <kreckel@ginac.de>
48    
49            * Version 1.2.0 released.
50    
51    2007-01-19  Richard B. Kreckel  <kreckel@ginac.de>
52    
53            * doc/Makefile.in: texi2html -split_chapter doesn't generate
54            cln_toc.html any more.
55            * doc/cln.texi: Add table of contents in TeX output.
56    
57    2007-01-18  Alexei Sheplyakov  <varg@theor.jinr.ru>
58    
59            Fix linking problems on some platforms caused by inline/non-inline
60            versions of same functions (obsoletes MAYBE_INLINE):
61            * src/base/cl_maybe_inline.h: New file.
62            * src/base/cl_inline2.h: New file.
63            * src/base/cl_inline.h: New file.
64            * src/base/string/cl_st_make0.h: New file.
65            * src/base/cl_macros.h: Pull in cl_maybe_inline.h.
66            * src/base/string/cl_st_concat1.cc: Use new CL_INLINE macros and the
67            new *_inline functions.
68            * src/base/string/cl_st_concat2.cc: Likewise.
69            * src/base/string/cl_st_concat3.cc: Likewise.
70            * src/complex/algebraic/cl_C_abs.cc: Likewise.
71            * src/complex/algebraic/cl_C_abs_aux.cc: Likewise.
72            * src/complex/algebraic/cl_C_signum.cc: Likewise.
73            * src/complex/algebraic/cl_DF_hypot.cc: Likewise.
74            * src/complex/algebraic/cl_FF_hypot.cc: Likewise.
75            * src/complex/algebraic/cl_LF_hypot.cc: Likewise.
76            * src/complex/algebraic/cl_SF_hypot.cc: Likewise.
77            * src/complex/transcendental/cl_C_acosh.cc: Likewise.
78            * src/complex/transcendental/cl_C_asinh_aux.cc: Likewise.
79            * src/complex/transcendental/cl_C_atanh_aux.cc: Likewise.
80            * src/float/dfloat/division/cl_DF_fceil.cc: Likewise.
81            * src/float/dfloat/elem/cl_DF_div.cc: Likewise.
82            * src/float/dfloat/elem/cl_DF_ffloor.cc: Likewise.
83            * src/float/dfloat/elem/cl_DF_minusp.cc: Likewise.
84            * src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
85            * src/float/dfloat/elem/cl_DF_plusp.cc: Likewise.
86            * src/float/dfloat/elem/cl_DF_zerop.cc: Likewise.
87            * src/float/dfloat/misc/cl_DF_abs.cc: Likewise.
88            * src/float/dfloat/misc/cl_DF_digits.cc: Likewise.
89            * src/float/dfloat/misc/cl_DF_eqhashcode.cc: Likewise.
90            * src/float/dfloat/misc/cl_DF_exponent.cc: Likewise.
91            * src/float/dfloat/misc/cl_DF_idecode.cc: Likewise.
92            * src/float/dfloat/misc/cl_DF_precision.cc: Likewise.
93            * src/float/dfloat/misc/cl_DF_sign.cc: Likewise.
94            * src/float/dfloat/misc/cl_DF_signum.cc: Likewise.
95            * src/float/elem/cl_F_minusp.cc: Likewise.
96            * src/float/elem/cl_F_plusp.cc: Likewise.
97            * src/float/elem/cl_F_zerop.cc: Likewise.
98            * src/float/ffloat/division/cl_FF_fceil.cc: Likewise.
99            * src/float/ffloat/elem/cl_FF_div.cc: Likewise.
100            * src/float/ffloat/elem/cl_FF_ffloor.cc: Likewise.
101            * src/float/ffloat/elem/cl_FF_minusp.cc: Likewise.
102            * src/float/ffloat/elem/cl_FF_mul.cc: Likewise.
103            * src/float/ffloat/elem/cl_FF_plusp.cc: Likewise.
104            * src/float/ffloat/elem/cl_FF_zerop.cc: Likewise.
105            * src/float/ffloat/misc/cl_FF_abs.cc: Likewise.
106            * src/float/ffloat/misc/cl_FF_digits.cc: Likewise.
107            * src/float/ffloat/misc/cl_FF_eqhashcode.cc: Likewise.
108            * src/float/ffloat/misc/cl_FF_exponent.cc: Likewise.
109            * src/float/ffloat/misc/cl_FF_idecode.cc: Likewise.
110            * src/float/ffloat/misc/cl_FF_precision.cc: Likewise.
111            * src/float/ffloat/misc/cl_FF_sign.cc: Likewise.
112            * src/float/ffloat/misc/cl_FF_signum.cc: Likewise.
113            * src/float/lfloat/division/cl_LF_fceil.cc: Likewise.
114            * src/float/lfloat/elem/cl_LF_compare.cc: Likewise.
115            * src/float/lfloat/elem/cl_LF_ffloor.cc: Likewise.
116            * src/float/lfloat/elem/cl_LF_minusp.cc: Likewise.
117            * src/float/lfloat/elem/cl_LF_plusp.cc: Likewise.
118            * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
119            * src/float/lfloat/elem/cl_LF_zerop.cc: Likewise.
120            * src/float/lfloat/misc/cl_LF_abs.cc: Likewise.
121            * src/float/lfloat/misc/cl_LF_digits.cc: Likewise.
122            * src/float/lfloat/misc/cl_LF_eqhashcode.cc: Likewise.
123            * src/float/lfloat/misc/cl_LF_exponent.cc: Likewise.
124            * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
125            * src/float/lfloat/misc/cl_LF_precision.cc: Likewise.
126            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
127            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
128            * src/float/lfloat/misc/cl_LF_sign.cc: Likewise.
129            * src/float/lfloat/misc/cl_LF_signum.cc: Likewise.
130            * src/float/misc/cl_F_abs.cc: Likewise.
131            * src/float/misc/cl_F_digits.cc: Likewise.
132            * src/float/misc/cl_F_eqhashcode.cc: Likewise.
133            * src/float/misc/cl_F_exponent.cc: Likewise.
134            * src/float/misc/cl_F_idecode.cc: Likewise.
135            * src/float/misc/cl_F_precision.cc: Likewise.
136            * src/float/misc/cl_F_sign.cc: Likewise.
137            * src/float/misc/cl_F_signum.cc: Likewise.
138            * src/float/sfloat/division/cl_SF_fceil.cc: Likewise.
139            * src/float/sfloat/division/cl_SF_ffloor.cc: Likewise.
140            * src/float/sfloat/elem/cl_SF_compare.cc: Likewise.
141            * src/float/sfloat/elem/cl_SF_minus.cc: Likewise.
142            * src/float/sfloat/elem/cl_SF_minusp.cc: Likewise.
143            * src/float/sfloat/elem/cl_SF_plusp.cc: Likewise.
144            * src/float/sfloat/elem/cl_SF_uminus.cc: Likewise.
145            * src/float/sfloat/elem/cl_SF_zerop.cc: Likewise.
146            * src/float/sfloat/misc/cl_SF_abs.cc: Likewise.
147            * src/float/sfloat/misc/cl_SF_digits.cc: Likewise.
148            * src/float/sfloat/misc/cl_SF_eqhashcode.cc: Likewise.
149            * src/float/sfloat/misc/cl_SF_exponent.cc: Likewise.
150            * src/float/sfloat/misc/cl_SF_idecode.cc: Likewise.
151            * src/float/sfloat/misc/cl_SF_precision.cc: Likewise.
152            * src/float/sfloat/misc/cl_SF_sign.cc: Likewise.
153            * src/float/sfloat/misc/cl_SF_signum.cc: Likewise.
154            * src/float/transcendental/cl_F_atanhx.cc: Likewise.
155            * src/float/transcendental/cl_F_atanx.cc: Likewise.
156            * src/float/transcendental/cl_F_exp.cc: Likewise.
157            * src/float/transcendental/cl_F_expx.cc: Likewise.
158            * src/float/transcendental/cl_F_lnx.cc: Likewise.
159            * src/float/transcendental/cl_F_sinhx.cc: Likewise.
160            * src/float/transcendental/cl_F_sinx.cc: Likewise.
161            * src/float/transcendental/cl_F_tan.cc: Likewise.
162            * src/float/transcendental/cl_F_tanh.cc: Likewise.
163            * src/integer/conv/cl_I_from_DS.cc: Likewise.
164            * src/integer/conv/cl_I_from_NDS.cc: Likewise.
165            * src/integer/conv/cl_I_from_NUDS.cc: Likewise.
166            * src/integer/conv/cl_I_from_UDS.cc: Likewise.
167            * src/integer/misc/cl_I_eqhashcode.cc: Likewise.
168            * src/integer/misc/cl_I_signum.cc: Likewise.
169            * src/integer/ring/cl_I_ring.cc: Likewise.
170            * src/rational/elem/cl_RA_minusp.cc: Likewise.
171            * src/rational/misc/cl_RA_eqhashcode.cc: Likewise.
172            * src/rational/misc/cl_RA_signum.cc: Likewise.
173            * src/rational/ring/cl_RA_ring.cc: Likewise.
174            * src/real/algebraic/cl_RA_sqrt.cc: Likewise.
175            * src/real/algebraic/cl_R_sqrt.cc: Likewise.
176            * src/real/conv/cl_F_from_R_def.cc: Likewise.
177            * src/real/elem/cl_R_minusp.cc: Likewise.
178            * src/real/elem/cl_R_zerop.cc: Likewise.
179            * src/real/misc/cl_R_eqhashcode.cc: Likewise.
180            * src/real/misc/cl_R_signum.cc: Likewise.
181            * src/real/transcendental/cl_R_tan.cc: Likewise.
182            * src/real/transcendental/cl_R_tanh.cc: Likewise.
183            * src/base/string/cl_st_make0.cc: Remove obsolete MAYBE_INLINE.
184            * src/rational/misc/Makeflags: Help compiler include cl_I_eqhashcode.cc.
185    
186    2008-01-15  Bruno Haible  <bruno@clisp.org>
187    
188            * doc/cln.texi: Renamed from doc/cln.tex. Add @node lines and @menu
189            lists.
190            * doc/addnodes.el: Remove file.
191            * doc/Makefile.in (${PACKAGE}.texi): Remove rule.
192            (EMACS): Remove variable.
193            (maintainer-clean): Don't remove ${PACKAGE}.texi.
194            Reported by Alexei Sheplyakov <varg@theor.jinr.ru>.
195    
196    2008-01-11  Richard B. Kreckel  <kreckel@ginac.de>
197    
198            * include/cln/float.h (cos_sin_t, cosh_sinh_t): Add default ctor.
199    
200    2008-01-11  Richard B. Kreckel  <kreckel@ginac.de>
201    
202            Make some functions more memory efficient:
203            * src/float/transcendental/cl_LF_tran.h (eval_rational_series): The
204            evaluation of streamed rational series may profit from shift-counting Q,
205            too. Introduce a template parameter to determine whether shift-counting
206            is to be used or not.
207            * src/float/transcendental/cl_LF_ratseries_pqb.cc: Introduce template
208            parameter.
209            * src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise.
210            * src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise.
211            * src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise.
212            * src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise.
213            * src/float/transcendental/cl_LF_ratseries_q.cc: Likewise, added
214            overload for streamed expansion.
215            * src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise.
216            * src/float/transcendental/cl_LF_ratseries_pq.cc: Introduce template
217            parameter, added overload for streamed expansion using shift-counts.
218            * src/float/transcendental/cl_LF_zeta3.cc: Adapt to above changes.
219            * src/float/transcendental/cl_LF_pi.cc: Likewise.
220            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
221            * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
222            * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
223            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
224            * src/float/transcendental/cl_LF_atanh_recip.cc: Use streamed series.
225            * src/float/transcendental/cl_LF_atan_recip.cc: Likewise.
226            * src/float/transcendental/cl_LF_exp1.cc: Likewise.
227            * src/float/transcendental/cl_LF_exp_aux.cc: Likewise.
228            * src/float/transcendental/cl_LF_ratseries.cc: Removed.
229    
230    2008-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
231                Richard B. Kreckel  <kreckel@ginac.de>
232    
233            Cater to the fact that g++ 4.3 will use a different naming for
234            the global constructor suffix in shared and static objects.
235            * m4/c++-constructors.m4 (CL_GLOBAL_CONSTRUCTORS): Add test for
236            the global constructor suffix, define CL_GLOBAL_CONSTRUCTOR_SUFFIX_PIC
237            and CL_GLOBAL_CONSTRUCTOR_SUFFIX_NOPIC appropriately.
238            * include/cln/config.h.in: Provide templates to be filled in by
239            configure.
240            * include/cln/modules.h (CL_PROVIDE, CL_REQUIRE): Use
241            CL_GLOBAL_CONSTRUCTOR_SUFFIX_PIC, CL_GLOBAL_CONSTRUCTOR_SUFFIX_NOPIC.
242    
243    2007-12-19  Richard B. Kreckel  <kreckel@ginac.de>
244    
245            * m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=rs6000 for
246             powerpc64 if userland is 32 bit.
247    
248    2007-12-18  Richard B. Kreckel  <kreckel@ginac.de>
249    
250            * autoconf/ltmain.sh: Update to libtool-1.5.24.
251            * autoconf/config.guess: Likewise.
252            * autoconf/config.sub: Likewise.
253            * m4/libtool.m4: Likewise.
254    
255    2007-12-18  Richard B. Kreckel  <kreckel@ginac.de>
256    
257            * src/float/transcendental/cl_F_lnx.cc: Make actuallen of type uintC.
258            * src/float/transcendental/cl_F_expx.cc: Likewise.
259            * src/float/transcendental/cl_F_sinhx.cc: Likewise.
260            * src/float/transcendental/cl_F_sinx.cc: Likewise.
261    
262    2007-12-17  Richard B. Kreckel  <kreckel@ginac.de>
263    
264            Silly workaround for silly bug in gmp.h:
265            * m4/gmp.m4 (CL_GMP_SET_UINTD): Swap #include <gmp.h> and <stdio.h>.
266    
267    2007-12-17  Richard B. Kreckel  <kreckel@ginac.de>
268    
269            * src/polynomial/elem/cl_UP_GF2.h (gf2_mul_table): define for sparc64.
270    
271    2007-12-04  Richard B. Kreckel  <kreckel@ginac.de>
272    
273            * include/cln/types.h ([su]intE): 64-bit exponents for MIPS and RS6000.
274    
275    2007-12-03  Richard B. Kreckel  <kreckel@ginac.de>
276    
277            * src/float/lfloat/cl_LF.h (cl_heap_lfloat): Change len type to uintC.
278    
279    2007-11-28  Richard B. Kreckel  <kreckel@ginac.de>
280    
281            * include/cln/object.h: Don't redefine cl_word_alignment on sparc64.
282            * src/base/digitseq/cl_asm_sparc64_.cc: Declare use of global
283            register %g2 as scratch register within this file.
284            Reported by Paul Irofti <bulibuta@gmail.com> and Sven Verdoolaege
285            <skimo@kotnet.org>.
286    
287    2007-11-03  Richard B. Kreckel  <kreckel@ginac.de>
288    
289            * src/base/digitseq/cl_asm_i386_.cc (compare_loop_up,
290            compare_loop_down): Fix empty ranges.
291    
292    2007-10-12  Richard B. Kreckel  <kreckel@ginac.de>
293    
294            Fix compilation on CYGWIN:
295            * src/float/transcendental/cl_LF_zeta_int.cc: Avoid leading underscores
296            in variable names.
297            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
298            Reported by Chris Bouchard <cbouchrd@uiuc.edu>.
299    
300    2007-10-10  Richard B. Kreckel  <kreckel@ginac.de>
301    
302            * src/base/cl_low.h: Add missing linefeeds in SPARC 64 inline assembler.
303            * src/base/low/cl_low_div.cc (divu_6464_6464_): Fix a copy-paste typo.
304            Reported by Sven Verdoolaege <skimo@kotnet.org>.
305    
306    2007-10-02  Richard B. Kreckel  <kreckel@ginac.de>
307    
308            On popular demand (Debian bug #286266, Ubuntu bug #128851):
309            * examples/pi.cc: Output no more than requested number of digits.
310    
311    2007-10-01  Richard B. Kreckel  <kreckel@ginac.de>
312    
313            * autoconf/config.guess, autoconf/config.sub: updated from automake-1.9.
314    
315    2007-09-19  Richard B. Kreckel  <kreckel@ginac.de>
316    
317            * doc/cln.tex: Put entire document in @dircategory Mathematics.
318            * doc/Makefile.in: texi2html -split_chapter suddenly uses subdirectory.
319            * Makefile.in: Don't install non-existing cln-config* and cln.m4.
320    
321    2007-09-18  Richard B. Kreckel  <kreckel@ginac.de>
322    
323            * include/cln/modules.h (CL_JUMP_TO): Use a pc relative jump on m68k.
324            See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=388000>.
325    
326    2007-09-16  Richard B. Kreckel  <kreckel@ginac.de>
327    
328            * */*: Convert encoding from ISO 8859-1 to UTF-8.
329    
330    2007-09-13  Richard B. Kreckel  <kreckel@ginac.de>
331    
332            Truncated binary splitting for even more memory efficiency:
333            * src/float/transcendental/cl_LF_tran.h: Added new overloads. See below.
334            * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Removed and
335            moved everything to...
336            * src/float/transcendental/cl_LF_ratseries_pq.cc: ...here. Added an
337            overload for truncated expansion.
338            * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Removed and
339            moved everything to...
340            * src/float/transcendental/cl_LF_ratseries_pqa.cc: ...here. Added an
341            overload for truncated expansion.
342            * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Removed and
343            moved everything to...
344            * src/float/transcendental/cl_LF_ratseries_pqb.cc: ...here. Added an
345            overload for truncated expansion.
346            * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Removed and
347            moved everything to...
348            * src/float/transcendental/cl_LF_ratseries_pqab.cc: ...here. Added an
349            overload for truncated expansion.
350            * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Added
351            overloads for streamed and truncated expansion.
352            * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise.
353            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd_aux.cc: Removed
354            and moved everything to...
355            * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: ...here. Added
356            an overload for truncated expansion.
357            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd.cc: Removed
358            and moved everything to...
359            * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: ...here. Added an
360            overload for truncated expansion.
361            * src/float/transcendental/cl_LF_pi.cc: Use truncated series.
362            * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
363            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
364            * src/float/transcendental/cl_LF_zeta_int.cc: Likewise.
365            * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
366    
367    2007-09-07  Richard B. Kreckel  <kreckel@ginac.de>
368    
369            More memory efficient Euler-Mascheroni constant:
370            * src/float/transcendental/cl_LF_tran.h (cl_pqd_series_stream): New.
371            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd.cc: New file.
372            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd_aux.cc: New
373            file.
374            * src/float/transcendental/cl_LF_eulerconst.cc: Compute series
375            coefficients on demand, using a series stream object.
376    
377    2007-08-02  Richard B. Kreckel  <kreckel@ginac.de>
378    
379            * src/base/digitseq/cl_DS_div.cc (cl_recip_suitable): uintC arguments.
380    
381    2007-08-01  Richard B. Kreckel  <kreckel@ginac.de>
382    
383            * */*: Remove cl_boolean, cl_true, and cl_false in favor of built-in
384            C++ bool, true, and false.
385    
386    2007-07-28  Richard B. Kreckel  <kreckel@ginac.de>
387    
388            Remove exception hooks in favor of real C++ exceptions:
389            * include/cln/exception.h: New file...
390            * include/cln/cln.h: ...included here...
391            * include/cln/rational.h: ...and here.
392            * include/cln/abort.h: Removed.
393            * include/cln/integer.h (ash_exception, exquo_exception): Add exception
394            types.
395            * include/cln/float.h (floating_point_exception,
396            floating_point_nan_exception, floating_point_overflow_exception,
397            floating_point_underflow_exception): Likewise.
398            * include/cln/number_io.h (read_number_exception,
399            read_number_bad_syntax_exception, read_number_junk_exception,
400            read_number_eof_exception): Likewise.
401            * include/cln/object.h (CL_DEFINE_CONVERTER): Replace dynamic assertion
402            with a compile-time assertion.
403            * include/cln/GV.h: Replace nonreturning functions with exceptions.
404            * include/cln/modinteger.h: Likewise.
405            * include/cln/SV.h: Likewise.
406            * include/cln/ring.h: Likewise.
407            * include/cln/string.h: Likewise.
408            * include/cln/univpoly.h: Likewise.
409            * src/base/cl_abort.cc: Removed.
410            * src/base/cl_N_err_d0.cc: Removed.
411            * src/base/cl_d0_exception.cc: New file.
412            * src/base/cl_as_err.cc: Removed.
413            * src/base/cl_as_exception.cc: New file.
414            * src/base/cl_notreached.cc: Removed.
415            * src/base/cl_notreached_exception.cc: New file.
416            * src/base/input/cl_read_err_bad.cc: Removed.
417            * src/base/input/cl_read_bad_syntax_exception.cc: New file.
418            * src/base/input/cl_read_err_junk.cc: Removed.
419            * src/base/input/cl_read_junk_exception.cc: New file.
420            * src/base/input/cl_read_err_eof.cc: Removed.
421            * src/base/input/cl_read_eof_exception.cc: New file.
422            * src/base/cl_N.h (cl_as_error): Removed (see cln/exception.h).
423            * src/base/macros.h (NOTREACHED): Throw.
424            * src/base/cl_malloc.cc (xmalloc): Throw.
425            * src/base/digitseq/cl_2DS_div.cc: Throw.
426            * src/base/digitseq/cl_DS_div.cc: Throw.
427            * src/base/digitseq/cl_DS_mul.cc: Throw.
428            * src/base/digitseq/cl_DS_mul_fftc.h: Throw.
429            * src/base/digitseq/cl_DS_mul_fftcs.h: Throw.
430            * src/base/digitseq/cl_DS_mul_fftm.h: Throw.
431            * src/base/digitseq/cl_DS_mul_fftp.h: Throw.
432            * src/base/digitseq/cl_DS_mul_fftp3.h: Throw.
433            * src/base/digitseq/cl_DS_mul_fftp3m.h: Throw.
434            * src/base/digitseq/cl_DS_mul_fftr.h: Throw.
435            * src/base/digitseq/cl_DS_mul_nuss.h: Throw.
436            * src/base/digitseq/cl_DS_recipsqrt.cc: Throw.
437            * src/base/digitseq/cl_DS_sqrt.cc: Throw.
438            * src/base/hash/cl_hash.h: Throw.
439            * src/base/hash/cl_hash1.h: Throw.
440            * src/base/hash/cl_hash1weak.h: Throw.
441            * src/base/hash/cl_hash2.h: Throw.
442            * src/base/hash/cl_hash2weak.h: Throw.
443            * src/base/hash/cl_hashset.h: Throw.
444            * src/base/hash/cl_hashuniq.h: Throw.
445            * src/base/hash/cl_hashuniqweak.h: Throw.
446            * src/base/proplist/cl_pl_add.cc: Throw.
447            * src/base/ring/cl_no_ring.cc: Throw.
448            * src/base/string/cl_spushstring.h: Throw.
449            * src/base/symbol/cl_symbol.cc: Throw.
450            * src/integer/bitwise/cl_I_ash.h: Removed (see cln/integer.h.)
451            * src/integer/bitwise/cl_I_asherr.cc: Removed.
452            * src/integer/bitwise/cl_I_ash_exception.cc: New file.
453            * src/integer/division/cl_I_exquoerr.cc: Removed.
454            * src/integer/division/cl_I_exquo_exception.cc: New file.
455            * src/integer/cl_I.h: Throw.
456            * src/integer/division/cl_I_exquopos.cc: Throw.
457            * src/integer/bitwise/cl_I_logbitp_I.cc: Throw.
458            * src/integer/bitwise/cl_I_ash.cc: Throw.
459            * src/integer/bitwise/cl_I_ash_I.cc: Throw.
460            * src/integer/division/cl_I_exquo.cc: Throw.
461            * src/integer/gcd/cl_I_gcd_aux2.cc: Throw.
462            * src/integer/conv/cl_I_to_L.cc: Throw.
463            * src/integer/conv/cl_I_to_Q.cc: Throw.
464            * src/integer/conv/cl_I_to_UL.cc: Throw.
465            * src/integer/conv/cl_I_to_UQ.cc: Throw.
466            * src/integer/conv/cl_I_to_digits.cc: Throw.
467            * src/integer/elem/cl_I_div.cc: Throw.
468            * src/integer/algebraic/cl_I_sqrt.cc: Throw.
469            * src/integer/input/cl_I_read.cc: Throw.
470            * src/integer/input/cl_I_read_stream.cc: Throw.
471            * src/integer/misc/cl_I_as.cc: Throw.
472            * src/rational/elem/cl_RA_from_I_I_div.cc: Throw.
473            * src/rational/elem/cl_RA_recip.cc: Throw.
474            * src/rational/input/cl_RA_read.cc: Throw.
475            * src/rational/input/cl_RA_read_stream.cc: Throw.
476            * src/rational/input/cl_RA_readparsed.cc: Throw.
477            * src/rational/misc/cl_RA_as.cc: Throw.
478            * src/float/base/cl_F_err_nan.cc: Removed.
479            * src/float/base/cl_F_nan_exception.cc: New file.
480            * src/float/base/cl_F_err_un.cc: Removed.
481            * src/float/base/cl_F_underflow_exception.cc: New file.
482            * src/float/base/cl_F_err_ov.cc: Removed.
483            * src/float/base/cl_F_overflow_exception.cc: New file.
484            * src/float/cl_F.h (cl_error_floating_point_nan,
485            cl_error_floating_point_overflow, cl_error_floating_point_underflow):
486            Removed (see cln/float.h.)
487            * src/float/sfloat/cl_SF.h: Throw.
488            * src/float/sfloat/elem/cl_SF_div.cc: Throw.
489            * src/float/sfloat/elem/cl_SF_from_RA.cc: Throw.
490            * src/float/sfloat/elem/cl_SF_scale.cc: Throw.
491            * src/float/sfloat/elem/cl_SF_scale_I.cc: Throw.
492            * src/float/sfloat/misc/cl_SF_as.cc: Throw.
493            * src/float/ffloat/cl_FF.h: Throw.
494            * src/float/ffloat/conv/cl_FF_from_float.cc: Throw.
495            * src/float/ffloat/elem/cl_FF_div.cc: Throw.
496            * src/float/ffloat/elem/cl_FF_from_RA.cc: Throw.
497            * src/float/ffloat/elem/cl_FF_scale.cc: Throw.
498            * src/float/ffloat/elem/cl_FF_scale_I.cc: Throw.
499            * src/float/ffloat/misc/cl_FF_as.cc: Throw.
500            * src/float/dfloat/cl_DF.h: Throw.
501            * src/float/dfloat/conv/cl_DF_from_double.cc: Throw.
502            * src/float/dfloat/elem/cl_DF_div.cc: Throw.
503            * src/float/dfloat/elem/cl_DF_from_RA.cc: Throw.
504            * src/float/dfloat/elem/cl_DF_scale.cc: Throw.
505            * src/float/dfloat/elem/cl_DF_scale_I.cc: Throw.
506            * src/float/dfloat/misc/cl_DF_as.cc: Throw.
507            * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Throw.
508            * src/float/lfloat/elem/cl_LF_1plus.cc: Throw.
509            * src/float/lfloat/elem/cl_LF_I_div.cc: Throw.
510            * src/float/lfloat/elem/cl_LF_I_mul.cc: Throw.
511            * src/float/lfloat/elem/cl_LF_div.cc: Throw.
512            * src/float/lfloat/elem/cl_LF_from_I.cc: Throw.
513            * src/float/lfloat/elem/cl_LF_mul.cc: Throw.
514            * src/float/lfloat/elem/cl_LF_scale.cc: Throw.
515            * src/float/lfloat/elem/cl_LF_scale_I.cc: Throw.
516            * src/float/lfloat/elem/cl_LF_square.cc: Throw.
517            * src/float/lfloat/misc/cl_LF_as.cc: Throw.
518            * src/float/lfloat/misc/cl_LF_shorten.cc: Throw.
519            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Throw.
520            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Throw.
521            * src/float/input/cl_F_read.cc: Throw.
522            * src/float/input/cl_F_read_stream.cc: Throw.
523            * src/float/misc/cl_F_as.cc: Throw.
524            * src/float/misc/cl_F_shortenrel.cc: Throw.
525            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Throw.
526            * src/float/transcendental/cl_LF_cossin_aux.cc: Throw.
527            * src/float/transcendental/cl_LF_exp_aux.cc: Throw.
528            * src/float/transcendental/cl_LF_ratseries_a.cc: Throw.
529            * src/float/transcendental/cl_LF_ratseries_ab.cc: Throw.
530            * src/float/transcendental/cl_LF_ratseries_b.cc: Throw.
531            * src/float/transcendental/cl_LF_ratseries_p.cc: Throw.
532            * src/float/transcendental/cl_LF_ratseries_pa.cc: Throw.
533            * src/float/transcendental/cl_LF_ratseries_pab.cc: Throw.
534            * src/float/transcendental/cl_LF_ratseries_pb.cc: Throw.
535            * src/float/transcendental/cl_LF_ratseries_pq.cc: Throw.
536            * src/float/transcendental/cl_LF_ratseries_pqa.cc: Throw.
537            * src/float/transcendental/cl_LF_ratseries_pqab.cc: Throw.
538            * src/float/transcendental/cl_LF_ratseries_pqb.cc: Throw.
539            * src/float/transcendental/cl_LF_ratseries_q.cc: Throw.
540            * src/float/transcendental/cl_LF_ratseries_qa.cc: Throw.
541            * src/float/transcendental/cl_LF_ratseries_qab.cc: Throw.
542            * src/float/transcendental/cl_LF_ratseries_qb.cc: Throw.
543            * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Throw.
544            * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Throw.
545            * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Throw.
546            * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Throw.
547            * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Throw.
548            * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Throw.
549            * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Throw.
550            * src/float/transcendental/cl_LF_zeta_int.cc: Throw.
551            * src/real/elem/cl_R_div.cc: Throw.
552            * src/real/format-output/cl_fmt_cardinal.cc: Throw.
553            * src/real/format-output/cl_fmt_newroman.cc: Throw.
554            * src/real/format-output/cl_fmt_oldroman.cc: Throw.
555            * src/real/input/cl_R_read.cc: Throw.
556            * src/real/input/cl_R_read_stream.cc: Throw.
557            * src/real/misc/cl_R_as.cc: Throw.
558            * src/real/random/cl_R_random.cc: Throw.
559            * src/real/transcendental/cl_R_atan2.cc: Throw.
560            * src/real/transcendental/cl_R_log.cc: Throw.
561            * src/complex/input/cl_N_read.cc: Throw.
562            * src/complex/input/cl_N_read_stream.cc: Throw.
563            * src/complex/misc/cl_N_as.cc: Throw.
564            * src/complex/transcendental/cl_C_atanh_aux.cc: Throw.
565            * src/complex/transcendental/cl_C_expt_C.cc: Throw.
566            * src/complex/transcendental/cl_C_log.cc: Throw.
567            * src/complex/transcendental/cl_C_log2.cc: Throw.
568            * src/numtheory/cl_nt_cornacchia1.cc: Throw.
569            * src/numtheory/cl_nt_cornacchia4.cc: Throw.
570            * src/numtheory/cl_nt_isprobprime.cc: Throw.
571            * src/numtheory/cl_nt_jacobi.cc: Throw.
572            * src/numtheory/cl_nt_jacobi_low.cc: Throw.
573            * src/numtheory/cl_nt_sqrtmodp.cc: Throw.
574            * src/modinteger/cl_MI.cc: Throw.
575            * src/modinteger/cl_MI_int.h: Throw.
576            * src/modinteger/cl_MI_montgom.h: Throw.
577            * src/modinteger/cl_MI_pow2.h: Throw.
578            * src/modinteger/cl_MI_rshift.cc: Throw.
579            * src/modinteger/cl_MI_std.h: Throw.
580            * src/polynomial/elem/cl_UP_GF2.h: Throw.
581            * src/polynomial/elem/cl_UP_MI.h: Throw.
582            * src/polynomial/elem/cl_UP_gen.h: Throw.
583            * src/polynomial/elem/cl_UP_named.cc: Throw.
584            * src/polynomial/elem/cl_UP_no_ring.cc (uninitialized_error,
585            uninitialized_ring): Removed (see cln/ring.h.)
586            * src/polynomial/elem/cl_UP_number.h: Throw.
587            * src/polynomial/elem/cl_UP_unnamed.cc: Throw.
588            * src/vector/cl_GV_I.cc: Throw.
589            * src/vector/cl_GV_number.cc: Throw.
590            * tests/timediv2adic-compare.cc: Use default abort(), not cl_abort().
591            * tests/timeprint-compare.cc: Likewise.
592            * tests/timerecip2adic-compare.cc: Likewise.
593            * doc/cln.tex: Document the exception classes.
594            * examples/contfrac.cc: Use try/catch instead of setjmp/longjmp.
595            * INSTALL: undocument -fno-exceptions.
596            * README: Add exceptions to list of used C++ features.
597    
598    2007-06-20  Richard B. Kreckel  <kreckel@ginac.de>
599    
600            * cln.spec.in (Source0): Package is bzip2-compressed.
601            Reported by Markus Grabner <grabner@icg.tugraz.at>.
602    
603    2007-05-31  Richard B. Kreckel  <kreckel@ginac.de>
604    
605            * include/cln/integer.h (cl_I_to_E, cl_I_to_UE): New functions.
606            * src/float/transcendental/cl_LF_exp_aux.cc: Make lq argument an uintE.
607            * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
608            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
609            * src/float/transcendental/cl_F_tran.h: Change declaration of lq.
610            * src/float/transcendental/cl_F_lnx.cc: Fix some exponent types.
611            * src/float/transcendental/cl_F_expx.cc: Likewise.
612            * src/float/transcendental/cl_F_sinh.cc: Likewise.
613            * src/float/transcendental/cl_F_atanx.cc: Likewise.
614            * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
615            * src/float/transcendental/cl_LF_cossin.cc: Likewise.
616            * src/float/transcendental/cl_LF_coshsinh.cc: Likewise.
617    
618    2007-04-09  Richard B. Kreckel  <kreckel@ginac.de>
619    
620            More memory efficient constants:
621            * src/float/transcendental/cl_LF_pi.cc (compute_pi_ramanujan_163_fast):
622            Compute series coefficients on demand, using a series stream object.
623            * src/float/transcendental/cl_LF_zeta3.cc (zeta3): Likewise.
624            * src/float/transcendental/cl_LF_catalanconst.cc
625            (compute_catalanconst_ramanujan_fast): Likewise.
626            (compute_catalanconst_lupas): New function.
627            (compute_catalanconst): Simplify, based on new benchmark.
628    
629    2007-04-02  Alexei Sheplyakov  <varg@theor.jinr.ru>
630    
631            Debian Bug#412103:
632            * cln.pc.in: list -lgmp in Libs.private instead of in Libs.
633            * doc/cln.tex: Undocument cln-config, properly document pkg-config.
634            * cln-config.1.in: Remove.
635            * cln-config.in: Remove.
636            * cln.m4: Remove.
637            * configure.ac: Don't output cln-config and cln-config.1.
638    
639    2006-12-24  Bruno Haible  <bruno@clisp.org>
640    
641            Make autoconfiguration work with gcc-4.3 snapshots.
642            * autoconf/intparam.c (main1): Rename get_integer_bitsize to
643            get_unsigned_integer_bitsize. New macro get_signed_integer_bitsize.
644    
645    2006-12-19  Bruno Haible  <bruno@clisp.org>
646    
647            * autoconf/intparam.c (main): Use 'return', not exit().
648            * autoconf/floatparam.c (main): Likewise.
649            Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
650    
651    2006-12-11  Richard B. Kreckel  <kreckel@ginac.de>
652    
653            Extend the exponent range from 32 bits to 64 bits on selected platforms.
654            * include/cln/number.h: Add signatures for operations with long long.
655            * include/cln/complex_class.h: Likewise.
656            * include/cln/real_class.h: Likewise.
657            * include/cln/real.h: Likewise.
658            * include/cln/rational_class.h: Likewise.
659            * include/cln/rational.h: Likewise.
660            * include/cln/integer_class.h: Likewise.
661            * include/cln/integer.h: Likewise.
662            * include/cln/float.h: Likewise.
663            * include/cln/lfloat.h: Likewise.
664            * include/cln/types.h (sintE and uintE): New types for exponents.
665            * include/cln/*float.h: Use the new types for exponents.
666            * include/cln/floatformat.h (float_format_t): Make underlying type
667            compatible with sintE.
668            * doc/cln.tex: Document changed float_exponent return value.
669            * src/float/cl_F.h: Likewise.
670            * src/float/ffloat/misc/cl_FF_exponent.cc: Likewise.
671            * src/float/input/cl_F_read.cc: Likewise.
672            * src/float/lfloat/cl_LF.h: Likewise.
673            * src/float/lfloat/cl_LF_impl.h: Likewise.
674            * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
675            * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
676            * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
677            * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
678            * src/float/lfloat/elem/cl_LF_compare.cc: Likewise.
679            * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
680            * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
681            * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
682            * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
683            * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
684            * src/float/lfloat/elem/cl_LF_mul.cc: Likewise.
685            * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
686            * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
687            * src/float/lfloat/elem/cl_LF_square.cc: Likewise.
688            * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
689            * src/float/lfloat/misc/cl_LF_decode.cc: Likewise.
690            * src/float/lfloat/misc/cl_LF_exponent.cc: Likewise.
691            * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
692            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
693            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
694            * src/float/misc/cl_F_decode.cc: Likewise.
695            * src/float/misc/cl_F_exponent.cc: Likewise.
696            * src/float/misc/cl_F_shortenrel.cc: Likewise.
697            * src/float/misc/cl_float_format.cc: Likewise.
698            * src/float/output/cl_F_dprint.cc: Likewise.
699            * src/float/sfloat/misc/cl_SF_exponent.cc: Likewise.
700            * src/float/transcendental/cl_F_atanhx.cc: Likewise.
701            * src/float/transcendental/cl_F_atanx.cc: Likewise.
702            * src/float/transcendental/cl_F_cosh.cc: Likewise.
703            * src/float/transcendental/cl_F_expx.cc: Likewise.
704            * src/float/transcendental/cl_F_lnx.cc: Likewise.
705            * src/float/transcendental/cl_F_sinhx.cc: Likewise.
706            * src/float/transcendental/cl_F_sinx.cc: Likewise.
707            * src/float/transcendental/cl_LF_pi.cc: Likewise.
708            * src/integer/cl_I.h: Likewise.
709            * src/complex/algebraic/cl_LF_hypot.cc: Likewise.
710            * src/complex/elem/division/cl_C_LF_recip.cc: Likewise.
711            * src/float/dfloat/misc/cl_DF_exponent.cc: Likewise.
712            * src/integer/conv/cl_I_from_Q2.cc: Added.
713            * src/base/cl_low.h (isqrtC): New function, for 64 bit falls back to...
714            * src/base/low/cl_low_isqrt.cc (isqrt): ...this new implementation.
715            * src/base/cl_macros.h (bitc): Make sure 64 bit is used if required by
716            exponent operations.
717            * examples/pi.cc: Support more than 646456614 decimal digits.
718    
719    2006-11-02  Richard B. Kreckel  <kreckel@ginac.de>
720    
721            * src/base/digitseq/cl_DS.h: #undef DS, needed for i386-Solaris.
722    
723    2006-10-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
724    
725            * tests/Makefile.in (VPATH): Fix syntax error.
726    
727    2006-09-14  Richard B. Kreckel  <kreckel@ginac.de>
728    
729            * examples/perfnum.cc: update to presumed 44th Mersenne prime.
730    
731    2006-08-15  Richard B. Kreckel  <kreckel@ginac.de>
732    
733            * tests/Makefile.in: MinGW support for make check
734            (Patch by Sheplyakov Alexei <varg@theor.jinr.ru> to add ${EXEEXT}).
735            * Makefile.in: Convert from $(VAR) to ${VAR} syntax.
736            * benchmarks/Makefile.in: Likewise.
737            * doc/Makefile.in: Likewise.
738            * examples/Makefile.in: Likewise.
739            * src/Makefile.in: Likewise.
740            * tests/Makefile.in: Likewise.
741    
742    2006-08-06  Richard B. Kreckel  <kreckel@ginac.de>
743    
744            * configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
745    
746    2006-08-04  Sheplyakov Alexei  <varg@theor.jinr.ru>
747    
748            * configure.ac: Disable shared lib on MinGW.
749    
750    2006-08-03  Sheplyakov Alexei  <varg@theor.jinr.ru>
751    
752            * m4/param.m4: Add support for MinGW.
753            * src/base/random/cl_random_from.cc: Fix for last patch.
754    
755    2006-07-23  Sheplyakov Alexei  <varg@theor.jinr.ru>
756    
757            * src/base/random/cl_random_from.cc: Add support for MinGW.
758    
759    2006-06-13  Richard B. Kreckel  <kreckel@ginac.de>
760    
761            * m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=i386 for x86_64
762            if userland is 32 bit.
763            * include/cln/config.h.in: Simplify __x86_64__ selection.
764            * src/base/digitseq/cl_asm_x86_64_.cc: Remove.
765    
766    2006-06-09  Richard B. Kreckel  <kreckel@ginac.de>
767    
768            * src/base/digitseq/cl_DS.h (struct DS): Change len type to uintC.
769    
770    2006-05-30  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
771    
772            * m4/gettimeofday.m4 (CL_GETTIMEOFDAY): Fix M4 quoting.
773    
774    2006-05-20  Bruno Haible  <bruno@clisp.org>
775    
776            * src/base/random/cl_random_from.cc: Treat FreeBSD, NetBSD like other
777            Unix platforms.
778    
779    2006-05-07  Richard B. Kreckel  <kreckel@ginac.de>
780    
781            * include/cln/modules.h (CL_JUMP_TO): Fix for Intel Mac.
782    
783    2006-04-25  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
784    
785            Prepare for autoconf-2.60.
786            * Makefile.in (datarootdir): New variable.
787            * src/Makefile.in (datarootdir): New variable.
788            * doc/Makefile.in (datarootdir): New variable.
789    
790    2006-04-25  Bruno Haible  <bruno@clisp.org>
791                Richard B. Kreckel  <kreckel@ginac.de>
792    
793            Make it theoretically possible to use bignums and long-floats with
794            more than 2^32 significant digits or bits.
795            * doc/cln.tex (logcount): Change return type to uintC.
796            (struct cl_byte): Change elements to uintC.
797            (integer_length, ord2, power2p): Change return type to uintC.
798            (scale_float): Change argument type to sintC.
799            (float_digits, float_precision): Change return type to uintC.
800            * examples/atan_recip.cc: Use uintC instead of uintL where appropriate.
801            * examples/atanh_recip.cc: Likewise.
802            * include/cln/GV.h: Likewise.
803            * include/cln/GV_complex.h: Likewise.
804            * include/cln/GV_integer.h: Likewise.
805            * include/cln/GV_modinteger.h: Likewise.
806            * include/cln/GV_number.h: Likewise.
807            * include/cln/GV_rational.h: Likewise.
808            * include/cln/GV_real.h: Likewise.
809            * include/cln/SV.h: Likewise.
810            * include/cln/SV_complex.h: Likewise.
811            * include/cln/SV_integer.h: Likewise.
812            * include/cln/SV_number.h: Likewise.
813            * include/cln/SV_rational.h: Likewise.
814            * include/cln/SV_real.h: Likewise.
815            * include/cln/SV_ringelt.h: Likewise.
816            * include/cln/dfloat.h: Likewise.
817            * include/cln/ffloat.h: Likewise.
818            * include/cln/float.h: Likewise.
819            * include/cln/integer.h: Likewise.
820            * include/cln/lfloat.h: Likewise.
821            * include/cln/modinteger.h: Likewise.
822            * include/cln/sfloat.h: Likewise.
823            * src/base/cl_low.h (integerlengthC): New macro.
824            * src/base/digitseq/cl_2DS_div.cc: Use uintC instead of uintL where
825            appropriate.
826            * src/base/digitseq/cl_2DS_recip.cc: Likewise.
827            * src/base/digitseq/cl_DS.h: Likewise.
828            * src/base/digitseq/cl_DS_mul.c: Likewise.
829            * src/base/digitseq/cl_DS_mul_fftc.h: Likewise.
830            * src/base/digitseq/cl_DS_mul_fftcs.h: Likewise.
831            * src/base/digitseq/cl_DS_mul_fftm.h: Likewise.
832            * src/base/digitseq/cl_DS_mul_fftp.h: Likewise.
833            * src/base/digitseq/cl_DS_mul_fftp3.h: Likewise.
834            * src/base/digitseq/cl_DS_mul_fftp3m.h: Likewise.
835            * src/base/digitseq/cl_DS_mul_fftr.h: Likewise.
836            * src/base/digitseq/cl_DS_mul_kara.h: Likewise.
837            * src/base/digitseq/cl_DS_mul_nuss.h: Likewise.
838            * src/base/digitseq/cl_DS_recip.cc: Likewise.
839            * src/base/digitseq/cl_DS_recipsqrt.cc: Likewise.
840            * src/base/digitseq/cl_DS_sqrt.cc: Likewise.
841            * src/base/digitseq/cl_DS_trandom.cc: Likewise.
842            * src/complex/input/cl_N_read.cc: Likewise.
843            * src/complex/transcendental/cl_C_asinh_aux.cc: Likewise.
844            * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
845            * src/float/cl_F.h: Likewise.
846            * src/float/conv/cl_F_from_F_f.cc: Likewise.
847            * src/float/conv/cl_F_from_I_f.cc: Likewise.
848            * src/float/conv/cl_F_from_RA_f.cc: Likewise.
849            * src/float/dfloat/conv/cl_I_to_double.cc: Likewise.
850            * src/float/dfloat/conv/cl_RA_to_double.cc: Likewise.
851            * src/float/dfloat/elem/cl_DF_from_I.cc: Likewise.
852            * src/float/dfloat/elem/cl_DF_from_RA.cc: Likewise.
853            * src/float/dfloat/elem/cl_DF_scale.cc: Likewise.
854            * src/float/dfloat/misc/cl_DF_digits.cc: Likewise.
855            * src/float/dfloat/misc/cl_DF_precision.cc: Likewise.
856            * src/float/elem/cl_F_scale.cc: Likewise.
857            * src/float/ffloat/conv/cl_I_to_float.cc: Likewise.
858            * src/float/ffloat/conv/cl_RA_to_float.cc: Likewise.
859            * src/float/ffloat/elem/cl_FF_from_I.cc: Likewise.
860            * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
861            * src/float/ffloat/elem/cl_FF_scale.cc: Likewise.
862            * src/float/ffloat/misc/cl_FF_digits.cc: Likewise.
863            * src/float/ffloat/misc/cl_FF_precision.cc: Likewise.
864            * src/float/input/cl_F_read.cc: Likewise.
865            * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
866            * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
867            * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
868            * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
869            * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
870            * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
871            * src/float/lfloat/elem/cl_LF_from_RA.cc: Likewise.
872            * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
873            * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
874            * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
875            * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
876            * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
877            * src/float/lfloat/misc/cl_LF_digits.cc: Likewise.
878            * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
879            * src/float/lfloat/misc/cl_LF_leninc.cc: Likewise.
880            * src/float/lfloat/misc/cl_LF_lenincx.cc: Likewise.
881            * src/float/lfloat/misc/cl_LF_precision.cc: Likewise.
882            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
883            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
884            * src/float/misc/cl_F_digits.cc: Likewise.
885            * src/float/misc/cl_F_epsneg.cc: Likewise.
886            * src/float/misc/cl_F_epspos.cc: Likewise.
887            * src/float/misc/cl_F_leastneg.cc: Likewise.
888            * src/float/misc/cl_F_leastpos.cc: Likewise.
889            * src/float/misc/cl_F_mostneg.cc: Likewise.
890            * src/float/misc/cl_F_mostpos.cc: Likewise.
891            * src/float/misc/cl_F_precision.cc: Likewise.
892            * src/float/misc/cl_F_rational.cc: Likewise.
893            * src/float/misc/cl_F_shortenrel.cc: Likewise.
894            * src/float/output/cl_F_dprint.cc: Likewise.
895            * src/float/random/cl_F_random.cc: Likewise.
896            * src/float/sfloat/elem/cl_SF_from_I.cc: Likewise.
897            * src/float/sfloat/elem/cl_SF_from_RA.cc: Likewise.
898            * src/float/sfloat/elem/cl_SF_scale.cc: Likewise.
899            * src/float/sfloat/misc/cl_SF_digits.cc: Likewise.
900            * src/float/sfloat/misc/cl_SF_precision.cc: Likewise.
901            * src/float/transcendental/cl_F_atanhx.cc: Likewise.
902            * src/float/transcendental/cl_F_atanx.cc: Likewise.
903            * src/float/transcendental/cl_F_catalanconst_f.cc: Likewise.
904            * src/float/transcendental/cl_F_cos.cc: Likewise.
905            * src/float/transcendental/cl_F_cosh.cc: Likewise.
906            * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
907            * src/float/transcendental/cl_F_cossin.cc: Likewise.
908            * src/float/transcendental/cl_F_eulerconst_f.cc: Likewise.
909            * src/float/transcendental/cl_F_exp1_f.cc: Likewise.
910            * src/float/transcendental/cl_F_expx.cc: Likewise.
911            * src/float/transcendental/cl_F_ln10_f.cc: Likewise.
912            * src/float/transcendental/cl_F_ln2_f.cc: Likewise.
913            * src/float/transcendental/cl_F_lnx.cc: Likewise.
914            * src/float/transcendental/cl_F_pi_f.cc: Likewise.
915            * src/float/transcendental/cl_F_sin.cc: Likewise.
916            * src/float/transcendental/cl_F_sinh.cc: Likewise.
917            * src/float/transcendental/cl_F_sinhx.cc: Likewise.
918            * src/float/transcendental/cl_F_sinx.cc: Likewise.
919            * src/float/transcendental/cl_F_tran.h: Likewise.
920            * src/float/transcendental/cl_F_zeta_int_f.cc: Likewise.
921            * src/float/transcendental/cl_LF_atan_recip.cc: Likewise.
922            * src/float/transcendental/cl_LF_atanh_recip.cc: Likewise.
923            * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
924            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
925            * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
926            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
927            * src/float/transcendental/cl_LF_exp1.cc: Likewise.
928            * src/float/transcendental/cl_LF_exp_aux.cc: Likewise.
929            * src/float/transcendental/cl_LF_pi.cc: Likewise.
930            * src/float/transcendental/cl_LF_ratseries.cc: Likewise.
931            * src/float/transcendental/cl_LF_ratseries_.cc: Likewise.
932            * src/float/transcendental/cl_LF_ratseries_a.cc: Likewise.
933            * src/float/transcendental/cl_LF_ratseries_ab.cc: Likewise.
934            * src/float/transcendental/cl_LF_ratseries_b.cc: Likewise.
935            * src/float/transcendental/cl_LF_ratseries_p.cc: Likewise.
936            * src/float/transcendental/cl_LF_ratseries_pa.cc: Likewise.
937            * src/float/transcendental/cl_LF_ratseries_pab.cc: Likewise.
938            * src/float/transcendental/cl_LF_ratseries_pb.cc: Likewise.
939            * src/float/transcendental/cl_LF_ratseries_pq.cc: Likewise.
940            * src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise.
941            * src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise.
942            * src/float/transcendental/cl_LF_ratseries_pqb.cc: Likewise.
943            * src/float/transcendental/cl_LF_ratseries_q.cc: Likewise.
944            * src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise.
945            * src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise.
946            * src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise.
947            * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Likewise.
948            * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Likewise.
949            * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Likewise.
950            * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Likewise.
951            * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise.
952            * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Likewise.
953            * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Likewise.
954            * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Likewise.
955            * src/float/transcendental/cl_LF_tran.h: Likewise.
956            * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
957            * src/float/transcendental/cl_LF_zeta_int.cc: Likewise.
958            * src/integer/algebraic/cl_I_rootp_I.cc: Likewise.
959            * src/integer/algebraic/cl_I_rootp_aux.cc: Likewise.
960            * src/integer/bitwise/cl_I_ash.cc: Likewise.
961            * src/integer/bitwise/cl_I_ash_I.cc: Likewise.
962            * src/integer/bitwise/cl_I_byte.h: Likewise.
963            * src/integer/bitwise/cl_I_fullbyte.cc: Likewise.
964            * src/integer/bitwise/cl_I_ilength.cc: Likewise.
965            * src/integer/bitwise/cl_I_ldb.cc: Likewise.
966            * src/integer/bitwise/cl_I_ldbtest.cc: Likewise.
967            * src/integer/bitwise/cl_I_ldbx.cc: Likewise.
968            * src/integer/bitwise/cl_I_ldbxtest.cc: Likewise.
969            * src/integer/bitwise/cl_I_logbitp.cc: Likewise.
970            * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
971            * src/integer/bitwise/cl_I_logcount.cc: Likewise.
972            * src/integer/bitwise/cl_I_mkf.cc: Likewise.
973            * src/integer/bitwise/cl_I_mkfx.cc: Likewise.
974            * src/integer/cl_I.h: Likewise.
975            * src/integer/conv/cl_I_to_digits.cc: Likewise.
976            * src/integer/conv/cl_I_digits_need.cc: Likewise.
977            * src/integer/conv/cl_I_from_digits.cc: Likewise.
978            * src/integer/gcd/cl_I_gcd.cc: Likewise.
979            * src/integer/gcd/cl_I_xgcd.cc: Likewise.
980            * src/integer/misc/cl_I_eqhashcode.cc: Likewise.
981            * src/integer/misc/cl_I_ord2.cc: Likewise.
982            * src/integer/misc/cl_I_power2p.cc: Likewise.
983            * src/integer/output/cl_I_cached_power.h (cached_power_table): allow
984            for 40 elements.
985            * src/integer/output/cl_I_decstring.cc: Use uintC instead of uintL
986            where appropriate.
987            * src/integer/output/cl_I_print.cc: Likewise.
988            * src/integer/output/cl_I_print_string.cc: Likewise.
989            * src/modinteger/cl_MI.cc: Likewise.
990            * src/modinteger/cl_MI_lshift.cc: Likewise.
991            * src/modinteger/cl_MI_montgom.h: Likewise.
992            * src/modinteger/cl_MI_pow2.h: Likewise.
993            * src/modinteger/cl_MI_pow2m1.h: Likewise.
994            * src/modinteger/cl_MI_pow2p1.h: Likewise.
995            * src/modinteger/cl_MI_rshift.cc: Likewise.
996            * src/modinteger/cl_MI_std.h: Likewise.
997            * src/numtheory/cl_IF_millerrabin.cc: Likewise.
998            * src/numtheory/cl_nt_isprobprime.cc: Likewise.
999            * src/numtheory/cl_nt_sqrtmodp.cc: Likewise.
1000            * src/polynomial/elem/cl_UP_GF2.h: Likewise.
1001            * src/real/conv/cl_F_from_R_f.cc: Likewise.
1002            * src/real/format-output/cl_fmt_floatstring.cc: Likewise.
1003            * src/real/input/cl_R_read.cc: Likewise.
1004            * src/vector/cl_GV_I.cc: Likewise.
1005            * src/vector/cl_GV_I_copy.cc: Likewise.
1006            * src/vector/cl_GV_number.cc: Likewise.
1007            * src/vector/cl_GV_number_copy.cc: Likewise.
1008            * src/vector/cl_SV_copy.cc: Likewise.
1009            * src/vector/cl_SV_number.cc: Likewise.
1010            * src/vector/cl_SV_ringelt.cc: Likewise.
1011            * tests/main.cc: Likewise.
1012            * tests/test_I_ilength.cc: Likewise.
1013            * tests/test_I_ord2.cc: Likewise.
1014    
1015    2006-04-19  Bruno Haible  <bruno@clisp.org>
1016    
1017            Prepare for autoconf-2.60.
1018            * general.m4 (CL_CC_WORKS): Include <stdlib.h>, for exit() declaration.
1019            * longdouble.m4 (CL_LONGDOUBLE): Likewise.
1020            * longlong.m4 (CL_LONGLONG): Likewise.
1021            * times.m4 (CL_TIMES_CLOCK): Likewise.
1022            Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1023    
1024    2005-12-04  Bruno Haible  <bruno@clisp.org>
1025    
1026            * src/integer/conv/cl_I_to_digits.cc (I_to_digits_noshrink): Set
1027            erg->len at the end.
1028    
1029    2005-12-04  Bruno Haible  <bruno@clisp.org>
1030    
1031            Extend the fixnum range from 32 bits to 61 bits on 64-bit platforms.
1032            * doc/cln.tex (gcd, jacobi): Take 'long' instead of 'int32' arguments.
1033            * include/cln/object.h (cl_value_shift): Define as 3, not 32, in the
1034            64-bit case.
1035            * include/cln/types.h (intVsize): New macro.
1036            (sintV, uintV): New types.
1037            * include/cln/integer.h (gcd): Take uintV arguments.
1038            * include/cln/numtheory.h (jacobi): Take sintV arguments.
1039            * src/complex/input/cl_N_read.cc (read_complex): Call FN_to_UV instead
1040            of FN_to_UL.
1041            * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
1042            * src/float/dfloat/elem/cl_DF_scale_I.cc: Use uintV instead of uintL
1043            * src/float/dfloat/elem/cl_DF_from_RA.cc: Don't assume values >= 2^53
1044            and < 2^55 are always bignums.
1045            where appropriate.
1046            * src/float/ffloat/conv/cl_RA_to_float.cc: Call FN_to_UV instead of
1047            FN_to_UL.
1048            * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
1049            * src/float/ffloat/elem/cl_FF_scale_I.cc: Call FN_to_V instead of
1050            FN_to_L.
1051            * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
1052            * src/float/output/cl_F_dprint.cc: Likewise.
1053            * src/float/sfloat/elem/cl_SF_from_RA.cc: Call FN_to_UV instead of
1054            FN_to_UL.
1055            * src/float/sfloat/elem/cl_SF_scale_I.cc: Call FN_to_V instead of
1056            FN_to_L.
1057            * src/integer/cl_I.h (FN_to_UV): Renamed from FN_to_UL, change return
1058            type.
1059            (FN_to_V): Renamed from FN_to_L, change return type.
1060            (FN_V_zerop): Renamed from FN_L_zerop.
1061            (FN_V_minusp): Renamed from FN_L_minusp.
1062            (cl_I_constructor_from_L2, cl_I_constructor_from_UL2): Define as an
1063            inline function on 64-bit platforms.
1064            (V_to_I, UV_to_I): New macros.
1065            (pFN_maxlength_digits_at): Return an uintV instead of an uint32.
1066            (set_pFN_maxlength_digits_at): Take an uintV instead of an uint32.
1067            * src/integer/algebraic/cl_I_sqrtp.cc: Call FN_to_UV instead of
1068            FN_to_UL.
1069            * src/integer/bitwise/cl_I_ash_I.cc: Call FN_to_V instead of FN_to_L.
1070            * src/integer/bitwise/cl_I_ilength.cc: Likewise.
1071            * src/integer/bitwise/cl_I_log_aux.cc: Likewise.
1072            * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
1073            * src/integer/bitwise/cl_I_logcount.cc: Likewise.
1074            * src/integer/bitwise/cl_I_logtest.cc: Likewise.
1075            * src/integer/conv/cl_I_from_L2.cc: Don't produce code on 64-bit
1076            platforms.
1077            * src/integer/conv/cl_I_from_UL2.cc: Likewise.
1078            * src/integer/conv/cl_I_from_NDS.cc: Update.
1079            * src/integer/conv/cl_I_from_Q.cc: Remove cast to sint32.
1080            * src/integer/conv/cl_I_from_UQ.cc: Remove cast to uint32.
1081            * src/integer/conv/cl_I_to_L.cc: Check again fixnum that needs more
1082            than 32 bits.
1083            * src/integer/conv/cl_I_to_Q.cc: Call FN_to_V instead of FN_to_L.
1084            * src/integer/conv/cl_I_to_UL.cc: Likewise.
1085            * src/integer/conv/cl_I_to_UQ.cc: Likewise.
1086            * src/integer/elem/cl_I_div.cc: Treat fixnums that need more than 32
1087            bits like bignums.
1088            * src/integer/elem/cl_I_minus.cc: Call FN_to_V instead of FN_to_L.
1089            * src/integer/elem/cl_I_mul.cc: Likewise.
1090            * src/integer/elem/cl_I_plus.cc: Likewise.
1091            * src/integer/elem/cl_I_square.cc: Likewise.
1092            * src/integer/elem/cl_I_uminus.cc: Likewise.
1093            * src/integer/gcd/cl_I_gcd.cc: Likewise.
1094            * src/integer/gcd/cl_low_gcd.cc (gcd): Take uintV arguments.
1095            * src/integer/hash/cl_I_hashcode.cc: Call FN_to_V instead of FN_to_L.
1096            * src/integer/input/cl_I_read.cc (read_integer): Call FN_to_UV instead
1097            of FN_to_UL.
1098            * src/integer/misc/cl_I_ord2.cc (ord2): Call ord2_64 on 64-bit
1099            platforms.
1100            * src/integer/misc/cl_I_power2p.cc: Call FN_to_UV instead of FN_to_UL.
1101            * src/integer/misc/combin/cl_I_doublefactorial.cc (doublefakul_table):
1102            Extend table for larger fixnums.
1103            (doublefactorial): Update.
1104            * src/integer/misc/combin/cl_I_factorial.cc (fakul_table): Extend table
1105            for larger fixnums.
1106            (factorial): Update.
1107            * src/modinteger/cl_MI_fix16.h: Call FN_to_UV instead of FN_to_UL.
1108            * src/modinteger/cl_MI_fix29.h: Likewise.
1109            * src/modinteger/cl_MI_fix32.h: Likewise.
1110            * src/modinteger/cl_MI_std.h: Likewise.
1111            * src/numtheory/cl_nt_cornacchia4.cc: Call FN_to_V instead of FN_to_L.
1112            * src/numtheory/cl_nt_jacobi.cc: Likewise.
1113            * src/numtheory/cl_nt_jacobi_low.cc (jacobi_aux): Take uintV arguments
1114            instead of uint32 arguments.
1115            (jacobi): Take sintV argument instead of a sint32 argument.
1116            * src/rational/input/cl_RA_read.cc: Call FN_to_UV instead of FN_to_UL.
1117            * src/real/input/cl_R_read.cc: Likewise.
1118            * src/vector/cl_GV_I.cc: Likewise.
1119            * tests/timefact.cc: Call FN_to_V instead of FN_to_L.
1120    
1121    2005-12-04  Bruno Haible  <bruno@clisp.org>
1122    
1123            More complete 64-bit division macros.
1124            * src/base/cl_low.h (divu_6432_3232_w): Choose a different macro
1125            expansion on x86_64.
1126            (divu_6432_6432): New macro.
1127            (divu_6464_6464): Choose a different macro expansion for all CPUs
1128            except sparc64 and x86_64.
1129            (divu_12864_6464): Define NEED_VAR_divu_64_rest here.
1130            * src/base/low/cl_low_div.cc (divu_64_rest): Avoid defining it twice.
1131            (divu_6464_6464_): New function.
1132    
1133    2005-12-04  Bruno Haible  <bruno@clisp.org>
1134    
1135            * src/base/cl_low.h (ord2_64): New macro.
1136    
1137    2005-12-02  Bruno Haible  <bruno@clisp.org>
1138    
1139            * src/base/cl_low.h (mulu64) [x86_64]: Change asm restriction, since
1140            mulq doesn't accept immediate arguments.
1141    
1142    2005-11-26  Bruno Haible  <bruno@clisp.org>
1143    
1144            * src/base/cl_low.h (GENERIC_INTEGERLENGTH32): New macro.
1145            (integerlength64): Define using integerlength32 if integerlength32
1146            is not defined generically.
1147    
1148    2005-11-26  Bruno Haible  <bruno@clisp.org>
1149    
1150            * src/base/cl_low.h (mulu32) [SPARC64]: Remove rd instruction, since
1151            umul returns the complete 64-bit product in a register.
1152            (mulu32_w) [SPARC64]: Prefer umul over mulx instruction.
1153            (divu_6432_3232_w) [SPARC64]: Prefer umul/udiv over mulx/udivx
1154            instructions.
1155    
1156    2005-11-26  Bruno Haible  <bruno@clisp.org>
1157    
1158            * src/base/cl_low.h (divu_3216_1616): Prepend underscore to local
1159            variables.
1160    
1161    2005-11-26  Bruno Haible  <bruno@clisp.org>
1162    
1163            * src/base/cl_low.h (ord2_32): Parenthesize macro argument.
1164    
1165    2005-12-17  Richard B. Kreckel  <kreckel@ginac.de>
1166    
1167            * Created branch cln_1-1 for maintenance patches.
1168            This is the main branch, which will eventually become CLN 1.2.0.
1169    
1170    2005-12-15  Dmitry V. Kustov  <kustov@telex221.ru>
1171    
1172            * src/base/random/cl_random_from.cc: Add support for OpenBSD.
1173    
1174    2005-11-23  Richard B. Kreckel  <kreckel@ginac.de>
1175    
1176            * Version 1.1.11 released.
1177    
1178    2005-11-20  Richard B. Kreckel  <kreckel@ginac.de>
1179    
1180            * src/integer/conv/cl_I_cached_power.h: New file.
1181            * src/integer/conv/cl_I_cached_power.cc: New file.
1182            Contains power_table and cached_power_table previously...
1183            * src/integer/conv/cl_I_to_digits.cc: ...here.
1184            * src/integer/conv/cl_I_from_digits.cc: Use cached powers.
1185    
1186    2005-11-02  Richard B. Kreckel  <kreckel@ginac.de>
1187    
1188            * src/integer/conv/cl_I_from_digits.cc: Made input of all numbers in
1189            non-power-of-two base much faster.
1190            * tests/test_I_io.cc: New file...
1191            * tests/Makefile.in, tests/test_I.cc: ...used here.
1192    
1193    2005-10-22  Richard B. Kreckel  <kreckel@ginac.de>
1194    
1195            * Version 1.1.10 released.
1196    
1197    2005-10-22  Richard B. Kreckel  <kreckel@ginac.de>
1198    
1199            * src/Makefile.in: Accept CPPFLAGS from environment.
1200            * examples/Makefile.in: Likewise.
1201            * benchmarks/Makefile.in: Likewise.
1202            * tests/Makefile.in: Likewise.
1203    
1204    2005-08-30  Richard B. Kreckel  <kreckel@ginac.de>
1205    
1206            * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
1207            duplication of basic blocks on m68k.
1208    
1209    2005-08-30  Richard B. Kreckel  <kreckel@ginac.de>
1210    
1211            * include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.
1212    
1213    2005-08-27  Bruno Haible  <bruno@clisp.org>
1214    
1215            Split aclocal.m4 into individual files.
1216            * m4/alloca.m4, m4/as-underscore.m4, m4/c++-constructors.m4:
1217            * m4/fpu_control.m4, m4/general.m4, m4/gettimeofday.m4:
1218            * m4/longdouble.m4, m4/longlong.m4, m4/param.m4, m4/perror.m4:
1219            * m4/proto.m4, m4/rusage.m4, m4/times.m4:
1220            New files, extracted from autoconf/aclocal.m4.
1221            * autoconf/aclocal.m4: m4_include them.
1222            * Makefile.devel (AUTOCONF_MACROS): New variable.
1223            (configure): Depend on it.
1224            (CLISP_M4DIR): Remove variable.
1225            (autoconf/aclocal.m4): Remove rule.
1226    
1227    2005-08-27  Bruno Haible  <bruno@clisp.org>
1228    
1229            * src/integer/bitwise/cl_I_ash_I.cc (ash): Avoid shifting a 32-bit
1230            zero value by more than 31 bits.
1231    
1232    2005-08-27  Bruno Haible  <bruno@clisp.org>
1233    
1234            Make the long-float overflow check work on 64-bit platforms.
1235            * src/float/lfloat/cl_LF.h (LF_exp_mid, LF_exp_high): Define as
1236            'unsigned int', not 'unsigned long'.
1237    
1238    2005-08-27  Bruno Haible  <bruno@clisp.org>
1239    
1240            * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
1241            duplication of basic blocks by g++ 4.0.
1242            See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345>.
1243    
1244    2005-08-27  Bruno Haible  <bruno@clisp.org>
1245    
1246            Make it possible to cross-compile CLN.
1247            * m4/intparam.m4: New file.
1248            * m4/floatparam.m4: New file.
1249            * autoconf/aclocal.m4: Include both.
1250            (CL_MACHINE): Add an additional CROSS_MACRO parameter.
1251            * configure.ac (CL_MACHINE): When cross-compiling, use
1252            CL_INTPARAM_CROSS and CL_FLOATPARAM_CROSS.
1253    
1254    2005-08-27  Bruno Haible  <bruno@clisp.org>
1255    
1256            Define HAVE_LONGLONG and HAVE_LONGDOUBLE when cross-compiling.
1257            * autoconf/aclocal.m4 (CL_LONGLONG, CL_LONGDOUBLE): When cross-
1258            compiling, use the test code from gnulib.
1259    
1260    2005-08-27  Bruno Haible  <bruno@clisp.org>
1261    
1262            * autoconf/aclocal.m4 (CL_RUSAGE): Fix error when cross-compiling.
1263    
1264    2005-08-16  Richard B. Kreckel  <kreckel@ginac.de>
1265    
1266            The patch of 2005-05-01 made it impossible to test the type of a cl_UP
1267            by comparing with &cl_class_univpoly_ring. We need an alternative:
1268            * include/cln/object.h (cl_class_flags_modint_ring): New #define...
1269            * src/polynomial/elem/cl_UP.cc (cl_class_univpoly_ring): ...used here.
1270            * src/polynomial/elem/cl_UP_GF2.h: Likewise.
1271            * src/polynomial/elem/cl_UP_MI.h: Likewise.
1272            * src/polynomial/elem/cl_UP_gen.h: Likewise.
1273            * src/polynomial/elem/cl_UP_number.h: Likewise.
1274    
1275    2005-08-15  Richard B. Kreckel  <kreckel@ginac.de>
1276    
1277            * m4/cc.m4 (CL_AS_NOEXECSTACK): New macro...
1278            * configure.ac: ...used here for setting ASMFLAGS...
1279            * src/Makefile.in: ...which are used here.
1280    
1281    2005-08-02  Andreas Jochens  <aj@andaco.de>
1282    
1283            * include/cln/config.h.in: Add support for PowerPC 64 CPU.
1284            * include/cln/modules.h: Likewise.
1285            * include/cln/object.h: Likewise.
1286            * include/cln/types.h: Likewise.
1287    
1288    2005-07-24  Richard B. Kreckel  <kreckel@ginac.de>
1289    
1290            Make out of the box build on x86_64 system with complete 32 bit
1291            userland possible
1292            * include/cln/config.h.in: Don't #define __x86_64__ when
1293            __i386__ is defined.
1294            * src/base/digitseq/cl_asm_x86_64_.cc: New file.
1295            * doc/cln.tex: Revert workaround description introduced 2005-05-02.
1296    
1297    2005-06-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1298    
1299            * Makefile.in: Don't enter nonexisting directories.
1300    
1301    2005-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1302    
1303            Speed up the linking step
1304            * src/Makefile.in: Use -objectlist for linking libcln.la.
1305    
1306    2005-05-15  Richard B. Kreckel  <kreckel@ginac.de>
1307    
1308            * autoconf/ltmain.sh: Upgrade to libtool-1.5.16.
1309            * m4/libtool.m4: Upgrade to libtool-1.5.16 (without Comeau patch).
1310    
1311    2005-05-02  Richard B. Kreckel  <kreckel@ginac.de>
1312    
1313            * doc/cln.tex: Document what to do on a x86_64 machine with 32-bit
1314            userland.
1315    
1316    2005-05-01  Richard B. Kreckel  <kreckel@ginac.de>
1317    
1318            Fix crashes in find_univpoly_ring and related functions
1319            * include/cln/modinteger.h: Remove vptr from cl_heap_modint_ring;
1320            remove declaration of cl_class cl_class_modint_ring.
1321            * include/cln/univpoly.h: Remove vptr from cl_heap_univpoly_ring;
1322            remove declaration of cl_class_univpoly_ring.
1323            * include/cln/object.h: cl_class_flags_modint_ring: New #define...
1324            * src/modinteger/cl_MI.cc: ...used in cl_class_modint_ring.
1325            * src/modinteger/cl_MI_fix16.h: No vptr, but static dtor and type flag.
1326            * src/modinteger/cl_MI_fix29.h: Likewise.
1327            * src/modinteger/cl_MI_fix32.h: Likewise.
1328            * src/modinteger/cl_MI_int32.h: Likewise.
1329            * src/modinteger/cl_MI_montgom.h: Likewise.
1330            * src/modinteger/cl_MI_pow2: Likewise.
1331            * src/modinteger/cl_MI_pow2m1.h: Likewise.
1332            * src/modinteger/cl_MI_pow2p1.h: Likewise.
1333            * src/modinteger/cl_MI_std.h: Likewise.
1334            * src/polynomial/elem/cl_UP.cc (cl_make_univpoly_ring): Compare with
1335            cl_class_flags_modint_ring, not with cl_class_modint_ring.
1336            * src/polynomial/elem/cl_UP_GF2.h (cl_class_num_univpoly_ring): New.
1337            * src/polynomial/elem/cl_UP_MI.h (cl_class_modint_univpoly_ring): New.
1338            * src/polynomial/elem/cl_UP_gen.h (cl_class_gen_univpoly_ring): New.
1339            * src/polynomial/elem/cl_UP_number.h (cl_class_num_univpoly_ring): New.
1340            Reported by Ralf Goertz <R_Goertz@web.de>.
1341    
1342    2005-04-29  Richard B. Kreckel  <kreckel@ginac.de>
1343                Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1344    
1345            * m4/cc.m4: Emit a warning if g++ is used and optimization turned off.
1346    
1347    2005-04-24  Richard B. Kreckel  <kreckel@ginac.de>
1348    
1349            Make GCC compiler flags default to -O
1350            * m4/cc.m4: New file...
1351            * configure.ac: ...used here.
1352            * autoconf/aclocal.m4: Regenerate.
1353    
1354    2005-04-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1355    
1356            * include/cln/string.h: Declare cl_string.
1357    
1358    2005-03-17  Richard B. Kreckel  <kreckel@ginac.de>
1359    
1360            * autoconf/ltmain.sh: Upgrade to libtool-1.5.14.
1361            * m4/libtool.m4: Upgrade to libtool-1.5.14 with Comeau patch.
1362            * autoconf/aclocal.m4: Regenerate.
1363    
1364    2005-03-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1365    
1366            * src/Makefile.in: Use $CXX instead of $CC when linking.
1367    
1368    2005-02-27  Richard B. Kreckel  <kreckel@ginac.de>
1369    
1370            * examples/perfnum.cc: update to presumed 42st Mersenne prime.
1371    
1372    2004-11-28  Richard B. Kreckel  <kreckel@ginac.de>
1373    
1374            Disambiguate binary operators of CLN types with float/double
1375            * include/cln/dfloat.h: Add binary operator overloads for arguments of
1376            type double.
1377            * include/cln/ffloat.h: Likewise, for arguments of type float.
1378            * include/cln/float.h: Likewise, both for arguments of types double and
1379            float.
1380            * include/cln/real.h: Likewise.
1381            Reported by Isidro Cachadiña Gutiérrez <icacha@unex.es>.
1382    
1383    2004-11-03  Richard B. Kreckel  <kreckel@ginac.de>
1384    
1385            * Version 1.1.9 released.
1386    
1387    2004-10-28  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1388    
1389            * src/Makefile.in: Let config.status set LDFLAGS.
1390    
1391    2004-10-27  Peter Breitenlohner  <peb@mppmu.mpg.de>
1392    
1393            * cln.pc.in: Fix typo.
1394            * Makefile.in (INSTALL_SCRIPT): Added, to be used for scripts like
1395            cln-config.  Allows us to do special things to binaries, like
1396            installing them with install -s.
1397            * doc/Makefile.in: add/remove the cln.info from the installed
1398            $(infodir)/dir unless this is debian install-info (code copied from
1399            what GNU automake would produce).
1400    
1401    2004-10-26  Richard B. Kreckel  <kreckel@ginac.de>
1402    
1403            * src/integer/input/cl_I_read_stream.cc (read_integer): Fix a bug
1404            that caused radix specifiers to not work when reading from a stream.
1405            * src/rational/input/cl_RA_read_stream.cc (read_rational): Likewise.
1406            * src/real/input/cl_R_read_stream.cc (read_real): Likewise.
1407            * src/float/input/cl_F_read_stream.cc (read_float): Likewise.
1408            * src/complex/input/cl_N_read_stream.cc (read_complex): Likewise.
1409    
1410    2004-10-25  Richard B. Kreckel  <kreckel@ginac.de>
1411    
1412            * src/base/cl_low.h: Add mulu64 assembler macro for ia64.
1413    
1414    2004-10-24  Richard B. Kreckel  <kreckel@ginac.de>
1415    
1416            * src/base/cl_low.h: Add mul and div macros for x86_64.
1417    
1418    2004-10-23  Richard B. Kreckel  <kreckel@ginac.de>
1419    
1420            * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Fix thinko in
1421            new code for base power of two.
1422    
1423    2004-10-22  Richard B. Kreckel  <kreckel@ginac.de>
1424    
1425            * src/integer/conv/cl_I_to_digits (I_to_digits): Fix an elusive stack
1426            overwriting problem. That was the real cause for Debian bug#246319.
1427            * src/integer/output/cl_I_print.cc (print_integer): Revert workaround
1428            for the bug fixed above.
1429    
1430    2004-10-20  Richard B. Kreckel  <kreckel@ginac.de>
1431    
1432            * include/cln/types.h: Use 64 bit digits on x86_64 CPU.
1433    
1434    2004-10-12  Richard B. Kreckel  <kreckel@ginac.de>
1435    
1436            * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Speedup when
1437            the base is a power of two.
1438    
1439    2004-10-05  Richard B. Kreckel  <kreckel@ginac.de>
1440    
1441            * src/integer/conv/cl_I_to_digits.cc (I_to_digits): Fix bug in base 32.
1442    
1443    2004-09-27  Richard B. Kreckel  <kreckel@ginac.de>
1444    
1445            Support for little-endian Mips, second shot
1446            * src/base/digitseq/cl_asm_mipsel_.cc: New file...
1447            * src/base/digitseq/cl_asm_cc: ...used here.
1448            * src/base/digitseq/cl_asm.h: Include cl_asm_mips.h for any endianness.
1449            * include/cln/object.h: Set alignment for mipsel explicitly.
1450    
1451    2004-09-05  Richard B. Kreckel  <kreckel@ginac.de>
1452    
1453            Support for little-endian Mips
1454            * include/cln/config.h.in: Add __mipsel__.
1455            * include/cln/modules.h: For Mips, this is endianness-agnostic.
1456            * src/base/digitseq/cl_asm_.cc, src/base/digitseq/cl_asm.h:
1457            Mask out assembler for little-endian Mips.
1458    
1459    2004-08-30  Bruno Haible  <bruno@clisp.org>
1460    
1461            * benchmarks/timebench2.sh: Multiply all repeat counts by 100.
1462            * benchmarks/timebench2.results: Add recent PowerPC G4 results.
1463    
1464    2004-08-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1465    
1466            * examples/e.cc: remove extra semicolon.
1467    
1468    2004-08-25  Bruno Haible  <bruno@clisp.org>
1469    
1470            * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
1471            * m4/libtool.m4: New file, from libtool-1.5.6 with modifications:
1472            2004-08-22  Bruno Haible  <bruno@clisp.org>
1473              * m4/libtool.m4: Add support for Comeau C++ on Linux.
1474              Reported by Prof. Roberto Bagnara <bagnara@cs.unipr.it>.
1475            * autoconf/aclocal.m4: Regenerate.
1476    
1477    2004-08-19  Bruno Haible  <bruno@clisp.org>
1478    
1479            * include/cln/modules.h (CL_GLOBALIZE_JUMP_LABEL, CL_JUMP_TO): When
1480            converting a label to a string, use ASM_UNDERSCORE_PREFIX. Needed on
1481            MacOS X.
1482            Reported by Darren Bane <darren.bane@ul.ie>.
1483    
1484    2004-07-01  Richard B. Kreckel  <kreckel@ginac.de>
1485    
1486            * Version 1.1.8 released.
1487    
1488    2004-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1489    
1490            * src/base/cl_macros.h: alloca(3) has size_t argument type.
1491    
1492    2004-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1493    
1494            * include/cln/floatformat.h: Do define a type here.
1495    
1496    2004-06-27  Richard B. Kreckel  <kreckel@ginac.de>
1497    
1498            * include/cln/modules.h (CL_JUMP_TO): Fix AMD64 brokenness.
1499    
1500    2004-06-23  Bruno Haible  <bruno@clisp.org>
1501    
1502            * configure.ac: Pretend ftime() is not available. Needed by
1503            CL_TIMES_CLOCK.
1504    
1505    2004-06-21  Ralf Stephan  <ralf@ark.in-berlin.de>
1506    
1507            * doc/cln.tex: Document jacobi, isprobprime and nextprobprime.
1508    
1509    2004-06-18  Richard B. Kreckel  <kreckel@ginac.de>
1510    
1511            * rational/transcendental/cl_RA_logp.cc: fix bug where base is
1512            reciprocal of an integer.
1513            Reported by Niklas Knutsson <nq@altern.org>.
1514    
1515    2004-06-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1516    
1517            * src/complex/ring/cl_C_ring.cc, src/integer/ring/cl_I_ring.cc,
1518            src/rational/ring/cl_RA_ring.cc, src/real/ring/cl_R_ring.cc:
1519            Make template specializations explicit.
1520    
1521    2004-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1522    
1523            * src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
1524            src/integer/input/cl_I_read.cc, src/rational/input/cl_RA_read.cc,
1525            src/real/input/cl_R_read.cc:  Remove unused labels.
1526    
1527    2004-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1528    
1529            * benchmarks/timebench1.cc, benchmarks/timebench2a.LiDIA.cc,
1530            benchmarks/timebench2a.cc, benchmarks/timebench2ap.cc,
1531            benchmarks/timebench2b.LiDIA.cc, benchmarks/timebench2b.cc,
1532            examples/atan_recip.cc, examples/atanh_recip.cc,
1533            examples/contfrac.cc, examples/e.cc, examples/legendre.cc,
1534            examples/lucaslehmer.cc, examples/pi.cc, include/cln/GV.h,
1535            include/cln/SV.h, include/cln/malloc.h, include/cln/modules.h,
1536            include/cln/object.h, include/cln/string.h, src/base/cl_abort.cc,
1537            src/base/cl_alloca.h, src/base/cl_malloc.cc,
1538            src/base/random/cl_random_from.cc,
1539            src/base/string/cl_spushstring_append.cc,
1540            src/base/string/cl_spushstring_push.cc,
1541            src/base/string/cl_st_debug.cc,
1542            src/base/string/input/cl_st_gettoken.cc,
1543            src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
1544            src/float/output/cl_F_dprint.cc, src/integer/input/cl_I_read.cc,
1545            src/rational/input/cl_RA_read.cc,
1546            src/real/format-output/cl_fmt_integer.cc,
1547            src/real/format-output/cl_fmt_paddedstring.cc,
1548            src/real/input/cl_R_read.cc, src/timing/cl_t_current.cc,
1549            src/timing/cl_t_current2.cc, tests/exam.cc, tests/tests.cc,
1550            tests/timeLFRAmul.cc, tests/timeLFatan-compare.cc,
1551            tests/timeLFatan.cc, tests/timeLFatanh-compare.cc,
1552            tests/timeLFatanh.cc, tests/timeLFcos-compare.cc, tests/timeLFcos.cc,
1553            tests/timeLFcosh.cc, tests/timeLFexp-compare.cc, tests/timeLFexp.cc,
1554            tests/timeLFln-compare.cc, tests/timeLFln.cc,
1555            tests/timeLFsin-compare.cc, tests/timeLFsin.cc, tests/timeLFsinh.cc,
1556            tests/timeLFsqrt.cc, tests/timeMImisc5.cc, tests/timeMIpow2div.cc,
1557            tests/timeMIpow2recip.cc, tests/timeRALFdiv.cc, tests/timeRAtoLF.cc,
1558            tests/timeUPMImul.cc, tests/timecatalan.cc, tests/timediv.cc,
1559            tests/timediv2adic-compare.cc, tests/timediv2adic.cc,
1560            tests/timeeuler.cc, tests/timeexp1.cc, tests/timefact.cc,
1561            tests/timegcd.cc, tests/timemul-compare.cc, tests/timemul.cc,
1562            tests/timepi.cc, tests/timeprint-compare.cc, tests/timeprint.cc,
1563            tests/timerecip2adic-compare.cc, tests/timerecip2adic.cc,
1564            tests/timesqrt.cc, tests/timesqrtmodp.cc, tests/timesquare.cc,
1565            tests/timezeta3.cc: Change all C include headers to ISO style
1566            within C++ code.
1567    
1568    2004-06-10  Richard B. Kreckel  <kreckel@ginac.de>
1569    
1570            * examples/perfnum.cc: update to presumed 41st Mersenne prime.
1571    
1572    2004-05-02  Richard B. Kreckel  <kreckel@ginac.de>
1573    
1574            * Version 1.1.7 released.
1575    
1576    2004-05-02  Richard B. Kreckel  <kreckel@ginac.de>
1577    
1578            * examples/pi.cc and examples/pi.1: New files.
1579            * examples/Makefile.in: Build the pi executable.
1580    
1581    2004-05-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1582    
1583            * src/Makefile.in: Fix for parallel build: wait for subdir objects to
1584            be finished before creating the library.
1585    
1586    2004-04-30  Richard B. Kreckel  <kreckel@ginac.de>
1587    
1588            * src/integer/output/cl_I_print.cc (print_integer): workaround
1589            GCC compiler bug (cf. Debian bug#246319).
1590    
1591    2004-03-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1592    
1593            * m4/gmp.m4 (CL_GMP_CHECK): Do not lose LIBS setting with config.cache
1594            enabled.
1595    
1596    2004-03-08  Bruno Haible  <bruno@clisp.org>
1597    
1598            * src/float/lfloat/elem/cl_LF_mul.cc (operator*): Fix the second
1599            underflow condition.
1600            * src/float/lfloat/algebraic/cl_LF_sqrt.cc (sqrt): Fix a bug with large
1601            uexp whereby SQRT of MOST-POSITIVE-LONG-FLOAT was less than 1.
1602    
1603    2004-03-04  Richard B. Kreckel  <kreckel@ginac.de>
1604    
1605            * Makefile.in (install): Add ${srcdir} for cln.m4.
1606            * m4/gmp.m4: quote macro names.
1607            Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1608    
1609    2004-01-01  Richard B. Kreckel  <kreckel@ginac.de>
1610    
1611            * Version 1.1.6 released.
1612    
1613    2004-01-01  Richard B. Kreckel  <kreckel@ginac.de>
1614    
1615            * include/cln/univpoly.h, include/cln/univpoly_complex.h,
1616              include/cln//univpoly_integer.h, include/cln/univpoly_modint.h,
1617              include/cln/univpoly_rational.h, include/cln/univpoly_real.h,
1618              src/polynomial/elem/cl_UP_GF2.h, src/polynomial/elem/cl_UP_MI.h,
1619              src/polynomial/elem/cl_UP_gen.h, src/polynomial/elem/cl_UP_no_ring.cc,
1620              src/polynomial/elem/cl_UP_number.h (ldegree): New function.
1621            * doc/cln.tex: Document `ldegree'.
1622    
1623    2003-12-29  Richard B. Kreckel  <kreckel@ginac.de>
1624    
1625            Rework of autoconfiscation infrastructure
1626            * autoconf/config.{guess,sub}: Update to GNU version 2003-10-07.
1627            * autoconf/ltmain.sh: Update to GNU version 1.4.3.
1628            * autoconf/autoconf: Remove (from now on we assume autoconf is
1629              installed properly on the sytem).
1630            * autoconf/autoconf.m4: Likewise.
1631            * autoconf/autoconf.m4f: Likewise.
1632            * autoconf/acgeneral.m4: Likewise.
1633            * autoconf/acspecific.m4: Likewise.
1634            * autoconf/aclocal.m4: Regenerate.
1635            * autoconf/acinclude.m4: Remove (while moving the macros...)
1636            * m4/gmp.m4: New file (...to here).
1637            * Makefile.devel: Update to new scheme.
1638            * configure.ac: Likewise.
1639            * include/cln/GV_integer.h: Assume template specializations work.
1640            * include/cln/GV_modinteger.h: Likewise.
1641            * include/cln/config.h.in: Likewise, and drop HAVE_BOOL.
1642            * src/base/cl_base_config.h.in: Drop support for obsolete ftime(3).
1643            * src/base/random/cl_random_from.cc: Likewise.
1644            * src/timing/cl_base_config.h.in: Likewise.
1645            * src/timing/cl_t_current.cc: Likewise.
1646    
1647    2003-12-27  Richard B. Kreckel  <kreckel@ginac.de>
1648    
1649            * src/polynomial/cl_UP_gen.h (gen_minus): Fix case where first
1650              argument is zero.
1651            * src/polynomial/cl_UP_MI.h (modint_minus): Likewise.
1652            * src/polynomial/cl_UP_number.h (num_minus): Likewise.
1653            Reported by Munagala Ramanath <amberarrow@yahoo.com>.
1654    
1655    2003-12-02  Richard B. Kreckel  <kreckel@ginac.de>
1656    
1657            * examples/perfnum.cc: update to presumed 40th Mersenne prime.
1658    
1659    2003-11-20  Christian Bauer  <cbauer@ginac.de>
1660    
1661            Added pkg-config support
1662            * cln.pc.in: New file.
1663            * Makefile.in: Take care of cln.pc.
1664            * configure.ac: Likewise.
1665    
1666    2003-08-06  Richard B. Kreckel  <kreckel@ginac.de>
1667    
1668            * src/numtheory/cl_nt_sqrtmodp.cc: #undef _R.
1669            Reported by Andrew Rechnitzer <A.Rechnitzer@ms.unimelb.edu.au>.
1670    
1671    2003-08-01  Richard Kreckel  <kreckel@ginac.de>
1672    
1673            More dependent base resolution issues
1674            * src/base/hash/cl_hash.h (cl_heap_hashtable<T>::iterator()):
1675            portable syntactic simplification.
1676            * src/base/hash/cl_hashset.h: Preceed inherited members with this->.
1677            * src/base/hash/cl_hash1.h: Likewise for member functions.
1678            * src/base/hash/cl_hash2.h: Likewise.
1679            * src/base/hash/cl_hashuniq.h: Likewise.
1680            * src/base/hash/cl_hashuniqweak.h: Likewise.
1681            * src/base/hash/cl_hash.h: Revert explicit static member function
1682            lookup since that was GCC's fault.
1683            * src/base/hash/cl_hash2weak.h: Likewise.
1684            * src/base/hash/cl_hashuniqweak.h: Likewise.
1685    
1686    2003-06-29  Richard Kreckel  <kreckel@ginac.de>
1687    
1688            Dependent base resolution needed for GCC-3.4
1689            * include/cln/GV.h: Preceed inherited members with this->.
1690            * include/cln/SV.h: Likewise.
1691            * include/cln/object.h: Likewise.
1692            * src/base/hash/cl_hash1.h: Likewise.
1693            * src/base/hash/cl_hash1weak.h: Likewise.
1694            * src/base/hash/cl_hash2.h: Likewise.
1695            * src/base/hash/cl_hashuniq.h: Likewise.
1696            * src/base/hash/cl_hash.h: Make lookup of static member function
1697            explicit.
1698            * src/base/hash/cl_hash2weak.h: Likewise.
1699            * src/base/hash/cl_hashuniqweak.h: Likewise.
1700            * src/modinteger/cl_MI.cc: Make shell-comment a C-comment. Geez.
1701    
1702    2003-02-24  Bruno Haible  <bruno@clisp.org>
1703    
1704            * src/base/random/cl_random_from.cc (random_state::random_state): Add
1705            support for MacOS X.
1706            * src/modinteger/cl_MI.cc: #undef _R.
1707            Reported by Erann Gat <gat@jpl.nasa.gov>.
1708    
1709    2002-08-03  Joerg Arndt  <jj@suse.de>
1710    
1711            * include/cln/config.h.in: Add support for x86_64 CPU.
1712            * include/cln/modules.h: Likewise.
1713            * include/cln/types.h: Likewise.
1714            * include/cln/object.h: Likewise.
1715    
1716    2002-06-08  Richard Kreckel  <kreckel@ginac.de>
1717    
1718            * src/base/digitseq/cl_asm.h: ensure intCsize==16 when including
1719            m68k Assembler routines.
1720            * src/base/digitseq/cl_asm_.cc: Likewise.
1721    
1722    2002-05-28  Richard Kreckel  <kreckel@ginac.de>
1723    
1724            * Version 1.1.5 released.
1725    
1726    2002-05-27  Richard Kreckel  <kreckel@ginac.de>
1727    
1728            * include/cln/modules.h (CL_CONCATENATE): New macro.
1729    
1730    2002-05-10  Richard Kreckel  <kreckel@ginac.de>
1731    
1732            * doc/cln.tex (Building the library): Update recommendations for
1733            compiling on Tru64 using g++ 3.0 and 3.1.
1734            * README: Update homepage.
1735    
1736    2002-05-05  Bruno Haible  <bruno@clisp.org>
1737    
1738            * doc/cln.tex (Building the library): Give some recommendations for
1739            g++ 3.0 and 3.1.
1740    
1741            Force link-time references despite optimizations done by g++ 2.95
1742            and newer.
1743            * include/cln/modules.h (CL_FORCE_LINK): New macro.
1744            * Use CL_FORCE_LINK.
1745            * include/cln/GV_integer.h (cl_GV_I_debug_dummy): Likewise.
1746            * include/cln/GV_number.h (cl_GV_number_debug_dummy): Likewise.
1747            * include/cln/SV_number.h (cl_SV_number_debug_dummy): Likewise.
1748            * include/cln/SV_ringelt.h (cl_SV_ringelt_debug_dummy): Likewise.
1749            * include/cln/dfloat.h (cl_DF_debug_dummy): Likewise.
1750            * include/cln/ffloat.h (cl_FF_classes_dummy, cl_FF_debug_dummy):
1751            Likewise.
1752            * include/cln/integer.h (cl_I_classes_dummy, cl_I_debug_dummy):
1753            Likewise.
1754            * include/cln/lfloat.h (cl_LF_debug_dummy): Likewise.
1755            * include/cln/modinteger.h (cl_MI_debug_dummy): Likewise.
1756            * include/cln/rational.h (cl_RA_debug_dummy): Likewise.
1757            * include/cln/real.h (cl_R_debug_dummy): Likewise.
1758            * include/cln/ring.h (cl_ring_debug_dummy): Likewise.
1759            * include/cln/sfloat.h (cl_SF_classes_dummy, cl_SF_classes_dummy):
1760            Likewise.
1761            * include/cln/string.h (cl_string_debug_dummy): Likewise.
1762            * include/cln/univpoly.h (cl_UP_debug_dummy): Likewise.
1763            * src/float/base/cl_ieee.h (cl_ieee_dummy_NNN): Likewise.
1764    
1765            Avoid g++ 3.1 warnings.
1766            * src/base/cl_offsetof.h (offsetof): Redefine each time.
1767            * src/base/digitseq/cl_DS.h: Include "cl_offsetof.h" after <gmp.h>.
1768    
1769            Avoid g++ 3.1 warnings.
1770            * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
1771            where needed.
1772            * src/base/hash/cl_hash1.h (struct cl_heap_hashtable_1): typedef
1773            htxentry as a shortcut.
1774            * src/base/hash/cl_hash2.h (struct cl_heap_hashtable_2): Likewise.
1775            * src/base/hash/cl_hashset.h (struct cl_heap_hashtable_set): Likewise.
1776            * src/base/hash/cl_hashuniq.h (struct cl_heap_hashtable_uniq):
1777            Likewise.
1778    
1779    2002-03-15  Bruno Haible  <bruno@clisp.org>
1780    
1781            * cln.tex: Document problem with GNU make 3.77.
1782            Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
1783    
1784    2002-02-16  Richard Kreckel  <kreckel@ginac.de>
1785    
1786            * cln.m4: quote macro name.
1787              Pointed out by Roberto Bagnara.
1788    
1789    2002-01-20  Richard Kreckel  <kreckel@ginac.de>
1790    
1791            * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
1792              (the old one was broken on Linux/Mips.)
1793    
1794    2002-01-04  Richard Kreckel  <kreckel@ginac.de>
1795    
1796            * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
1797            * Version 1.1.4 released.
1798    
1799    2002-01-03  Richard Kreckel  <kreckel@ginac.de>
1800    
1801            * autoconf/acinclude.m4: revamp MPN-matcher.
1802            * autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
1803              sync with CLisp from CVS.
1804            * autoconf/autoconf: Likewise.
1805            * autoconf/autoconf.m4f: Likewise (new file).
1806            * configure.ac: Likewise (new file, replaces configure.in).
1807            * configure.in: Likewise (deleted, replaced by configure.ac).
1808            * autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
1809            * src/Makefile.in: made VPATH safe for autoconf-2.52.
1810            * include/cln/config.h.in: Add __s390__.
1811    
1812  2001-12-31  Richard Kreckel  <kreckel@ginac.de>  2001-12-31  Richard Kreckel  <kreckel@ginac.de>
1813    
1814          * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"          * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.206

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