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