1 2000-11-01 Richard Kreckel <kreckel@ginac.de>
3 * include/cln/object.h (cl_combine): define additional signatures, if
4 HAVE_LONGLONG is defined, in order to keep the compiler happy.
5 * src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
6 * src/base/cl_macros.h (bit): ...for this macro...
7 * src/base/cl_macros.h (minus_bit): ...and this one.
8 * src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
9 * src/base/cl_low.h (logcount_64): ...for this macro.
10 * src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
11 * src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug
12 that turned up when intDsize==32 and cl_word_size==64.
13 * src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
14 to uint64 that turned up when intDsize==32 and cl_word_size==64.
16 2000-10-29 Richard Kreckel <kreckel@ginac.de>
18 * src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
19 #undef stderr, if it's defined so cln::stderr isn't confused.
20 * src/base/input/cl_read_globals.cc: stdin should not be extern.
22 2000-09-05 Richard Kreckel <kreckel@ginac.de>
24 * include/cln/number.h (As): Fix it in namespace by suffixing `_As'
25 to the appropiate method instead of prefixing `as_'.
26 * src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
27 * src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
28 * src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
29 * src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
30 * src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
31 * src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
32 * src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
33 * src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
34 * src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
36 2000-09-05 Richard Kreckel <kreckel@ginac.de>
38 * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
41 2000-08-30 Richard Kreckel <kreckel@ginac.de>
43 * include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
44 Rearranged for a clearer distinction between macros and remaining
45 identifiers, so Cint can parse it smoothly.
47 2000-08-29 Richard Kreckel <kreckel@ginac.de>
49 * include/cln/number.h, the(const cl_number& x): New template
52 2000-08-29 Richard Kreckel <kreckel@ginac.de>
54 * */*: Pushed CLN into a namespace `cln'. While doing so, the
55 following identifiers got their poor-man's namespace (i.e. the
56 prefix `cl_') stripped off:
57 cl_catalanconst() -> catalanconst()
58 cl_compare() -> compare()
59 cl_cos_sin() -> cos_sin()
60 cl_cos_sin_t -> cos_sin_t
61 cl_cosh_sinh() -> cosh_sinh()
62 cl_cosh_sinh_t -> cosh_sinh_t
63 cl_decoded_dfloat -> decoded_dfloat
64 cl_decoded_ffloat -> decoded_ffloat
65 cl_decoded_float -> decoded_float
66 cl_decoded_lfloat -> decoded_lfloat
67 cl_decoded_sfloat -> decoded_sfloat
68 cl_default_float_format -> default_float_format
69 cl_default_print_flags -> default_print_flags
70 cl_default_random_state -> default_random_state
71 cl_double_approx() -> double_approx()
73 cl_equal_hashcode() -> equal_hashcode()
74 cl_eulerconst() -> eulerconst()
75 cl_find_modint_ring() -> find_modint_ring()
76 cl_find_univpoly_ring() -> find_univ_poly_ring()
77 cl_float_approx() -> float_approx
78 cl_float_format() -> float_format()
79 cl_float_format_t -> float_format_t
80 cl_free_hook() -> free_hook()
81 cl_hermite() -> hermite()
82 cl_laguerre() -> laguerre()
83 cl_legendre() -> legandre()
84 cl_malloc_hook() -> malloc_hook()
86 cl_tschebychev() -> tschebychev()
88 NB: For functions these changes includes all signatures.
89 * include/*: moved to include/cln/*, stripped `cl_' off filenames.
90 * cln-config.in: new file.
92 2000-08-26 Bruno Haible <haible@clisp.cons.org>
94 * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
97 2000-08-18 Bruno Haible <haible@clisp.cons.org>
99 * include/cl_univpoly_modint.h: Fix typo.
101 2000-07-13 Bruno Haible <haible@clisp.cons.org>
103 * src/float/input/cl_F_read_stream.cc (number_char_p): Accept '_',
104 used as precision marker for floats.
105 Reported by Keith Briggs (in 1998) and Thomas Roessler.
106 * src/integer/input/cl_I_read_stream.cc (number_char_p): Likewise.
107 * src/rational/input/cl_RA_read_stream.cc (number_char_p): Likewise.
108 * src/real/input/cl_R_read_stream.cc (number_char_p): Likewise.
109 * src/complex/input/cl_N_read_stream.cc (number_char_p): Likewise.
111 2000-06-22 Bruno Haible <haible@clisp.cons.org>
113 * include/cl_object.h: Rename cl_word_size to cl_pointer_size.
114 * include/cl_types.h (HAVE_FAST_LONGLONG): Also define on Irix6
116 (cl_word_size): New macro.
117 * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
120 2000-05-31 Bruno Haible <haible@clisp.cons.org>
122 * tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
123 From a sample that fails with gcc-2.95.2 on Sparc.
124 * tests/exam_I_gcd.cc (integer_gcd_tests): Likewise.
126 2000-05-30 Richard Kreckel <kreckel@ginac.de>
128 * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
130 * configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR,
131 CL_VERSION_PATCHLEVEL): New definitions.
132 * autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig,
133 autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc).
134 * src/Makefile.in, configure.in: release-variables renamed from
136 * configure.in: default to build both shared and static library
137 (i.e. default to the most common behaviour).
139 2000-05-29 Richard Kreckel <kreckel@ginac.de>
141 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
142 environment around the patch of 2000-05-23.
144 2000-05-29 Bruno Haible <haible@clisp.cons.org>
146 * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
147 Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
149 2000-05-27 Richard Kreckel <kreckel@ginac.de>
151 * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
152 src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
154 2000-05-24 Richard Kreckel <kreckel@ginac.de>
156 * autoconf/config.*: Updated to new version from FSF
157 (the new libtool wants this).
158 * src/Makefile.in: added $(LDFLAGS) to link step.
159 * src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Readjusted
162 2000-05-23 Bruno Haible <haible@clisp.cons.org>
164 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
165 host_vendor, host_os correctly if $host has more than two hyphens.
167 2000-05-19 Richard Kreckel <kreckel@ginac.de>
169 * src/base/digitseq/cl_DS_mul.cc: Rearranged break-even points to
170 better match present-day CPUs whenever GMP3 is used.
171 * src/base/digitseq/cl_DS_div.cc: dto.
172 * src/TUNING: Added comment about order of tuning.
173 * configure, configure.in: Safer GMP3-detection.
174 * INSTALL.generic: Clarified behaviour of --with-gmp.
175 * autoconf/config.guess: updated from Clisp-2000-03-06 sources.
177 2000-05-04 Richard Kreckel <kreckel@ginac.de>
179 * gmp/: removed completely. From now on we are going to link
180 externally against libgmp3.0 or above!
181 * configure, configure.in, Makefile.in, */Makeflags: removed support
182 of internal gmp 2.0.2, like $GMP_INCLUDES, which should be done by
183 setting $CPPFLAGS instead.
184 * Makefile.in: Added libtool inter-library dependency for -lgmp and
185 conforming interface versioning (-version-info).
186 * autoconf/ltconfig, autoconf/ltmain.sh: Updated to newer versions
189 2000-02-22 Bruno Haible <haible@clisp.cons.org>
191 * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
192 parameter passing was changed for the MIPS n32 ABI.
194 2000-01-24 Richard Kreckel <kreckel@ginac.de>
196 * gmp/*: Replaced the complete mpn sources with the ones from
197 Debian since they are maintained while the ones from FSF
198 aren't and there were problems on some architectures, PowerPC
199 in particular. See the file gmp/README.CLN. This way the
200 hard links in this directory have vanished, they were causing
201 trouble for people working in AFS. This became necessary for
202 Debian, because there it woudn't compile on PPC.
204 2000-01-13 Richard Kreckel <kreckel@ginac.de>
206 * Version 1.0.3 released.
208 2000-01-13 Richard Kreckel <kreckel@ginac.de>
210 * src/base/cl_macros.h (nonreturning_function): For egcs and newer
211 use __attribute__ ((__noreturn__)) instead of the __volatile__
213 (nonreturning): Remove macro.
214 * include/*: Minor fixes to stop -ansi -pedantic from complaining.
215 * include/cl_integer.h: (doublefactorial): New declaration.
216 * src/integer/misc/combin/cl_I_doublefactorial.cc: New file.
218 1999-12-18 Bruno Haible <haible@clisp.cons.org>
220 * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
222 * autoconf/ltconfig: Improve support for recent FreeBSD 3.
223 * include/cl_GV.h (cl_GV_vectorops): Change return type from 'T' to
224 'const T', to match definition in src/vector/cl_GV_number.cc.
225 Reported by Duncan Simpson <dps@io.stargate.co.uk>.
226 * gmp/mpn/Makefile.in (.S.lo): Use 'if', not '&&', because '&&' may
229 1999-09-07 Bruno Haible <haible@clisp.cons.org>
231 * Version 1.0.2 released.
233 1999-09-06 Bruno Haible <haible@clisp.cons.org>
235 * src/rational/cl_RA.h (integerp, ratiop): Instead of returning a
236 boolean expression, write alternatives ending with either
237 "return cl_true;" or "return cl_false;". This way, g++ does a
238 better job inlining it.
239 * src/float/cl_F.h (longfloatp): Likewise.
240 * src/real/cl_R.h (rationalp, integerp, floatp): Likewise.
241 * src/complex/cl_C.h (realp, complexp): Likewise.
243 1999-09-05 Bruno Haible <haible@clisp.cons.org>
245 * include/cl_integer.h (cl_equal_hashcode): New declaration.
246 * include/cl_rational.h (cl_equal_hashcode): New declaration.
247 * include/cl_sfloat.h (cl_equal_hashcode): New declaration.
248 * include/cl_ffloat.h (cl_equal_hashcode): New declaration.
249 * include/cl_dfloat.h (cl_equal_hashcode): New declaration.
250 * include/cl_lfloat.h (cl_equal_hashcode): New declaration.
251 * include/cl_float.h (cl_equal_hashcode): New declaration.
252 * include/cl_real.h (cl_equal_hashcode): New declaration.
253 * include/cl_complex.h (cl_equal_hashcode): New declaration.
254 * src/base/cl_N.h (equal_hashcode_low, equal_hashcode_one): New macros.
255 * src/integer/misc/cl_I_eqhashcode.cc: New file.
256 * src/rational/misc/cl_RA_eqhashcode.cc: New file.
257 * src/float/sfloat/misc/cl_SF_eqhashcode.cc: New file.
258 * src/float/ffloat/misc/cl_FF_eqhashcode.cc: New file.
259 * src/float/dfloat/misc/cl_DF_eqhashcode.cc: New file.
260 * src/float/lfloat/misc/cl_LF_eqhashcode.cc: New file.
261 * src/float/misc/cl_F_eqhashcode.cc: New file.
262 * src/real/misc/cl_R_eqhashcode.cc: New file.
263 * src/complex/misc/cl_C_eqhashcode.cc: New file.
264 * doc/cln.tex: Document `cl_equal_hashcode'.
266 1999-09-05 Bruno Haible <haible@clisp.cons.org>
268 * include/cl_ring.h (cl_number_ring_ops): Add `contains' member.
269 (cl_number_ring): New class.
270 (cl_specialized_number_ring<T>): Inherit from cl_number_ring.
271 (instanceof): New function.
272 * src/integer/ring/cl_I_ring.cc (cl_I_p): New function.
273 * src/integer/misc/cl_I_as.cc (cl_I_p): Add comment.
274 * src/rational/ring/cl_RA_ring.cc (cl_RA_p): New function.
275 * src/rational/misc/cl_RA_as.cc (cl_RA_p): Add comment.
276 * src/real/ring/cl_R_ring.cc (cl_R_p): New function.
277 * src/real/misc/cl_R_as.cc (cl_R_p): Add comment.
278 * src/complex/ring/cl_C_ring.cc (cl_N_p): New function.
279 * src/complex/misc/cl_N_as.cc (cl_N_p): Add comment.
280 * doc/cln.tex: Document `instanceof'.
282 1999-09-05 Bruno Haible <haible@clisp.cons.org>
284 * include/cl_rational.h (numerator, denominator): New declarations.
285 * src/rational/elem/cl_RA_numerator.cc: New file.
286 * src/rational/elem/cl_RA_denominator.cc: New file.
287 * include/cl_integer.h (numerator, denominator): New inline functions.
288 * doc/cln.tex: Document `numerator' and `denominator'.
290 1999-09-05 Bruno Haible <haible@clisp.cons.org>
292 * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
294 * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
296 1999-09-05 Bruno Haible <haible@clisp.cons.org>
298 * include/cl_config.h.in: Support for sparc64 CPU.
299 * include/cl_modules.h: Likewise.
300 * include/cl_types.h: Likewise.
301 * include/cl_object.h: Likewise.
302 * include/cl_GV.h: Likewise.
303 * src/Makefile.in: Likewise.
304 * src/base/cl_alloca.h: Likewise.
305 * src/base/cl_macros.h: Likewise.
306 * src/base/cl_sysdep.h: Likewise.
307 * src/base/cl_low.h: Likewise.
308 * src/base/digitseq/cl_asm.h: Likewise.
309 * src/base/digitseq/cl_asm_.cc: Likewise.
310 * src/base/digitseq/cl_asm_sparc64.h: New file.
311 * src/base/digitseq/cl_asm_sparc64_.cc: New file.
312 * src/modinteger/cl_MI_int.h: Support for sparc64 CPU.
313 * src/polynomial/elem/cl_UP_no_ring.cc: Likewise.
314 * src/polynomial/elem/cl_UP_GF2.h: Likewise.
315 * src/polynomial/elem/cl_asm_GF2.cc: Likewise.
317 1999-09-04 Bruno Haible <haible@clisp.cons.org>
319 * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
320 Use the `orn' instruction.
322 1999-08-14 Bruno Haible <haible@clisp.cons.org>
324 Assume all platforms have <stdlib.h> and clock_t.
325 * configure.in: Don't call CL_STDLIB_H and CL_CLOCK_T.
326 * src/base/cl_base_config.h.in (CLOCK_T): Remove definition.
327 * src/base/random/cl_random_from.cc: Use clock_t instead of CLOCK_T.
328 * src/timing/cl_t_config.h.in (CLOCK_T): Remove definition.
329 * src/timing/cl_t_current2.cc: Use clock_t instead of CLOCK_T.
331 1999-07-18 Bruno Haible <haible@clisp.cons.org>
333 * gmp/config.guess: Link to autoconf/config.guess.
334 gmp/config.sub: Link to autoconf/config.sub.
335 Needed for Win32 platforms.
337 1999-07-17 Bruno Haible <haible@clisp.cons.org>
339 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
340 "sparc64" according to the C compiler, not the uname result.
342 1999-06-17 Bruno Haible <haible@clisp.cons.org>
344 * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
345 COUNTER_LOOPS version, fortunately not used yet.
347 * include/cl_modules.h: Prepare for gcc version 3.
349 1999-06-12 Bruno Haible <haible@clisp.cons.org>
351 * src/rational/elem/cl_RA_plus.cc, src/rational/elem/cl_RA_minus.cc:
352 Change the last call from I_I_to_RT to I_I_to_RA.
354 1999-06-09 Bruno Haible <haible@clisp.cons.org>
356 * Version 1.0.1 released.
358 1999-06-09 Bruno Haible <haible@clisp.cons.org>
360 * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
363 1999-06-08 Bruno Haible <haible@clisp.cons.org>
365 * autoconf/intparam.c (printf_underscored): Change argument type to
367 * include/cl_modules.h (CL_OUTPUT_LABEL, CL_JUMP_TO): New macros.
368 (CL_PROVIDE, CL_PROVIDE_END): Use them.
369 * include/cl_string.h (cl_heap_string::operator new): Return 1, not 0.
370 * include/cl_GV.h (cl_GV_inner<T>::operator new): Likewise.
371 * src/base/ring/cl_no_ring.cc (dummy_canonhom, dummy_expt_pos): Don't
372 cast a cl_I to void here. Works around a bug in g++-2.95.
373 * src/complex/misc/cl_C_class.cc: Include "cl_C.h".
374 * src/polynomial/elem/cl_UP_no_ring.cc (dummy_canonhom,
375 dummy_expt_pos): Don't cast a cl_I to void here. Works around a bug
377 * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
379 * src/rational/misc/cl_RA_class.cc: Include "cl_RA.h".
380 * src/vector/cl_GV_I.cc (cl_heap_GV_I_general::operator new,
381 DEFINE_cl_heap_GV_I_bits): Return 1, not 0.
382 * src/vector/cl_GV_number.cc (cl_heap_GV_number_general::operator new):
385 1999-06-01 Bruno Haible <haible@clisp.cons.org>
387 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
390 1999-05-29 Bruno Haible <haible@clisp.cons.org>
392 * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
394 * src/base/digitseq/cl_asm_sparc_.cc (DECLARE_FUNCTION): Likewise.
395 * src/base/digitseq/cl_asm_m68k_.cc (DECLARE_FUNCTION): Treat
396 OpenBSD like NetBSD, and Linux/ELF like SVR4.
398 1999-05-16 Bruno Haible <haible@clisp.cons.org>
400 * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
401 syntax on AIX systems and new assembler syntax on non-AIX systems.
403 1999-05-01 Bruno Haible <haible@clisp.cons.org>
405 * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
406 version from GNU CVS.
408 1999-04-24 Bruno Haible <haible@clisp.cons.org>
410 * src/integer/bitwise/cl_I_logand.cc (logand): Optimize the case when
411 either operand is a positive fixnum, O(1) instead of O(N).
412 * src/integer/bitwise/cl_I_lognand.cc (lognand): Likewise.
413 * src/integer/bitwise/cl_I_logandc2.cc (logandc2): Likewise for the
416 1999-04-14 Bruno Haible <haible@clisp.cons.org>
418 * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add check whether
419 ctor/dtor needs to be exported.
420 * include/cl_config.h.in (CL_NEED_GLOBALIZE_CTORDTOR): New macro.
421 * include/cl_modules.h (CL_GLOBALIZE_JUMP_LABEL): Renamed from
423 (CL_GLOBALIZE_LABEL): New macro.
424 (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
425 (CL_PROVIDE): Update.
427 1999-04-12 Bruno Haible <haible@clisp.cons.org>
429 * src/Makefile.in ($(ASMFILES_S)): On HPPA, ignore preprocessing
430 errors ("unterminated string or character constant").
431 ($(ASMFILES_LO)): On HPPA, try with various settings of
432 COMPILER_PATH, in order to try /usr/ccs/bin/as and /bin/as.
434 1999-04-11 Bruno Haible <haible@clisp.cons.org>
436 * INSTALL: Mention gmp problems on MIPS.
437 * doc/cln.tex: Likewise.
439 1999-03-24 Mumit Khan <khan@xraylith.wisc.edu>
441 * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
443 * include/cl_modules.h (CL_GLOBALIZE_LABEL): Define for Win32.
444 (CL_GLOBALIZE_ASM_LABEL): New macro.
445 (CL_PROVIDE): Use it.
446 * src/base/random/cl_random_from.cc: Handle WIN32.
447 * src/timing/cl_t_current.cc: Likewise.
449 1999-03-15 Bruno Haible <haible@clisp.cons.org>
451 * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
452 (main8): Adapt for C++.
454 1999-03-09 Bruno Haible <haible@clisp.cons.org>
456 * INSTALL: Mention egcs-1.1 problems on Sparc.
457 * doc/cln.tex: Likewise.
459 1999-03-08 Bruno Haible <haible@clisp.cons.org>
461 * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
464 1999-02-25 Bruno Haible <haible@clisp.cons.org>
466 * autoconf/aclocal.m4: In test programs, declare `int main()', not
469 * lidia-interface/src/interfaces/integers/cln/bigint.c
470 (bigint_to_string): Fix for negative arguments.
472 * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
473 * src/base/cl_alloca.h: Likewise.
475 * src/base/cl_low.h: Eliminate CLISP style "# " comments.
476 * src/base/digitseq/cl_asm_arm_.cc,
477 src/base/digitseq/cl_asm_mips_.cc,
478 src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
480 * src/modinteger/cl_MI_pow2.h,
481 src/modinteger/cl_MI_pow2m1.h,
482 src/modinteger/cl_MI_pow2p1.h: Workaround g++-2.7.2 inlining bug.
484 1999-01-18 Bruno Haible <haible@clisp.cons.org>
486 * autoconf/acgeneral.m4,
487 autoconf/acspecific.m4: Upgrade to autoconf-2.13.
488 * autoconf/config.guess, autoconf/config.sub: Likewise.
489 * autoconf/aclocal.m4 (CL_ALLOCA): Test for _MSC_VER and alloca being
490 a macro. Use ${ac_objext}.
491 * src/base/cl_macros.h (alloca): Put _MSC_VER test before the others,
492 conforming with CL_ALLOCA.
494 1999-01-12 Bruno Haible <haible@clisp.cons.org>
496 * Version 1.0 released.