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