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