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