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