/[cln]/ChangeLog
ViewVC logotype

Contents of /ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.223 - (hide annotations)
Fri Apr 18 23:56:32 2008 UTC (5 years, 1 month ago) by haible
Branch: MAIN
Changes since 1.222: +7 -1 lines
Fix a bug in FN_to_NDS in configurations where intDsize < intPsize.

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

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