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