]> www.ginac.de Git - cln.git/blob - ChangeLog
* Distclean shouldn't remove cln.spec.
[cln.git] / ChangeLog
1 2004-05-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2
3         * src/Makefile.in: Fix for parallel build: wait for subdir objects to
4         be finished before creating the library.
5
6 2004-04-30  Richard B. Kreckel  <kreckel@ginac.de>
7
8         * src/integer/output/cl_I_print.cc (print_integer): workaround
9         GCC compiler bug (cf. Debian bug#246319).
10
11 2004-03-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12
13         * m4/gmp.m4 (CL_GMP_CHECK): Do not lose LIBS setting with config.cache
14         enabled.
15
16 2004-03-08  Bruno Haible  <bruno@clisp.org>
17
18         * src/float/lfloat/elem/cl_LF_mul.cc (operator*): Fix the second
19         underflow condition.
20         * src/float/lfloat/algebraic/cl_LF_sqrt.cc (sqrt): Fix a bug with large
21         uexp whereby SQRT of MOST-POSITIVE-LONG-FLOAT was less than 1.
22
23 2004-03-04  Richard B. Kreckel  <kreckel@ginac.de>
24
25         * Makefile.in (install): Add ${srcdir} for cln.m4.
26         * m4/gmp.m4: quote macro names.
27         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28
29 2004-01-01  Richard B. Kreckel  <kreckel@ginac.de>
30
31         * Version 1.1.6 released.
32
33 2004-01-01  Richard B. Kreckel  <kreckel@ginac.de>
34
35         * include/cln/univpoly.h, include/cln/univpoly_complex.h,
36           include/cln//univpoly_integer.h, include/cln/univpoly_modint.h,
37           include/cln/univpoly_rational.h, include/cln/univpoly_real.h,
38           src/polynomial/elem/cl_UP_GF2.h, src/polynomial/elem/cl_UP_MI.h,
39           src/polynomial/elem/cl_UP_gen.h, src/polynomial/elem/cl_UP_no_ring.cc,
40           src/polynomial/elem/cl_UP_number.h (ldegree): New function.
41         * doc/cln.tex: Document `ldegree'.
42
43 2003-12-29  Richard B. Kreckel  <kreckel@ginac.de>
44
45         Rework of autoconfiscation infrastructure
46         * autoconf/config.{guess,sub}: Update to GNU version 2003-10-07.
47         * autoconf/ltmain.sh: Update to GNU version 1.4.3.
48         * autoconf/autoconf: Remove (from now on we assume autoconf is
49           installed properly on the sytem).
50         * autoconf/autoconf.m4: Likewise.
51         * autoconf/autoconf.m4f: Likewise.
52         * autoconf/acgeneral.m4: Likewise.
53         * autoconf/acspecific.m4: Likewise.
54         * autoconf/aclocal.m4: Regenerate.
55         * autoconf/acinclude.m4: Remove (while moving the macros...)
56         * m4/gmp.m4: New file (...to here).
57         * Makefile.devel: Update to new scheme.
58         * configure.ac: Likewise.
59         * include/cln/GV_integer.h: Assume template specializations work.
60         * include/cln/GV_modinteger.h: Likewise.
61         * include/cln/config.h.in: Likewise, and drop HAVE_BOOL.
62         * src/base/cl_base_config.h.in: Drop support for obsolete ftime(3).
63         * src/base/random/cl_random_from.cc: Likewise.
64         * src/timing/cl_base_config.h.in: Likewise.
65         * src/timing/cl_t_current.cc: Likewise.
66
67 2003-12-27  Richard B. Kreckel  <kreckel@ginac.de>
68
69         * src/polynomial/cl_UP_gen.h (gen_minus): Fix case where first
70           argument is zero.
71         * src/polynomial/cl_UP_MI.h (modint_minus): Likewise.
72         * src/polynomial/cl_UP_number.h (num_minus): Likewise.
73         Reported by Munagala Ramanath <amberarrow@yahoo.com>.
74
75 2003-12-02  Richard B. Kreckel  <kreckel@ginac.de>
76
77         * examples/perfnum.cc: update to presumed 40th Mersenne prime.
78
79 2003-11-20  Christian Bauer  <cbauer@ginac.de>
80
81         Added pkg-config support
82         * cln.pc.in: New file.
83         * Makefile.in: Take care of cln.pc.
84         * configure.ac: Likewise.
85
86 2003-08-06  Richard B. Kreckel  <kreckel@ginac.de>
87
88         * src/numtheory/cl_nt_sqrtmodp.cc: #undef _R.
89         Reported by Andrew Rechnitzer <A.Rechnitzer@ms.unimelb.edu.au>.
90
91 2003-08-01  Richard Kreckel  <kreckel@ginac.de>
92
93         More dependent base resolution issues
94         * src/base/hash/cl_hash.h (cl_heap_hashtable<T>::iterator()): 
95         portable syntactic simplification.
96         * src/base/hash/cl_hashset.h: Preceed inherited members with this->.
97         * src/base/hash/cl_hash1.h: Likewise for member functions.
98         * src/base/hash/cl_hash2.h: Likewise.
99         * src/base/hash/cl_hashuniq.h: Likewise.
100         * src/base/hash/cl_hashuniqweak.h: Likewise.
101         * src/base/hash/cl_hash.h: Revert explicit static member function
102         lookup since that was GCC's fault.
103         * src/base/hash/cl_hash2weak.h: Likewise.
104         * src/base/hash/cl_hashuniqweak.h: Likewise.
105
106 2003-06-29  Richard Kreckel  <kreckel@ginac.de>
107
108         Dependent base resolution needed for GCC-3.4
109         * include/cln/GV.h: Preceed inherited members with this->.
110         * include/cln/SV.h: Likewise.
111         * include/cln/object.h: Likewise.
112         * src/base/hash/cl_hash1.h: Likewise.
113         * src/base/hash/cl_hash1weak.h: Likewise.
114         * src/base/hash/cl_hash2.h: Likewise.
115         * src/base/hash/cl_hashuniq.h: Likewise.
116         * src/base/hash/cl_hash.h: Make lookup of static member function 
117         explicit.
118         * src/base/hash/cl_hash2weak.h: Likewise.
119         * src/base/hash/cl_hashuniqweak.h: Likewise.
120         * src/modinteger/cl_MI.cc: Make shell-comment a C-comment. Geez.
121
122 2003-02-24  Bruno Haible  <bruno@clisp.org>
123
124         * src/base/random/cl_random_from.cc (random_state::random_state): Add
125         support for MacOS X.
126         * src/modinteger/cl_MI.cc: #undef _R.
127         Reported by Erann Gat <gat@jpl.nasa.gov>.
128
129 2002-08-03  Joerg Arndt  <jj@suse.de>
130
131         * include/cln/config.h.in: Add support for x86_64 CPU.
132         * include/cln/modules.h: Likewise.
133         * include/cln/types.h: Likewise.
134         * include/cln/object.h: Likewise.
135
136 2002-06-08  Richard Kreckel  <kreckel@ginac.de>
137
138         * src/base/digitseq/cl_asm.h: ensure intCsize==16 when including
139         m68k Assembler routines.
140         * src/base/digitseq/cl_asm_.cc: Likewise.
141
142 2002-05-28  Richard Kreckel  <kreckel@ginac.de>
143
144         * Version 1.1.5 released.
145
146 2002-05-27  Richard Kreckel  <kreckel@ginac.de>
147
148         * include/cln/modules.h (CL_CONCATENATE): New macro.
149
150 2002-05-10  Richard Kreckel  <kreckel@ginac.de>
151
152         * doc/cln.tex (Building the library): Update recommendations for 
153         compiling on Tru64 using g++ 3.0 and 3.1.
154         * README: Update homepage.
155
156 2002-05-05  Bruno Haible  <bruno@clisp.org>
157
158         * doc/cln.tex (Building the library): Give some recommendations for
159         g++ 3.0 and 3.1.
160
161         Force link-time references despite optimizations done by g++ 2.95
162         and newer.
163         * include/cln/modules.h (CL_FORCE_LINK): New macro.
164         * Use CL_FORCE_LINK.
165         * include/cln/GV_integer.h (cl_GV_I_debug_dummy): Likewise.
166         * include/cln/GV_number.h (cl_GV_number_debug_dummy): Likewise.
167         * include/cln/SV_number.h (cl_SV_number_debug_dummy): Likewise.
168         * include/cln/SV_ringelt.h (cl_SV_ringelt_debug_dummy): Likewise.
169         * include/cln/dfloat.h (cl_DF_debug_dummy): Likewise.
170         * include/cln/ffloat.h (cl_FF_classes_dummy, cl_FF_debug_dummy):
171         Likewise.
172         * include/cln/integer.h (cl_I_classes_dummy, cl_I_debug_dummy):
173         Likewise.
174         * include/cln/lfloat.h (cl_LF_debug_dummy): Likewise.
175         * include/cln/modinteger.h (cl_MI_debug_dummy): Likewise.
176         * include/cln/rational.h (cl_RA_debug_dummy): Likewise.
177         * include/cln/real.h (cl_R_debug_dummy): Likewise.
178         * include/cln/ring.h (cl_ring_debug_dummy): Likewise.
179         * include/cln/sfloat.h (cl_SF_classes_dummy, cl_SF_classes_dummy):
180         Likewise.
181         * include/cln/string.h (cl_string_debug_dummy): Likewise.
182         * include/cln/univpoly.h (cl_UP_debug_dummy): Likewise.
183         * src/float/base/cl_ieee.h (cl_ieee_dummy_NNN): Likewise.
184
185         Avoid g++ 3.1 warnings.
186         * src/base/cl_offsetof.h (offsetof): Redefine each time.
187         * src/base/digitseq/cl_DS.h: Include "cl_offsetof.h" after <gmp.h>.
188
189         Avoid g++ 3.1 warnings.
190         * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
191         where needed.
192         * src/base/hash/cl_hash1.h (struct cl_heap_hashtable_1): typedef
193         htxentry as a shortcut.
194         * src/base/hash/cl_hash2.h (struct cl_heap_hashtable_2): Likewise.
195         * src/base/hash/cl_hashset.h (struct cl_heap_hashtable_set): Likewise.
196         * src/base/hash/cl_hashuniq.h (struct cl_heap_hashtable_uniq):
197         Likewise.
198
199 2002-03-15  Bruno Haible  <bruno@clisp.org>
200
201         * cln.tex: Document problem with GNU make 3.77.
202         Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
203
204 2002-02-16  Richard Kreckel  <kreckel@ginac.de>
205
206         * cln.m4: quote macro name.
207           Pointed out by Roberto Bagnara.
208
209 2002-01-20  Richard Kreckel  <kreckel@ginac.de>
210
211         * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
212           (the old one was broken on Linux/Mips.)
213
214 2002-01-04  Richard Kreckel  <kreckel@ginac.de>
215
216         * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
217         * Version 1.1.4 released.
218
219 2002-01-03  Richard Kreckel  <kreckel@ginac.de>
220
221         * autoconf/acinclude.m4: revamp MPN-matcher.
222         * autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
223           sync with CLisp from CVS.
224         * autoconf/autoconf: Likewise.
225         * autoconf/autoconf.m4f: Likewise (new file).
226         * configure.ac: Likewise (new file, replaces configure.in).
227         * configure.in: Likewise (deleted, replaced by configure.ac).
228         * autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
229         * src/Makefile.in: made VPATH safe for autoconf-2.52.
230         * include/cln/config.h.in: Add __s390__.
231
232 2001-12-31  Richard Kreckel  <kreckel@ginac.de>
233
234         * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"
235           any more since GMP4 has some C++ support in it.
236
237 2001-12-14  Richard Kreckel  <kreckel@ginac.de>
238
239         * include/cln/modules.h, include/cln/object.h: add support for
240           s390.
241         * src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
242           on s390, provided by Gerhard Tonn.
243
244 2001-11-05  Richard Kreckel  <kreckel@ginac.de>
245
246         * autoconf/ltmain.sh: Upgrade to libtool-1.4.2.
247         * autoconf/config.{guess,sub}: Update to GNU version 2001-09-07.
248         * Version 1.1.3 released.
249
250 2001-11-04  Bruno Haible  <haible@clisp.cons.org>
251
252         Interoperability with gcc-3.0 -fuse-cxa-atexit.
253         * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add test whether
254           global destructors actually exist.
255         * include/cln/modules.h (CL_PROVIDE, CL_PROVIDE_END, CL_PROVIDE_END):
256           Don't hack the global destructors if there is no global destructors
257           function.
258
259 2001-11-03  Richard Kreckel  <kreckel@ginac.de>
260
261         * src/float/transcendental/cl_F_sinx.cc (sinx_naive): For small
262           values of x, return square(x) instead of x.
263         * src/float/transcendental/cl_F_sinhx.cc (sinhx_naive): Likewise.
264
265 2001-07-25  Richard Kreckel  <kreckel@ginac.de>
266
267         * Version 1.1.2 released.
268
269 2001-07-24  Richard Kreckel  <kreckel@ginac.de>
270
271         * src/base/hash/cl_hash.h: declare _cl_hashtable_iterator<htentry> a
272           friend of cl_heap_hashtable<htentry>.
273
274 2001-07-22  Richard Kreckel  <kreckel@ginac.de>
275
276         * src/float/base/cl_ieee.cc: try to do magic to the FPU only if
277           _FPU_IEEE is really defined.
278         * include/cln/modules.h: change assembler labels from `label' to
279           `label:' on hppa, needed by Linux (see comment).
280         * autoconf/acinclude.m4: new file (for storing CLN-specific macros).
281         * Makefile.devel: adjusted.
282         * autoconf/aclocal.m4: regenerate.
283         * src/base/low/cl_low_mul.cc: moved POD variables that are declared
284           extern "C" elsewhere out of the namespace.
285         * src/base/low/cl_low_div.cc: Likewise.
286
287 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
288
289         * autoconf/config.{guess,sub}: Update to GNU version 2001-05-11.
290         * autoconf/aclocal.m4: Upgrade to libtool-1.4.
291         * autoconf/ltmain.sh: Likewise.
292         * autoconf/ltconfig: Remove file.
293         * autoconf/install-sh: New file.
294         * configure.in: Add AC_CONFIG_AUX_DIR call.
295
296 2001-06-05  Richard Kreckel  <kreckel@ginac.de>
297
298         * tests/tests.cc: resolve namespace ambiguity about strcmp().
299
300 2001-05-31  Richard Kreckel  <kreckel@ginac.de>
301
302         * Version 1.1.1 released.
303
304 2001-05-28  Richard Kreckel  <kreckel@ginac.de>
305
306         * cln/cln.tex: documented problems with shared library on Sparc
307           using gcc older than 2.95.3.
308         * configure.in: Fixed typos in versioning docu.
309
310 2001-05-25  Bruno Haible  <haible@clisp.cons.org>
311
312         * src/base/digitseq/cl_asm_arm_.cc: Use #0x instead of #& to designate
313           hexadecimal constants.
314
315 2001-05-25  Richard Kreckel  <kreckel@ginac.de>
316
317         * autoconf/floatparam.c (double_wordorder_bigendian_p): new symbol.
318         * src/float/dfloat/cl_DF.h: Check for double_wordorder_bigendian_p.
319         * Removed LiDIA interface since that is now outdated (namespace cln)
320           and maintained elsewhere.
321         * Adjusted dates and final touches for 1.1.1.
322
323 2001-05-19  Richard Kreckel  <kreckel@ginac.de>
324
325         * INSTALL: Update toolchain info: no egcs, some more platforms.
326         * doc/cln.tex: Likewise.
327
328 2001-05-18  Richard Kreckel  <kreckel@ginac.de>
329
330         * src/base/cl_low.h: prepended variables declared inside macros
331           with underscore.  Fixes equal_hashcode() on various platforms.
332
333 2001-04-25  Richard Kreckel  <kreckel@ginac.de>
334
335         * src/base/cl_low.h: Added several checks if NO_ASM is defined, so
336           this definition becomes actually useful.  This is needed for 
337           compilation on Arm until somebody fixes the assembler files for Arm.
338         * src/base/digitseq/cl_asm.h: Likewise.
339         * src/base/digitseq/cl_asm_.cc: Likewise.
340         * */Makefile.in: Added `override' in front of `CPPFLAGS +=' so
341            one can say `make CPPFLAGS=-DFOOBAR'.
342
343 2001-03-26  Arvid Norberg <c99ang@cs.umu.se>
344
345         * src/base/random/cl_random_from.cc: ported to beos.
346
347 2001-03-05  Richard Kreckel  <kreckel@ginac.de>
348
349         * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
350
351 2001-01-28  Richard Kreckel  <kreckel@ginac.de>
352
353         * include/cln/number.h (cl_as_N): Remove bogus comment.
354
355 2001-01-22  Richard Kreckel  <kreckel@ginac.de>
356
357         * configure.in: Make build in separate builddir possible (again).
358
359 2001-01-22  Richard Kreckel  <kreckel@ginac.de>
360
361         * include/cln/*.h: Change signatures of all classes' methods
362           cln::cl_foo::operator new(size_t, cl_foo*) to
363           cln::cl_foo::operator new(size_t, void*) so one can declare
364           std::vector<cln::cl_foo>, std::list<cln::cl_foo> etc. for
365           certain STL implementations (like libstdc++-v3).
366
367 2000-12-14  Richard Kreckel  <kreckel@ginac.de>
368
369         * Version 1.1 released.
370
371 2000-12-13  Richard Kreckel  <kreckel@ginac.de>
372
373         * */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
374
375 2000-12-05  Richard Kreckel  <kreckel@ginac.de>
376
377         * Makefile.in, src/Makefile.in, doc/Makefile.in: Use mkdir -p.
378         * include/cln/version.h.in, src/base/verion.cc: New files.
379         * configure.in: Generate include/cln/version.h.
380         * cln.m4: Rewrote it. Check result of cln-config without compiling.
381           Do cross-check library version and header version information.
382
383 2000-12-02  Christian Bauer  <cbauer@ginac.de>
384
385         * Makefile.in, src/Makefile.in, doc/Makefile.in: Added $DESTDIR.
386         * cln.m4, cln.spec.in: some minor fixes with respect to RPM package
387           building.
388
389 2000-11-24  Richard Kreckel  <kreckel@ginac.de>
390
391         * */*: Removed problematic stdin, stdout and stderr definitions.  
392           Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
393
394 2000-11-20  Bruno Haible
395
396         * cln-config.1: change title.
397
398 2000-11-18  Richard Kreckel  <kreckel@ginac.de>
399
400         * cln.m4: New file.
401         * doc/cln.tex: Document package tools cln-config and cln.m4.
402         * Makefile.in: Care about cln.m4.
403
404 2000-11-17  Richard Kreckel  <kreckel@ginac.de>
405
406         * cln-config.1: added manpage, as required by a couple of distros.
407         * Makefile.in, doc/Makefile.in: target install depends on installdirs.
408
409 2000-11-16  Richard Kreckel  <kreckel@ginac.de>
410
411         * autoconf/aclocal.m4 (CL_GMP_SET_UINTD): New macro...
412         * configure.in: ...used here.
413         * include/cln/config.h.in: Put in macros defined by CL_GMP_SET_UINTD...
414         * include/cln/types.h: ...used here.
415         * autoconf/acgeneral.m4, autoconf/aclocal.m4: Adhere to FHS.
416
417 2000-11-13  Richard Kreckel  <kreckel@ginac.de>
418
419         * src/base/digitseq/cl_asm.h: Test if (intDsize==32) for MIPS and HPPA,
420           in order to guard against an accidented configuration.
421         * src/integer/conv/cl_I_to_digits.cc (table): member b_hoch_k of 
422           struct power_table_entry initialized as ULL instead of as UL, if 
423           intDsize==64 (caused misprinting on MIPS w/ GMP).
424         * src/base/cl_macros.h (minus_bitm, bitc): implemented ULL, if 
425           HAVE_FAST_LONGLONG.
426         * src/integer/bitwise/cl_I_mkfx.cc (mkf_extract): Likewise.
427         * src/integer/conv/cl_I_from_L.cc (cl_I_from_L): Added trival 
428           generation of Bignum for intDsize==64 and a notreached-check at end.
429         * autoconf/config.guess, autoconf/config.sub: updated from FSF.
430         * include/cln/config.h.in: Prepared support for IA64.
431         * include/cln/types.h: Likewise.
432         * include/cln/object.h: Likewise.
433         * include/cln/modules.h: Likewise.
434         * src/base/cl_macros.h (nonreturning_function): Likewise (NUE's 
435           compiler claims __GNUC_MINOR__==9).
436
437 2000-11-03  Richard Kreckel  <kreckel@ginac.de>
438
439         * src/base/cl_macros.h (bit, minus_bit): changed criterion for ULL from
440           HAVE_DD to HAVE_FAST_LONGLONG.
441         * src/base/cl_macros.h (bitm): implemented ULL, if HAVE_FAST_LONGLONG.
442         * src/base/cl_low.h: actually no need to include "cln/types.h" here.
443         * src/base/cl_low.h (logcount_64): always ULL, independent of HAVE_DD.
444         * src/base/random/cl_UL_random.cc (random32): a is always ULL.
445
446 2000-11-01  Richard Kreckel  <kreckel@ginac.de>
447
448         * include/cln/object.h (cl_combine): define additional signatures, if
449           HAVE_LONGLONG is defined, in order to keep the compiler happy.
450         * src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
451         * src/base/cl_macros.h (bit): ...for this macro...
452         * src/base/cl_macros.h (minus_bit): ...and this one.
453         * src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
454         * src/base/cl_low.h (logcount_64): ...for this macro.
455         * src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
456         * src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug.
457           that turned up when intDsize==32 and cl_word_size==64.
458         * src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
459           to uint64 that turned up when intDsize==32 and cl_word_size==64.
460
461 2000-10-29  Richard Kreckel  <kreckel@ginac.de>
462
463         * src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
464           #undef stderr, if it's defined so cln::stderr isn't confused.
465         * src/base/input/cl_read_globals.cc: stdin should not be extern.
466
467 2000-09-05  Richard Kreckel  <kreckel@ginac.de>
468
469         * include/cln/number.h (As): Fix it in namespace by suffixing `_As'
470           to the appropiate method instead of prefixing `as_'.
471         * src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
472         * src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
473         * src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
474         * src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
475         * src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
476         * src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
477         * src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
478         * src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
479         * src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
480
481 2000-09-05  Richard Kreckel  <kreckel@ginac.de>
482
483         * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
484           the 0^y cases.
485
486 2000-08-30  Richard Kreckel  <kreckel@ginac.de>
487
488         * include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
489           Rearranged for a clearer distinction between macros and remaining
490           identifiers, so Cint can parse it smoothly.
491
492 2000-08-29  Richard Kreckel  <kreckel@ginac.de>
493
494         * include/cln/number.h, the(const cl_number& x): New template
495           function.
496
497 2000-08-29  Richard Kreckel  <kreckel@ginac.de>
498
499         * */*: Pushed CLN into a namespace `cln'.  While doing so, the
500           following identifiers got their poor-man's namespace (i.e. the 
501           prefix `cl_') stripped off:
502           cl_catalanconst()        ->  catalanconst()
503           cl_compare()             ->  compare()
504           cl_cos_sin()             ->  cos_sin()
505           cl_cos_sin_t             ->  cos_sin_t
506           cl_cosh_sinh()           ->  cosh_sinh()
507           cl_cosh_sinh_t           ->  cosh_sinh_t
508           cl_decoded_dfloat        ->  decoded_dfloat
509           cl_decoded_ffloat        ->  decoded_ffloat
510           cl_decoded_float         ->  decoded_float
511           cl_decoded_lfloat        ->  decoded_lfloat
512           cl_decoded_sfloat        ->  decoded_sfloat
513           cl_default_float_format  ->  default_float_format
514           cl_default_print_flags   ->  default_print_flags
515           cl_default_random_state  ->  default_random_state
516           cl_double_approx()       ->  double_approx()
517           cl_equal()               ->  equal()
518           cl_equal_hashcode()      ->  equal_hashcode()
519           cl_eulerconst()          ->  eulerconst()
520           cl_find_modint_ring()    ->  find_modint_ring()
521           cl_find_univpoly_ring()  ->  find_univ_poly_ring()
522           cl_float_approx()        ->  float_approx
523           cl_float_format()        ->  float_format()
524           cl_float_format_t        ->  float_format_t
525           cl_free_hook()           ->  free_hook()
526           cl_hermite()             ->  hermite()
527           cl_laguerre()            ->  laguerre()
528           cl_legendre()            ->  legandre()
529           cl_malloc_hook()         ->  malloc_hook()
530           cl_pi()                  ->  pi()
531           cl_tschebychev()         ->  tschebychev()
532           cl_zeta()                ->  zeta()
533           NB: For functions these changes includes all signatures.
534         * include/*: moved to include/cln/*, stripped `cl_' off filenames.
535         * cln-config.in: new file.
536
537 2000-08-26  Bruno Haible  <haible@clisp.cons.org>
538
539         * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
540           value, not parens.
541
542 2000-08-18  Bruno Haible  <haible@clisp.cons.org>
543
544         * include/cl_univpoly_modint.h: Fix typo.
545
546 2000-07-13  Bruno Haible  <haible@clisp.cons.org>
547
548         * src/float/input/cl_F_read_stream.cc (number_char_p): Accept '_',
549           used as precision marker for floats.
550           Reported by Keith Briggs (in 1998) and Thomas Roessler.
551         * src/integer/input/cl_I_read_stream.cc (number_char_p): Likewise.
552         * src/rational/input/cl_RA_read_stream.cc (number_char_p): Likewise.
553         * src/real/input/cl_R_read_stream.cc (number_char_p): Likewise.
554         * src/complex/input/cl_N_read_stream.cc (number_char_p): Likewise.
555
556 2000-06-22  Bruno Haible  <haible@clisp.cons.org>
557
558         * include/cl_object.h: Rename cl_word_size to cl_pointer_size.
559         * include/cl_types.h (HAVE_FAST_LONGLONG): Also define on Irix6
560           with N32 ABI.
561           (cl_word_size): New macro.
562         * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
563           cl_word_size.
564
565 2000-05-31  Bruno Haible  <haible@clisp.cons.org>
566
567         * tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
568           From a sample that fails with gcc-2.95.2 on Sparc.
569         * tests/exam_I_gcd.cc (integer_gcd_tests): Likewise.
570
571 2000-05-30  Richard Kreckel  <kreckel@ginac.de>
572
573         * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
574           New macros.
575         * configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR,
576           CL_VERSION_PATCHLEVEL): New definitions.
577         * autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig,
578           autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc).
579         * src/Makefile.in, configure.in: release-variables renamed from 
580           CLN_* to CL_*.
581         * configure.in: default to build both shared and static library
582           (i.e. default to the most common behaviour).
583
584 2000-05-29  Richard Kreckel  <kreckel@ginac.de>
585
586         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
587           environment around the patch of 2000-05-23.
588
589 2000-05-29  Bruno Haible  <haible@clisp.cons.org>
590
591         * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
592           Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
593
594 2000-05-27  Richard Kreckel  <kreckel@ginac.de>
595
596         * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
597           src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
598
599 2000-05-24  Richard Kreckel  <kreckel@ginac.de>
600
601         * autoconf/config.*: Updated to new version from FSF
602           (the new libtool wants this).
603         * src/Makefile.in: added $(LDFLAGS) to link step.
604         * src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Readjusted 
605           break-even points.
606
607 2000-05-23  Bruno Haible  <haible@clisp.cons.org>
608
609         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
610           host_vendor, host_os correctly if $host has more than two hyphens.
611
612 2000-05-19  Richard Kreckel  <kreckel@ginac.de>
613
614         * src/base/digitseq/cl_DS_mul.cc: Rearranged break-even points to
615           better match present-day CPUs whenever GMP3 is used.
616         * src/base/digitseq/cl_DS_div.cc: dto. 
617         * src/TUNING: Added comment about order of tuning.
618         * configure, configure.in: Safer GMP3-detection.
619         * INSTALL.generic: Clarified behaviour of --with-gmp.
620         * autoconf/config.guess: updated from Clisp-2000-03-06 sources.
621
622 2000-05-04  Richard Kreckel  <kreckel@ginac.de>
623
624         * gmp/: removed completely.  From now on we are going to link
625           externally against libgmp3.0 or above!
626         * configure, configure.in, Makefile.in, */Makeflags: removed support
627           of internal gmp 2.0.2, like $GMP_INCLUDES, which should be done by
628           setting $CPPFLAGS instead.
629         * Makefile.in: Added libtool inter-library dependency for -lgmp and
630           conforming interface versioning (-version-info).
631         * autoconf/ltconfig, autoconf/ltmain.sh: Updated to newer versions
632           from libtool 1.3.4.
633
634 2000-02-22  Bruno Haible  <haible@clisp.cons.org>
635
636         * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
637           parameter passing was changed for the MIPS n32 ABI.
638
639 2000-01-24  Richard Kreckel  <kreckel@ginac.de>
640
641         * gmp/*: Replaced the complete mpn sources with the ones from
642           Debian since they are maintained while the ones from FSF
643           aren't and there were problems on some architectures, PowerPC
644           in particular.  See the file gmp/README.CLN.  This way the
645           hard links in this directory have vanished, they were causing
646           trouble for people working in AFS.  This became necessary for
647           Debian, because there it woudn't compile on PPC.
648
649 2000-01-13  Richard Kreckel  <kreckel@ginac.de>
650
651         * Version 1.0.3 released.
652
653 2000-01-13  Richard Kreckel  <kreckel@ginac.de>
654
655         * src/base/cl_macros.h (nonreturning_function): For egcs and newer
656           use __attribute__ ((__noreturn__)) instead of the __volatile__
657           storage class.
658           (nonreturning): Remove macro.
659         * include/*: Minor fixes to stop -ansi -pedantic from complaining.
660         * include/cl_integer.h: (doublefactorial): New declaration.
661         * src/integer/misc/combin/cl_I_doublefactorial.cc: New file.
662
663 1999-12-18  Bruno Haible  <haible@clisp.cons.org>
664
665         * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
666           "cat", not "echo".
667         * autoconf/ltconfig: Improve support for recent FreeBSD 3.
668         * include/cl_GV.h (cl_GV_vectorops): Change return type from 'T' to
669           'const T', to match definition in src/vector/cl_GV_number.cc.
670           Reported by Duncan Simpson <dps@io.stargate.co.uk>.
671         * gmp/mpn/Makefile.in (.S.lo): Use 'if', not '&&', because '&&' may
672           yield return code 1.
673
674 1999-09-07  Bruno Haible  <haible@clisp.cons.org>
675
676         * Version 1.0.2 released.
677
678 1999-09-06  Bruno Haible  <haible@clisp.cons.org>
679
680         * src/rational/cl_RA.h (integerp, ratiop): Instead of returning a
681           boolean expression, write alternatives ending with either
682           "return cl_true;" or "return cl_false;". This way, g++ does a
683           better job inlining it.
684         * src/float/cl_F.h (longfloatp): Likewise.
685         * src/real/cl_R.h (rationalp, integerp, floatp): Likewise.
686         * src/complex/cl_C.h (realp, complexp): Likewise.
687
688 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
689
690         * include/cl_integer.h (cl_equal_hashcode): New declaration.
691         * include/cl_rational.h (cl_equal_hashcode): New declaration.
692         * include/cl_sfloat.h (cl_equal_hashcode): New declaration.
693         * include/cl_ffloat.h (cl_equal_hashcode): New declaration.
694         * include/cl_dfloat.h (cl_equal_hashcode): New declaration.
695         * include/cl_lfloat.h (cl_equal_hashcode): New declaration.
696         * include/cl_float.h (cl_equal_hashcode): New declaration.
697         * include/cl_real.h (cl_equal_hashcode): New declaration.
698         * include/cl_complex.h (cl_equal_hashcode): New declaration.
699         * src/base/cl_N.h (equal_hashcode_low, equal_hashcode_one): New macros.
700         * src/integer/misc/cl_I_eqhashcode.cc: New file.
701         * src/rational/misc/cl_RA_eqhashcode.cc: New file.
702         * src/float/sfloat/misc/cl_SF_eqhashcode.cc: New file.
703         * src/float/ffloat/misc/cl_FF_eqhashcode.cc: New file.
704         * src/float/dfloat/misc/cl_DF_eqhashcode.cc: New file.
705         * src/float/lfloat/misc/cl_LF_eqhashcode.cc: New file.
706         * src/float/misc/cl_F_eqhashcode.cc: New file.
707         * src/real/misc/cl_R_eqhashcode.cc: New file.
708         * src/complex/misc/cl_C_eqhashcode.cc: New file.
709         * doc/cln.tex: Document `cl_equal_hashcode'.
710
711 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
712
713         * include/cl_ring.h (cl_number_ring_ops): Add `contains' member.
714           (cl_number_ring): New class.
715           (cl_specialized_number_ring<T>): Inherit from cl_number_ring.
716           (instanceof): New function.
717         * src/integer/ring/cl_I_ring.cc (cl_I_p): New function.
718         * src/integer/misc/cl_I_as.cc (cl_I_p): Add comment.
719         * src/rational/ring/cl_RA_ring.cc (cl_RA_p): New function.
720         * src/rational/misc/cl_RA_as.cc (cl_RA_p): Add comment.
721         * src/real/ring/cl_R_ring.cc (cl_R_p): New function.
722         * src/real/misc/cl_R_as.cc (cl_R_p): Add comment.
723         * src/complex/ring/cl_C_ring.cc (cl_N_p): New function.
724         * src/complex/misc/cl_N_as.cc (cl_N_p): Add comment.
725         * doc/cln.tex: Document `instanceof'.
726
727 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
728
729         * include/cl_rational.h (numerator, denominator): New declarations.
730         * src/rational/elem/cl_RA_numerator.cc: New file.
731         * src/rational/elem/cl_RA_denominator.cc: New file.
732         * include/cl_integer.h (numerator, denominator): New inline functions.
733         * doc/cln.tex: Document `numerator' and `denominator'.
734
735 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
736
737         * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
738           in the integer case.
739         * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
740
741 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
742
743         * include/cl_config.h.in: Support for sparc64 CPU.
744         * include/cl_modules.h: Likewise.
745         * include/cl_types.h: Likewise.
746         * include/cl_object.h: Likewise.
747         * include/cl_GV.h: Likewise.
748         * src/Makefile.in: Likewise.
749         * src/base/cl_alloca.h: Likewise.
750         * src/base/cl_macros.h: Likewise.
751         * src/base/cl_sysdep.h: Likewise.
752         * src/base/cl_low.h: Likewise.
753         * src/base/digitseq/cl_asm.h: Likewise.
754         * src/base/digitseq/cl_asm_.cc: Likewise.
755         * src/base/digitseq/cl_asm_sparc64.h: New file.
756         * src/base/digitseq/cl_asm_sparc64_.cc: New file.
757         * src/modinteger/cl_MI_int.h: Support for sparc64 CPU.
758         * src/polynomial/elem/cl_UP_no_ring.cc: Likewise.
759         * src/polynomial/elem/cl_UP_GF2.h: Likewise.
760         * src/polynomial/elem/cl_asm_GF2.cc: Likewise.
761
762 1999-09-04  Bruno Haible  <haible@clisp.cons.org>
763
764         * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
765           Use the `orn' instruction.
766
767 1999-08-14  Bruno Haible  <haible@clisp.cons.org>
768
769         Assume all platforms have <stdlib.h> and clock_t.
770         * configure.in: Don't call CL_STDLIB_H and CL_CLOCK_T.
771         * src/base/cl_base_config.h.in (CLOCK_T): Remove definition.
772         * src/base/random/cl_random_from.cc: Use clock_t instead of CLOCK_T.
773         * src/timing/cl_t_config.h.in (CLOCK_T): Remove definition.
774         * src/timing/cl_t_current2.cc: Use clock_t instead of CLOCK_T.
775
776 1999-07-18  Bruno Haible  <haible@clisp.cons.org>
777
778         * gmp/config.guess: Link to autoconf/config.guess.
779           gmp/config.sub: Link to autoconf/config.sub.
780           Needed for Win32 platforms.
781
782 1999-07-17  Bruno Haible  <haible@clisp.cons.org>
783
784         * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
785           "sparc64" according to the C compiler, not the uname result.
786
787 1999-06-17  Bruno Haible  <haible@clisp.cons.org>
788
789         * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
790           COUNTER_LOOPS version, fortunately not used yet.
791
792         * include/cl_modules.h: Prepare for gcc version 3.
793
794 1999-06-12  Bruno Haible  <haible@clisp.cons.org>
795
796         * src/rational/elem/cl_RA_plus.cc, src/rational/elem/cl_RA_minus.cc:
797           Change the last call from I_I_to_RT to I_I_to_RA.
798
799 1999-06-09  Bruno Haible  <haible@clisp.cons.org>
800
801         * Version 1.0.1 released.
802
803 1999-06-09  Bruno Haible  <haible@clisp.cons.org>
804
805         * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
806           intDsize==64.
807
808 1999-06-08  Bruno Haible  <haible@clisp.cons.org>
809
810         * autoconf/intparam.c (printf_underscored): Change argument type to
811           `const char*'.
812         * include/cl_modules.h (CL_OUTPUT_LABEL, CL_JUMP_TO): New macros.
813           (CL_PROVIDE, CL_PROVIDE_END): Use them.
814         * include/cl_string.h (cl_heap_string::operator new): Return 1, not 0.
815         * include/cl_GV.h (cl_GV_inner<T>::operator new): Likewise.
816         * src/base/ring/cl_no_ring.cc (dummy_canonhom, dummy_expt_pos): Don't
817           cast a cl_I to void here. Works around a bug in g++-2.95.
818         * src/complex/misc/cl_C_class.cc: Include "cl_C.h".
819         * src/polynomial/elem/cl_UP_no_ring.cc (dummy_canonhom,
820            dummy_expt_pos): Don't cast a cl_I to void here. Works around a bug
821           in g++-2.95.
822         * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
823           macro.
824         * src/rational/misc/cl_RA_class.cc: Include "cl_RA.h".
825         * src/vector/cl_GV_I.cc (cl_heap_GV_I_general::operator new,
826            DEFINE_cl_heap_GV_I_bits): Return 1, not 0.
827         * src/vector/cl_GV_number.cc (cl_heap_GV_number_general::operator new):
828           Likewise.
829
830 1999-06-01  Bruno Haible  <haible@clisp.cons.org>
831
832         * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
833           variants to alpha.
834
835 1999-05-29  Bruno Haible  <haible@clisp.cons.org>
836
837         * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
838           OpenBSD like NetBSD.
839         * src/base/digitseq/cl_asm_sparc_.cc (DECLARE_FUNCTION): Likewise.
840         * src/base/digitseq/cl_asm_m68k_.cc (DECLARE_FUNCTION): Treat
841           OpenBSD like NetBSD, and Linux/ELF like SVR4.
842
843 1999-05-16  Bruno Haible  <haible@clisp.cons.org>
844
845         * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
846           syntax on AIX systems and new assembler syntax on non-AIX systems.
847
848 1999-05-01  Bruno Haible  <haible@clisp.cons.org>
849
850         * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
851           version from GNU CVS.
852
853 1999-04-24  Bruno Haible  <haible@clisp.cons.org>
854
855         * src/integer/bitwise/cl_I_logand.cc (logand): Optimize the case when
856           either operand is a positive fixnum, O(1) instead of O(N).
857         * src/integer/bitwise/cl_I_lognand.cc (lognand): Likewise.
858         * src/integer/bitwise/cl_I_logandc2.cc (logandc2): Likewise for the
859           first operand.
860
861 1999-04-14  Bruno Haible  <haible@clisp.cons.org>
862
863         * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add check whether
864           ctor/dtor needs to be exported.
865         * include/cl_config.h.in (CL_NEED_GLOBALIZE_CTORDTOR): New macro.
866         * include/cl_modules.h (CL_GLOBALIZE_JUMP_LABEL): Renamed from
867           CL_GLOBALIZE_LABEL.
868           (CL_GLOBALIZE_LABEL): New macro.
869           (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
870           (CL_PROVIDE): Update.
871
872 1999-04-12  Bruno Haible  <haible@clisp.cons.org>
873
874         * src/Makefile.in ($(ASMFILES_S)): On HPPA, ignore preprocessing
875           errors ("unterminated string or character constant").
876           ($(ASMFILES_LO)): On HPPA, try with various settings of
877           COMPILER_PATH, in order to try /usr/ccs/bin/as and /bin/as.
878
879 1999-04-11  Bruno Haible  <haible@clisp.cons.org>
880
881         * INSTALL: Mention gmp problems on MIPS.
882         * doc/cln.tex: Likewise.
883
884 1999-03-24  Mumit Khan  <khan@xraylith.wisc.edu>
885
886         * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
887           the source tree.
888         * include/cl_modules.h (CL_GLOBALIZE_LABEL): Define for Win32.
889           (CL_GLOBALIZE_ASM_LABEL): New macro.
890           (CL_PROVIDE): Use it.
891         * src/base/random/cl_random_from.cc: Handle WIN32.
892         * src/timing/cl_t_current.cc: Likewise.
893
894 1999-03-15  Bruno Haible  <haible@clisp.cons.org>
895
896         * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
897           (main8): Adapt for C++.
898
899 1999-03-09  Bruno Haible  <haible@clisp.cons.org>
900
901         * INSTALL: Mention egcs-1.1 problems on Sparc.
902         * doc/cln.tex: Likewise.
903
904 1999-03-08  Bruno Haible  <haible@clisp.cons.org>
905
906         * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
907           messages.
908
909 1999-02-25  Bruno Haible  <haible@clisp.cons.org>
910
911         * autoconf/aclocal.m4: In test programs, declare `int main()', not
912           `main()'.
913
914         * lidia-interface/src/interfaces/integers/cln/bigint.c
915           (bigint_to_string): Fix for negative arguments.
916
917         * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
918         * src/base/cl_alloca.h: Likewise.
919
920         * src/base/cl_low.h: Eliminate CLISP style "# " comments.
921         * src/base/digitseq/cl_asm_arm_.cc,
922           src/base/digitseq/cl_asm_mips_.cc,
923           src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
924
925         * src/modinteger/cl_MI_pow2.h,
926           src/modinteger/cl_MI_pow2m1.h,
927           src/modinteger/cl_MI_pow2p1.h: Workaround g++-2.7.2 inlining bug.
928
929 1999-01-18  Bruno Haible  <haible@clisp.cons.org>
930
931         * autoconf/acgeneral.m4,
932           autoconf/acspecific.m4: Upgrade to autoconf-2.13.
933         * autoconf/config.guess, autoconf/config.sub: Likewise.
934         * autoconf/aclocal.m4 (CL_ALLOCA): Test for _MSC_VER and alloca being
935           a macro. Use ${ac_objext}.
936         * src/base/cl_macros.h (alloca): Put _MSC_VER test before the others,
937           conforming with CL_ALLOCA.
938
939 1999-01-12  Bruno Haible  <haible@clisp.cons.org>
940
941         * Version 1.0 released.
942