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