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