1 2002-05-05 Bruno Haible <bruno@clisp.org>
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>.
7 Avoid g++ 3.1 warnings.
8 * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
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):
17 2002-03-15 Bruno Haible <bruno@clisp.org>
19 * cln.tex: Document problem with GNU make 3.77.
20 Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
22 2002-02-16 Richard Kreckel <kreckel@ginac.de>
24 * cln.m4: quote macro name.
25 Pointed out by Roberto Bagnara.
27 2002-01-20 Richard Kreckel <kreckel@ginac.de>
29 * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
30 (the old one was broken on Linux/Mips.)
32 2002-01-04 Richard Kreckel <kreckel@ginac.de>
34 * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
35 * Version 1.1.4 released.
37 2002-01-03 Richard Kreckel <kreckel@ginac.de>
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__.
50 2001-12-31 Richard Kreckel <kreckel@ginac.de>
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.
55 2001-12-14 Richard Kreckel <kreckel@ginac.de>
57 * include/cln/modules.h, include/cln/object.h: add support for
59 * src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
60 on s390, provided by Gerhard Tonn.
62 2001-11-05 Richard Kreckel <kreckel@ginac.de>
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.
68 2001-11-04 Bruno Haible <haible@clisp.cons.org>
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
77 2001-11-03 Richard Kreckel <kreckel@ginac.de>
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.
83 2001-07-25 Richard Kreckel <kreckel@ginac.de>
85 * Version 1.1.2 released.
87 2001-07-24 Richard Kreckel <kreckel@ginac.de>
89 * src/base/hash/cl_hash.h: declare _cl_hashtable_iterator<htentry> a
90 friend of cl_heap_hashtable<htentry>.
92 2001-07-22 Richard Kreckel <kreckel@ginac.de>
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.
105 2001-06-08 Bruno Haible <haible@clisp.cons.org>
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.
114 2001-06-05 Richard Kreckel <kreckel@ginac.de>
116 * tests/tests.cc: resolve namespace ambiguity about strcmp().
118 2001-05-31 Richard Kreckel <kreckel@ginac.de>
120 * Version 1.1.1 released.
122 2001-05-28 Richard Kreckel <kreckel@ginac.de>
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.
128 2001-05-25 Bruno Haible <haible@clisp.cons.org>
130 * src/base/digitseq/cl_asm_arm_.cc: Use #0x instead of #& to designate
131 hexadecimal constants.
133 2001-05-25 Richard Kreckel <kreckel@ginac.de>
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.
141 2001-05-19 Richard Kreckel <kreckel@ginac.de>
143 * INSTALL: Update toolchain info: no egcs, some more platforms.
144 * doc/cln.tex: Likewise.
146 2001-05-18 Richard Kreckel <kreckel@ginac.de>
148 * src/base/cl_low.h: prepended variables declared inside macros
149 with underscore. Fixes equal_hashcode() on various platforms.
151 2001-04-25 Richard Kreckel <kreckel@ginac.de>
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'.
161 2001-03-26 Arvid Norberg <c99ang@cs.umu.se>
163 * src/base/random/cl_random_from.cc: ported to beos.
165 2001-03-05 Richard Kreckel <kreckel@ginac.de>
167 * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
169 2001-01-28 Richard Kreckel <kreckel@ginac.de>
171 * include/cln/number.h (cl_as_N): Remove bogus comment.
173 2001-01-22 Richard Kreckel <kreckel@ginac.de>
175 * configure.in: Make build in separate builddir possible (again).
177 2001-01-22 Richard Kreckel <kreckel@ginac.de>
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).
185 2000-12-14 Richard Kreckel <kreckel@ginac.de>
187 * Version 1.1 released.
189 2000-12-13 Richard Kreckel <kreckel@ginac.de>
191 * */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
193 2000-12-05 Richard Kreckel <kreckel@ginac.de>
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.
201 2000-12-02 Christian Bauer <cbauer@ginac.de>
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
207 2000-11-24 Richard Kreckel <kreckel@ginac.de>
209 * */*: Removed problematic stdin, stdout and stderr definitions.
210 Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
212 2000-11-20 Bruno Haible
214 * cln-config.1: change title.
216 2000-11-18 Richard Kreckel <kreckel@ginac.de>
219 * doc/cln.tex: Document package tools cln-config and cln.m4.
220 * Makefile.in: Care about cln.m4.
222 2000-11-17 Richard Kreckel <kreckel@ginac.de>
224 * cln-config.1: added manpage, as required by a couple of distros.
225 * Makefile.in, doc/Makefile.in: target install depends on installdirs.
227 2000-11-16 Richard Kreckel <kreckel@ginac.de>
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.
235 2000-11-13 Richard Kreckel <kreckel@ginac.de>
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
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).
255 2000-11-03 Richard Kreckel <kreckel@ginac.de>
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.
264 2000-11-01 Richard Kreckel <kreckel@ginac.de>
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.
279 2000-10-29 Richard Kreckel <kreckel@ginac.de>
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.
285 2000-09-05 Richard Kreckel <kreckel@ginac.de>
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.
299 2000-09-05 Richard Kreckel <kreckel@ginac.de>
301 * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
304 2000-08-30 Richard Kreckel <kreckel@ginac.de>
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.
310 2000-08-29 Richard Kreckel <kreckel@ginac.de>
312 * include/cln/number.h, the(const cl_number& x): New template
315 2000-08-29 Richard Kreckel <kreckel@ginac.de>
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()
349 cl_tschebychev() -> tschebychev()
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.
355 2000-08-26 Bruno Haible <haible@clisp.cons.org>
357 * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
360 2000-08-18 Bruno Haible <haible@clisp.cons.org>
362 * include/cl_univpoly_modint.h: Fix typo.
364 2000-07-13 Bruno Haible <haible@clisp.cons.org>
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.
374 2000-06-22 Bruno Haible <haible@clisp.cons.org>
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
379 (cl_word_size): New macro.
380 * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
383 2000-05-31 Bruno Haible <haible@clisp.cons.org>
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.
389 2000-05-30 Richard Kreckel <kreckel@ginac.de>
391 * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
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
399 * configure.in: default to build both shared and static library
400 (i.e. default to the most common behaviour).
402 2000-05-29 Richard Kreckel <kreckel@ginac.de>
404 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
405 environment around the patch of 2000-05-23.
407 2000-05-29 Bruno Haible <haible@clisp.cons.org>
409 * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
410 Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
412 2000-05-27 Richard Kreckel <kreckel@ginac.de>
414 * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
415 src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
417 2000-05-24 Richard Kreckel <kreckel@ginac.de>
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
425 2000-05-23 Bruno Haible <haible@clisp.cons.org>
427 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
428 host_vendor, host_os correctly if $host has more than two hyphens.
430 2000-05-19 Richard Kreckel <kreckel@ginac.de>
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.
440 2000-05-04 Richard Kreckel <kreckel@ginac.de>
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
452 2000-02-22 Bruno Haible <haible@clisp.cons.org>
454 * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
455 parameter passing was changed for the MIPS n32 ABI.
457 2000-01-24 Richard Kreckel <kreckel@ginac.de>
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.
467 2000-01-13 Richard Kreckel <kreckel@ginac.de>
469 * Version 1.0.3 released.
471 2000-01-13 Richard Kreckel <kreckel@ginac.de>
473 * src/base/cl_macros.h (nonreturning_function): For egcs and newer
474 use __attribute__ ((__noreturn__)) instead of the __volatile__
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.
481 1999-12-18 Bruno Haible <haible@clisp.cons.org>
483 * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
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
492 1999-09-07 Bruno Haible <haible@clisp.cons.org>
494 * Version 1.0.2 released.
496 1999-09-06 Bruno Haible <haible@clisp.cons.org>
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.
506 1999-09-05 Bruno Haible <haible@clisp.cons.org>
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'.
529 1999-09-05 Bruno Haible <haible@clisp.cons.org>
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'.
545 1999-09-05 Bruno Haible <haible@clisp.cons.org>
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'.
553 1999-09-05 Bruno Haible <haible@clisp.cons.org>
555 * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
557 * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
559 1999-09-05 Bruno Haible <haible@clisp.cons.org>
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.
580 1999-09-04 Bruno Haible <haible@clisp.cons.org>
582 * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
583 Use the `orn' instruction.
585 1999-08-14 Bruno Haible <haible@clisp.cons.org>
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.
594 1999-07-18 Bruno Haible <haible@clisp.cons.org>
596 * gmp/config.guess: Link to autoconf/config.guess.
597 gmp/config.sub: Link to autoconf/config.sub.
598 Needed for Win32 platforms.
600 1999-07-17 Bruno Haible <haible@clisp.cons.org>
602 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
603 "sparc64" according to the C compiler, not the uname result.
605 1999-06-17 Bruno Haible <haible@clisp.cons.org>
607 * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
608 COUNTER_LOOPS version, fortunately not used yet.
610 * include/cl_modules.h: Prepare for gcc version 3.
612 1999-06-12 Bruno Haible <haible@clisp.cons.org>
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.
617 1999-06-09 Bruno Haible <haible@clisp.cons.org>
619 * Version 1.0.1 released.
621 1999-06-09 Bruno Haible <haible@clisp.cons.org>
623 * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
626 1999-06-08 Bruno Haible <haible@clisp.cons.org>
628 * autoconf/intparam.c (printf_underscored): Change argument type to
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
640 * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
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):
648 1999-06-01 Bruno Haible <haible@clisp.cons.org>
650 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
653 1999-05-29 Bruno Haible <haible@clisp.cons.org>
655 * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
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.
661 1999-05-16 Bruno Haible <haible@clisp.cons.org>
663 * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
664 syntax on AIX systems and new assembler syntax on non-AIX systems.
666 1999-05-01 Bruno Haible <haible@clisp.cons.org>
668 * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
669 version from GNU CVS.
671 1999-04-24 Bruno Haible <haible@clisp.cons.org>
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
679 1999-04-14 Bruno Haible <haible@clisp.cons.org>
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
686 (CL_GLOBALIZE_LABEL): New macro.
687 (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
688 (CL_PROVIDE): Update.
690 1999-04-12 Bruno Haible <haible@clisp.cons.org>
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.
697 1999-04-11 Bruno Haible <haible@clisp.cons.org>
699 * INSTALL: Mention gmp problems on MIPS.
700 * doc/cln.tex: Likewise.
702 1999-03-24 Mumit Khan <khan@xraylith.wisc.edu>
704 * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
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.
712 1999-03-15 Bruno Haible <haible@clisp.cons.org>
714 * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
715 (main8): Adapt for C++.
717 1999-03-09 Bruno Haible <haible@clisp.cons.org>
719 * INSTALL: Mention egcs-1.1 problems on Sparc.
720 * doc/cln.tex: Likewise.
722 1999-03-08 Bruno Haible <haible@clisp.cons.org>
724 * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
727 1999-02-25 Bruno Haible <haible@clisp.cons.org>
729 * autoconf/aclocal.m4: In test programs, declare `int main()', not
732 * lidia-interface/src/interfaces/integers/cln/bigint.c
733 (bigint_to_string): Fix for negative arguments.
735 * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
736 * src/base/cl_alloca.h: Likewise.
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.
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.
747 1999-01-18 Bruno Haible <haible@clisp.cons.org>
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.
757 1999-01-12 Bruno Haible <haible@clisp.cons.org>
759 * Version 1.0 released.