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