/[cln]/ChangeLog
ViewVC logotype

Diff of /ChangeLog

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

revision 1.138 by kreckel, Tue Aug 30 21:32:52 2005 UTC revision 1.191 by kreckel, Mon Dec 17 21:16:10 2007 UTC
# Line 1  Line 1 
1    2007-12-17  Richard B. Kreckel  <kreckel@ginac.de>
2    
3            Silly workaround for silly bug in gmp.h:
4            * m4/gmp.m4 (CL_GMP_SET_UINTD): Swap #include <gmp.h> and <stdio.h>.
5    
6    2007-12-17  Richard B. Kreckel  <kreckel@ginac.de>
7    
8            * src/polynomial/elem/cl_UP_GF2.h (gf2_mul_table): define for sparc64.
9    
10    2007-12-04  Richard B. Kreckel  <kreckel@ginac.de>
11    
12            * include/cln/types.h ([su]intE): 64-bit exponents for MIPS and RS6000.
13    
14    2007-12-03  Richard B. Kreckel  <kreckel@ginac.de>
15    
16            * src/float/lfloat/cl_LF.h (cl_heap_lfloat): Change len type to uintC.
17    
18    2007-11-28  Richard B. Kreckel  <kreckel@ginac.de>
19    
20            * include/cln/object.h: Don't redefine cl_word_alignment on sparc64.
21            * src/base/digitseq/cl_asm_sparc64_.cc: Declare use of global
22            register %g2 as scratch register within this file.
23            Reported by Paul Irofti <bulibuta@gmail.com> and Sven Verdoolaege
24            <skimo@kotnet.org>.
25    
26    2007-11-03  Richard B. Kreckel  <kreckel@ginac.de>
27    
28            * src/base/digitseq/cl_asm_i386_.cc (compare_loop_up,
29            compare_loop_down): Fix empty ranges.
30    
31    2007-10-12  Richard B. Kreckel  <kreckel@ginac.de>
32    
33            Fix compilation on CYGWIN:
34            * src/float/transcendental/cl_LF_zeta_int.cc: Avoid leading underscores
35            in variable names.
36            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
37            Reported by Chris Bouchard <cbouchrd@uiuc.edu>.
38    
39    2007-10-10  Richard B. Kreckel  <kreckel@ginac.de>
40    
41            * src/base/cl_low.h: Add missing linefeeds in SPARC 64 inline assembler.
42            * src/base/low/cl_low_div.cc (divu_6464_6464_): Fix a copy-paste typo.
43            Reported by Sven Verdoolaege <skimo@kotnet.org>.
44    
45    2007-10-02  Richard B. Kreckel  <kreckel@ginac.de>
46    
47            On popular demand (Debian bug #286266, Ubuntu bug #128851):
48            * examples/pi.cc: Output no more than requested number of digits.
49    
50    2007-10-01  Richard B. Kreckel  <kreckel@ginac.de>
51    
52            * autoconf/config.guess, autoconf/config.sub: updated from automake-1.9.
53    
54    2007-09-19  Richard B. Kreckel  <kreckel@ginac.de>
55    
56            * doc/cln.tex: Put entire document in @dircategory Mathematics.
57            * doc/Makefile.in: texi2html -split_chapter suddenly uses subdirectory.
58            * Makefile.in: Don't install non-existing cln-config* and cln.m4.
59    
60    2007-09-18  Richard B. Kreckel  <kreckel@ginac.de>
61    
62            * include/cln/modules.h (CL_JUMP_TO): Use a pc relative jump on m68k.
63            See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=388000>.
64    
65    2007-09-16  Richard B. Kreckel  <kreckel@ginac.de>
66    
67            * */*: Convert encoding from ISO 8859-1 to UTF-8.
68    
69    2007-09-13  Richard B. Kreckel  <kreckel@ginac.de>
70    
71            Truncated binary splitting for even more memory efficiency:
72            * src/float/transcendental/cl_LF_tran.h: Added new overloads. See below.
73            * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Removed and
74            moved everything to...
75            * src/float/transcendental/cl_LF_ratseries_pq.cc: ...here. Added an
76            overload for truncated expansion.
77            * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Removed and
78            moved everything to...
79            * src/float/transcendental/cl_LF_ratseries_pqa.cc: ...here. Added an
80            overload for truncated expansion.
81            * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Removed and
82            moved everything to...
83            * src/float/transcendental/cl_LF_ratseries_pqb.cc: ...here. Added an
84            overload for truncated expansion.
85            * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Removed and
86            moved everything to...
87            * src/float/transcendental/cl_LF_ratseries_pqab.cc: ...here. Added an
88            overload for truncated expansion.
89            * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Added
90            overloads for streamed and truncated expansion.
91            * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise.
92            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd_aux.cc: Removed
93            and moved everything to...
94            * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: ...here. Added
95            an overload for truncated expansion.
96            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd.cc: Removed
97            and moved everything to...
98            * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: ...here. Added an
99            overload for truncated expansion.
100            * src/float/transcendental/cl_LF_pi.cc: Use truncated series.
101            * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
102            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
103            * src/float/transcendental/cl_LF_zeta_int.cc: Likewise.
104            * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
105    
106    2007-09-07  Richard B. Kreckel  <kreckel@ginac.de>
107    
108            More memory efficient Euler-Mascheroni constant:
109            * src/float/transcendental/cl_LF_tran.h (cl_pqd_series_stream): New.
110            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd.cc: New file.
111            * src/float/transcendental/cl_LF_ratsumseries_stream_pqd_aux.cc: New
112            file.
113            * src/float/transcendental/cl_LF_eulerconst.cc: Compute series
114            coefficients on demand, using a series stream object.
115    
116    2007-08-02  Richard B. Kreckel  <kreckel@ginac.de>
117    
118            * src/base/digitseq/cl_DS_div.cc (cl_recip_suitable): uintC arguments.
119    
120    2007-08-01  Richard B. Kreckel  <kreckel@ginac.de>
121    
122            * */*: Remove cl_boolean, cl_true, and cl_false in favor of built-in
123            C++ bool, true, and false.
124    
125    2007-07-28  Richard B. Kreckel  <kreckel@ginac.de>
126    
127            Remove exception hooks in favor of real C++ exceptions:
128            * include/cln/exception.h: New file...
129            * include/cln/cln.h: ...included here...
130            * include/cln/rational.h: ...and here.
131            * include/cln/abort.h: Removed.
132            * include/cln/integer.h (ash_exception, exquo_exception): Add exception
133            types.
134            * include/cln/float.h (floating_point_exception,
135            floating_point_nan_exception, floating_point_overflow_exception,
136            floating_point_underflow_exception): Likewise.
137            * include/cln/number_io.h (read_number_exception,
138            read_number_bad_syntax_exception, read_number_junk_exception,
139            read_number_eof_exception): Likewise.
140            * include/cln/object.h (CL_DEFINE_CONVERTER): Replace dynamic assertion
141            with a compile-time assertion.
142            * include/cln/GV.h: Replace nonreturning functions with exceptions.
143            * include/cln/modinteger.h: Likewise.
144            * include/cln/SV.h: Likewise.
145            * include/cln/ring.h: Likewise.
146            * include/cln/string.h: Likewise.
147            * include/cln/univpoly.h: Likewise.
148            * src/base/cl_abort.cc: Removed.
149            * src/base/cl_N_err_d0.cc: Removed.
150            * src/base/cl_d0_exception.cc: New file.
151            * src/base/cl_as_err.cc: Removed.
152            * src/base/cl_as_exception.cc: New file.
153            * src/base/cl_notreached.cc: Removed.
154            * src/base/cl_notreached_exception.cc: New file.
155            * src/base/input/cl_read_err_bad.cc: Removed.
156            * src/base/input/cl_read_bad_syntax_exception.cc: New file.
157            * src/base/input/cl_read_err_junk.cc: Removed.
158            * src/base/input/cl_read_junk_exception.cc: New file.
159            * src/base/input/cl_read_err_eof.cc: Removed.
160            * src/base/input/cl_read_eof_exception.cc: New file.
161            * src/base/cl_N.h (cl_as_error): Removed (see cln/exception.h).
162            * src/base/macros.h (NOTREACHED): Throw.
163            * src/base/cl_malloc.cc (xmalloc): Throw.
164            * src/base/digitseq/cl_2DS_div.cc: Throw.
165            * src/base/digitseq/cl_DS_div.cc: Throw.
166            * src/base/digitseq/cl_DS_mul.cc: Throw.
167            * src/base/digitseq/cl_DS_mul_fftc.h: Throw.
168            * src/base/digitseq/cl_DS_mul_fftcs.h: Throw.
169            * src/base/digitseq/cl_DS_mul_fftm.h: Throw.
170            * src/base/digitseq/cl_DS_mul_fftp.h: Throw.
171            * src/base/digitseq/cl_DS_mul_fftp3.h: Throw.
172            * src/base/digitseq/cl_DS_mul_fftp3m.h: Throw.
173            * src/base/digitseq/cl_DS_mul_fftr.h: Throw.
174            * src/base/digitseq/cl_DS_mul_nuss.h: Throw.
175            * src/base/digitseq/cl_DS_recipsqrt.cc: Throw.
176            * src/base/digitseq/cl_DS_sqrt.cc: Throw.
177            * src/base/hash/cl_hash.h: Throw.
178            * src/base/hash/cl_hash1.h: Throw.
179            * src/base/hash/cl_hash1weak.h: Throw.
180            * src/base/hash/cl_hash2.h: Throw.
181            * src/base/hash/cl_hash2weak.h: Throw.
182            * src/base/hash/cl_hashset.h: Throw.
183            * src/base/hash/cl_hashuniq.h: Throw.
184            * src/base/hash/cl_hashuniqweak.h: Throw.
185            * src/base/proplist/cl_pl_add.cc: Throw.
186            * src/base/ring/cl_no_ring.cc: Throw.
187            * src/base/string/cl_spushstring.h: Throw.
188            * src/base/symbol/cl_symbol.cc: Throw.
189            * src/integer/bitwise/cl_I_ash.h: Removed (see cln/integer.h.)
190            * src/integer/bitwise/cl_I_asherr.cc: Removed.
191            * src/integer/bitwise/cl_I_ash_exception.cc: New file.
192            * src/integer/division/cl_I_exquoerr.cc: Removed.
193            * src/integer/division/cl_I_exquo_exception.cc: New file.
194            * src/integer/cl_I.h: Throw.
195            * src/integer/division/cl_I_exquopos.cc: Throw.
196            * src/integer/bitwise/cl_I_logbitp_I.cc: Throw.
197            * src/integer/bitwise/cl_I_ash.cc: Throw.
198            * src/integer/bitwise/cl_I_ash_I.cc: Throw.
199            * src/integer/division/cl_I_exquo.cc: Throw.
200            * src/integer/gcd/cl_I_gcd_aux2.cc: Throw.
201            * src/integer/conv/cl_I_to_L.cc: Throw.
202            * src/integer/conv/cl_I_to_Q.cc: Throw.
203            * src/integer/conv/cl_I_to_UL.cc: Throw.
204            * src/integer/conv/cl_I_to_UQ.cc: Throw.
205            * src/integer/conv/cl_I_to_digits.cc: Throw.
206            * src/integer/elem/cl_I_div.cc: Throw.
207            * src/integer/algebraic/cl_I_sqrt.cc: Throw.
208            * src/integer/input/cl_I_read.cc: Throw.
209            * src/integer/input/cl_I_read_stream.cc: Throw.
210            * src/integer/misc/cl_I_as.cc: Throw.
211            * src/rational/elem/cl_RA_from_I_I_div.cc: Throw.
212            * src/rational/elem/cl_RA_recip.cc: Throw.
213            * src/rational/input/cl_RA_read.cc: Throw.
214            * src/rational/input/cl_RA_read_stream.cc: Throw.
215            * src/rational/input/cl_RA_readparsed.cc: Throw.
216            * src/rational/misc/cl_RA_as.cc: Throw.
217            * src/float/base/cl_F_err_nan.cc: Removed.
218            * src/float/base/cl_F_nan_exception.cc: New file.
219            * src/float/base/cl_F_err_un.cc: Removed.
220            * src/float/base/cl_F_underflow_exception.cc: New file.
221            * src/float/base/cl_F_err_ov.cc: Removed.
222            * src/float/base/cl_F_overflow_exception.cc: New file.
223            * src/float/cl_F.h (cl_error_floating_point_nan,
224            cl_error_floating_point_overflow, cl_error_floating_point_underflow):
225            Removed (see cln/float.h.)
226            * src/float/sfloat/cl_SF.h: Throw.
227            * src/float/sfloat/elem/cl_SF_div.cc: Throw.
228            * src/float/sfloat/elem/cl_SF_from_RA.cc: Throw.
229            * src/float/sfloat/elem/cl_SF_scale.cc: Throw.
230            * src/float/sfloat/elem/cl_SF_scale_I.cc: Throw.
231            * src/float/sfloat/misc/cl_SF_as.cc: Throw.
232            * src/float/ffloat/cl_FF.h: Throw.
233            * src/float/ffloat/conv/cl_FF_from_float.cc: Throw.
234            * src/float/ffloat/elem/cl_FF_div.cc: Throw.
235            * src/float/ffloat/elem/cl_FF_from_RA.cc: Throw.
236            * src/float/ffloat/elem/cl_FF_scale.cc: Throw.
237            * src/float/ffloat/elem/cl_FF_scale_I.cc: Throw.
238            * src/float/ffloat/misc/cl_FF_as.cc: Throw.
239            * src/float/dfloat/cl_DF.h: Throw.
240            * src/float/dfloat/conv/cl_DF_from_double.cc: Throw.
241            * src/float/dfloat/elem/cl_DF_div.cc: Throw.
242            * src/float/dfloat/elem/cl_DF_from_RA.cc: Throw.
243            * src/float/dfloat/elem/cl_DF_scale.cc: Throw.
244            * src/float/dfloat/elem/cl_DF_scale_I.cc: Throw.
245            * src/float/dfloat/misc/cl_DF_as.cc: Throw.
246            * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Throw.
247            * src/float/lfloat/elem/cl_LF_1plus.cc: Throw.
248            * src/float/lfloat/elem/cl_LF_I_div.cc: Throw.
249            * src/float/lfloat/elem/cl_LF_I_mul.cc: Throw.
250            * src/float/lfloat/elem/cl_LF_div.cc: Throw.
251            * src/float/lfloat/elem/cl_LF_from_I.cc: Throw.
252            * src/float/lfloat/elem/cl_LF_mul.cc: Throw.
253            * src/float/lfloat/elem/cl_LF_scale.cc: Throw.
254            * src/float/lfloat/elem/cl_LF_scale_I.cc: Throw.
255            * src/float/lfloat/elem/cl_LF_square.cc: Throw.
256            * src/float/lfloat/misc/cl_LF_as.cc: Throw.
257            * src/float/lfloat/misc/cl_LF_shorten.cc: Throw.
258            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Throw.
259            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Throw.
260            * src/float/input/cl_F_read.cc: Throw.
261            * src/float/input/cl_F_read_stream.cc: Throw.
262            * src/float/misc/cl_F_as.cc: Throw.
263            * src/float/misc/cl_F_shortenrel.cc: Throw.
264            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Throw.
265            * src/float/transcendental/cl_LF_cossin_aux.cc: Throw.
266            * src/float/transcendental/cl_LF_exp_aux.cc: Throw.
267            * src/float/transcendental/cl_LF_ratseries_a.cc: Throw.
268            * src/float/transcendental/cl_LF_ratseries_ab.cc: Throw.
269            * src/float/transcendental/cl_LF_ratseries_b.cc: Throw.
270            * src/float/transcendental/cl_LF_ratseries_p.cc: Throw.
271            * src/float/transcendental/cl_LF_ratseries_pa.cc: Throw.
272            * src/float/transcendental/cl_LF_ratseries_pab.cc: Throw.
273            * src/float/transcendental/cl_LF_ratseries_pb.cc: Throw.
274            * src/float/transcendental/cl_LF_ratseries_pq.cc: Throw.
275            * src/float/transcendental/cl_LF_ratseries_pqa.cc: Throw.
276            * src/float/transcendental/cl_LF_ratseries_pqab.cc: Throw.
277            * src/float/transcendental/cl_LF_ratseries_pqb.cc: Throw.
278            * src/float/transcendental/cl_LF_ratseries_q.cc: Throw.
279            * src/float/transcendental/cl_LF_ratseries_qa.cc: Throw.
280            * src/float/transcendental/cl_LF_ratseries_qab.cc: Throw.
281            * src/float/transcendental/cl_LF_ratseries_qb.cc: Throw.
282            * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Throw.
283            * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Throw.
284            * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Throw.
285            * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Throw.
286            * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Throw.
287            * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Throw.
288            * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Throw.
289            * src/float/transcendental/cl_LF_zeta_int.cc: Throw.
290            * src/real/elem/cl_R_div.cc: Throw.
291            * src/real/format-output/cl_fmt_cardinal.cc: Throw.
292            * src/real/format-output/cl_fmt_newroman.cc: Throw.
293            * src/real/format-output/cl_fmt_oldroman.cc: Throw.
294            * src/real/input/cl_R_read.cc: Throw.
295            * src/real/input/cl_R_read_stream.cc: Throw.
296            * src/real/misc/cl_R_as.cc: Throw.
297            * src/real/random/cl_R_random.cc: Throw.
298            * src/real/transcendental/cl_R_atan2.cc: Throw.
299            * src/real/transcendental/cl_R_log.cc: Throw.
300            * src/complex/input/cl_N_read.cc: Throw.
301            * src/complex/input/cl_N_read_stream.cc: Throw.
302            * src/complex/misc/cl_N_as.cc: Throw.
303            * src/complex/transcendental/cl_C_atanh_aux.cc: Throw.
304            * src/complex/transcendental/cl_C_expt_C.cc: Throw.
305            * src/complex/transcendental/cl_C_log.cc: Throw.
306            * src/complex/transcendental/cl_C_log2.cc: Throw.
307            * src/numtheory/cl_nt_cornacchia1.cc: Throw.
308            * src/numtheory/cl_nt_cornacchia4.cc: Throw.
309            * src/numtheory/cl_nt_isprobprime.cc: Throw.
310            * src/numtheory/cl_nt_jacobi.cc: Throw.
311            * src/numtheory/cl_nt_jacobi_low.cc: Throw.
312            * src/numtheory/cl_nt_sqrtmodp.cc: Throw.
313            * src/modinteger/cl_MI.cc: Throw.
314            * src/modinteger/cl_MI_int.h: Throw.
315            * src/modinteger/cl_MI_montgom.h: Throw.
316            * src/modinteger/cl_MI_pow2.h: Throw.
317            * src/modinteger/cl_MI_rshift.cc: Throw.
318            * src/modinteger/cl_MI_std.h: Throw.
319            * src/polynomial/elem/cl_UP_GF2.h: Throw.
320            * src/polynomial/elem/cl_UP_MI.h: Throw.
321            * src/polynomial/elem/cl_UP_gen.h: Throw.
322            * src/polynomial/elem/cl_UP_named.cc: Throw.
323            * src/polynomial/elem/cl_UP_no_ring.cc (uninitialized_error,
324            uninitialized_ring): Removed (see cln/ring.h.)
325            * src/polynomial/elem/cl_UP_number.h: Throw.
326            * src/polynomial/elem/cl_UP_unnamed.cc: Throw.
327            * src/vector/cl_GV_I.cc: Throw.
328            * src/vector/cl_GV_number.cc: Throw.
329            * tests/timediv2adic-compare.cc: Use default abort(), not cl_abort().
330            * tests/timeprint-compare.cc: Likewise.
331            * tests/timerecip2adic-compare.cc: Likewise.
332            * doc/cln.tex: Document the exception classes.
333            * examples/contfrac.cc: Use try/catch instead of setjmp/longjmp.
334            * INSTALL: undocument -fno-exceptions.
335            * README: Add exceptions to list of used C++ features.
336    
337    2007-06-20  Richard B. Kreckel  <kreckel@ginac.de>
338    
339            * cln.spec.in (Source0): Package is bzip2-compressed.
340            Reported by Markus Grabner <grabner@icg.tugraz.at>.
341    
342    2007-05-31  Richard B. Kreckel  <kreckel@ginac.de>
343    
344            * include/cln/integer.h (cl_I_to_E, cl_I_to_UE): New functions.
345            * src/float/transcendental/cl_LF_exp_aux.cc: Make lq argument an uintE.
346            * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
347            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
348            * src/float/transcendental/cl_F_tran.h: Change declaration of lq.
349            * src/float/transcendental/cl_F_lnx.cc: Fix some exponent types.
350            * src/float/transcendental/cl_F_expx.cc: Likewise.
351            * src/float/transcendental/cl_F_sinh.cc: Likewise.
352            * src/float/transcendental/cl_F_atanx.cc: Likewise.
353            * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
354            * src/float/transcendental/cl_LF_cossin.cc: Likewise.
355            * src/float/transcendental/cl_LF_coshsinh.cc: Likewise.
356    
357    2007-04-09  Richard B. Kreckel  <kreckel@ginac.de>
358    
359            More memory efficient constants:
360            * src/float/transcendental/cl_LF_pi.cc (compute_pi_ramanujan_163_fast):
361            Compute series coefficients on demand, using a series stream object.
362            * src/float/transcendental/cl_LF_zeta3.cc (zeta3): Likewise.
363            * src/float/transcendental/cl_LF_catalanconst.cc
364            (compute_catalanconst_ramanujan_fast): Likewise.
365            (compute_catalanconst_lupas): New function.
366            (compute_catalanconst): Simplify, based on new benchmark.
367    
368    2007-04-02  Alexei Sheplyakov  <varg@theor.jinr.ru>
369    
370            Debian Bug#412103:
371            * cln.pc.in: list -lgmp in Libs.private instead of in Libs.
372            * doc/cln.tex: Undocument cln-config, properly document pkg-config.
373            * cln-config.1.in: Remove.
374            * cln-config.in: Remove.
375            * cln.m4: Remove.
376            * configure.ac: Don't output cln-config and cln-config.1.
377    
378    2006-12-24  Bruno Haible  <bruno@clisp.org>
379    
380            Make autoconfiguration work with gcc-4.3 snapshots.
381            * autoconf/intparam.c (main1): Rename get_integer_bitsize to
382            get_unsigned_integer_bitsize. New macro get_signed_integer_bitsize.
383    
384    2006-12-19  Bruno Haible  <bruno@clisp.org>
385    
386            * autoconf/intparam.c (main): Use 'return', not exit().
387            * autoconf/floatparam.c (main): Likewise.
388            Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
389    
390    2006-12-11  Richard B. Kreckel  <kreckel@ginac.de>
391    
392            Extend the exponent range from 32 bits to 64 bits on selected platforms.
393            * include/cln/number.h: Add signatures for operations with long long.
394            * include/cln/complex_class.h: Likewise.
395            * include/cln/real_class.h: Likewise.
396            * include/cln/real.h: Likewise.
397            * include/cln/rational_class.h: Likewise.
398            * include/cln/rational.h: Likewise.
399            * include/cln/integer_class.h: Likewise.
400            * include/cln/integer.h: Likewise.
401            * include/cln/float.h: Likewise.
402            * include/cln/lfloat.h: Likewise.
403            * include/cln/types.h (sintE and uintE): New types for exponents.
404            * include/cln/*float.h: Use the new types for exponents.
405            * include/cln/floatformat.h (float_format_t): Make underlying type
406            compatible with sintE.
407            * doc/cln.tex: Document changed float_exponent return value.
408            * src/float/cl_F.h: Likewise.
409            * src/float/ffloat/misc/cl_FF_exponent.cc: Likewise.
410            * src/float/input/cl_F_read.cc: Likewise.
411            * src/float/lfloat/cl_LF.h: Likewise.
412            * src/float/lfloat/cl_LF_impl.h: Likewise.
413            * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
414            * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
415            * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
416            * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
417            * src/float/lfloat/elem/cl_LF_compare.cc: Likewise.
418            * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
419            * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
420            * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
421            * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
422            * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
423            * src/float/lfloat/elem/cl_LF_mul.cc: Likewise.
424            * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
425            * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
426            * src/float/lfloat/elem/cl_LF_square.cc: Likewise.
427            * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
428            * src/float/lfloat/misc/cl_LF_decode.cc: Likewise.
429            * src/float/lfloat/misc/cl_LF_exponent.cc: Likewise.
430            * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
431            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
432            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
433            * src/float/misc/cl_F_decode.cc: Likewise.
434            * src/float/misc/cl_F_exponent.cc: Likewise.
435            * src/float/misc/cl_F_shortenrel.cc: Likewise.
436            * src/float/misc/cl_float_format.cc: Likewise.
437            * src/float/output/cl_F_dprint.cc: Likewise.
438            * src/float/sfloat/misc/cl_SF_exponent.cc: Likewise.
439            * src/float/transcendental/cl_F_atanhx.cc: Likewise.
440            * src/float/transcendental/cl_F_atanx.cc: Likewise.
441            * src/float/transcendental/cl_F_cosh.cc: Likewise.
442            * src/float/transcendental/cl_F_expx.cc: Likewise.
443            * src/float/transcendental/cl_F_lnx.cc: Likewise.
444            * src/float/transcendental/cl_F_sinhx.cc: Likewise.
445            * src/float/transcendental/cl_F_sinx.cc: Likewise.
446            * src/float/transcendental/cl_LF_pi.cc: Likewise.
447            * src/integer/cl_I.h: Likewise.
448            * src/complex/algebraic/cl_LF_hypot.cc: Likewise.
449            * src/complex/elem/division/cl_C_LF_recip.cc: Likewise.
450            * src/float/dfloat/misc/cl_DF_exponent.cc: Likewise.
451            * src/integer/conv/cl_I_from_Q2.cc: Added.
452            * src/base/cl_low.h (isqrtC): New function, for 64 bit falls back to...
453            * src/base/low/cl_low_isqrt.cc (isqrt): ...this new implementation.
454            * src/base/cl_macros.h (bitc): Make sure 64 bit is used if required by
455            exponent operations.
456            * examples/pi.cc: Support more than 646456614 decimal digits.
457    
458    2006-11-02  Richard B. Kreckel  <kreckel@ginac.de>
459    
460            * src/base/digitseq/cl_DS.h: #undef DS, needed for i386-Solaris.
461    
462    2006-10-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
463    
464            * tests/Makefile.in (VPATH): Fix syntax error.
465    
466    2006-09-14  Richard B. Kreckel  <kreckel@ginac.de>
467    
468            * examples/perfnum.cc: update to presumed 44th Mersenne prime.
469    
470    2006-08-15  Richard B. Kreckel  <kreckel@ginac.de>
471    
472            * tests/Makefile.in: MinGW support for make check
473            (Patch by Sheplyakov Alexei <varg@theor.jinr.ru> to add ${EXEEXT}).
474            * Makefile.in: Convert from $(VAR) to ${VAR} syntax.
475            * benchmarks/Makefile.in: Likewise.
476            * doc/Makefile.in: Likewise.
477            * examples/Makefile.in: Likewise.
478            * src/Makefile.in: Likewise.
479            * tests/Makefile.in: Likewise.
480    
481    2006-08-06  Richard B. Kreckel  <kreckel@ginac.de>
482    
483            * configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
484    
485    2006-08-04  Sheplyakov Alexei  <varg@theor.jinr.ru>
486    
487            * configure.ac: Disable shared lib on MinGW.
488    
489    2006-08-03  Sheplyakov Alexei  <varg@theor.jinr.ru>
490    
491            * m4/param.m4: Add support for MinGW.
492            * src/base/random/cl_random_from.cc: Fix for last patch.
493    
494    2006-07-23  Sheplyakov Alexei  <varg@theor.jinr.ru>
495    
496            * src/base/random/cl_random_from.cc: Add support for MinGW.
497    
498    2006-06-13  Richard B. Kreckel  <kreckel@ginac.de>
499    
500            * m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=i386 for x86_64
501            if userland is 32 bit.
502            * include/cln/config.h.in: Simplify __x86_64__ selection.
503            * src/base/digitseq/cl_asm_x86_64_.cc: Remove.
504    
505    2006-06-09  Richard B. Kreckel  <kreckel@ginac.de>
506    
507            * src/base/digitseq/cl_DS.h (struct DS): Change len type to uintC.
508    
509    2006-05-30  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
510    
511            * m4/gettimeofday.m4 (CL_GETTIMEOFDAY): Fix M4 quoting.
512    
513    2006-05-20  Bruno Haible  <bruno@clisp.org>
514    
515            * src/base/random/cl_random_from.cc: Treat FreeBSD, NetBSD like other
516            Unix platforms.
517    
518    2006-05-07  Richard B. Kreckel  <kreckel@ginac.de>
519    
520            * include/cln/modules.h (CL_JUMP_TO): Fix for Intel Mac.
521    
522    2006-04-25  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
523    
524            Prepare for autoconf-2.60.
525            * Makefile.in (datarootdir): New variable.
526            * src/Makefile.in (datarootdir): New variable.
527            * doc/Makefile.in (datarootdir): New variable.
528    
529    2006-04-25  Bruno Haible  <bruno@clisp.org>
530                Richard B. Kreckel  <kreckel@ginac.de>
531    
532            Make it theoretically possible to use bignums and long-floats with
533            more than 2^32 significant digits or bits.
534            * doc/cln.tex (logcount): Change return type to uintC.
535            (struct cl_byte): Change elements to uintC.
536            (integer_length, ord2, power2p): Change return type to uintC.
537            (scale_float): Change argument type to sintC.
538            (float_digits, float_precision): Change return type to uintC.
539            * examples/atan_recip.cc: Use uintC instead of uintL where appropriate.
540            * examples/atanh_recip.cc: Likewise.
541            * include/cln/GV.h: Likewise.
542            * include/cln/GV_complex.h: Likewise.
543            * include/cln/GV_integer.h: Likewise.
544            * include/cln/GV_modinteger.h: Likewise.
545            * include/cln/GV_number.h: Likewise.
546            * include/cln/GV_rational.h: Likewise.
547            * include/cln/GV_real.h: Likewise.
548            * include/cln/SV.h: Likewise.
549            * include/cln/SV_complex.h: Likewise.
550            * include/cln/SV_integer.h: Likewise.
551            * include/cln/SV_number.h: Likewise.
552            * include/cln/SV_rational.h: Likewise.
553            * include/cln/SV_real.h: Likewise.
554            * include/cln/SV_ringelt.h: Likewise.
555            * include/cln/dfloat.h: Likewise.
556            * include/cln/ffloat.h: Likewise.
557            * include/cln/float.h: Likewise.
558            * include/cln/integer.h: Likewise.
559            * include/cln/lfloat.h: Likewise.
560            * include/cln/modinteger.h: Likewise.
561            * include/cln/sfloat.h: Likewise.
562            * src/base/cl_low.h (integerlengthC): New macro.
563            * src/base/digitseq/cl_2DS_div.cc: Use uintC instead of uintL where
564            appropriate.
565            * src/base/digitseq/cl_2DS_recip.cc: Likewise.
566            * src/base/digitseq/cl_DS.h: Likewise.
567            * src/base/digitseq/cl_DS_mul.c: Likewise.
568            * src/base/digitseq/cl_DS_mul_fftc.h: Likewise.
569            * src/base/digitseq/cl_DS_mul_fftcs.h: Likewise.
570            * src/base/digitseq/cl_DS_mul_fftm.h: Likewise.
571            * src/base/digitseq/cl_DS_mul_fftp.h: Likewise.
572            * src/base/digitseq/cl_DS_mul_fftp3.h: Likewise.
573            * src/base/digitseq/cl_DS_mul_fftp3m.h: Likewise.
574            * src/base/digitseq/cl_DS_mul_fftr.h: Likewise.
575            * src/base/digitseq/cl_DS_mul_kara.h: Likewise.
576            * src/base/digitseq/cl_DS_mul_nuss.h: Likewise.
577            * src/base/digitseq/cl_DS_recip.cc: Likewise.
578            * src/base/digitseq/cl_DS_recipsqrt.cc: Likewise.
579            * src/base/digitseq/cl_DS_sqrt.cc: Likewise.
580            * src/base/digitseq/cl_DS_trandom.cc: Likewise.
581            * src/complex/input/cl_N_read.cc: Likewise.
582            * src/complex/transcendental/cl_C_asinh_aux.cc: Likewise.
583            * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
584            * src/float/cl_F.h: Likewise.
585            * src/float/conv/cl_F_from_F_f.cc: Likewise.
586            * src/float/conv/cl_F_from_I_f.cc: Likewise.
587            * src/float/conv/cl_F_from_RA_f.cc: Likewise.
588            * src/float/dfloat/conv/cl_I_to_double.cc: Likewise.
589            * src/float/dfloat/conv/cl_RA_to_double.cc: Likewise.
590            * src/float/dfloat/elem/cl_DF_from_I.cc: Likewise.
591            * src/float/dfloat/elem/cl_DF_from_RA.cc: Likewise.
592            * src/float/dfloat/elem/cl_DF_scale.cc: Likewise.
593            * src/float/dfloat/misc/cl_DF_digits.cc: Likewise.
594            * src/float/dfloat/misc/cl_DF_precision.cc: Likewise.
595            * src/float/elem/cl_F_scale.cc: Likewise.
596            * src/float/ffloat/conv/cl_I_to_float.cc: Likewise.
597            * src/float/ffloat/conv/cl_RA_to_float.cc: Likewise.
598            * src/float/ffloat/elem/cl_FF_from_I.cc: Likewise.
599            * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
600            * src/float/ffloat/elem/cl_FF_scale.cc: Likewise.
601            * src/float/ffloat/misc/cl_FF_digits.cc: Likewise.
602            * src/float/ffloat/misc/cl_FF_precision.cc: Likewise.
603            * src/float/input/cl_F_read.cc: Likewise.
604            * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
605            * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
606            * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
607            * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
608            * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
609            * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
610            * src/float/lfloat/elem/cl_LF_from_RA.cc: Likewise.
611            * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
612            * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
613            * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
614            * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
615            * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
616            * src/float/lfloat/misc/cl_LF_digits.cc: Likewise.
617            * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
618            * src/float/lfloat/misc/cl_LF_leninc.cc: Likewise.
619            * src/float/lfloat/misc/cl_LF_lenincx.cc: Likewise.
620            * src/float/lfloat/misc/cl_LF_precision.cc: Likewise.
621            * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
622            * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
623            * src/float/misc/cl_F_digits.cc: Likewise.
624            * src/float/misc/cl_F_epsneg.cc: Likewise.
625            * src/float/misc/cl_F_epspos.cc: Likewise.
626            * src/float/misc/cl_F_leastneg.cc: Likewise.
627            * src/float/misc/cl_F_leastpos.cc: Likewise.
628            * src/float/misc/cl_F_mostneg.cc: Likewise.
629            * src/float/misc/cl_F_mostpos.cc: Likewise.
630            * src/float/misc/cl_F_precision.cc: Likewise.
631            * src/float/misc/cl_F_rational.cc: Likewise.
632            * src/float/misc/cl_F_shortenrel.cc: Likewise.
633            * src/float/output/cl_F_dprint.cc: Likewise.
634            * src/float/random/cl_F_random.cc: Likewise.
635            * src/float/sfloat/elem/cl_SF_from_I.cc: Likewise.
636            * src/float/sfloat/elem/cl_SF_from_RA.cc: Likewise.
637            * src/float/sfloat/elem/cl_SF_scale.cc: Likewise.
638            * src/float/sfloat/misc/cl_SF_digits.cc: Likewise.
639            * src/float/sfloat/misc/cl_SF_precision.cc: Likewise.
640            * src/float/transcendental/cl_F_atanhx.cc: Likewise.
641            * src/float/transcendental/cl_F_atanx.cc: Likewise.
642            * src/float/transcendental/cl_F_catalanconst_f.cc: Likewise.
643            * src/float/transcendental/cl_F_cos.cc: Likewise.
644            * src/float/transcendental/cl_F_cosh.cc: Likewise.
645            * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
646            * src/float/transcendental/cl_F_cossin.cc: Likewise.
647            * src/float/transcendental/cl_F_eulerconst_f.cc: Likewise.
648            * src/float/transcendental/cl_F_exp1_f.cc: Likewise.
649            * src/float/transcendental/cl_F_expx.cc: Likewise.
650            * src/float/transcendental/cl_F_ln10_f.cc: Likewise.
651            * src/float/transcendental/cl_F_ln2_f.cc: Likewise.
652            * src/float/transcendental/cl_F_lnx.cc: Likewise.
653            * src/float/transcendental/cl_F_pi_f.cc: Likewise.
654            * src/float/transcendental/cl_F_sin.cc: Likewise.
655            * src/float/transcendental/cl_F_sinh.cc: Likewise.
656            * src/float/transcendental/cl_F_sinhx.cc: Likewise.
657            * src/float/transcendental/cl_F_sinx.cc: Likewise.
658            * src/float/transcendental/cl_F_tran.h: Likewise.
659            * src/float/transcendental/cl_F_zeta_int_f.cc: Likewise.
660            * src/float/transcendental/cl_LF_atan_recip.cc: Likewise.
661            * src/float/transcendental/cl_LF_atanh_recip.cc: Likewise.
662            * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
663            * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
664            * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
665            * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
666            * src/float/transcendental/cl_LF_exp1.cc: Likewise.
667            * src/float/transcendental/cl_LF_exp_aux.cc: Likewise.
668            * src/float/transcendental/cl_LF_pi.cc: Likewise.
669            * src/float/transcendental/cl_LF_ratseries.cc: Likewise.
670            * src/float/transcendental/cl_LF_ratseries_.cc: Likewise.
671            * src/float/transcendental/cl_LF_ratseries_a.cc: Likewise.
672            * src/float/transcendental/cl_LF_ratseries_ab.cc: Likewise.
673            * src/float/transcendental/cl_LF_ratseries_b.cc: Likewise.
674            * src/float/transcendental/cl_LF_ratseries_p.cc: Likewise.
675            * src/float/transcendental/cl_LF_ratseries_pa.cc: Likewise.
676            * src/float/transcendental/cl_LF_ratseries_pab.cc: Likewise.
677            * src/float/transcendental/cl_LF_ratseries_pb.cc: Likewise.
678            * src/float/transcendental/cl_LF_ratseries_pq.cc: Likewise.
679            * src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise.
680            * src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise.
681            * src/float/transcendental/cl_LF_ratseries_pqb.cc: Likewise.
682            * src/float/transcendental/cl_LF_ratseries_q.cc: Likewise.
683            * src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise.
684            * src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise.
685            * src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise.
686            * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Likewise.
687            * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Likewise.
688            * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Likewise.
689            * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Likewise.
690            * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise.
691            * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Likewise.
692            * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Likewise.
693            * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Likewise.
694            * src/float/transcendental/cl_LF_tran.h: Likewise.
695            * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
696            * src/float/transcendental/cl_LF_zeta_int.cc: Likewise.
697            * src/integer/algebraic/cl_I_rootp_I.cc: Likewise.
698            * src/integer/algebraic/cl_I_rootp_aux.cc: Likewise.
699            * src/integer/bitwise/cl_I_ash.cc: Likewise.
700            * src/integer/bitwise/cl_I_ash_I.cc: Likewise.
701            * src/integer/bitwise/cl_I_byte.h: Likewise.
702            * src/integer/bitwise/cl_I_fullbyte.cc: Likewise.
703            * src/integer/bitwise/cl_I_ilength.cc: Likewise.
704            * src/integer/bitwise/cl_I_ldb.cc: Likewise.
705            * src/integer/bitwise/cl_I_ldbtest.cc: Likewise.
706            * src/integer/bitwise/cl_I_ldbx.cc: Likewise.
707            * src/integer/bitwise/cl_I_ldbxtest.cc: Likewise.
708            * src/integer/bitwise/cl_I_logbitp.cc: Likewise.
709            * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
710            * src/integer/bitwise/cl_I_logcount.cc: Likewise.
711            * src/integer/bitwise/cl_I_mkf.cc: Likewise.
712            * src/integer/bitwise/cl_I_mkfx.cc: Likewise.
713            * src/integer/cl_I.h: Likewise.
714            * src/integer/conv/cl_I_to_digits.cc: Likewise.
715            * src/integer/conv/cl_I_digits_need.cc: Likewise.
716            * src/integer/conv/cl_I_from_digits.cc: Likewise.
717            * src/integer/gcd/cl_I_gcd.cc: Likewise.
718            * src/integer/gcd/cl_I_xgcd.cc: Likewise.
719            * src/integer/misc/cl_I_eqhashcode.cc: Likewise.
720            * src/integer/misc/cl_I_ord2.cc: Likewise.
721            * src/integer/misc/cl_I_power2p.cc: Likewise.
722            * src/integer/output/cl_I_cached_power.h (cached_power_table): allow
723            for 40 elements.
724            * src/integer/output/cl_I_decstring.cc: Use uintC instead of uintL
725            where appropriate.
726            * src/integer/output/cl_I_print.cc: Likewise.
727            * src/integer/output/cl_I_print_string.cc: Likewise.
728            * src/modinteger/cl_MI.cc: Likewise.
729            * src/modinteger/cl_MI_lshift.cc: Likewise.
730            * src/modinteger/cl_MI_montgom.h: Likewise.
731            * src/modinteger/cl_MI_pow2.h: Likewise.
732            * src/modinteger/cl_MI_pow2m1.h: Likewise.
733            * src/modinteger/cl_MI_pow2p1.h: Likewise.
734            * src/modinteger/cl_MI_rshift.cc: Likewise.
735            * src/modinteger/cl_MI_std.h: Likewise.
736            * src/numtheory/cl_IF_millerrabin.cc: Likewise.
737            * src/numtheory/cl_nt_isprobprime.cc: Likewise.
738            * src/numtheory/cl_nt_sqrtmodp.cc: Likewise.
739            * src/polynomial/elem/cl_UP_GF2.h: Likewise.
740            * src/real/conv/cl_F_from_R_f.cc: Likewise.
741            * src/real/format-output/cl_fmt_floatstring.cc: Likewise.
742            * src/real/input/cl_R_read.cc: Likewise.
743            * src/vector/cl_GV_I.cc: Likewise.
744            * src/vector/cl_GV_I_copy.cc: Likewise.
745            * src/vector/cl_GV_number.cc: Likewise.
746            * src/vector/cl_GV_number_copy.cc: Likewise.
747            * src/vector/cl_SV_copy.cc: Likewise.
748            * src/vector/cl_SV_number.cc: Likewise.
749            * src/vector/cl_SV_ringelt.cc: Likewise.
750            * tests/main.cc: Likewise.
751            * tests/test_I_ilength.cc: Likewise.
752            * tests/test_I_ord2.cc: Likewise.
753    
754    2006-04-19  Bruno Haible  <bruno@clisp.org>
755    
756            Prepare for autoconf-2.60.
757            * general.m4 (CL_CC_WORKS): Include <stdlib.h>, for exit() declaration.
758            * longdouble.m4 (CL_LONGDOUBLE): Likewise.
759            * longlong.m4 (CL_LONGLONG): Likewise.
760            * times.m4 (CL_TIMES_CLOCK): Likewise.
761            Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
762    
763    2005-12-04  Bruno Haible  <bruno@clisp.org>
764    
765            * src/integer/conv/cl_I_to_digits.cc (I_to_digits_noshrink): Set
766            erg->len at the end.
767    
768    2005-12-04  Bruno Haible  <bruno@clisp.org>
769    
770            Extend the fixnum range from 32 bits to 61 bits on 64-bit platforms.
771            * doc/cln.tex (gcd, jacobi): Take 'long' instead of 'int32' arguments.
772            * include/cln/object.h (cl_value_shift): Define as 3, not 32, in the
773            64-bit case.
774            * include/cln/types.h (intVsize): New macro.
775            (sintV, uintV): New types.
776            * include/cln/integer.h (gcd): Take uintV arguments.
777            * include/cln/numtheory.h (jacobi): Take sintV arguments.
778            * src/complex/input/cl_N_read.cc (read_complex): Call FN_to_UV instead
779            of FN_to_UL.
780            * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
781            * src/float/dfloat/elem/cl_DF_scale_I.cc: Use uintV instead of uintL
782            * src/float/dfloat/elem/cl_DF_from_RA.cc: Don't assume values >= 2^53
783            and < 2^55 are always bignums.
784            where appropriate.
785            * src/float/ffloat/conv/cl_RA_to_float.cc: Call FN_to_UV instead of
786            FN_to_UL.
787            * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
788            * src/float/ffloat/elem/cl_FF_scale_I.cc: Call FN_to_V instead of
789            FN_to_L.
790            * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
791            * src/float/output/cl_F_dprint.cc: Likewise.
792            * src/float/sfloat/elem/cl_SF_from_RA.cc: Call FN_to_UV instead of
793            FN_to_UL.
794            * src/float/sfloat/elem/cl_SF_scale_I.cc: Call FN_to_V instead of
795            FN_to_L.
796            * src/integer/cl_I.h (FN_to_UV): Renamed from FN_to_UL, change return
797            type.
798            (FN_to_V): Renamed from FN_to_L, change return type.
799            (FN_V_zerop): Renamed from FN_L_zerop.
800            (FN_V_minusp): Renamed from FN_L_minusp.
801            (cl_I_constructor_from_L2, cl_I_constructor_from_UL2): Define as an
802            inline function on 64-bit platforms.
803            (V_to_I, UV_to_I): New macros.
804            (pFN_maxlength_digits_at): Return an uintV instead of an uint32.
805            (set_pFN_maxlength_digits_at): Take an uintV instead of an uint32.
806            * src/integer/algebraic/cl_I_sqrtp.cc: Call FN_to_UV instead of
807            FN_to_UL.
808            * src/integer/bitwise/cl_I_ash_I.cc: Call FN_to_V instead of FN_to_L.
809            * src/integer/bitwise/cl_I_ilength.cc: Likewise.
810            * src/integer/bitwise/cl_I_log_aux.cc: Likewise.
811            * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
812            * src/integer/bitwise/cl_I_logcount.cc: Likewise.
813            * src/integer/bitwise/cl_I_logtest.cc: Likewise.
814            * src/integer/conv/cl_I_from_L2.cc: Don't produce code on 64-bit
815            platforms.
816            * src/integer/conv/cl_I_from_UL2.cc: Likewise.
817            * src/integer/conv/cl_I_from_NDS.cc: Update.
818            * src/integer/conv/cl_I_from_Q.cc: Remove cast to sint32.
819            * src/integer/conv/cl_I_from_UQ.cc: Remove cast to uint32.
820            * src/integer/conv/cl_I_to_L.cc: Check again fixnum that needs more
821            than 32 bits.
822            * src/integer/conv/cl_I_to_Q.cc: Call FN_to_V instead of FN_to_L.
823            * src/integer/conv/cl_I_to_UL.cc: Likewise.
824            * src/integer/conv/cl_I_to_UQ.cc: Likewise.
825            * src/integer/elem/cl_I_div.cc: Treat fixnums that need more than 32
826            bits like bignums.
827            * src/integer/elem/cl_I_minus.cc: Call FN_to_V instead of FN_to_L.
828            * src/integer/elem/cl_I_mul.cc: Likewise.
829            * src/integer/elem/cl_I_plus.cc: Likewise.
830            * src/integer/elem/cl_I_square.cc: Likewise.
831            * src/integer/elem/cl_I_uminus.cc: Likewise.
832            * src/integer/gcd/cl_I_gcd.cc: Likewise.
833            * src/integer/gcd/cl_low_gcd.cc (gcd): Take uintV arguments.
834            * src/integer/hash/cl_I_hashcode.cc: Call FN_to_V instead of FN_to_L.
835            * src/integer/input/cl_I_read.cc (read_integer): Call FN_to_UV instead
836            of FN_to_UL.
837            * src/integer/misc/cl_I_ord2.cc (ord2): Call ord2_64 on 64-bit
838            platforms.
839            * src/integer/misc/cl_I_power2p.cc: Call FN_to_UV instead of FN_to_UL.
840            * src/integer/misc/combin/cl_I_doublefactorial.cc (doublefakul_table):
841            Extend table for larger fixnums.
842            (doublefactorial): Update.
843            * src/integer/misc/combin/cl_I_factorial.cc (fakul_table): Extend table
844            for larger fixnums.
845            (factorial): Update.
846            * src/modinteger/cl_MI_fix16.h: Call FN_to_UV instead of FN_to_UL.
847            * src/modinteger/cl_MI_fix29.h: Likewise.
848            * src/modinteger/cl_MI_fix32.h: Likewise.
849            * src/modinteger/cl_MI_std.h: Likewise.
850            * src/numtheory/cl_nt_cornacchia4.cc: Call FN_to_V instead of FN_to_L.
851            * src/numtheory/cl_nt_jacobi.cc: Likewise.
852            * src/numtheory/cl_nt_jacobi_low.cc (jacobi_aux): Take uintV arguments
853            instead of uint32 arguments.
854            (jacobi): Take sintV argument instead of a sint32 argument.
855            * src/rational/input/cl_RA_read.cc: Call FN_to_UV instead of FN_to_UL.
856            * src/real/input/cl_R_read.cc: Likewise.
857            * src/vector/cl_GV_I.cc: Likewise.
858            * tests/timefact.cc: Call FN_to_V instead of FN_to_L.
859    
860    2005-12-04  Bruno Haible  <bruno@clisp.org>
861    
862            More complete 64-bit division macros.
863            * src/base/cl_low.h (divu_6432_3232_w): Choose a different macro
864            expansion on x86_64.
865            (divu_6432_6432): New macro.
866            (divu_6464_6464): Choose a different macro expansion for all CPUs
867            except sparc64 and x86_64.
868            (divu_12864_6464): Define NEED_VAR_divu_64_rest here.
869            * src/base/low/cl_low_div.cc (divu_64_rest): Avoid defining it twice.
870            (divu_6464_6464_): New function.
871    
872    2005-12-04  Bruno Haible  <bruno@clisp.org>
873    
874            * src/base/cl_low.h (ord2_64): New macro.
875    
876    2005-12-02  Bruno Haible  <bruno@clisp.org>
877    
878            * src/base/cl_low.h (mulu64) [x86_64]: Change asm restriction, since
879            mulq doesn't accept immediate arguments.
880    
881    2005-11-26  Bruno Haible  <bruno@clisp.org>
882    
883            * src/base/cl_low.h (GENERIC_INTEGERLENGTH32): New macro.
884            (integerlength64): Define using integerlength32 if integerlength32
885            is not defined generically.
886    
887    2005-11-26  Bruno Haible  <bruno@clisp.org>
888    
889            * src/base/cl_low.h (mulu32) [SPARC64]: Remove rd instruction, since
890            umul returns the complete 64-bit product in a register.
891            (mulu32_w) [SPARC64]: Prefer umul over mulx instruction.
892            (divu_6432_3232_w) [SPARC64]: Prefer umul/udiv over mulx/udivx
893            instructions.
894    
895    2005-11-26  Bruno Haible  <bruno@clisp.org>
896    
897            * src/base/cl_low.h (divu_3216_1616): Prepend underscore to local
898            variables.
899    
900    2005-11-26  Bruno Haible  <bruno@clisp.org>
901    
902            * src/base/cl_low.h (ord2_32): Parenthesize macro argument.
903    
904    2005-12-17  Richard B. Kreckel  <kreckel@ginac.de>
905    
906            * Created branch cln_1-1 for maintenance patches.
907            This is the main branch, which will eventually become CLN 1.2.0.
908    
909    2005-12-15  Dmitry V. Kustov  <kustov@telex221.ru>
910    
911            * src/base/random/cl_random_from.cc: Add support for OpenBSD.
912    
913    2005-11-23  Richard B. Kreckel  <kreckel@ginac.de>
914    
915            * Version 1.1.11 released.
916    
917    2005-11-20  Richard B. Kreckel  <kreckel@ginac.de>
918    
919            * src/integer/conv/cl_I_cached_power.h: New file.
920            * src/integer/conv/cl_I_cached_power.cc: New file.
921            Contains power_table and cached_power_table previously...
922            * src/integer/conv/cl_I_to_digits.cc: ...here.
923            * src/integer/conv/cl_I_from_digits.cc: Use cached powers.
924    
925    2005-11-02  Richard B. Kreckel  <kreckel@ginac.de>
926    
927            * src/integer/conv/cl_I_from_digits.cc: Made input of all numbers in
928            non-power-of-two base much faster.
929            * tests/test_I_io.cc: New file...
930            * tests/Makefile.in, tests/test_I.cc: ...used here.
931    
932    2005-10-22  Richard B. Kreckel  <kreckel@ginac.de>
933    
934            * Version 1.1.10 released.
935    
936    2005-10-22  Richard B. Kreckel  <kreckel@ginac.de>
937    
938            * src/Makefile.in: Accept CPPFLAGS from environment.
939            * examples/Makefile.in: Likewise.
940            * benchmarks/Makefile.in: Likewise.
941            * tests/Makefile.in: Likewise.
942    
943    2005-08-30  Richard B. Kreckel  <kreckel@ginac.de>
944    
945            * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
946            duplication of basic blocks on m68k.
947    
948  2005-08-30  Richard B. Kreckel  <kreckel@ginac.de>  2005-08-30  Richard B. Kreckel  <kreckel@ginac.de>
949    
950          * include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.          * include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.
951    
952  2005-08-27  Bruno Haible  <bruno@clisp.org>  2005-08-27  Bruno Haible  <bruno@clisp.org>
953    
954            Split aclocal.m4 into individual files.
955            * m4/alloca.m4, m4/as-underscore.m4, m4/c++-constructors.m4:
956            * m4/fpu_control.m4, m4/general.m4, m4/gettimeofday.m4:
957            * m4/longdouble.m4, m4/longlong.m4, m4/param.m4, m4/perror.m4:
958            * m4/proto.m4, m4/rusage.m4, m4/times.m4:
959            New files, extracted from autoconf/aclocal.m4.
960            * autoconf/aclocal.m4: m4_include them.
961            * Makefile.devel (AUTOCONF_MACROS): New variable.
962            (configure): Depend on it.
963            (CLISP_M4DIR): Remove variable.
964            (autoconf/aclocal.m4): Remove rule.
965    
966    2005-08-27  Bruno Haible  <bruno@clisp.org>
967    
968          * src/integer/bitwise/cl_I_ash_I.cc (ash): Avoid shifting a 32-bit          * src/integer/bitwise/cl_I_ash_I.cc (ash): Avoid shifting a 32-bit
969          zero value by more than 31 bits.          zero value by more than 31 bits.
970    
# Line 15  Line 976 
976    
977  2005-08-27  Bruno Haible  <bruno@clisp.org>  2005-08-27  Bruno Haible  <bruno@clisp.org>
978    
979          * modules.h (CL_OUTPUT_LABEL): Work around redundant duplication          * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
980          of basic blocks by g++ 4.0.          duplication of basic blocks by g++ 4.0.
981          See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345>.          See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345>.
982    
983  2005-08-27  Bruno Haible  <bruno@clisp.org>  2005-08-27  Bruno Haible  <bruno@clisp.org>

Legend:
Removed from v.1.138  
changed lines
  Added in v.1.191

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