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