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