1 2005-12-15 Dmitry V. Kustov <kustov@telex221.ru>
3 * src/base/random/cl_random_from.cc: Add support for OpenBSD.
5 2005-11-23 Richard B. Kreckel <kreckel@ginac.de>
7 * Version 1.1.11 released.
9 2005-11-20 Richard B. Kreckel <kreckel@ginac.de>
11 * src/integer/conv/cl_I_cached_power.h: New file.
12 * src/integer/conv/cl_I_cached_power.cc: New file.
13 Contains power_table and cached_power_table previously...
14 * src/integer/conv/cl_I_to_digits.cc: ...here.
15 * src/integer/conv/cl_I_from_digits.cc: Use cached powers.
17 2005-11-02 Richard B. Kreckel <kreckel@ginac.de>
19 * src/integer/conv/cl_I_from_digits.cc: Made input of all numbers in
20 non-power-of-two base much faster.
21 * tests/test_I_io.cc: New file...
22 * tests/Makefile.in, tests/test_I.cc: ...used here.
24 2005-10-22 Richard B. Kreckel <kreckel@ginac.de>
26 * Version 1.1.10 released.
28 2005-10-22 Richard B. Kreckel <kreckel@ginac.de>
30 * src/Makefile.in: Accept CPPFLAGS from environment.
31 * examples/Makefile.in: Likewise.
32 * benchmarks/Makefile.in: Likewise.
33 * tests/Makefile.in: Likewise.
35 2005-08-30 Richard B. Kreckel <kreckel@ginac.de>
37 * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
38 duplication of basic blocks on m68k.
40 2005-08-30 Richard B. Kreckel <kreckel@ginac.de>
42 * include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.
44 2005-08-27 Bruno Haible <bruno@clisp.org>
46 Split aclocal.m4 into individual files.
47 * m4/alloca.m4, m4/as-underscore.m4, m4/c++-constructors.m4:
48 * m4/fpu_control.m4, m4/general.m4, m4/gettimeofday.m4:
49 * m4/longdouble.m4, m4/longlong.m4, m4/param.m4, m4/perror.m4:
50 * m4/proto.m4, m4/rusage.m4, m4/times.m4:
51 New files, extracted from autoconf/aclocal.m4.
52 * autoconf/aclocal.m4: m4_include them.
53 * Makefile.devel (AUTOCONF_MACROS): New variable.
54 (configure): Depend on it.
55 (CLISP_M4DIR): Remove variable.
56 (autoconf/aclocal.m4): Remove rule.
58 2005-08-27 Bruno Haible <bruno@clisp.org>
60 * src/integer/bitwise/cl_I_ash_I.cc (ash): Avoid shifting a 32-bit
61 zero value by more than 31 bits.
63 2005-08-27 Bruno Haible <bruno@clisp.org>
65 Make the long-float overflow check work on 64-bit platforms.
66 * src/float/lfloat/cl_LF.h (LF_exp_mid, LF_exp_high): Define as
67 'unsigned int', not 'unsigned long'.
69 2005-08-27 Bruno Haible <bruno@clisp.org>
71 * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
72 duplication of basic blocks by g++ 4.0.
73 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345>.
75 2005-08-27 Bruno Haible <bruno@clisp.org>
77 Make it possible to cross-compile CLN.
78 * m4/intparam.m4: New file.
79 * m4/floatparam.m4: New file.
80 * autoconf/aclocal.m4: Include both.
81 (CL_MACHINE): Add an additional CROSS_MACRO parameter.
82 * configure.ac (CL_MACHINE): When cross-compiling, use
83 CL_INTPARAM_CROSS and CL_FLOATPARAM_CROSS.
85 2005-08-27 Bruno Haible <bruno@clisp.org>
87 Define HAVE_LONGLONG and HAVE_LONGDOUBLE when cross-compiling.
88 * autoconf/aclocal.m4 (CL_LONGLONG, CL_LONGDOUBLE): When cross-
89 compiling, use the test code from gnulib.
91 2005-08-27 Bruno Haible <bruno@clisp.org>
93 * autoconf/aclocal.m4 (CL_RUSAGE): Fix error when cross-compiling.
95 2005-08-16 Richard B. Kreckel <kreckel@ginac.de>
97 The patch of 2005-05-01 made it impossible to test the type of a cl_UP
98 by comparing with &cl_class_univpoly_ring. We need an alternative:
99 * include/cln/object.h (cl_class_flags_modint_ring): New #define...
100 * src/polynomial/elem/cl_UP.cc (cl_class_univpoly_ring): ...used here.
101 * src/polynomial/elem/cl_UP_GF2.h: Likewise.
102 * src/polynomial/elem/cl_UP_MI.h: Likewise.
103 * src/polynomial/elem/cl_UP_gen.h: Likewise.
104 * src/polynomial/elem/cl_UP_number.h: Likewise.
106 2005-08-15 Richard B. Kreckel <kreckel@ginac.de>
108 * m4/cc.m4 (CL_AS_NOEXECSTACK): New macro...
109 * configure.ac: ...used here for setting ASMFLAGS...
110 * src/Makefile.in: ...which are used here.
112 2005-08-02 Andreas Jochens <aj@andaco.de>
114 * include/cln/config.h.in: Add support for PowerPC 64 CPU.
115 * include/cln/modules.h: Likewise.
116 * include/cln/object.h: Likewise.
117 * include/cln/types.h: Likewise.
119 2005-07-24 Richard B. Kreckel <kreckel@ginac.de>
121 Make out of the box build on x86_64 system with complete 32 bit
123 * include/cln/config.h.in: Don't #define __x86_64__ when
125 * src/base/digitseq/cl_asm_x86_64_.cc: New file.
126 * doc/cln.tex: Revert workaround description introduced 2005-05-02.
128 2005-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
130 * Makefile.in: Don't enter nonexisting directories.
132 2005-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
134 Speed up the linking step
135 * src/Makefile.in: Use -objectlist for linking libcln.la.
137 2005-05-15 Richard B. Kreckel <kreckel@ginac.de>
139 * autoconf/ltmain.sh: Upgrade to libtool-1.5.16.
140 * m4/libtool.m4: Upgrade to libtool-1.5.16 (without Comeau patch).
142 2005-05-02 Richard B. Kreckel <kreckel@ginac.de>
144 * doc/cln.tex: Document what to do on a x86_64 machine with 32-bit
147 2005-05-01 Richard B. Kreckel <kreckel@ginac.de>
149 Fix crashes in find_univpoly_ring and related functions
150 * include/cln/modinteger.h: Remove vptr from cl_heap_modint_ring;
151 remove declaration of cl_class cl_class_modint_ring.
152 * include/cln/univpoly.h: Remove vptr from cl_heap_univpoly_ring;
153 remove declaration of cl_class_univpoly_ring.
154 * include/cln/object.h: cl_class_flags_modint_ring: New #define...
155 * src/modinteger/cl_MI.cc: ...used in cl_class_modint_ring.
156 * src/modinteger/cl_MI_fix16.h: No vptr, but static dtor and type flag.
157 * src/modinteger/cl_MI_fix29.h: Likewise.
158 * src/modinteger/cl_MI_fix32.h: Likewise.
159 * src/modinteger/cl_MI_int32.h: Likewise.
160 * src/modinteger/cl_MI_montgom.h: Likewise.
161 * src/modinteger/cl_MI_pow2: Likewise.
162 * src/modinteger/cl_MI_pow2m1.h: Likewise.
163 * src/modinteger/cl_MI_pow2p1.h: Likewise.
164 * src/modinteger/cl_MI_std.h: Likewise.
165 * src/polynomial/elem/cl_UP.cc (cl_make_univpoly_ring): Compare with
166 cl_class_flags_modint_ring, not with cl_class_modint_ring.
167 * src/polynomial/elem/cl_UP_GF2.h (cl_class_num_univpoly_ring): New.
168 * src/polynomial/elem/cl_UP_MI.h (cl_class_modint_univpoly_ring): New.
169 * src/polynomial/elem/cl_UP_gen.h (cl_class_gen_univpoly_ring): New.
170 * src/polynomial/elem/cl_UP_number.h (cl_class_num_univpoly_ring): New.
171 Reported by Ralf Goertz <R_Goertz@web.de>.
173 2005-04-29 Richard B. Kreckel <kreckel@ginac.de>
174 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
176 * m4/cc.m4: Emit a warning if g++ is used and optimization turned off.
178 2005-04-24 Richard B. Kreckel <kreckel@ginac.de>
180 Make GCC compiler flags default to -O
181 * m4/cc.m4: New file...
182 * configure.ac: ...used here.
183 * autoconf/aclocal.m4: Regenerate.
185 2005-04-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
187 * include/cln/string.h: Declare cl_string.
189 2005-03-17 Richard B. Kreckel <kreckel@ginac.de>
191 * autoconf/ltmain.sh: Upgrade to libtool-1.5.14.
192 * m4/libtool.m4: Upgrade to libtool-1.5.14 with Comeau patch.
193 * autoconf/aclocal.m4: Regenerate.
195 2005-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
197 * src/Makefile.in: Use $CXX instead of $CC when linking.
199 2005-02-27 Richard B. Kreckel <kreckel@ginac.de>
201 * examples/perfnum.cc: update to presumed 42st Mersenne prime.
203 2004-11-28 Richard B. Kreckel <kreckel@ginac.de>
205 Disambiguate binary operators of CLN types with float/double
206 * include/cln/dfloat.h: Add binary operator overloads for arguments of
208 * include/cln/ffloat.h: Likewise, for arguments of type float.
209 * include/cln/float.h: Likewise, both for arguments of types double and
211 * include/cln/real.h: Likewise.
212 Reported by Isidro CachadiƱa GutiƩrrez <icacha@unex.es>.
214 2004-11-03 Richard B. Kreckel <kreckel@ginac.de>
216 * Version 1.1.9 released.
218 2004-10-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
220 * src/Makefile.in: Let config.status set LDFLAGS.
222 2004-10-27 Peter Breitenlohner <peb@mppmu.mpg.de>
224 * cln.pc.in: Fix typo.
225 * Makefile.in (INSTALL_SCRIPT): Added, to be used for scripts like
226 cln-config. Allows us to do special things to binaries, like
227 installing them with install -s.
228 * doc/Makefile.in: add/remove the cln.info from the installed
229 $(infodir)/dir unless this is debian install-info (code copied from
230 what GNU automake would produce).
232 2004-10-26 Richard B. Kreckel <kreckel@ginac.de>
234 * src/integer/input/cl_I_read_stream.cc (read_integer): Fix a bug
235 that caused radix specifiers to not work when reading from a stream.
236 * src/rational/input/cl_RA_read_stream.cc (read_rational): Likewise.
237 * src/real/input/cl_R_read_stream.cc (read_real): Likewise.
238 * src/float/input/cl_F_read_stream.cc (read_float): Likewise.
239 * src/complex/input/cl_N_read_stream.cc (read_complex): Likewise.
241 2004-10-25 Richard B. Kreckel <kreckel@ginac.de>
243 * src/base/cl_low.h: Add mulu64 assembler macro for ia64.
245 2004-10-24 Richard B. Kreckel <kreckel@ginac.de>
247 * src/base/cl_low.h: Add mul and div macros for x86_64.
249 2004-10-23 Richard B. Kreckel <kreckel@ginac.de>
251 * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Fix thinko in
252 new code for base power of two.
254 2004-10-22 Richard B. Kreckel <kreckel@ginac.de>
256 * src/integer/conv/cl_I_to_digits (I_to_digits): Fix an elusive stack
257 overwriting problem. That was the real cause for Debian bug#246319.
258 * src/integer/output/cl_I_print.cc (print_integer): Revert workaround
259 for the bug fixed above.
261 2004-10-20 Richard B. Kreckel <kreckel@ginac.de>
263 * include/cln/types.h: Use 64 bit digits on x86_64 CPU.
265 2004-10-12 Richard B. Kreckel <kreckel@ginac.de>
267 * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Speedup when
268 the base is a power of two.
270 2004-10-05 Richard B. Kreckel <kreckel@ginac.de>
272 * src/integer/conv/cl_I_to_digits.cc (I_to_digits): Fix bug in base 32.
274 2004-09-27 Richard B. Kreckel <kreckel@ginac.de>
276 Support for little-endian Mips, second shot
277 * src/base/digitseq/cl_asm_mipsel_.cc: New file...
278 * src/base/digitseq/cl_asm_cc: ...used here.
279 * src/base/digitseq/cl_asm.h: Include cl_asm_mips.h for any endianness.
280 * include/cln/object.h: Set alignment for mipsel explicitly.
282 2004-09-05 Richard B. Kreckel <kreckel@ginac.de>
284 Support for little-endian Mips
285 * include/cln/config.h.in: Add __mipsel__.
286 * include/cln/modules.h: For Mips, this is endianness-agnostic.
287 * src/base/digitseq/cl_asm_.cc, src/base/digitseq/cl_asm.h:
288 Mask out assembler for little-endian Mips.
290 2004-08-30 Bruno Haible <bruno@clisp.org>
292 * benchmarks/timebench2.sh: Multiply all repeat counts by 100.
293 * benchmarks/timebench2.results: Add recent PowerPC G4 results.
295 2004-08-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
297 * examples/e.cc: remove extra semicolon.
299 2004-08-25 Bruno Haible <bruno@clisp.org>
301 * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
302 * m4/libtool.m4: New file, from libtool-1.5.6 with modifications:
303 2004-08-22 Bruno Haible <bruno@clisp.org>
304 * m4/libtool.m4: Add support for Comeau C++ on Linux.
305 Reported by Prof. Roberto Bagnara <bagnara@cs.unipr.it>.
306 * autoconf/aclocal.m4: Regenerate.
308 2004-08-19 Bruno Haible <bruno@clisp.org>
310 * include/cln/modules.h (CL_GLOBALIZE_JUMP_LABEL, CL_JUMP_TO): When
311 converting a label to a string, use ASM_UNDERSCORE_PREFIX. Needed on
313 Reported by Darren Bane <darren.bane@ul.ie>.
315 2004-07-01 Richard B. Kreckel <kreckel@ginac.de>
317 * Version 1.1.8 released.
319 2004-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
321 * src/base/cl_macros.h: alloca(3) has size_t argument type.
323 2004-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
325 * include/cln/floatformat.h: Do define a type here.
327 2004-06-27 Richard B. Kreckel <kreckel@ginac.de>
329 * include/cln/modules.h (CL_JUMP_TO): Fix AMD64 brokenness.
331 2004-06-23 Bruno Haible <bruno@clisp.org>
333 * configure.ac: Pretend ftime() is not available. Needed by
336 2004-06-21 Ralf Stephan <ralf@ark.in-berlin.de>
338 * doc/cln.tex: Document jacobi, isprobprime and nextprobprime.
340 2004-06-18 Richard B. Kreckel <kreckel@ginac.de>
342 * rational/transcendental/cl_RA_logp.cc: fix bug where base is
343 reciprocal of an integer.
344 Reported by Niklas Knutsson <nq@altern.org>.
346 2004-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
348 * src/complex/ring/cl_C_ring.cc, src/integer/ring/cl_I_ring.cc,
349 src/rational/ring/cl_RA_ring.cc, src/real/ring/cl_R_ring.cc:
350 Make template specializations explicit.
352 2004-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
354 * src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
355 src/integer/input/cl_I_read.cc, src/rational/input/cl_RA_read.cc,
356 src/real/input/cl_R_read.cc: Remove unused labels.
358 2004-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
360 * benchmarks/timebench1.cc, benchmarks/timebench2a.LiDIA.cc,
361 benchmarks/timebench2a.cc, benchmarks/timebench2ap.cc,
362 benchmarks/timebench2b.LiDIA.cc, benchmarks/timebench2b.cc,
363 examples/atan_recip.cc, examples/atanh_recip.cc,
364 examples/contfrac.cc, examples/e.cc, examples/legendre.cc,
365 examples/lucaslehmer.cc, examples/pi.cc, include/cln/GV.h,
366 include/cln/SV.h, include/cln/malloc.h, include/cln/modules.h,
367 include/cln/object.h, include/cln/string.h, src/base/cl_abort.cc,
368 src/base/cl_alloca.h, src/base/cl_malloc.cc,
369 src/base/random/cl_random_from.cc,
370 src/base/string/cl_spushstring_append.cc,
371 src/base/string/cl_spushstring_push.cc,
372 src/base/string/cl_st_debug.cc,
373 src/base/string/input/cl_st_gettoken.cc,
374 src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
375 src/float/output/cl_F_dprint.cc, src/integer/input/cl_I_read.cc,
376 src/rational/input/cl_RA_read.cc,
377 src/real/format-output/cl_fmt_integer.cc,
378 src/real/format-output/cl_fmt_paddedstring.cc,
379 src/real/input/cl_R_read.cc, src/timing/cl_t_current.cc,
380 src/timing/cl_t_current2.cc, tests/exam.cc, tests/tests.cc,
381 tests/timeLFRAmul.cc, tests/timeLFatan-compare.cc,
382 tests/timeLFatan.cc, tests/timeLFatanh-compare.cc,
383 tests/timeLFatanh.cc, tests/timeLFcos-compare.cc, tests/timeLFcos.cc,
384 tests/timeLFcosh.cc, tests/timeLFexp-compare.cc, tests/timeLFexp.cc,
385 tests/timeLFln-compare.cc, tests/timeLFln.cc,
386 tests/timeLFsin-compare.cc, tests/timeLFsin.cc, tests/timeLFsinh.cc,
387 tests/timeLFsqrt.cc, tests/timeMImisc5.cc, tests/timeMIpow2div.cc,
388 tests/timeMIpow2recip.cc, tests/timeRALFdiv.cc, tests/timeRAtoLF.cc,
389 tests/timeUPMImul.cc, tests/timecatalan.cc, tests/timediv.cc,
390 tests/timediv2adic-compare.cc, tests/timediv2adic.cc,
391 tests/timeeuler.cc, tests/timeexp1.cc, tests/timefact.cc,
392 tests/timegcd.cc, tests/timemul-compare.cc, tests/timemul.cc,
393 tests/timepi.cc, tests/timeprint-compare.cc, tests/timeprint.cc,
394 tests/timerecip2adic-compare.cc, tests/timerecip2adic.cc,
395 tests/timesqrt.cc, tests/timesqrtmodp.cc, tests/timesquare.cc,
396 tests/timezeta3.cc: Change all C include headers to ISO style
399 2004-06-10 Richard B. Kreckel <kreckel@ginac.de>
401 * examples/perfnum.cc: update to presumed 41st Mersenne prime.
403 2004-05-02 Richard B. Kreckel <kreckel@ginac.de>
405 * Version 1.1.7 released.
407 2004-05-02 Richard B. Kreckel <kreckel@ginac.de>
409 * examples/pi.cc and examples/pi.1: New files.
410 * examples/Makefile.in: Build the pi executable.
412 2004-05-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
414 * src/Makefile.in: Fix for parallel build: wait for subdir objects to
415 be finished before creating the library.
417 2004-04-30 Richard B. Kreckel <kreckel@ginac.de>
419 * src/integer/output/cl_I_print.cc (print_integer): workaround
420 GCC compiler bug (cf. Debian bug#246319).
422 2004-03-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
424 * m4/gmp.m4 (CL_GMP_CHECK): Do not lose LIBS setting with config.cache
427 2004-03-08 Bruno Haible <bruno@clisp.org>
429 * src/float/lfloat/elem/cl_LF_mul.cc (operator*): Fix the second
431 * src/float/lfloat/algebraic/cl_LF_sqrt.cc (sqrt): Fix a bug with large
432 uexp whereby SQRT of MOST-POSITIVE-LONG-FLOAT was less than 1.
434 2004-03-04 Richard B. Kreckel <kreckel@ginac.de>
436 * Makefile.in (install): Add ${srcdir} for cln.m4.
437 * m4/gmp.m4: quote macro names.
438 Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
440 2004-01-01 Richard B. Kreckel <kreckel@ginac.de>
442 * Version 1.1.6 released.
444 2004-01-01 Richard B. Kreckel <kreckel@ginac.de>
446 * include/cln/univpoly.h, include/cln/univpoly_complex.h,
447 include/cln//univpoly_integer.h, include/cln/univpoly_modint.h,
448 include/cln/univpoly_rational.h, include/cln/univpoly_real.h,
449 src/polynomial/elem/cl_UP_GF2.h, src/polynomial/elem/cl_UP_MI.h,
450 src/polynomial/elem/cl_UP_gen.h, src/polynomial/elem/cl_UP_no_ring.cc,
451 src/polynomial/elem/cl_UP_number.h (ldegree): New function.
452 * doc/cln.tex: Document `ldegree'.
454 2003-12-29 Richard B. Kreckel <kreckel@ginac.de>
456 Rework of autoconfiscation infrastructure
457 * autoconf/config.{guess,sub}: Update to GNU version 2003-10-07.
458 * autoconf/ltmain.sh: Update to GNU version 1.4.3.
459 * autoconf/autoconf: Remove (from now on we assume autoconf is
460 installed properly on the sytem).
461 * autoconf/autoconf.m4: Likewise.
462 * autoconf/autoconf.m4f: Likewise.
463 * autoconf/acgeneral.m4: Likewise.
464 * autoconf/acspecific.m4: Likewise.
465 * autoconf/aclocal.m4: Regenerate.
466 * autoconf/acinclude.m4: Remove (while moving the macros...)
467 * m4/gmp.m4: New file (...to here).
468 * Makefile.devel: Update to new scheme.
469 * configure.ac: Likewise.
470 * include/cln/GV_integer.h: Assume template specializations work.
471 * include/cln/GV_modinteger.h: Likewise.
472 * include/cln/config.h.in: Likewise, and drop HAVE_BOOL.
473 * src/base/cl_base_config.h.in: Drop support for obsolete ftime(3).
474 * src/base/random/cl_random_from.cc: Likewise.
475 * src/timing/cl_base_config.h.in: Likewise.
476 * src/timing/cl_t_current.cc: Likewise.
478 2003-12-27 Richard B. Kreckel <kreckel@ginac.de>
480 * src/polynomial/cl_UP_gen.h (gen_minus): Fix case where first
482 * src/polynomial/cl_UP_MI.h (modint_minus): Likewise.
483 * src/polynomial/cl_UP_number.h (num_minus): Likewise.
484 Reported by Munagala Ramanath <amberarrow@yahoo.com>.
486 2003-12-02 Richard B. Kreckel <kreckel@ginac.de>
488 * examples/perfnum.cc: update to presumed 40th Mersenne prime.
490 2003-11-20 Christian Bauer <cbauer@ginac.de>
492 Added pkg-config support
493 * cln.pc.in: New file.
494 * Makefile.in: Take care of cln.pc.
495 * configure.ac: Likewise.
497 2003-08-06 Richard B. Kreckel <kreckel@ginac.de>
499 * src/numtheory/cl_nt_sqrtmodp.cc: #undef _R.
500 Reported by Andrew Rechnitzer <A.Rechnitzer@ms.unimelb.edu.au>.
502 2003-08-01 Richard Kreckel <kreckel@ginac.de>
504 More dependent base resolution issues
505 * src/base/hash/cl_hash.h (cl_heap_hashtable<T>::iterator()):
506 portable syntactic simplification.
507 * src/base/hash/cl_hashset.h: Preceed inherited members with this->.
508 * src/base/hash/cl_hash1.h: Likewise for member functions.
509 * src/base/hash/cl_hash2.h: Likewise.
510 * src/base/hash/cl_hashuniq.h: Likewise.
511 * src/base/hash/cl_hashuniqweak.h: Likewise.
512 * src/base/hash/cl_hash.h: Revert explicit static member function
513 lookup since that was GCC's fault.
514 * src/base/hash/cl_hash2weak.h: Likewise.
515 * src/base/hash/cl_hashuniqweak.h: Likewise.
517 2003-06-29 Richard Kreckel <kreckel@ginac.de>
519 Dependent base resolution needed for GCC-3.4
520 * include/cln/GV.h: Preceed inherited members with this->.
521 * include/cln/SV.h: Likewise.
522 * include/cln/object.h: Likewise.
523 * src/base/hash/cl_hash1.h: Likewise.
524 * src/base/hash/cl_hash1weak.h: Likewise.
525 * src/base/hash/cl_hash2.h: Likewise.
526 * src/base/hash/cl_hashuniq.h: Likewise.
527 * src/base/hash/cl_hash.h: Make lookup of static member function
529 * src/base/hash/cl_hash2weak.h: Likewise.
530 * src/base/hash/cl_hashuniqweak.h: Likewise.
531 * src/modinteger/cl_MI.cc: Make shell-comment a C-comment. Geez.
533 2003-02-24 Bruno Haible <bruno@clisp.org>
535 * src/base/random/cl_random_from.cc (random_state::random_state): Add
537 * src/modinteger/cl_MI.cc: #undef _R.
538 Reported by Erann Gat <gat@jpl.nasa.gov>.
540 2002-08-03 Joerg Arndt <jj@suse.de>
542 * include/cln/config.h.in: Add support for x86_64 CPU.
543 * include/cln/modules.h: Likewise.
544 * include/cln/types.h: Likewise.
545 * include/cln/object.h: Likewise.
547 2002-06-08 Richard Kreckel <kreckel@ginac.de>
549 * src/base/digitseq/cl_asm.h: ensure intCsize==16 when including
550 m68k Assembler routines.
551 * src/base/digitseq/cl_asm_.cc: Likewise.
553 2002-05-28 Richard Kreckel <kreckel@ginac.de>
555 * Version 1.1.5 released.
557 2002-05-27 Richard Kreckel <kreckel@ginac.de>
559 * include/cln/modules.h (CL_CONCATENATE): New macro.
561 2002-05-10 Richard Kreckel <kreckel@ginac.de>
563 * doc/cln.tex (Building the library): Update recommendations for
564 compiling on Tru64 using g++ 3.0 and 3.1.
565 * README: Update homepage.
567 2002-05-05 Bruno Haible <bruno@clisp.org>
569 * doc/cln.tex (Building the library): Give some recommendations for
572 Force link-time references despite optimizations done by g++ 2.95
574 * include/cln/modules.h (CL_FORCE_LINK): New macro.
576 * include/cln/GV_integer.h (cl_GV_I_debug_dummy): Likewise.
577 * include/cln/GV_number.h (cl_GV_number_debug_dummy): Likewise.
578 * include/cln/SV_number.h (cl_SV_number_debug_dummy): Likewise.
579 * include/cln/SV_ringelt.h (cl_SV_ringelt_debug_dummy): Likewise.
580 * include/cln/dfloat.h (cl_DF_debug_dummy): Likewise.
581 * include/cln/ffloat.h (cl_FF_classes_dummy, cl_FF_debug_dummy):
583 * include/cln/integer.h (cl_I_classes_dummy, cl_I_debug_dummy):
585 * include/cln/lfloat.h (cl_LF_debug_dummy): Likewise.
586 * include/cln/modinteger.h (cl_MI_debug_dummy): Likewise.
587 * include/cln/rational.h (cl_RA_debug_dummy): Likewise.
588 * include/cln/real.h (cl_R_debug_dummy): Likewise.
589 * include/cln/ring.h (cl_ring_debug_dummy): Likewise.
590 * include/cln/sfloat.h (cl_SF_classes_dummy, cl_SF_classes_dummy):
592 * include/cln/string.h (cl_string_debug_dummy): Likewise.
593 * include/cln/univpoly.h (cl_UP_debug_dummy): Likewise.
594 * src/float/base/cl_ieee.h (cl_ieee_dummy_NNN): Likewise.
596 Avoid g++ 3.1 warnings.
597 * src/base/cl_offsetof.h (offsetof): Redefine each time.
598 * src/base/digitseq/cl_DS.h: Include "cl_offsetof.h" after <gmp.h>.
600 Avoid g++ 3.1 warnings.
601 * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
603 * src/base/hash/cl_hash1.h (struct cl_heap_hashtable_1): typedef
604 htxentry as a shortcut.
605 * src/base/hash/cl_hash2.h (struct cl_heap_hashtable_2): Likewise.
606 * src/base/hash/cl_hashset.h (struct cl_heap_hashtable_set): Likewise.
607 * src/base/hash/cl_hashuniq.h (struct cl_heap_hashtable_uniq):
610 2002-03-15 Bruno Haible <bruno@clisp.org>
612 * cln.tex: Document problem with GNU make 3.77.
613 Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
615 2002-02-16 Richard Kreckel <kreckel@ginac.de>
617 * cln.m4: quote macro name.
618 Pointed out by Roberto Bagnara.
620 2002-01-20 Richard Kreckel <kreckel@ginac.de>
622 * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
623 (the old one was broken on Linux/Mips.)
625 2002-01-04 Richard Kreckel <kreckel@ginac.de>
627 * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
628 * Version 1.1.4 released.
630 2002-01-03 Richard Kreckel <kreckel@ginac.de>
632 * autoconf/acinclude.m4: revamp MPN-matcher.
633 * autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
634 sync with CLisp from CVS.
635 * autoconf/autoconf: Likewise.
636 * autoconf/autoconf.m4f: Likewise (new file).
637 * configure.ac: Likewise (new file, replaces configure.in).
638 * configure.in: Likewise (deleted, replaced by configure.ac).
639 * autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
640 * src/Makefile.in: made VPATH safe for autoconf-2.52.
641 * include/cln/config.h.in: Add __s390__.
643 2001-12-31 Richard Kreckel <kreckel@ginac.de>
645 * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"
646 any more since GMP4 has some C++ support in it.
648 2001-12-14 Richard Kreckel <kreckel@ginac.de>
650 * include/cln/modules.h, include/cln/object.h: add support for
652 * src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
653 on s390, provided by Gerhard Tonn.
655 2001-11-05 Richard Kreckel <kreckel@ginac.de>
657 * autoconf/ltmain.sh: Upgrade to libtool-1.4.2.
658 * autoconf/config.{guess,sub}: Update to GNU version 2001-09-07.
659 * Version 1.1.3 released.
661 2001-11-04 Bruno Haible <haible@clisp.cons.org>
663 Interoperability with gcc-3.0 -fuse-cxa-atexit.
664 * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add test whether
665 global destructors actually exist.
666 * include/cln/modules.h (CL_PROVIDE, CL_PROVIDE_END, CL_PROVIDE_END):
667 Don't hack the global destructors if there is no global destructors
670 2001-11-03 Richard Kreckel <kreckel@ginac.de>
672 * src/float/transcendental/cl_F_sinx.cc (sinx_naive): For small
673 values of x, return square(x) instead of x.
674 * src/float/transcendental/cl_F_sinhx.cc (sinhx_naive): Likewise.
676 2001-07-25 Richard Kreckel <kreckel@ginac.de>
678 * Version 1.1.2 released.
680 2001-07-24 Richard Kreckel <kreckel@ginac.de>
682 * src/base/hash/cl_hash.h: declare _cl_hashtable_iterator<htentry> a
683 friend of cl_heap_hashtable<htentry>.
685 2001-07-22 Richard Kreckel <kreckel@ginac.de>
687 * src/float/base/cl_ieee.cc: try to do magic to the FPU only if
688 _FPU_IEEE is really defined.
689 * include/cln/modules.h: change assembler labels from `label' to
690 `label:' on hppa, needed by Linux (see comment).
691 * autoconf/acinclude.m4: new file (for storing CLN-specific macros).
692 * Makefile.devel: adjusted.
693 * autoconf/aclocal.m4: regenerate.
694 * src/base/low/cl_low_mul.cc: moved POD variables that are declared
695 extern "C" elsewhere out of the namespace.
696 * src/base/low/cl_low_div.cc: Likewise.
698 2001-06-08 Bruno Haible <haible@clisp.cons.org>
700 * autoconf/config.{guess,sub}: Update to GNU version 2001-05-11.
701 * autoconf/aclocal.m4: Upgrade to libtool-1.4.
702 * autoconf/ltmain.sh: Likewise.
703 * autoconf/ltconfig: Remove file.
704 * autoconf/install-sh: New file.
705 * configure.in: Add AC_CONFIG_AUX_DIR call.
707 2001-06-05 Richard Kreckel <kreckel@ginac.de>
709 * tests/tests.cc: resolve namespace ambiguity about strcmp().
711 2001-05-31 Richard Kreckel <kreckel@ginac.de>
713 * Version 1.1.1 released.
715 2001-05-28 Richard Kreckel <kreckel@ginac.de>
717 * cln/cln.tex: documented problems with shared library on Sparc
718 using gcc older than 2.95.3.
719 * configure.in: Fixed typos in versioning docu.
721 2001-05-25 Bruno Haible <haible@clisp.cons.org>
723 * src/base/digitseq/cl_asm_arm_.cc: Use #0x instead of #& to designate
724 hexadecimal constants.
726 2001-05-25 Richard Kreckel <kreckel@ginac.de>
728 * autoconf/floatparam.c (double_wordorder_bigendian_p): new symbol.
729 * src/float/dfloat/cl_DF.h: Check for double_wordorder_bigendian_p.
730 * Removed LiDIA interface since that is now outdated (namespace cln)
731 and maintained elsewhere.
732 * Adjusted dates and final touches for 1.1.1.
734 2001-05-19 Richard Kreckel <kreckel@ginac.de>
736 * INSTALL: Update toolchain info: no egcs, some more platforms.
737 * doc/cln.tex: Likewise.
739 2001-05-18 Richard Kreckel <kreckel@ginac.de>
741 * src/base/cl_low.h: prepended variables declared inside macros
742 with underscore. Fixes equal_hashcode() on various platforms.
744 2001-04-25 Richard Kreckel <kreckel@ginac.de>
746 * src/base/cl_low.h: Added several checks if NO_ASM is defined, so
747 this definition becomes actually useful. This is needed for
748 compilation on Arm until somebody fixes the assembler files for Arm.
749 * src/base/digitseq/cl_asm.h: Likewise.
750 * src/base/digitseq/cl_asm_.cc: Likewise.
751 * */Makefile.in: Added `override' in front of `CPPFLAGS +=' so
752 one can say `make CPPFLAGS=-DFOOBAR'.
754 2001-03-26 Arvid Norberg <c99ang@cs.umu.se>
756 * src/base/random/cl_random_from.cc: ported to beos.
758 2001-03-05 Richard Kreckel <kreckel@ginac.de>
760 * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
762 2001-01-28 Richard Kreckel <kreckel@ginac.de>
764 * include/cln/number.h (cl_as_N): Remove bogus comment.
766 2001-01-22 Richard Kreckel <kreckel@ginac.de>
768 * configure.in: Make build in separate builddir possible (again).
770 2001-01-22 Richard Kreckel <kreckel@ginac.de>
772 * include/cln/*.h: Change signatures of all classes' methods
773 cln::cl_foo::operator new(size_t, cl_foo*) to
774 cln::cl_foo::operator new(size_t, void*) so one can declare
775 std::vector<cln::cl_foo>, std::list<cln::cl_foo> etc. for
776 certain STL implementations (like libstdc++-v3).
778 2000-12-14 Richard Kreckel <kreckel@ginac.de>
780 * Version 1.1 released.
782 2000-12-13 Richard Kreckel <kreckel@ginac.de>
784 * */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
786 2000-12-05 Richard Kreckel <kreckel@ginac.de>
788 * Makefile.in, src/Makefile.in, doc/Makefile.in: Use mkdir -p.
789 * include/cln/version.h.in, src/base/verion.cc: New files.
790 * configure.in: Generate include/cln/version.h.
791 * cln.m4: Rewrote it. Check result of cln-config without compiling.
792 Do cross-check library version and header version information.
794 2000-12-02 Christian Bauer <cbauer@ginac.de>
796 * Makefile.in, src/Makefile.in, doc/Makefile.in: Added $DESTDIR.
797 * cln.m4, cln.spec.in: some minor fixes with respect to RPM package
800 2000-11-24 Richard Kreckel <kreckel@ginac.de>
802 * */*: Removed problematic stdin, stdout and stderr definitions.
803 Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
805 2000-11-20 Bruno Haible
807 * cln-config.1: change title.
809 2000-11-18 Richard Kreckel <kreckel@ginac.de>
812 * doc/cln.tex: Document package tools cln-config and cln.m4.
813 * Makefile.in: Care about cln.m4.
815 2000-11-17 Richard Kreckel <kreckel@ginac.de>
817 * cln-config.1: added manpage, as required by a couple of distros.
818 * Makefile.in, doc/Makefile.in: target install depends on installdirs.
820 2000-11-16 Richard Kreckel <kreckel@ginac.de>
822 * autoconf/aclocal.m4 (CL_GMP_SET_UINTD): New macro...
823 * configure.in: ...used here.
824 * include/cln/config.h.in: Put in macros defined by CL_GMP_SET_UINTD...
825 * include/cln/types.h: ...used here.
826 * autoconf/acgeneral.m4, autoconf/aclocal.m4: Adhere to FHS.
828 2000-11-13 Richard Kreckel <kreckel@ginac.de>
830 * src/base/digitseq/cl_asm.h: Test if (intDsize==32) for MIPS and HPPA,
831 in order to guard against an accidented configuration.
832 * src/integer/conv/cl_I_to_digits.cc (table): member b_hoch_k of
833 struct power_table_entry initialized as ULL instead of as UL, if
834 intDsize==64 (caused misprinting on MIPS w/ GMP).
835 * src/base/cl_macros.h (minus_bitm, bitc): implemented ULL, if
837 * src/integer/bitwise/cl_I_mkfx.cc (mkf_extract): Likewise.
838 * src/integer/conv/cl_I_from_L.cc (cl_I_from_L): Added trival
839 generation of Bignum for intDsize==64 and a notreached-check at end.
840 * autoconf/config.guess, autoconf/config.sub: updated from FSF.
841 * include/cln/config.h.in: Prepared support for IA64.
842 * include/cln/types.h: Likewise.
843 * include/cln/object.h: Likewise.
844 * include/cln/modules.h: Likewise.
845 * src/base/cl_macros.h (nonreturning_function): Likewise (NUE's
846 compiler claims __GNUC_MINOR__==9).
848 2000-11-03 Richard Kreckel <kreckel@ginac.de>
850 * src/base/cl_macros.h (bit, minus_bit): changed criterion for ULL from
851 HAVE_DD to HAVE_FAST_LONGLONG.
852 * src/base/cl_macros.h (bitm): implemented ULL, if HAVE_FAST_LONGLONG.
853 * src/base/cl_low.h: actually no need to include "cln/types.h" here.
854 * src/base/cl_low.h (logcount_64): always ULL, independent of HAVE_DD.
855 * src/base/random/cl_UL_random.cc (random32): a is always ULL.
857 2000-11-01 Richard Kreckel <kreckel@ginac.de>
859 * include/cln/object.h (cl_combine): define additional signatures, if
860 HAVE_LONGLONG is defined, in order to keep the compiler happy.
861 * src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
862 * src/base/cl_macros.h (bit): ...for this macro...
863 * src/base/cl_macros.h (minus_bit): ...and this one.
864 * src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
865 * src/base/cl_low.h (logcount_64): ...for this macro.
866 * src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
867 * src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug.
868 that turned up when intDsize==32 and cl_word_size==64.
869 * src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
870 to uint64 that turned up when intDsize==32 and cl_word_size==64.
872 2000-10-29 Richard Kreckel <kreckel@ginac.de>
874 * src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
875 #undef stderr, if it's defined so cln::stderr isn't confused.
876 * src/base/input/cl_read_globals.cc: stdin should not be extern.
878 2000-09-05 Richard Kreckel <kreckel@ginac.de>
880 * include/cln/number.h (As): Fix it in namespace by suffixing `_As'
881 to the appropiate method instead of prefixing `as_'.
882 * src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
883 * src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
884 * src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
885 * src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
886 * src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
887 * src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
888 * src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
889 * src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
890 * src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
892 2000-09-05 Richard Kreckel <kreckel@ginac.de>
894 * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
897 2000-08-30 Richard Kreckel <kreckel@ginac.de>
899 * include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
900 Rearranged for a clearer distinction between macros and remaining
901 identifiers, so Cint can parse it smoothly.
903 2000-08-29 Richard Kreckel <kreckel@ginac.de>
905 * include/cln/number.h, the(const cl_number& x): New template
908 2000-08-29 Richard Kreckel <kreckel@ginac.de>
910 * */*: Pushed CLN into a namespace `cln'. While doing so, the
911 following identifiers got their poor-man's namespace (i.e. the
912 prefix `cl_') stripped off:
913 cl_catalanconst() -> catalanconst()
914 cl_compare() -> compare()
915 cl_cos_sin() -> cos_sin()
916 cl_cos_sin_t -> cos_sin_t
917 cl_cosh_sinh() -> cosh_sinh()
918 cl_cosh_sinh_t -> cosh_sinh_t
919 cl_decoded_dfloat -> decoded_dfloat
920 cl_decoded_ffloat -> decoded_ffloat
921 cl_decoded_float -> decoded_float
922 cl_decoded_lfloat -> decoded_lfloat
923 cl_decoded_sfloat -> decoded_sfloat
924 cl_default_float_format -> default_float_format
925 cl_default_print_flags -> default_print_flags
926 cl_default_random_state -> default_random_state
927 cl_double_approx() -> double_approx()
928 cl_equal() -> equal()
929 cl_equal_hashcode() -> equal_hashcode()
930 cl_eulerconst() -> eulerconst()
931 cl_find_modint_ring() -> find_modint_ring()
932 cl_find_univpoly_ring() -> find_univ_poly_ring()
933 cl_float_approx() -> float_approx
934 cl_float_format() -> float_format()
935 cl_float_format_t -> float_format_t
936 cl_free_hook() -> free_hook()
937 cl_hermite() -> hermite()
938 cl_laguerre() -> laguerre()
939 cl_legendre() -> legandre()
940 cl_malloc_hook() -> malloc_hook()
942 cl_tschebychev() -> tschebychev()
944 NB: For functions these changes includes all signatures.
945 * include/*: moved to include/cln/*, stripped `cl_' off filenames.
946 * cln-config.in: new file.
948 2000-08-26 Bruno Haible <haible@clisp.cons.org>
950 * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
953 2000-08-18 Bruno Haible <haible@clisp.cons.org>
955 * include/cl_univpoly_modint.h: Fix typo.
957 2000-07-13 Bruno Haible <haible@clisp.cons.org>
959 * src/float/input/cl_F_read_stream.cc (number_char_p): Accept '_',
960 used as precision marker for floats.
961 Reported by Keith Briggs (in 1998) and Thomas Roessler.
962 * src/integer/input/cl_I_read_stream.cc (number_char_p): Likewise.
963 * src/rational/input/cl_RA_read_stream.cc (number_char_p): Likewise.
964 * src/real/input/cl_R_read_stream.cc (number_char_p): Likewise.
965 * src/complex/input/cl_N_read_stream.cc (number_char_p): Likewise.
967 2000-06-22 Bruno Haible <haible@clisp.cons.org>
969 * include/cl_object.h: Rename cl_word_size to cl_pointer_size.
970 * include/cl_types.h (HAVE_FAST_LONGLONG): Also define on Irix6
972 (cl_word_size): New macro.
973 * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
976 2000-05-31 Bruno Haible <haible@clisp.cons.org>
978 * tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
979 From a sample that fails with gcc-2.95.2 on Sparc.
980 * tests/exam_I_gcd.cc (integer_gcd_tests): Likewise.
982 2000-05-30 Richard Kreckel <kreckel@ginac.de>
984 * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
986 * configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR,
987 CL_VERSION_PATCHLEVEL): New definitions.
988 * autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig,
989 autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc).
990 * src/Makefile.in, configure.in: release-variables renamed from
992 * configure.in: default to build both shared and static library
993 (i.e. default to the most common behaviour).
995 2000-05-29 Richard Kreckel <kreckel@ginac.de>
997 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
998 environment around the patch of 2000-05-23.
1000 2000-05-29 Bruno Haible <haible@clisp.cons.org>
1002 * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
1003 Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
1005 2000-05-27 Richard Kreckel <kreckel@ginac.de>
1007 * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
1008 src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
1010 2000-05-24 Richard Kreckel <kreckel@ginac.de>
1012 * autoconf/config.*: Updated to new version from FSF
1013 (the new libtool wants this).
1014 * src/Makefile.in: added $(LDFLAGS) to link step.
1015 * src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Readjusted
1018 2000-05-23 Bruno Haible <haible@clisp.cons.org>
1020 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
1021 host_vendor, host_os correctly if $host has more than two hyphens.
1023 2000-05-19 Richard Kreckel <kreckel@ginac.de>
1025 * src/base/digitseq/cl_DS_mul.cc: Rearranged break-even points to
1026 better match present-day CPUs whenever GMP3 is used.
1027 * src/base/digitseq/cl_DS_div.cc: dto.
1028 * src/TUNING: Added comment about order of tuning.
1029 * configure, configure.in: Safer GMP3-detection.
1030 * INSTALL.generic: Clarified behaviour of --with-gmp.
1031 * autoconf/config.guess: updated from Clisp-2000-03-06 sources.
1033 2000-05-04 Richard Kreckel <kreckel@ginac.de>
1035 * gmp/: removed completely. From now on we are going to link
1036 externally against libgmp3.0 or above!
1037 * configure, configure.in, Makefile.in, */Makeflags: removed support
1038 of internal gmp 2.0.2, like $GMP_INCLUDES, which should be done by
1039 setting $CPPFLAGS instead.
1040 * Makefile.in: Added libtool inter-library dependency for -lgmp and
1041 conforming interface versioning (-version-info).
1042 * autoconf/ltconfig, autoconf/ltmain.sh: Updated to newer versions
1045 2000-02-22 Bruno Haible <haible@clisp.cons.org>
1047 * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
1048 parameter passing was changed for the MIPS n32 ABI.
1050 2000-01-24 Richard Kreckel <kreckel@ginac.de>
1052 * gmp/*: Replaced the complete mpn sources with the ones from
1053 Debian since they are maintained while the ones from FSF
1054 aren't and there were problems on some architectures, PowerPC
1055 in particular. See the file gmp/README.CLN. This way the
1056 hard links in this directory have vanished, they were causing
1057 trouble for people working in AFS. This became necessary for
1058 Debian, because there it woudn't compile on PPC.
1060 2000-01-13 Richard Kreckel <kreckel@ginac.de>
1062 * Version 1.0.3 released.
1064 2000-01-13 Richard Kreckel <kreckel@ginac.de>
1066 * src/base/cl_macros.h (nonreturning_function): For egcs and newer
1067 use __attribute__ ((__noreturn__)) instead of the __volatile__
1069 (nonreturning): Remove macro.
1070 * include/*: Minor fixes to stop -ansi -pedantic from complaining.
1071 * include/cl_integer.h: (doublefactorial): New declaration.
1072 * src/integer/misc/combin/cl_I_doublefactorial.cc: New file.
1074 1999-12-18 Bruno Haible <haible@clisp.cons.org>
1076 * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
1078 * autoconf/ltconfig: Improve support for recent FreeBSD 3.
1079 * include/cl_GV.h (cl_GV_vectorops): Change return type from 'T' to
1080 'const T', to match definition in src/vector/cl_GV_number.cc.
1081 Reported by Duncan Simpson <dps@io.stargate.co.uk>.
1082 * gmp/mpn/Makefile.in (.S.lo): Use 'if', not '&&', because '&&' may
1083 yield return code 1.
1085 1999-09-07 Bruno Haible <haible@clisp.cons.org>
1087 * Version 1.0.2 released.
1089 1999-09-06 Bruno Haible <haible@clisp.cons.org>
1091 * src/rational/cl_RA.h (integerp, ratiop): Instead of returning a
1092 boolean expression, write alternatives ending with either
1093 "return cl_true;" or "return cl_false;". This way, g++ does a
1094 better job inlining it.
1095 * src/float/cl_F.h (longfloatp): Likewise.
1096 * src/real/cl_R.h (rationalp, integerp, floatp): Likewise.
1097 * src/complex/cl_C.h (realp, complexp): Likewise.
1099 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1101 * include/cl_integer.h (cl_equal_hashcode): New declaration.
1102 * include/cl_rational.h (cl_equal_hashcode): New declaration.
1103 * include/cl_sfloat.h (cl_equal_hashcode): New declaration.
1104 * include/cl_ffloat.h (cl_equal_hashcode): New declaration.
1105 * include/cl_dfloat.h (cl_equal_hashcode): New declaration.
1106 * include/cl_lfloat.h (cl_equal_hashcode): New declaration.
1107 * include/cl_float.h (cl_equal_hashcode): New declaration.
1108 * include/cl_real.h (cl_equal_hashcode): New declaration.
1109 * include/cl_complex.h (cl_equal_hashcode): New declaration.
1110 * src/base/cl_N.h (equal_hashcode_low, equal_hashcode_one): New macros.
1111 * src/integer/misc/cl_I_eqhashcode.cc: New file.
1112 * src/rational/misc/cl_RA_eqhashcode.cc: New file.
1113 * src/float/sfloat/misc/cl_SF_eqhashcode.cc: New file.
1114 * src/float/ffloat/misc/cl_FF_eqhashcode.cc: New file.
1115 * src/float/dfloat/misc/cl_DF_eqhashcode.cc: New file.
1116 * src/float/lfloat/misc/cl_LF_eqhashcode.cc: New file.
1117 * src/float/misc/cl_F_eqhashcode.cc: New file.
1118 * src/real/misc/cl_R_eqhashcode.cc: New file.
1119 * src/complex/misc/cl_C_eqhashcode.cc: New file.
1120 * doc/cln.tex: Document `cl_equal_hashcode'.
1122 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1124 * include/cl_ring.h (cl_number_ring_ops): Add `contains' member.
1125 (cl_number_ring): New class.
1126 (cl_specialized_number_ring<T>): Inherit from cl_number_ring.
1127 (instanceof): New function.
1128 * src/integer/ring/cl_I_ring.cc (cl_I_p): New function.
1129 * src/integer/misc/cl_I_as.cc (cl_I_p): Add comment.
1130 * src/rational/ring/cl_RA_ring.cc (cl_RA_p): New function.
1131 * src/rational/misc/cl_RA_as.cc (cl_RA_p): Add comment.
1132 * src/real/ring/cl_R_ring.cc (cl_R_p): New function.
1133 * src/real/misc/cl_R_as.cc (cl_R_p): Add comment.
1134 * src/complex/ring/cl_C_ring.cc (cl_N_p): New function.
1135 * src/complex/misc/cl_N_as.cc (cl_N_p): Add comment.
1136 * doc/cln.tex: Document `instanceof'.
1138 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1140 * include/cl_rational.h (numerator, denominator): New declarations.
1141 * src/rational/elem/cl_RA_numerator.cc: New file.
1142 * src/rational/elem/cl_RA_denominator.cc: New file.
1143 * include/cl_integer.h (numerator, denominator): New inline functions.
1144 * doc/cln.tex: Document `numerator' and `denominator'.
1146 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1148 * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
1149 in the integer case.
1150 * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
1152 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1154 * include/cl_config.h.in: Support for sparc64 CPU.
1155 * include/cl_modules.h: Likewise.
1156 * include/cl_types.h: Likewise.
1157 * include/cl_object.h: Likewise.
1158 * include/cl_GV.h: Likewise.
1159 * src/Makefile.in: Likewise.
1160 * src/base/cl_alloca.h: Likewise.
1161 * src/base/cl_macros.h: Likewise.
1162 * src/base/cl_sysdep.h: Likewise.
1163 * src/base/cl_low.h: Likewise.
1164 * src/base/digitseq/cl_asm.h: Likewise.
1165 * src/base/digitseq/cl_asm_.cc: Likewise.
1166 * src/base/digitseq/cl_asm_sparc64.h: New file.
1167 * src/base/digitseq/cl_asm_sparc64_.cc: New file.
1168 * src/modinteger/cl_MI_int.h: Support for sparc64 CPU.
1169 * src/polynomial/elem/cl_UP_no_ring.cc: Likewise.
1170 * src/polynomial/elem/cl_UP_GF2.h: Likewise.
1171 * src/polynomial/elem/cl_asm_GF2.cc: Likewise.
1173 1999-09-04 Bruno Haible <haible@clisp.cons.org>
1175 * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
1176 Use the `orn' instruction.
1178 1999-08-14 Bruno Haible <haible@clisp.cons.org>
1180 Assume all platforms have <stdlib.h> and clock_t.
1181 * configure.in: Don't call CL_STDLIB_H and CL_CLOCK_T.
1182 * src/base/cl_base_config.h.in (CLOCK_T): Remove definition.
1183 * src/base/random/cl_random_from.cc: Use clock_t instead of CLOCK_T.
1184 * src/timing/cl_t_config.h.in (CLOCK_T): Remove definition.
1185 * src/timing/cl_t_current2.cc: Use clock_t instead of CLOCK_T.
1187 1999-07-18 Bruno Haible <haible@clisp.cons.org>
1189 * gmp/config.guess: Link to autoconf/config.guess.
1190 gmp/config.sub: Link to autoconf/config.sub.
1191 Needed for Win32 platforms.
1193 1999-07-17 Bruno Haible <haible@clisp.cons.org>
1195 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
1196 "sparc64" according to the C compiler, not the uname result.
1198 1999-06-17 Bruno Haible <haible@clisp.cons.org>
1200 * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
1201 COUNTER_LOOPS version, fortunately not used yet.
1203 * include/cl_modules.h: Prepare for gcc version 3.
1205 1999-06-12 Bruno Haible <haible@clisp.cons.org>
1207 * src/rational/elem/cl_RA_plus.cc, src/rational/elem/cl_RA_minus.cc:
1208 Change the last call from I_I_to_RT to I_I_to_RA.
1210 1999-06-09 Bruno Haible <haible@clisp.cons.org>
1212 * Version 1.0.1 released.
1214 1999-06-09 Bruno Haible <haible@clisp.cons.org>
1216 * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
1219 1999-06-08 Bruno Haible <haible@clisp.cons.org>
1221 * autoconf/intparam.c (printf_underscored): Change argument type to
1223 * include/cl_modules.h (CL_OUTPUT_LABEL, CL_JUMP_TO): New macros.
1224 (CL_PROVIDE, CL_PROVIDE_END): Use them.
1225 * include/cl_string.h (cl_heap_string::operator new): Return 1, not 0.
1226 * include/cl_GV.h (cl_GV_inner<T>::operator new): Likewise.
1227 * src/base/ring/cl_no_ring.cc (dummy_canonhom, dummy_expt_pos): Don't
1228 cast a cl_I to void here. Works around a bug in g++-2.95.
1229 * src/complex/misc/cl_C_class.cc: Include "cl_C.h".
1230 * src/polynomial/elem/cl_UP_no_ring.cc (dummy_canonhom,
1231 dummy_expt_pos): Don't cast a cl_I to void here. Works around a bug
1233 * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
1235 * src/rational/misc/cl_RA_class.cc: Include "cl_RA.h".
1236 * src/vector/cl_GV_I.cc (cl_heap_GV_I_general::operator new,
1237 DEFINE_cl_heap_GV_I_bits): Return 1, not 0.
1238 * src/vector/cl_GV_number.cc (cl_heap_GV_number_general::operator new):
1241 1999-06-01 Bruno Haible <haible@clisp.cons.org>
1243 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
1246 1999-05-29 Bruno Haible <haible@clisp.cons.org>
1248 * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
1249 OpenBSD like NetBSD.
1250 * src/base/digitseq/cl_asm_sparc_.cc (DECLARE_FUNCTION): Likewise.
1251 * src/base/digitseq/cl_asm_m68k_.cc (DECLARE_FUNCTION): Treat
1252 OpenBSD like NetBSD, and Linux/ELF like SVR4.
1254 1999-05-16 Bruno Haible <haible@clisp.cons.org>
1256 * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
1257 syntax on AIX systems and new assembler syntax on non-AIX systems.
1259 1999-05-01 Bruno Haible <haible@clisp.cons.org>
1261 * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
1262 version from GNU CVS.
1264 1999-04-24 Bruno Haible <haible@clisp.cons.org>
1266 * src/integer/bitwise/cl_I_logand.cc (logand): Optimize the case when
1267 either operand is a positive fixnum, O(1) instead of O(N).
1268 * src/integer/bitwise/cl_I_lognand.cc (lognand): Likewise.
1269 * src/integer/bitwise/cl_I_logandc2.cc (logandc2): Likewise for the
1272 1999-04-14 Bruno Haible <haible@clisp.cons.org>
1274 * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add check whether
1275 ctor/dtor needs to be exported.
1276 * include/cl_config.h.in (CL_NEED_GLOBALIZE_CTORDTOR): New macro.
1277 * include/cl_modules.h (CL_GLOBALIZE_JUMP_LABEL): Renamed from
1279 (CL_GLOBALIZE_LABEL): New macro.
1280 (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
1281 (CL_PROVIDE): Update.
1283 1999-04-12 Bruno Haible <haible@clisp.cons.org>
1285 * src/Makefile.in ($(ASMFILES_S)): On HPPA, ignore preprocessing
1286 errors ("unterminated string or character constant").
1287 ($(ASMFILES_LO)): On HPPA, try with various settings of
1288 COMPILER_PATH, in order to try /usr/ccs/bin/as and /bin/as.
1290 1999-04-11 Bruno Haible <haible@clisp.cons.org>
1292 * INSTALL: Mention gmp problems on MIPS.
1293 * doc/cln.tex: Likewise.
1295 1999-03-24 Mumit Khan <khan@xraylith.wisc.edu>
1297 * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
1299 * include/cl_modules.h (CL_GLOBALIZE_LABEL): Define for Win32.
1300 (CL_GLOBALIZE_ASM_LABEL): New macro.
1301 (CL_PROVIDE): Use it.
1302 * src/base/random/cl_random_from.cc: Handle WIN32.
1303 * src/timing/cl_t_current.cc: Likewise.
1305 1999-03-15 Bruno Haible <haible@clisp.cons.org>
1307 * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
1308 (main8): Adapt for C++.
1310 1999-03-09 Bruno Haible <haible@clisp.cons.org>
1312 * INSTALL: Mention egcs-1.1 problems on Sparc.
1313 * doc/cln.tex: Likewise.
1315 1999-03-08 Bruno Haible <haible@clisp.cons.org>
1317 * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
1320 1999-02-25 Bruno Haible <haible@clisp.cons.org>
1322 * autoconf/aclocal.m4: In test programs, declare `int main()', not
1325 * lidia-interface/src/interfaces/integers/cln/bigint.c
1326 (bigint_to_string): Fix for negative arguments.
1328 * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
1329 * src/base/cl_alloca.h: Likewise.
1331 * src/base/cl_low.h: Eliminate CLISP style "# " comments.
1332 * src/base/digitseq/cl_asm_arm_.cc,
1333 src/base/digitseq/cl_asm_mips_.cc,
1334 src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
1336 * src/modinteger/cl_MI_pow2.h,
1337 src/modinteger/cl_MI_pow2m1.h,
1338 src/modinteger/cl_MI_pow2p1.h: Workaround g++-2.7.2 inlining bug.
1340 1999-01-18 Bruno Haible <haible@clisp.cons.org>
1342 * autoconf/acgeneral.m4,
1343 autoconf/acspecific.m4: Upgrade to autoconf-2.13.
1344 * autoconf/config.guess, autoconf/config.sub: Likewise.
1345 * autoconf/aclocal.m4 (CL_ALLOCA): Test for _MSC_VER and alloca being
1346 a macro. Use ${ac_objext}.
1347 * src/base/cl_macros.h (alloca): Put _MSC_VER test before the others,
1348 conforming with CL_ALLOCA.
1350 1999-01-12 Bruno Haible <haible@clisp.cons.org>
1352 * Version 1.0 released.