/[cln]/NEWS
ViewVC logotype

Contents of /NEWS

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (hide annotations)
Thu Jul 1 20:18:12 2004 UTC (8 years, 10 months ago) by kreckel
Branch: MAIN
CVS Tags: cln_1-1-8
Changes since 1.22: +16 -0 lines
	* Version 1.1.8 released.

1 kreckel 1.23 2004-07-01, version 1.1.8
2     =========================
3    
4     Implementation changes
5     ----------------------
6    
7     * Fix bug in log(a,b) when b is 1/n.
8    
9     * Fix crash in shared library on AMD64.
10    
11     Other changes
12     -------------
13    
14     * Fixes for some language conformance issues.
15    
16    
17 kreckel 1.22 2004-05-02, version 1.1.7
18     =========================
19    
20     Implementation changes
21     ----------------------
22    
23     * Fixed two corner case bugs in cl_LF multiplication and sqrt.
24    
25     * Workaround GCC 3.[123] compiler bug.
26    
27     * Parallel build should work reliably now.
28    
29    
30 kreckel 1.21 2004-01-01, version 1.1.6
31 kreckel 1.22 =========================
32 kreckel 1.21
33     Functional changes
34     ------------------
35    
36     * New function
37     `sintL ldegree(const cl_UP& x)'.
38     (Suggested by Munagala Ramanath.)
39 kreckel 1.20
40     Implementation changes
41     ----------------------
42    
43 kreckel 1.21 * Fixed a bug in polynomial subtraction.
44 kreckel 1.20 (Reported by Munagala Ramanath.)
45    
46     Other changes
47     -------------
48    
49     * Provide a package control file cln.pc.
50    
51     * Updated infrastructure to autoconf-2.57.
52    
53 kreckel 1.21 * Fixed compilation issues with GCC-3.4 prereleases and on Mac OSX.
54 kreckel 1.20
55    
56 kreckel 1.19 2002-05-28, version 1.1.5
57     =========================
58    
59     Other changes
60     -------------
61    
62     * Fix compilation issues with GCC-3.1.
63    
64    
65 kreckel 1.18 2002-01-04, version 1.1.4
66     =========================
67    
68     Other changes
69     -------------
70    
71     * Fix compilation issues with GMP-4.0 and on IBM s390.
72    
73     * Updated infrastructure to autoconf-2.52.
74    
75    
76 kreckel 1.17 2001-11-05, version 1.1.3
77     =========================
78    
79     Implementation changes
80     ----------------------
81    
82     * Fix a computation error of sin and sinh for small arguments.
83     (Reported by Christopher Kennedy.)
84    
85     * Module ordering works with gcc-3.0 -fuse-cxa-atexit now.
86    
87     * -DNO_ASM works properly on Sparc.
88    
89    
90 kreckel 1.16 2001-07-25, version 1.1.2
91 kreckel 1.15
92     Implementation changes
93     ----------------------
94    
95     * Minor cleanups and portability issues.
96     (No need to upgrade if you have been happy so far.)
97    
98    
99 kreckel 1.14 2001-05-31, version 1.1.1
100 kreckel 1.12 =========================
101    
102     Implementation changes
103     ----------------------
104    
105 kreckel 1.13 * Minor cleanups for GCC 3.0 and libstdc++-v3.
106    
107     * Fixes several little bugs and portability issues.
108 kreckel 1.12
109    
110 kreckel 1.11 2000-12-14, version 1.1.0
111 kreckel 1.2 =========================
112    
113 kreckel 1.6 Functional changes
114     ------------------
115    
116     * ISO/IEC 14882 fashion adjustments:
117 haible 1.9 Put everything into namespace cln. All fundamental data types still
118 kreckel 1.6 carry their old names. Other non-macro identifiers are now written as
119     cln::foo instead of cl_foo, except where the cl_ comes from a data type
120     (as in cl_I_to_int()). Headers are installed into a separate
121     directory, #include <cln/foo.h> instead of <cl_foo.h>. Applications
122 haible 1.9 must be manually ported to the new style. We apologize for the
123 kreckel 1.6 inconvenience.
124    
125 kreckel 1.2 Implementation changes
126     ----------------------
127    
128 haible 1.9 * Removed internal copy of mpn subdirectory tree from libgmp-2.0.2.
129     Configuring with --with-gmp now relies on an installed libgmp library
130     version 3 or above. We recommend libgmp-3.1 or newer.
131 kreckel 1.2
132 kreckel 1.3 * Adjusted several break-even points to make better use of a faster libgmp and
133     better match present-day CPUs.
134 kreckel 1.6
135 kreckel 1.7 * Fix several errors for architectures with 64-bit wide words.
136 kreckel 1.11 (Others than Alpha, which worked already.)
137 kreckel 1.7
138 haible 1.9 * Fix compilation errors with current GCC-3.0 snapshots.
139 kreckel 1.3
140 kreckel 1.8 Other changes
141     -------------
142    
143 kreckel 1.10 * Added package tools: script cln-config and autoconf macro AC_PATH_CLN
144 kreckel 1.8 (in file cln.m4).
145    
146 kreckel 1.2
147 kreckel 1.1 2000-01-13, version 1.0.3
148     =========================
149    
150     Functional changes
151     ------------------
152    
153     * New function
154     `cl_I doublefactorial (uintL n)'.
155    
156     Implementation changes
157     ----------------------
158    
159     * Fix several little configuration errors.
160    
161     * Fix some compilation errors with gcc-2.96 prereleases.
162    
163    
164     1999-09-07, version 1.0.2
165     =========================
166    
167     Functional changes
168     ------------------
169    
170     * New functions
171     `cl_I numerator (const cl_RA&)'
172     `cl_I denominator (const cl_RA&)'.
173     Suggested by Richard Kreckel and Sylvain Pion.
174    
175     * New function `cl_equal_hashcode' for the classes cl_N, cl_R, cl_RA, cl_I,
176     cl_F, cl_SF, cl_FF, cl_DF, cl_LF.
177     Suggested by Richard Kreckel.
178    
179     Implementation changes
180     ----------------------
181    
182     * Fix an endless loop when either of the functions
183     `cl_boolean rootp (const cl_RA&, uintL, cl_RA*)',
184     `cl_boolean rootp (const cl_RA&, const cl_I&, cl_RA*)'
185     was called with an integer argument. Thanks to Richard Kreckel.
186    
187     * Fix a bug in the addition and subtraction of rational numbers which could
188     cause unnormalized rational numbers like 3/1 to be created.
189    
190    
191     1999-06-09, version 1.0.1
192     =========================
193    
194     Algorithmic changes
195     -------------------
196    
197     * Speed up the functions `logand', `lognand', `logandc2'.
198    
199     Implementation changes
200     ----------------------
201    
202     * Fix compilation errors with gcc-2.7.2, egcs-1.1.2 and gcc-2.95.
203    
204     * Fix compilation errors on HPPA, MIPS, some versions of DEC Alpha, OpenBSD,
205     and SPARC with LiDIA.
206    
207     * Fix compilation errors on Win32. Thanks to Mumit Khan.
208    
209    
210     1999-01-12, version 1.0
211     =======================
212    
213     Functional changes
214     ------------------
215    
216     * New include files, containing I/O functions:
217     <cl_integer_io.h>
218     <cl_rational_io.h>
219     <cl_float_io.h>
220     <cl_sfloat_io.h> <cl_ffloat_io.h> <cl_dfloat_io.h> <cl_lfloat_io.h>
221     <cl_real_io.h>
222     <cl_complex_io.h>
223     The file <cl_io.h> now contains only I/O functions for characters and
224     C integers.
225    
226     * To access the base ring of a univariate polynomial ring, now use
227     `R->basering()' instead of `R->basering'.
228    
229     * Implement `plusp', `max', `min' for the classes cl_F, cl_SF, cl_FF, cl_DF,
230     cl_LF, cl_RA, cl_I.
231    
232     * Implement `abs' for the class cl_RA.
233    
234     * Replaced `read_number' with specialized functions `read_complex',
235     `read_real', `read_float', `read_rational', `read_integer'.
236    
237     * Replaced the functions
238     `void fprint (cl_ostream stream, int x)'
239     `void fprint (cl_ostream stream, unsigned int x)'
240     `void fprint (cl_ostream stream, long x)'
241     `void fprint (cl_ostream stream, unsigned long x)'
242     with
243     `void fprintdecimal (cl_ostream stream, int x)'
244     `void fprintdecimal (cl_ostream stream, unsigned int x)'
245     `void fprintdecimal (cl_ostream stream, long x)'
246     `void fprintdecimal (cl_ostream stream, unsigned long x)'
247    
248     Algorithmic changes
249     -------------------
250    
251     * The function `cl_I xgcd (const cl_I& a, const cl_I& b, cl_I* u, cl_I* v)'
252     now normalizes the resulting u and v to be of minimum absolute value.
253     (Suggested by the LiDIA group.)
254    
255     * The conversion from string to cl_F, cl_R, cl_N now chooses the format of
256     the resulting float depending on the number of significant digits present
257     in the input string.
258    
259     * Speed up the functions
260     `cl_R operator* (const cl_RA&, const cl_LF&)'
261     `cl_R operator* (const cl_LF&, const cl_RA&)'
262     `cl_R operator/ (const cl_RA&, const cl_LF&)'
263     `cl_LF operator/ (const cl_LF&, const cl_RA&)'
264    
265     Implementation changes
266     ----------------------
267    
268     * Fix for `cl_I ash (const cl_I& x, const cl_I& n)' when |n| is between
269     2^29 and 2^37.
270     (Reported by Thomas Papanikolaou.)
271    
272     * Fixed a memory leak in the long-float truncate function.
273     (Reported by Keith Briggs.)
274    
275     * Fixed a memory leak in the modular integer exponentiation.
276    
277     * Reduced the stack space consumption. The default stack size (typically
278     8 MB on Unix) should now be sufficient in order to run all CLN programs.
279    
280     * Portability fixes for m68k platforms.
281     (Reported and fixed by Roman Hodek.)
282    
283     Other changes
284     -------------
285    
286     * Restructured the sources. The subpackages
287     - base
288     - base + integer
289     - base + integer + rational
290     - base + integer + rational + float
291     - base + integer + rational + float + real
292     - base + integer + rational + float + real + complex
293     - base + integer + modinteger
294     are now self-contained.
295    
296     * The configuration script can be called with option `--enable-shared',
297     to build CLN as a shared library.
298    
299     * Updated the LiDIA interface.
300    
301    
302     1998-05-07, version 0.98
303     ========================
304    
305     Implementation changes
306     ----------------------
307    
308     * Portability fixes for 64-bit platforms like DEC Alpha.
309     (Reported by John Cremona and Thomas Papanikolaou.)
310    
311    
312     1998-02-27
313     ==========
314    
315     Other changes
316     -------------
317    
318     * Portability fixes for new ISO/ANSI C++ compilers.
319    
320     * Updated the LiDIA interface for LiDIA version 1.3 and fixed a couple of
321     bugs.
322    
323    
324     1997-09-06
325     ==========
326    
327     Implementation changes
328     ----------------------
329    
330     * Portability fix for i686 platforms.
331     (Reported by Michael Pfeifer.)
332    
333    
334     1997-09-01
335     ==========
336    
337     Functional changes
338     ------------------
339    
340     * New include files:
341     <cl_ring.h>, declaring general rings,
342     <cl_GV.h>, <cl_SV.h>, defining vectors,
343     <cl_univpoly.h>, defining univariate polynomial rings.
344    
345     Algorithmic changes
346     -------------------
347    
348     * Speed up the internal computation of ln(2) and ln(10) by about 20%.
349    
350     * Speed up the computation of exp (for 1000 digits or more) by about 10%.
351    
352     Implementation changes
353     ----------------------
354    
355     * Portability fix for 64-bit platforms like DEC Alpha:
356     Fixed a bug: endless loop in `sqrt' for large precision.
357     (Reported by Blake Jones.)
358    
359     * Portability fix for RS/6000 platforms.
360    
361    
362     1997-02-21
363     ==========
364    
365     Algorithmic changes
366     -------------------
367    
368     * Speed up the computation of the elementary transcendental functions:
369     exp, sinh, cosh, asinh, atanh (for 100 digits) by about 30%,
370     log (for 100 digits) by about 25%,
371     sin, cos (for 1000 or 10000 digits) by about 20%,
372     asin, acos, atan (for 1000 digits) by about 25%.
373    
374     Implementation changes
375     ----------------------
376    
377     * Portability fix for SunOS 4 and other BSD platforms.
378    
379    
380     1997-01-31
381     ==========
382    
383     Algorithmic changes
384     -------------------
385    
386     * Fixed a bug: endless recursion in `cl_boolean sqrtp (const cl_RA&, cl_RA*)'.
387    
388     * Fixed a bug: Only the first 85% of the digits returned by `cl_eulerconst'
389     for moderate precision (< 11370 digits) were correct.
390     (Reported by Thomas Papanikolaou.)
391    
392     Implementation changes
393     ----------------------
394    
395     * Fix static initialization order bug. Requires g++ 2.7.0 or newer
396     (g++ 2.8.0 or newer on HPPA).
397    
398     * New method `debug_print()', for pretty printing of CLN objects, intended
399     to be called from the debugger.
400    
401    
402     1997-01-07
403     ==========
404    
405     Functional changes
406     ------------------
407    
408     * New functions `float cl_float_approx (const cl_R&)',
409     `double cl_double_approx (const cl_R&)'
410     for converting a real number to a C `float' or `double'.
411    
412     Algorithmic changes
413     -------------------
414    
415     * Speed up `cl_zeta' using Cohen-Villegas-Zagier convergence acceleration.
416    
417     Implementation changes
418     ----------------------
419    
420     * New function `cl_print', for pretty printing of CLN objects, intended to be
421     called from the debugger.
422    
423     * Portability fixes for 64-bit platforms like DEC Alpha.
424    
425    
426     1996-11-29
427     ==========
428    
429     Functional changes
430     ------------------
431    
432     * New include files:
433     <cl_string.h>, defining strings,
434     <cl_symbol.h>, defining symbols,
435     <cl_proplist.h>, defining property lists,
436     <cl_condition.h>, defining conditions/exceptions.
437    
438     * New functions `cl_F cl_catalanconst ()',
439     `cl_F cl_catalanconst (const cl_F&)',
440     `cl_F cl_catalanconst (cl_float_format_t)'
441     which return Catalan's constant.
442     (Suggested by Thomas Papanikolaou.)
443    
444     * New functions `cl_F cl_zeta (int s)',
445     `cl_F cl_zeta (int s, const cl_F&)',
446     `cl_F cl_zeta (int s, cl_float_format_t)'
447     which return the Riemann zeta function at an integral point s>1.
448    
449     * New functions `cl_F cl_exp1 ()',
450     `cl_F cl_exp1 (const cl_F&)',
451     `cl_F cl_exp1 (cl_float_format_t)'
452     which return e = exp(1).
453    
454     * New function `cl_I binomial (uintL n, uintL k)' which returns the
455     binomial coefficient (n choose k).
456    
457     * New functions `int cl_I_to_int (const cl_I&)',
458     `unsigned int cl_I_to_uint (const cl_I&)',
459     `long cl_I_to_long (const cl_I&)',
460     `unsigned long cl_I_to_ulong (const cl_I&)'
461     for converting an integer to a C `int' or `long'.
462    
463     * New functions `float cl_float_approx (const cl_I&)',
464     `float cl_float_approx (const cl_RA&)',
465     `double cl_double_approx (const cl_I&)',
466     `double cl_double_approx (const cl_RA&)'
467     for converting a rational number to a C `float' or `double'.
468    
469     Implementation changes
470     ----------------------
471    
472     * Moved the sources to subdirectories.
473     (Suggested by Jörg Arndt.)
474    
475     Other changes
476     -------------
477    
478     * New benchmark for better comparing LiDIA, Pari and CLN.
479    
480     * Added an interface to LiDIA, allows using CLN as a replacement of libI.
481     (Suggested by Thomas Papanikolaou.)
482    
483     * Added an ILOG Talk interface, for interactive use of the library.
484    
485    
486     1996-10-13
487     ==========
488    
489     Functional changes
490     ------------------
491    
492     * New include file <cl_modinteger.h>, defining modular integer rings.
493    
494     * New functions `cl_F cl_eulerconst ()', `cl_F cl_eulerconst (const cl_F&)',
495     `cl_F cl_eulerconst (cl_float_format_t)' which return Euler's constant.
496    
497     Algorithmic changes
498     -------------------
499    
500     * Speed up square root of large numbers by use of Newton's algorithm.
501    
502     * Speed up multiplication and division of large long-floats by small integers.
503    
504     * Speed up the computation of pi, e, exp, log, sin, cos, tan, sinh, cosh, tanh,
505     asin, acos, atan, asinh, acosh, atanh.
506     All of them are now computed with asymptotically fast algorithms, of
507     bit complexity O(log(N)^2*M(N)) = O(N^(1+epsilon)) for N digits.
508    
509     * Fixed several bugs in the transcendental functions routines. In particular,
510     the `log' function went into an endless loop.
511    
512     * Fixed a bug: The cl_I -> cl_DF and cl_I -> cl_LF conversions didn't work
513     correctly for negative integers.
514    
515    
516     1996-09-08
517     ==========
518    
519     Functional changes
520     ------------------
521    
522     * New include file <cl_numtheory.h>, containing number theoretic functions,
523     for now only the Jacobi symbol.
524    
525     Algorithmic changes
526     -------------------
527    
528     * Speed up squaring of large numbers by 30%.
529    
530     * Speed up division of large numbers by use of Newton's algorithm. The
531     improvement is noticeable for numbers with at least about 1000 words =
532     32000 bits = 10000 decimal digits.
533    
534     * Speed up the binary-to-decimal conversion of large numbers by use of
535     a divide-and-conquer method. The improvement is noticeable for numbers
536     of at least 1250 words = 40000 bits = 12000 decimal digits.
537    
538     * Fixed a bug: The functions `cl_boolean minusp (const type&)' and
539     `cl_boolean zerop (const type&)' were missing for type=cl_I and type=cl_RA.
540    
541     * Fixed a bug: The function `cl_boolean logtest (const cl_I&, const cl_I&)'
542     didn't work correctly if both arguments were bignums.
543    
544     * Fixed a bug: The function `cl_I mod (const cl_I&, const cl_I&)', when called
545     as `mod(-n*m,m)' (n>0), returned m instead of 0.
546    
547     * Fixed a bug: The function `uintL power2p (const cl_I&)' returned wrong
548     values for arguments x = 2^n, n >= 29.
549    
550     Implementation changes
551     ----------------------
552    
553     * Speed up CLN by using the low-level addition/subtraction, shift and
554     multiplication loops from GNU gmp-2.0.2.
555    
556     * Fixed a severe reference counting bug in the constructors
557     `type::type (const long)' and `type::type (const unsigned long)'
558     for type=cl_number, type=cl_N, type=cl_RA, type=cl_I that most often
559     caused a core dump.
560    
561     * CLN's word sequences can be chosen to be stored big-endian in memory
562     (like it was up to now) or little-endian (needed for interfacing to GMP).
563    
564    
565     1996-05-20
566     ==========
567    
568     Functional changes
569     ------------------
570    
571     * New include file <cl_timing.h>, contains timing facilities.
572    
573     Algorithmic changes
574     -------------------
575    
576     * Speed up the multiplication of large numbers by use of an FFT based
577     algorithm (Schönhage-Strassen). The improvement is noticeable when both
578     factors have at least 1250 words = 40000 bits = 12000 decimal digits.
579    
580     * Speed up the functions `cl_I gcd (const cl_I&, const cl_I&)' and
581     `cl_I xgcd (const cl_I&, const cl_I&, cl_I*, cl_I*)' by a factor
582     of 1.5. Simple trick.
583    
584     * Speed up the function `cl_boolean sqrtp (const cl_I&, cl_I*)' using a
585     trick from Henri Cohen.
586    
587     * Fixed an endless loop in the function `uint32 gcd (uint32, uint32)'
588     which occurred when one of the arguments is zero.
589    
590     * Fixed an endless loop in the function `cl_I factorial (uintL)'.
591    
592     Implementation changes
593     ----------------------
594    
595     * <cl_io.h> now uses iostreams by default instead of stdio FILE pointers.
596     (Reported by Tito Flagella.)
597    
598     * Fixed linking error when compiling without -O.
599     (Reported by Tito Flagella.)
600    
601     * Fixed syntax error in <cl_input.h>.
602     (Reported by Tito Flagella.)
603    
604     * Fixed syntax errors in src/cl_DS.h and src/cl_FF_plus.h.
605     (Reported by Marcus Daniels.)
606    
607     * More portability fixes.
608    
609     * Configuration now supports the --srcdir option.
610     (Reported by Marcus Daniels.)
611    
612    
613     1996-01-03
614     ==========
615    
616     * Compiles well on Sparc, using gcc.
617    
618     * Mail to beta testers.
619    
620    
621     1995-12-06
622     ==========
623    
624     * Compiles well on Linux, using gcc.
625    

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