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