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