1 2006-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3 * tests/Makefile.in (VPATH): Fix syntax error.
5 2006-09-14 Richard B. Kreckel <kreckel@ginac.de>
7 * examples/perfnum.cc: update to presumed 44th Mersenne prime.
9 2006-08-15 Richard B. Kreckel <kreckel@ginac.de>
11 * tests/Makefile.in: MinGW support for make check
12 (Patch by Sheplyakov Alexei <varg@theor.jinr.ru> to add ${EXEEXT}).
13 * Makefile.in: Convert from $(VAR) to ${VAR} syntax.
14 * benchmarks/Makefile.in: Likewise.
15 * doc/Makefile.in: Likewise.
16 * examples/Makefile.in: Likewise.
17 * src/Makefile.in: Likewise.
18 * tests/Makefile.in: Likewise.
20 2006-08-06 Richard B. Kreckel <kreckel@ginac.de>
22 * configure.ac: Re-enable shared lib on non-MinGW platforms, sigh.
24 2006-08-04 Sheplyakov Alexei <varg@theor.jinr.ru>
26 * configure.ac: Disable shared lib on MinGW.
28 2006-08-03 Sheplyakov Alexei <varg@theor.jinr.ru>
30 * m4/param.m4: Add support for MinGW.
31 * src/base/random/cl_random_from.cc: Fix for last patch.
33 2006-07-23 Sheplyakov Alexei <varg@theor.jinr.ru>
35 * src/base/random/cl_random_from.cc: Add support for MinGW.
37 2006-06-13 Richard B. Kreckel <kreckel@ginac.de>
39 * m4/general.m4 (CL_CANONICAL_HOST_CPU): Force host_cpu=i386 for x86_64
40 if userland is 32 bit.
41 * include/cln/config.h.in: Simplify __x86_64__ selection.
42 * src/base/digitseq/cl_asm_x86_64_.cc: Remove.
44 2006-06-09 Richard B. Kreckel <kreckel@ginac.de>
46 * src/base/digitseq/cl_DS.h (struct DS): Change len type to uintC.
48 2006-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
50 * m4/gettimeofday.m4 (CL_GETTIMEOFDAY): Fix M4 quoting.
52 2006-05-20 Bruno Haible <bruno@clisp.org>
54 * src/base/random/cl_random_from.cc: Treat FreeBSD, NetBSD like other
57 2006-05-07 Richard B. Kreckel <kreckel@ginac.de>
59 * include/cln/modules.h (CL_JUMP_TO): Fix for Intel Mac.
61 2006-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63 Prepare for autoconf-2.60.
64 * Makefile.in (datarootdir): New variable.
65 * src/Makefile.in (datarootdir): New variable.
66 * doc/Makefile.in (datarootdir): New variable.
68 2006-04-25 Bruno Haible <bruno@clisp.org>
69 Richard B. Kreckel <kreckel@ginac.de>
71 Make it theoretically possible to use bignums and long-floats with
72 more than 2^32 significant digits or bits.
73 * doc/cln.tex (logcount): Change return type to uintC.
74 (struct cl_byte): Change elements to uintC.
75 (integer_length, ord2, power2p): Change return type to uintC.
76 (scale_float): Change argument type to sintC.
77 (float_digits, float_precision): Change return type to uintC.
78 * examples/atan_recip.cc: Use uintC instead of uintL where appropriate.
79 * examples/atanh_recip.cc: Likewise.
80 * include/cln/GV.h: Likewise.
81 * include/cln/GV_complex.h: Likewise.
82 * include/cln/GV_integer.h: Likewise.
83 * include/cln/GV_modinteger.h: Likewise.
84 * include/cln/GV_number.h: Likewise.
85 * include/cln/GV_rational.h: Likewise.
86 * include/cln/GV_real.h: Likewise.
87 * include/cln/SV.h: Likewise.
88 * include/cln/SV_complex.h: Likewise.
89 * include/cln/SV_integer.h: Likewise.
90 * include/cln/SV_number.h: Likewise.
91 * include/cln/SV_rational.h: Likewise.
92 * include/cln/SV_real.h: Likewise.
93 * include/cln/SV_ringelt.h: Likewise.
94 * include/cln/dfloat.h: Likewise.
95 * include/cln/ffloat.h: Likewise.
96 * include/cln/float.h: Likewise.
97 * include/cln/integer.h: Likewise.
98 * include/cln/lfloat.h: Likewise.
99 * include/cln/modinteger.h: Likewise.
100 * include/cln/sfloat.h: Likewise.
101 * src/base/cl_low.h (integerlengthC): New macro.
102 * src/base/digitseq/cl_2DS_div.cc: Use uintC instead of uintL where
104 * src/base/digitseq/cl_2DS_recip.cc: Likewise.
105 * src/base/digitseq/cl_DS.h: Likewise.
106 * src/base/digitseq/cl_DS_mul.c: Likewise.
107 * src/base/digitseq/cl_DS_mul_fftc.h: Likewise.
108 * src/base/digitseq/cl_DS_mul_fftcs.h: Likewise.
109 * src/base/digitseq/cl_DS_mul_fftm.h: Likewise.
110 * src/base/digitseq/cl_DS_mul_fftp.h: Likewise.
111 * src/base/digitseq/cl_DS_mul_fftp3.h: Likewise.
112 * src/base/digitseq/cl_DS_mul_fftp3m.h: Likewise.
113 * src/base/digitseq/cl_DS_mul_fftr.h: Likewise.
114 * src/base/digitseq/cl_DS_mul_kara.h: Likewise.
115 * src/base/digitseq/cl_DS_mul_nuss.h: Likewise.
116 * src/base/digitseq/cl_DS_recip.cc: Likewise.
117 * src/base/digitseq/cl_DS_recipsqrt.cc: Likewise.
118 * src/base/digitseq/cl_DS_sqrt.cc: Likewise.
119 * src/base/digitseq/cl_DS_trandom.cc: Likewise.
120 * src/complex/input/cl_N_read.cc: Likewise.
121 * src/complex/transcendental/cl_C_asinh_aux.cc: Likewise.
122 * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
123 * src/float/cl_F.h: Likewise.
124 * src/float/conv/cl_F_from_F_f.cc: Likewise.
125 * src/float/conv/cl_F_from_I_f.cc: Likewise.
126 * src/float/conv/cl_F_from_RA_f.cc: Likewise.
127 * src/float/dfloat/conv/cl_I_to_double.cc: Likewise.
128 * src/float/dfloat/conv/cl_RA_to_double.cc: Likewise.
129 * src/float/dfloat/elem/cl_DF_from_I.cc: Likewise.
130 * src/float/dfloat/elem/cl_DF_from_RA.cc: Likewise.
131 * src/float/dfloat/elem/cl_DF_scale.cc: Likewise.
132 * src/float/dfloat/misc/cl_DF_digits.cc: Likewise.
133 * src/float/dfloat/misc/cl_DF_precision.cc: Likewise.
134 * src/float/elem/cl_F_scale.cc: Likewise.
135 * src/float/ffloat/conv/cl_I_to_float.cc: Likewise.
136 * src/float/ffloat/conv/cl_RA_to_float.cc: Likewise.
137 * src/float/ffloat/elem/cl_FF_from_I.cc: Likewise.
138 * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
139 * src/float/ffloat/elem/cl_FF_scale.cc: Likewise.
140 * src/float/ffloat/misc/cl_FF_digits.cc: Likewise.
141 * src/float/ffloat/misc/cl_FF_precision.cc: Likewise.
142 * src/float/input/cl_F_read.cc: Likewise.
143 * src/float/lfloat/algebraic/cl_LF_sqrt.cc: Likewise.
144 * src/float/lfloat/elem/cl_LF_1plus.cc: Likewise.
145 * src/float/lfloat/elem/cl_LF_I_div.cc: Likewise.
146 * src/float/lfloat/elem/cl_LF_I_mul.cc: Likewise.
147 * src/float/lfloat/elem/cl_LF_div.cc: Likewise.
148 * src/float/lfloat/elem/cl_LF_from_I.cc: Likewise.
149 * src/float/lfloat/elem/cl_LF_from_RA.cc: Likewise.
150 * src/float/lfloat/elem/cl_LF_fround.cc: Likewise.
151 * src/float/lfloat/elem/cl_LF_ftrunc.cc: Likewise.
152 * src/float/lfloat/elem/cl_LF_futrunc.cc: Likewise.
153 * src/float/lfloat/elem/cl_LF_scale.cc: Likewise.
154 * src/float/lfloat/elem/cl_LF_to_I.cc: Likewise.
155 * src/float/lfloat/misc/cl_LF_digits.cc: Likewise.
156 * src/float/lfloat/misc/cl_LF_idecode.cc: Likewise.
157 * src/float/lfloat/misc/cl_LF_leninc.cc: Likewise.
158 * src/float/lfloat/misc/cl_LF_lenincx.cc: Likewise.
159 * src/float/lfloat/misc/cl_LF_precision.cc: Likewise.
160 * src/float/lfloat/misc/cl_LF_shortenrel.cc: Likewise.
161 * src/float/lfloat/misc/cl_LF_shortenwith.cc: Likewise.
162 * src/float/misc/cl_F_digits.cc: Likewise.
163 * src/float/misc/cl_F_epsneg.cc: Likewise.
164 * src/float/misc/cl_F_epspos.cc: Likewise.
165 * src/float/misc/cl_F_leastneg.cc: Likewise.
166 * src/float/misc/cl_F_leastpos.cc: Likewise.
167 * src/float/misc/cl_F_mostneg.cc: Likewise.
168 * src/float/misc/cl_F_mostpos.cc: Likewise.
169 * src/float/misc/cl_F_precision.cc: Likewise.
170 * src/float/misc/cl_F_rational.cc: Likewise.
171 * src/float/misc/cl_F_shortenrel.cc: Likewise.
172 * src/float/output/cl_F_dprint.cc: Likewise.
173 * src/float/random/cl_F_random.cc: Likewise.
174 * src/float/sfloat/elem/cl_SF_from_I.cc: Likewise.
175 * src/float/sfloat/elem/cl_SF_from_RA.cc: Likewise.
176 * src/float/sfloat/elem/cl_SF_scale.cc: Likewise.
177 * src/float/sfloat/misc/cl_SF_digits.cc: Likewise.
178 * src/float/sfloat/misc/cl_SF_precision.cc: Likewise.
179 * src/float/transcendental/cl_F_atanhx.cc: Likewise.
180 * src/float/transcendental/cl_F_atanx.cc: Likewise.
181 * src/float/transcendental/cl_F_catalanconst_f.cc: Likewise.
182 * src/float/transcendental/cl_F_cos.cc: Likewise.
183 * src/float/transcendental/cl_F_cosh.cc: Likewise.
184 * src/float/transcendental/cl_F_coshsinh.cc: Likewise.
185 * src/float/transcendental/cl_F_cossin.cc: Likewise.
186 * src/float/transcendental/cl_F_eulerconst_f.cc: Likewise.
187 * src/float/transcendental/cl_F_exp1_f.cc: Likewise.
188 * src/float/transcendental/cl_F_expx.cc: Likewise.
189 * src/float/transcendental/cl_F_ln10_f.cc: Likewise.
190 * src/float/transcendental/cl_F_ln2_f.cc: Likewise.
191 * src/float/transcendental/cl_F_lnx.cc: Likewise.
192 * src/float/transcendental/cl_F_pi_f.cc: Likewise.
193 * src/float/transcendental/cl_F_sin.cc: Likewise.
194 * src/float/transcendental/cl_F_sinh.cc: Likewise.
195 * src/float/transcendental/cl_F_sinhx.cc: Likewise.
196 * src/float/transcendental/cl_F_sinx.cc: Likewise.
197 * src/float/transcendental/cl_F_tran.h: Likewise.
198 * src/float/transcendental/cl_F_zeta_int_f.cc: Likewise.
199 * src/float/transcendental/cl_LF_atan_recip.cc: Likewise.
200 * src/float/transcendental/cl_LF_atanh_recip.cc: Likewise.
201 * src/float/transcendental/cl_LF_catalanconst.cc: Likewise.
202 * src/float/transcendental/cl_LF_coshsinh_aux.cc: Likewise.
203 * src/float/transcendental/cl_LF_cossin_aux.cc: Likewise.
204 * src/float/transcendental/cl_LF_eulerconst.cc: Likewise.
205 * src/float/transcendental/cl_LF_exp1.cc: Likewise.
206 * src/float/transcendental/cl_LF_exp_aux.cc: Likewise.
207 * src/float/transcendental/cl_LF_pi.cc: Likewise.
208 * src/float/transcendental/cl_LF_ratseries.cc: Likewise.
209 * src/float/transcendental/cl_LF_ratseries_.cc: Likewise.
210 * src/float/transcendental/cl_LF_ratseries_a.cc: Likewise.
211 * src/float/transcendental/cl_LF_ratseries_ab.cc: Likewise.
212 * src/float/transcendental/cl_LF_ratseries_b.cc: Likewise.
213 * src/float/transcendental/cl_LF_ratseries_p.cc: Likewise.
214 * src/float/transcendental/cl_LF_ratseries_pa.cc: Likewise.
215 * src/float/transcendental/cl_LF_ratseries_pab.cc: Likewise.
216 * src/float/transcendental/cl_LF_ratseries_pb.cc: Likewise.
217 * src/float/transcendental/cl_LF_ratseries_pq.cc: Likewise.
218 * src/float/transcendental/cl_LF_ratseries_pqa.cc: Likewise.
219 * src/float/transcendental/cl_LF_ratseries_pqab.cc: Likewise.
220 * src/float/transcendental/cl_LF_ratseries_pqb.cc: Likewise.
221 * src/float/transcendental/cl_LF_ratseries_q.cc: Likewise.
222 * src/float/transcendental/cl_LF_ratseries_qa.cc: Likewise.
223 * src/float/transcendental/cl_LF_ratseries_qab.cc: Likewise.
224 * src/float/transcendental/cl_LF_ratseries_qb.cc: Likewise.
225 * src/float/transcendental/cl_LF_ratseries_stream_pq.cc: Likewise.
226 * src/float/transcendental/cl_LF_ratseries_stream_pqa.cc: Likewise.
227 * src/float/transcendental/cl_LF_ratseries_stream_pqab.cc: Likewise.
228 * src/float/transcendental/cl_LF_ratseries_stream_pqb.cc: Likewise.
229 * src/float/transcendental/cl_LF_ratsumseries_pqcd.cc: Likewise.
230 * src/float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc: Likewise.
231 * src/float/transcendental/cl_LF_ratsumseries_pqd.cc: Likewise.
232 * src/float/transcendental/cl_LF_ratsumseries_pqd_aux.cc: Likewise.
233 * src/float/transcendental/cl_LF_tran.h: Likewise.
234 * src/float/transcendental/cl_LF_zeta3.cc: Likewise.
235 * src/float/transcendental/cl_LF_zeta_int.cc: Likewise.
236 * src/integer/algebraic/cl_I_rootp_I.cc: Likewise.
237 * src/integer/algebraic/cl_I_rootp_aux.cc: Likewise.
238 * src/integer/bitwise/cl_I_ash.cc: Likewise.
239 * src/integer/bitwise/cl_I_ash_I.cc: Likewise.
240 * src/integer/bitwise/cl_I_byte.h: Likewise.
241 * src/integer/bitwise/cl_I_fullbyte.cc: Likewise.
242 * src/integer/bitwise/cl_I_ilength.cc: Likewise.
243 * src/integer/bitwise/cl_I_ldb.cc: Likewise.
244 * src/integer/bitwise/cl_I_ldbtest.cc: Likewise.
245 * src/integer/bitwise/cl_I_ldbx.cc: Likewise.
246 * src/integer/bitwise/cl_I_ldbxtest.cc: Likewise.
247 * src/integer/bitwise/cl_I_logbitp.cc: Likewise.
248 * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
249 * src/integer/bitwise/cl_I_logcount.cc: Likewise.
250 * src/integer/bitwise/cl_I_mkf.cc: Likewise.
251 * src/integer/bitwise/cl_I_mkfx.cc: Likewise.
252 * src/integer/cl_I.h: Likewise.
253 * src/integer/conv/cl_I_to_digits.cc: Likewise.
254 * src/integer/conv/cl_I_digits_need.cc: Likewise.
255 * src/integer/conv/cl_I_from_digits.cc: Likewise.
256 * src/integer/gcd/cl_I_gcd.cc: Likewise.
257 * src/integer/gcd/cl_I_xgcd.cc: Likewise.
258 * src/integer/misc/cl_I_eqhashcode.cc: Likewise.
259 * src/integer/misc/cl_I_ord2.cc: Likewise.
260 * src/integer/misc/cl_I_power2p.cc: Likewise.
261 * src/integer/output/cl_I_cached_power.h (cached_power_table): allow
263 * src/integer/output/cl_I_decstring.cc: Use uintC instead of uintL
265 * src/integer/output/cl_I_print.cc: Likewise.
266 * src/integer/output/cl_I_print_string.cc: Likewise.
267 * src/modinteger/cl_MI.cc: Likewise.
268 * src/modinteger/cl_MI_lshift.cc: Likewise.
269 * src/modinteger/cl_MI_montgom.h: Likewise.
270 * src/modinteger/cl_MI_pow2.h: Likewise.
271 * src/modinteger/cl_MI_pow2m1.h: Likewise.
272 * src/modinteger/cl_MI_pow2p1.h: Likewise.
273 * src/modinteger/cl_MI_rshift.cc: Likewise.
274 * src/modinteger/cl_MI_std.h: Likewise.
275 * src/numtheory/cl_IF_millerrabin.cc: Likewise.
276 * src/numtheory/cl_nt_isprobprime.cc: Likewise.
277 * src/numtheory/cl_nt_sqrtmodp.cc: Likewise.
278 * src/polynomial/elem/cl_UP_GF2.h: Likewise.
279 * src/real/conv/cl_F_from_R_f.cc: Likewise.
280 * src/real/format-output/cl_fmt_floatstring.cc: Likewise.
281 * src/real/input/cl_R_read.cc: Likewise.
282 * src/vector/cl_GV_I.cc: Likewise.
283 * src/vector/cl_GV_I_copy.cc: Likewise.
284 * src/vector/cl_GV_number.cc: Likewise.
285 * src/vector/cl_GV_number_copy.cc: Likewise.
286 * src/vector/cl_SV_copy.cc: Likewise.
287 * src/vector/cl_SV_number.cc: Likewise.
288 * src/vector/cl_SV_ringelt.cc: Likewise.
289 * tests/main.cc: Likewise.
290 * tests/test_I_ilength.cc: Likewise.
291 * tests/test_I_ord2.cc: Likewise.
293 2006-04-19 Bruno Haible <bruno@clisp.org>
295 Prepare for autoconf-2.60.
296 * general.m4 (CL_CC_WORKS): Include <stdlib.h>, for exit() declaration.
297 * longdouble.m4 (CL_LONGDOUBLE): Likewise.
298 * longlong.m4 (CL_LONGLONG): Likewise.
299 * times.m4 (CL_TIMES_CLOCK): Likewise.
300 Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
302 2005-12-04 Bruno Haible <bruno@clisp.org>
304 * src/integer/conv/cl_I_to_digits.cc (I_to_digits_noshrink): Set
307 2005-12-04 Bruno Haible <bruno@clisp.org>
309 Extend the fixnum range from 32 bits to 61 bits on 64-bit platforms.
310 * doc/cln.tex (gcd, jacobi): Take 'long' instead of 'int32' arguments.
311 * include/cln/object.h (cl_value_shift): Define as 3, not 32, in the
313 * include/cln/types.h (intVsize): New macro.
314 (sintV, uintV): New types.
315 * include/cln/integer.h (gcd): Take uintV arguments.
316 * include/cln/numtheory.h (jacobi): Take sintV arguments.
317 * src/complex/input/cl_N_read.cc (read_complex): Call FN_to_UV instead
319 * src/complex/transcendental/cl_C_expt_C.cc: Likewise.
320 * src/float/dfloat/elem/cl_DF_scale_I.cc: Use uintV instead of uintL
321 * src/float/dfloat/elem/cl_DF_from_RA.cc: Don't assume values >= 2^53
322 and < 2^55 are always bignums.
324 * src/float/ffloat/conv/cl_RA_to_float.cc: Call FN_to_UV instead of
326 * src/float/ffloat/elem/cl_FF_from_RA.cc: Likewise.
327 * src/float/ffloat/elem/cl_FF_scale_I.cc: Call FN_to_V instead of
329 * src/float/lfloat/elem/cl_LF_scale_I.cc: Likewise.
330 * src/float/output/cl_F_dprint.cc: Likewise.
331 * src/float/sfloat/elem/cl_SF_from_RA.cc: Call FN_to_UV instead of
333 * src/float/sfloat/elem/cl_SF_scale_I.cc: Call FN_to_V instead of
335 * src/integer/cl_I.h (FN_to_UV): Renamed from FN_to_UL, change return
337 (FN_to_V): Renamed from FN_to_L, change return type.
338 (FN_V_zerop): Renamed from FN_L_zerop.
339 (FN_V_minusp): Renamed from FN_L_minusp.
340 (cl_I_constructor_from_L2, cl_I_constructor_from_UL2): Define as an
341 inline function on 64-bit platforms.
342 (V_to_I, UV_to_I): New macros.
343 (pFN_maxlength_digits_at): Return an uintV instead of an uint32.
344 (set_pFN_maxlength_digits_at): Take an uintV instead of an uint32.
345 * src/integer/algebraic/cl_I_sqrtp.cc: Call FN_to_UV instead of
347 * src/integer/bitwise/cl_I_ash_I.cc: Call FN_to_V instead of FN_to_L.
348 * src/integer/bitwise/cl_I_ilength.cc: Likewise.
349 * src/integer/bitwise/cl_I_log_aux.cc: Likewise.
350 * src/integer/bitwise/cl_I_logbitp_I.cc: Likewise.
351 * src/integer/bitwise/cl_I_logcount.cc: Likewise.
352 * src/integer/bitwise/cl_I_logtest.cc: Likewise.
353 * src/integer/conv/cl_I_from_L2.cc: Don't produce code on 64-bit
355 * src/integer/conv/cl_I_from_UL2.cc: Likewise.
356 * src/integer/conv/cl_I_from_NDS.cc: Update.
357 * src/integer/conv/cl_I_from_Q.cc: Remove cast to sint32.
358 * src/integer/conv/cl_I_from_UQ.cc: Remove cast to uint32.
359 * src/integer/conv/cl_I_to_L.cc: Check again fixnum that needs more
361 * src/integer/conv/cl_I_to_Q.cc: Call FN_to_V instead of FN_to_L.
362 * src/integer/conv/cl_I_to_UL.cc: Likewise.
363 * src/integer/conv/cl_I_to_UQ.cc: Likewise.
364 * src/integer/elem/cl_I_div.cc: Treat fixnums that need more than 32
366 * src/integer/elem/cl_I_minus.cc: Call FN_to_V instead of FN_to_L.
367 * src/integer/elem/cl_I_mul.cc: Likewise.
368 * src/integer/elem/cl_I_plus.cc: Likewise.
369 * src/integer/elem/cl_I_square.cc: Likewise.
370 * src/integer/elem/cl_I_uminus.cc: Likewise.
371 * src/integer/gcd/cl_I_gcd.cc: Likewise.
372 * src/integer/gcd/cl_low_gcd.cc (gcd): Take uintV arguments.
373 * src/integer/hash/cl_I_hashcode.cc: Call FN_to_V instead of FN_to_L.
374 * src/integer/input/cl_I_read.cc (read_integer): Call FN_to_UV instead
376 * src/integer/misc/cl_I_ord2.cc (ord2): Call ord2_64 on 64-bit
378 * src/integer/misc/cl_I_power2p.cc: Call FN_to_UV instead of FN_to_UL.
379 * src/integer/misc/combin/cl_I_doublefactorial.cc (doublefakul_table):
380 Extend table for larger fixnums.
381 (doublefactorial): Update.
382 * src/integer/misc/combin/cl_I_factorial.cc (fakul_table): Extend table
385 * src/modinteger/cl_MI_fix16.h: Call FN_to_UV instead of FN_to_UL.
386 * src/modinteger/cl_MI_fix29.h: Likewise.
387 * src/modinteger/cl_MI_fix32.h: Likewise.
388 * src/modinteger/cl_MI_std.h: Likewise.
389 * src/numtheory/cl_nt_cornacchia4.cc: Call FN_to_V instead of FN_to_L.
390 * src/numtheory/cl_nt_jacobi.cc: Likewise.
391 * src/numtheory/cl_nt_jacobi_low.cc (jacobi_aux): Take uintV arguments
392 instead of uint32 arguments.
393 (jacobi): Take sintV argument instead of a sint32 argument.
394 * src/rational/input/cl_RA_read.cc: Call FN_to_UV instead of FN_to_UL.
395 * src/real/input/cl_R_read.cc: Likewise.
396 * src/vector/cl_GV_I.cc: Likewise.
397 * tests/timefact.cc: Call FN_to_V instead of FN_to_L.
399 2005-12-04 Bruno Haible <bruno@clisp.org>
401 More complete 64-bit division macros.
402 * src/base/cl_low.h (divu_6432_3232_w): Choose a different macro
404 (divu_6432_6432): New macro.
405 (divu_6464_6464): Choose a different macro expansion for all CPUs
406 except sparc64 and x86_64.
407 (divu_12864_6464): Define NEED_VAR_divu_64_rest here.
408 * src/base/low/cl_low_div.cc (divu_64_rest): Avoid defining it twice.
409 (divu_6464_6464_): New function.
411 2005-12-04 Bruno Haible <bruno@clisp.org>
413 * src/base/cl_low.h (ord2_64): New macro.
415 2005-12-02 Bruno Haible <bruno@clisp.org>
417 * src/base/cl_low.h (mulu64) [x86_64]: Change asm restriction, since
418 mulq doesn't accept immediate arguments.
420 2005-11-26 Bruno Haible <bruno@clisp.org>
422 * src/base/cl_low.h (GENERIC_INTEGERLENGTH32): New macro.
423 (integerlength64): Define using integerlength32 if integerlength32
424 is not defined generically.
426 2005-11-26 Bruno Haible <bruno@clisp.org>
428 * src/base/cl_low.h (mulu32) [SPARC64]: Remove rd instruction, since
429 umul returns the complete 64-bit product in a register.
430 (mulu32_w) [SPARC64]: Prefer umul over mulx instruction.
431 (divu_6432_3232_w) [SPARC64]: Prefer umul/udiv over mulx/udivx
434 2005-11-26 Bruno Haible <bruno@clisp.org>
436 * src/base/cl_low.h (divu_3216_1616): Prepend underscore to local
439 2005-11-26 Bruno Haible <bruno@clisp.org>
441 * src/base/cl_low.h (ord2_32): Parenthesize macro argument.
443 2005-12-17 Richard B. Kreckel <kreckel@ginac.de>
445 * Created branch cln_1-1 for maintenance patches.
446 This is the main branch, which will eventually become CLN 1.2.0.
448 2005-12-15 Dmitry V. Kustov <kustov@telex221.ru>
450 * src/base/random/cl_random_from.cc: Add support for OpenBSD.
452 2005-11-23 Richard B. Kreckel <kreckel@ginac.de>
454 * Version 1.1.11 released.
456 2005-11-20 Richard B. Kreckel <kreckel@ginac.de>
458 * src/integer/conv/cl_I_cached_power.h: New file.
459 * src/integer/conv/cl_I_cached_power.cc: New file.
460 Contains power_table and cached_power_table previously...
461 * src/integer/conv/cl_I_to_digits.cc: ...here.
462 * src/integer/conv/cl_I_from_digits.cc: Use cached powers.
464 2005-11-02 Richard B. Kreckel <kreckel@ginac.de>
466 * src/integer/conv/cl_I_from_digits.cc: Made input of all numbers in
467 non-power-of-two base much faster.
468 * tests/test_I_io.cc: New file...
469 * tests/Makefile.in, tests/test_I.cc: ...used here.
471 2005-10-22 Richard B. Kreckel <kreckel@ginac.de>
473 * Version 1.1.10 released.
475 2005-10-22 Richard B. Kreckel <kreckel@ginac.de>
477 * src/Makefile.in: Accept CPPFLAGS from environment.
478 * examples/Makefile.in: Likewise.
479 * benchmarks/Makefile.in: Likewise.
480 * tests/Makefile.in: Likewise.
482 2005-08-30 Richard B. Kreckel <kreckel@ginac.de>
484 * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
485 duplication of basic blocks on m68k.
487 2005-08-30 Richard B. Kreckel <kreckel@ginac.de>
489 * include/cln/modules.h (CL_JUMP_TO): Fix mips* brokenness.
491 2005-08-27 Bruno Haible <bruno@clisp.org>
493 Split aclocal.m4 into individual files.
494 * m4/alloca.m4, m4/as-underscore.m4, m4/c++-constructors.m4:
495 * m4/fpu_control.m4, m4/general.m4, m4/gettimeofday.m4:
496 * m4/longdouble.m4, m4/longlong.m4, m4/param.m4, m4/perror.m4:
497 * m4/proto.m4, m4/rusage.m4, m4/times.m4:
498 New files, extracted from autoconf/aclocal.m4.
499 * autoconf/aclocal.m4: m4_include them.
500 * Makefile.devel (AUTOCONF_MACROS): New variable.
501 (configure): Depend on it.
502 (CLISP_M4DIR): Remove variable.
503 (autoconf/aclocal.m4): Remove rule.
505 2005-08-27 Bruno Haible <bruno@clisp.org>
507 * src/integer/bitwise/cl_I_ash_I.cc (ash): Avoid shifting a 32-bit
508 zero value by more than 31 bits.
510 2005-08-27 Bruno Haible <bruno@clisp.org>
512 Make the long-float overflow check work on 64-bit platforms.
513 * src/float/lfloat/cl_LF.h (LF_exp_mid, LF_exp_high): Define as
514 'unsigned int', not 'unsigned long'.
516 2005-08-27 Bruno Haible <bruno@clisp.org>
518 * include/cln/modules.h (CL_OUTPUT_LABEL): Work around redundant
519 duplication of basic blocks by g++ 4.0.
520 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345>.
522 2005-08-27 Bruno Haible <bruno@clisp.org>
524 Make it possible to cross-compile CLN.
525 * m4/intparam.m4: New file.
526 * m4/floatparam.m4: New file.
527 * autoconf/aclocal.m4: Include both.
528 (CL_MACHINE): Add an additional CROSS_MACRO parameter.
529 * configure.ac (CL_MACHINE): When cross-compiling, use
530 CL_INTPARAM_CROSS and CL_FLOATPARAM_CROSS.
532 2005-08-27 Bruno Haible <bruno@clisp.org>
534 Define HAVE_LONGLONG and HAVE_LONGDOUBLE when cross-compiling.
535 * autoconf/aclocal.m4 (CL_LONGLONG, CL_LONGDOUBLE): When cross-
536 compiling, use the test code from gnulib.
538 2005-08-27 Bruno Haible <bruno@clisp.org>
540 * autoconf/aclocal.m4 (CL_RUSAGE): Fix error when cross-compiling.
542 2005-08-16 Richard B. Kreckel <kreckel@ginac.de>
544 The patch of 2005-05-01 made it impossible to test the type of a cl_UP
545 by comparing with &cl_class_univpoly_ring. We need an alternative:
546 * include/cln/object.h (cl_class_flags_modint_ring): New #define...
547 * src/polynomial/elem/cl_UP.cc (cl_class_univpoly_ring): ...used here.
548 * src/polynomial/elem/cl_UP_GF2.h: Likewise.
549 * src/polynomial/elem/cl_UP_MI.h: Likewise.
550 * src/polynomial/elem/cl_UP_gen.h: Likewise.
551 * src/polynomial/elem/cl_UP_number.h: Likewise.
553 2005-08-15 Richard B. Kreckel <kreckel@ginac.de>
555 * m4/cc.m4 (CL_AS_NOEXECSTACK): New macro...
556 * configure.ac: ...used here for setting ASMFLAGS...
557 * src/Makefile.in: ...which are used here.
559 2005-08-02 Andreas Jochens <aj@andaco.de>
561 * include/cln/config.h.in: Add support for PowerPC 64 CPU.
562 * include/cln/modules.h: Likewise.
563 * include/cln/object.h: Likewise.
564 * include/cln/types.h: Likewise.
566 2005-07-24 Richard B. Kreckel <kreckel@ginac.de>
568 Make out of the box build on x86_64 system with complete 32 bit
570 * include/cln/config.h.in: Don't #define __x86_64__ when
572 * src/base/digitseq/cl_asm_x86_64_.cc: New file.
573 * doc/cln.tex: Revert workaround description introduced 2005-05-02.
575 2005-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
577 * Makefile.in: Don't enter nonexisting directories.
579 2005-05-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
581 Speed up the linking step
582 * src/Makefile.in: Use -objectlist for linking libcln.la.
584 2005-05-15 Richard B. Kreckel <kreckel@ginac.de>
586 * autoconf/ltmain.sh: Upgrade to libtool-1.5.16.
587 * m4/libtool.m4: Upgrade to libtool-1.5.16 (without Comeau patch).
589 2005-05-02 Richard B. Kreckel <kreckel@ginac.de>
591 * doc/cln.tex: Document what to do on a x86_64 machine with 32-bit
594 2005-05-01 Richard B. Kreckel <kreckel@ginac.de>
596 Fix crashes in find_univpoly_ring and related functions
597 * include/cln/modinteger.h: Remove vptr from cl_heap_modint_ring;
598 remove declaration of cl_class cl_class_modint_ring.
599 * include/cln/univpoly.h: Remove vptr from cl_heap_univpoly_ring;
600 remove declaration of cl_class_univpoly_ring.
601 * include/cln/object.h: cl_class_flags_modint_ring: New #define...
602 * src/modinteger/cl_MI.cc: ...used in cl_class_modint_ring.
603 * src/modinteger/cl_MI_fix16.h: No vptr, but static dtor and type flag.
604 * src/modinteger/cl_MI_fix29.h: Likewise.
605 * src/modinteger/cl_MI_fix32.h: Likewise.
606 * src/modinteger/cl_MI_int32.h: Likewise.
607 * src/modinteger/cl_MI_montgom.h: Likewise.
608 * src/modinteger/cl_MI_pow2: Likewise.
609 * src/modinteger/cl_MI_pow2m1.h: Likewise.
610 * src/modinteger/cl_MI_pow2p1.h: Likewise.
611 * src/modinteger/cl_MI_std.h: Likewise.
612 * src/polynomial/elem/cl_UP.cc (cl_make_univpoly_ring): Compare with
613 cl_class_flags_modint_ring, not with cl_class_modint_ring.
614 * src/polynomial/elem/cl_UP_GF2.h (cl_class_num_univpoly_ring): New.
615 * src/polynomial/elem/cl_UP_MI.h (cl_class_modint_univpoly_ring): New.
616 * src/polynomial/elem/cl_UP_gen.h (cl_class_gen_univpoly_ring): New.
617 * src/polynomial/elem/cl_UP_number.h (cl_class_num_univpoly_ring): New.
618 Reported by Ralf Goertz <R_Goertz@web.de>.
620 2005-04-29 Richard B. Kreckel <kreckel@ginac.de>
621 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
623 * m4/cc.m4: Emit a warning if g++ is used and optimization turned off.
625 2005-04-24 Richard B. Kreckel <kreckel@ginac.de>
627 Make GCC compiler flags default to -O
628 * m4/cc.m4: New file...
629 * configure.ac: ...used here.
630 * autoconf/aclocal.m4: Regenerate.
632 2005-04-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
634 * include/cln/string.h: Declare cl_string.
636 2005-03-17 Richard B. Kreckel <kreckel@ginac.de>
638 * autoconf/ltmain.sh: Upgrade to libtool-1.5.14.
639 * m4/libtool.m4: Upgrade to libtool-1.5.14 with Comeau patch.
640 * autoconf/aclocal.m4: Regenerate.
642 2005-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
644 * src/Makefile.in: Use $CXX instead of $CC when linking.
646 2005-02-27 Richard B. Kreckel <kreckel@ginac.de>
648 * examples/perfnum.cc: update to presumed 42st Mersenne prime.
650 2004-11-28 Richard B. Kreckel <kreckel@ginac.de>
652 Disambiguate binary operators of CLN types with float/double
653 * include/cln/dfloat.h: Add binary operator overloads for arguments of
655 * include/cln/ffloat.h: Likewise, for arguments of type float.
656 * include/cln/float.h: Likewise, both for arguments of types double and
658 * include/cln/real.h: Likewise.
659 Reported by Isidro Cachadiña Gutiérrez <icacha@unex.es>.
661 2004-11-03 Richard B. Kreckel <kreckel@ginac.de>
663 * Version 1.1.9 released.
665 2004-10-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
667 * src/Makefile.in: Let config.status set LDFLAGS.
669 2004-10-27 Peter Breitenlohner <peb@mppmu.mpg.de>
671 * cln.pc.in: Fix typo.
672 * Makefile.in (INSTALL_SCRIPT): Added, to be used for scripts like
673 cln-config. Allows us to do special things to binaries, like
674 installing them with install -s.
675 * doc/Makefile.in: add/remove the cln.info from the installed
676 $(infodir)/dir unless this is debian install-info (code copied from
677 what GNU automake would produce).
679 2004-10-26 Richard B. Kreckel <kreckel@ginac.de>
681 * src/integer/input/cl_I_read_stream.cc (read_integer): Fix a bug
682 that caused radix specifiers to not work when reading from a stream.
683 * src/rational/input/cl_RA_read_stream.cc (read_rational): Likewise.
684 * src/real/input/cl_R_read_stream.cc (read_real): Likewise.
685 * src/float/input/cl_F_read_stream.cc (read_float): Likewise.
686 * src/complex/input/cl_N_read_stream.cc (read_complex): Likewise.
688 2004-10-25 Richard B. Kreckel <kreckel@ginac.de>
690 * src/base/cl_low.h: Add mulu64 assembler macro for ia64.
692 2004-10-24 Richard B. Kreckel <kreckel@ginac.de>
694 * src/base/cl_low.h: Add mul and div macros for x86_64.
696 2004-10-23 Richard B. Kreckel <kreckel@ginac.de>
698 * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Fix thinko in
699 new code for base power of two.
701 2004-10-22 Richard B. Kreckel <kreckel@ginac.de>
703 * src/integer/conv/cl_I_to_digits (I_to_digits): Fix an elusive stack
704 overwriting problem. That was the real cause for Debian bug#246319.
705 * src/integer/output/cl_I_print.cc (print_integer): Revert workaround
706 for the bug fixed above.
708 2004-10-20 Richard B. Kreckel <kreckel@ginac.de>
710 * include/cln/types.h: Use 64 bit digits on x86_64 CPU.
712 2004-10-12 Richard B. Kreckel <kreckel@ginac.de>
714 * src/integer/conv/cl_I_from_digits.cc (digits_to_I): Speedup when
715 the base is a power of two.
717 2004-10-05 Richard B. Kreckel <kreckel@ginac.de>
719 * src/integer/conv/cl_I_to_digits.cc (I_to_digits): Fix bug in base 32.
721 2004-09-27 Richard B. Kreckel <kreckel@ginac.de>
723 Support for little-endian Mips, second shot
724 * src/base/digitseq/cl_asm_mipsel_.cc: New file...
725 * src/base/digitseq/cl_asm_cc: ...used here.
726 * src/base/digitseq/cl_asm.h: Include cl_asm_mips.h for any endianness.
727 * include/cln/object.h: Set alignment for mipsel explicitly.
729 2004-09-05 Richard B. Kreckel <kreckel@ginac.de>
731 Support for little-endian Mips
732 * include/cln/config.h.in: Add __mipsel__.
733 * include/cln/modules.h: For Mips, this is endianness-agnostic.
734 * src/base/digitseq/cl_asm_.cc, src/base/digitseq/cl_asm.h:
735 Mask out assembler for little-endian Mips.
737 2004-08-30 Bruno Haible <bruno@clisp.org>
739 * benchmarks/timebench2.sh: Multiply all repeat counts by 100.
740 * benchmarks/timebench2.results: Add recent PowerPC G4 results.
742 2004-08-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
744 * examples/e.cc: remove extra semicolon.
746 2004-08-25 Bruno Haible <bruno@clisp.org>
748 * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
749 * m4/libtool.m4: New file, from libtool-1.5.6 with modifications:
750 2004-08-22 Bruno Haible <bruno@clisp.org>
751 * m4/libtool.m4: Add support for Comeau C++ on Linux.
752 Reported by Prof. Roberto Bagnara <bagnara@cs.unipr.it>.
753 * autoconf/aclocal.m4: Regenerate.
755 2004-08-19 Bruno Haible <bruno@clisp.org>
757 * include/cln/modules.h (CL_GLOBALIZE_JUMP_LABEL, CL_JUMP_TO): When
758 converting a label to a string, use ASM_UNDERSCORE_PREFIX. Needed on
760 Reported by Darren Bane <darren.bane@ul.ie>.
762 2004-07-01 Richard B. Kreckel <kreckel@ginac.de>
764 * Version 1.1.8 released.
766 2004-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
768 * src/base/cl_macros.h: alloca(3) has size_t argument type.
770 2004-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
772 * include/cln/floatformat.h: Do define a type here.
774 2004-06-27 Richard B. Kreckel <kreckel@ginac.de>
776 * include/cln/modules.h (CL_JUMP_TO): Fix AMD64 brokenness.
778 2004-06-23 Bruno Haible <bruno@clisp.org>
780 * configure.ac: Pretend ftime() is not available. Needed by
783 2004-06-21 Ralf Stephan <ralf@ark.in-berlin.de>
785 * doc/cln.tex: Document jacobi, isprobprime and nextprobprime.
787 2004-06-18 Richard B. Kreckel <kreckel@ginac.de>
789 * rational/transcendental/cl_RA_logp.cc: fix bug where base is
790 reciprocal of an integer.
791 Reported by Niklas Knutsson <nq@altern.org>.
793 2004-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
795 * src/complex/ring/cl_C_ring.cc, src/integer/ring/cl_I_ring.cc,
796 src/rational/ring/cl_RA_ring.cc, src/real/ring/cl_R_ring.cc:
797 Make template specializations explicit.
799 2004-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
801 * src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
802 src/integer/input/cl_I_read.cc, src/rational/input/cl_RA_read.cc,
803 src/real/input/cl_R_read.cc: Remove unused labels.
805 2004-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
807 * benchmarks/timebench1.cc, benchmarks/timebench2a.LiDIA.cc,
808 benchmarks/timebench2a.cc, benchmarks/timebench2ap.cc,
809 benchmarks/timebench2b.LiDIA.cc, benchmarks/timebench2b.cc,
810 examples/atan_recip.cc, examples/atanh_recip.cc,
811 examples/contfrac.cc, examples/e.cc, examples/legendre.cc,
812 examples/lucaslehmer.cc, examples/pi.cc, include/cln/GV.h,
813 include/cln/SV.h, include/cln/malloc.h, include/cln/modules.h,
814 include/cln/object.h, include/cln/string.h, src/base/cl_abort.cc,
815 src/base/cl_alloca.h, src/base/cl_malloc.cc,
816 src/base/random/cl_random_from.cc,
817 src/base/string/cl_spushstring_append.cc,
818 src/base/string/cl_spushstring_push.cc,
819 src/base/string/cl_st_debug.cc,
820 src/base/string/input/cl_st_gettoken.cc,
821 src/complex/input/cl_N_read.cc, src/float/input/cl_F_read.cc,
822 src/float/output/cl_F_dprint.cc, src/integer/input/cl_I_read.cc,
823 src/rational/input/cl_RA_read.cc,
824 src/real/format-output/cl_fmt_integer.cc,
825 src/real/format-output/cl_fmt_paddedstring.cc,
826 src/real/input/cl_R_read.cc, src/timing/cl_t_current.cc,
827 src/timing/cl_t_current2.cc, tests/exam.cc, tests/tests.cc,
828 tests/timeLFRAmul.cc, tests/timeLFatan-compare.cc,
829 tests/timeLFatan.cc, tests/timeLFatanh-compare.cc,
830 tests/timeLFatanh.cc, tests/timeLFcos-compare.cc, tests/timeLFcos.cc,
831 tests/timeLFcosh.cc, tests/timeLFexp-compare.cc, tests/timeLFexp.cc,
832 tests/timeLFln-compare.cc, tests/timeLFln.cc,
833 tests/timeLFsin-compare.cc, tests/timeLFsin.cc, tests/timeLFsinh.cc,
834 tests/timeLFsqrt.cc, tests/timeMImisc5.cc, tests/timeMIpow2div.cc,
835 tests/timeMIpow2recip.cc, tests/timeRALFdiv.cc, tests/timeRAtoLF.cc,
836 tests/timeUPMImul.cc, tests/timecatalan.cc, tests/timediv.cc,
837 tests/timediv2adic-compare.cc, tests/timediv2adic.cc,
838 tests/timeeuler.cc, tests/timeexp1.cc, tests/timefact.cc,
839 tests/timegcd.cc, tests/timemul-compare.cc, tests/timemul.cc,
840 tests/timepi.cc, tests/timeprint-compare.cc, tests/timeprint.cc,
841 tests/timerecip2adic-compare.cc, tests/timerecip2adic.cc,
842 tests/timesqrt.cc, tests/timesqrtmodp.cc, tests/timesquare.cc,
843 tests/timezeta3.cc: Change all C include headers to ISO style
846 2004-06-10 Richard B. Kreckel <kreckel@ginac.de>
848 * examples/perfnum.cc: update to presumed 41st Mersenne prime.
850 2004-05-02 Richard B. Kreckel <kreckel@ginac.de>
852 * Version 1.1.7 released.
854 2004-05-02 Richard B. Kreckel <kreckel@ginac.de>
856 * examples/pi.cc and examples/pi.1: New files.
857 * examples/Makefile.in: Build the pi executable.
859 2004-05-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
861 * src/Makefile.in: Fix for parallel build: wait for subdir objects to
862 be finished before creating the library.
864 2004-04-30 Richard B. Kreckel <kreckel@ginac.de>
866 * src/integer/output/cl_I_print.cc (print_integer): workaround
867 GCC compiler bug (cf. Debian bug#246319).
869 2004-03-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
871 * m4/gmp.m4 (CL_GMP_CHECK): Do not lose LIBS setting with config.cache
874 2004-03-08 Bruno Haible <bruno@clisp.org>
876 * src/float/lfloat/elem/cl_LF_mul.cc (operator*): Fix the second
878 * src/float/lfloat/algebraic/cl_LF_sqrt.cc (sqrt): Fix a bug with large
879 uexp whereby SQRT of MOST-POSITIVE-LONG-FLOAT was less than 1.
881 2004-03-04 Richard B. Kreckel <kreckel@ginac.de>
883 * Makefile.in (install): Add ${srcdir} for cln.m4.
884 * m4/gmp.m4: quote macro names.
885 Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
887 2004-01-01 Richard B. Kreckel <kreckel@ginac.de>
889 * Version 1.1.6 released.
891 2004-01-01 Richard B. Kreckel <kreckel@ginac.de>
893 * include/cln/univpoly.h, include/cln/univpoly_complex.h,
894 include/cln//univpoly_integer.h, include/cln/univpoly_modint.h,
895 include/cln/univpoly_rational.h, include/cln/univpoly_real.h,
896 src/polynomial/elem/cl_UP_GF2.h, src/polynomial/elem/cl_UP_MI.h,
897 src/polynomial/elem/cl_UP_gen.h, src/polynomial/elem/cl_UP_no_ring.cc,
898 src/polynomial/elem/cl_UP_number.h (ldegree): New function.
899 * doc/cln.tex: Document `ldegree'.
901 2003-12-29 Richard B. Kreckel <kreckel@ginac.de>
903 Rework of autoconfiscation infrastructure
904 * autoconf/config.{guess,sub}: Update to GNU version 2003-10-07.
905 * autoconf/ltmain.sh: Update to GNU version 1.4.3.
906 * autoconf/autoconf: Remove (from now on we assume autoconf is
907 installed properly on the sytem).
908 * autoconf/autoconf.m4: Likewise.
909 * autoconf/autoconf.m4f: Likewise.
910 * autoconf/acgeneral.m4: Likewise.
911 * autoconf/acspecific.m4: Likewise.
912 * autoconf/aclocal.m4: Regenerate.
913 * autoconf/acinclude.m4: Remove (while moving the macros...)
914 * m4/gmp.m4: New file (...to here).
915 * Makefile.devel: Update to new scheme.
916 * configure.ac: Likewise.
917 * include/cln/GV_integer.h: Assume template specializations work.
918 * include/cln/GV_modinteger.h: Likewise.
919 * include/cln/config.h.in: Likewise, and drop HAVE_BOOL.
920 * src/base/cl_base_config.h.in: Drop support for obsolete ftime(3).
921 * src/base/random/cl_random_from.cc: Likewise.
922 * src/timing/cl_base_config.h.in: Likewise.
923 * src/timing/cl_t_current.cc: Likewise.
925 2003-12-27 Richard B. Kreckel <kreckel@ginac.de>
927 * src/polynomial/cl_UP_gen.h (gen_minus): Fix case where first
929 * src/polynomial/cl_UP_MI.h (modint_minus): Likewise.
930 * src/polynomial/cl_UP_number.h (num_minus): Likewise.
931 Reported by Munagala Ramanath <amberarrow@yahoo.com>.
933 2003-12-02 Richard B. Kreckel <kreckel@ginac.de>
935 * examples/perfnum.cc: update to presumed 40th Mersenne prime.
937 2003-11-20 Christian Bauer <cbauer@ginac.de>
939 Added pkg-config support
940 * cln.pc.in: New file.
941 * Makefile.in: Take care of cln.pc.
942 * configure.ac: Likewise.
944 2003-08-06 Richard B. Kreckel <kreckel@ginac.de>
946 * src/numtheory/cl_nt_sqrtmodp.cc: #undef _R.
947 Reported by Andrew Rechnitzer <A.Rechnitzer@ms.unimelb.edu.au>.
949 2003-08-01 Richard Kreckel <kreckel@ginac.de>
951 More dependent base resolution issues
952 * src/base/hash/cl_hash.h (cl_heap_hashtable<T>::iterator()):
953 portable syntactic simplification.
954 * src/base/hash/cl_hashset.h: Preceed inherited members with this->.
955 * src/base/hash/cl_hash1.h: Likewise for member functions.
956 * src/base/hash/cl_hash2.h: Likewise.
957 * src/base/hash/cl_hashuniq.h: Likewise.
958 * src/base/hash/cl_hashuniqweak.h: Likewise.
959 * src/base/hash/cl_hash.h: Revert explicit static member function
960 lookup since that was GCC's fault.
961 * src/base/hash/cl_hash2weak.h: Likewise.
962 * src/base/hash/cl_hashuniqweak.h: Likewise.
964 2003-06-29 Richard Kreckel <kreckel@ginac.de>
966 Dependent base resolution needed for GCC-3.4
967 * include/cln/GV.h: Preceed inherited members with this->.
968 * include/cln/SV.h: Likewise.
969 * include/cln/object.h: Likewise.
970 * src/base/hash/cl_hash1.h: Likewise.
971 * src/base/hash/cl_hash1weak.h: Likewise.
972 * src/base/hash/cl_hash2.h: Likewise.
973 * src/base/hash/cl_hashuniq.h: Likewise.
974 * src/base/hash/cl_hash.h: Make lookup of static member function
976 * src/base/hash/cl_hash2weak.h: Likewise.
977 * src/base/hash/cl_hashuniqweak.h: Likewise.
978 * src/modinteger/cl_MI.cc: Make shell-comment a C-comment. Geez.
980 2003-02-24 Bruno Haible <bruno@clisp.org>
982 * src/base/random/cl_random_from.cc (random_state::random_state): Add
984 * src/modinteger/cl_MI.cc: #undef _R.
985 Reported by Erann Gat <gat@jpl.nasa.gov>.
987 2002-08-03 Joerg Arndt <jj@suse.de>
989 * include/cln/config.h.in: Add support for x86_64 CPU.
990 * include/cln/modules.h: Likewise.
991 * include/cln/types.h: Likewise.
992 * include/cln/object.h: Likewise.
994 2002-06-08 Richard Kreckel <kreckel@ginac.de>
996 * src/base/digitseq/cl_asm.h: ensure intCsize==16 when including
997 m68k Assembler routines.
998 * src/base/digitseq/cl_asm_.cc: Likewise.
1000 2002-05-28 Richard Kreckel <kreckel@ginac.de>
1002 * Version 1.1.5 released.
1004 2002-05-27 Richard Kreckel <kreckel@ginac.de>
1006 * include/cln/modules.h (CL_CONCATENATE): New macro.
1008 2002-05-10 Richard Kreckel <kreckel@ginac.de>
1010 * doc/cln.tex (Building the library): Update recommendations for
1011 compiling on Tru64 using g++ 3.0 and 3.1.
1012 * README: Update homepage.
1014 2002-05-05 Bruno Haible <bruno@clisp.org>
1016 * doc/cln.tex (Building the library): Give some recommendations for
1019 Force link-time references despite optimizations done by g++ 2.95
1021 * include/cln/modules.h (CL_FORCE_LINK): New macro.
1022 * Use CL_FORCE_LINK.
1023 * include/cln/GV_integer.h (cl_GV_I_debug_dummy): Likewise.
1024 * include/cln/GV_number.h (cl_GV_number_debug_dummy): Likewise.
1025 * include/cln/SV_number.h (cl_SV_number_debug_dummy): Likewise.
1026 * include/cln/SV_ringelt.h (cl_SV_ringelt_debug_dummy): Likewise.
1027 * include/cln/dfloat.h (cl_DF_debug_dummy): Likewise.
1028 * include/cln/ffloat.h (cl_FF_classes_dummy, cl_FF_debug_dummy):
1030 * include/cln/integer.h (cl_I_classes_dummy, cl_I_debug_dummy):
1032 * include/cln/lfloat.h (cl_LF_debug_dummy): Likewise.
1033 * include/cln/modinteger.h (cl_MI_debug_dummy): Likewise.
1034 * include/cln/rational.h (cl_RA_debug_dummy): Likewise.
1035 * include/cln/real.h (cl_R_debug_dummy): Likewise.
1036 * include/cln/ring.h (cl_ring_debug_dummy): Likewise.
1037 * include/cln/sfloat.h (cl_SF_classes_dummy, cl_SF_classes_dummy):
1039 * include/cln/string.h (cl_string_debug_dummy): Likewise.
1040 * include/cln/univpoly.h (cl_UP_debug_dummy): Likewise.
1041 * src/float/base/cl_ieee.h (cl_ieee_dummy_NNN): Likewise.
1043 Avoid g++ 3.1 warnings.
1044 * src/base/cl_offsetof.h (offsetof): Redefine each time.
1045 * src/base/digitseq/cl_DS.h: Include "cl_offsetof.h" after <gmp.h>.
1047 Avoid g++ 3.1 warnings.
1048 * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
1050 * src/base/hash/cl_hash1.h (struct cl_heap_hashtable_1): typedef
1051 htxentry as a shortcut.
1052 * src/base/hash/cl_hash2.h (struct cl_heap_hashtable_2): Likewise.
1053 * src/base/hash/cl_hashset.h (struct cl_heap_hashtable_set): Likewise.
1054 * src/base/hash/cl_hashuniq.h (struct cl_heap_hashtable_uniq):
1057 2002-03-15 Bruno Haible <bruno@clisp.org>
1059 * cln.tex: Document problem with GNU make 3.77.
1060 Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
1062 2002-02-16 Richard Kreckel <kreckel@ginac.de>
1064 * cln.m4: quote macro name.
1065 Pointed out by Roberto Bagnara.
1067 2002-01-20 Richard Kreckel <kreckel@ginac.de>
1069 * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
1070 (the old one was broken on Linux/Mips.)
1072 2002-01-04 Richard Kreckel <kreckel@ginac.de>
1074 * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
1075 * Version 1.1.4 released.
1077 2002-01-03 Richard Kreckel <kreckel@ginac.de>
1079 * autoconf/acinclude.m4: revamp MPN-matcher.
1080 * autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
1081 sync with CLisp from CVS.
1082 * autoconf/autoconf: Likewise.
1083 * autoconf/autoconf.m4f: Likewise (new file).
1084 * configure.ac: Likewise (new file, replaces configure.in).
1085 * configure.in: Likewise (deleted, replaced by configure.ac).
1086 * autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
1087 * src/Makefile.in: made VPATH safe for autoconf-2.52.
1088 * include/cln/config.h.in: Add __s390__.
1090 2001-12-31 Richard Kreckel <kreckel@ginac.de>
1092 * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"
1093 any more since GMP4 has some C++ support in it.
1095 2001-12-14 Richard Kreckel <kreckel@ginac.de>
1097 * include/cln/modules.h, include/cln/object.h: add support for
1099 * src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
1100 on s390, provided by Gerhard Tonn.
1102 2001-11-05 Richard Kreckel <kreckel@ginac.de>
1104 * autoconf/ltmain.sh: Upgrade to libtool-1.4.2.
1105 * autoconf/config.{guess,sub}: Update to GNU version 2001-09-07.
1106 * Version 1.1.3 released.
1108 2001-11-04 Bruno Haible <haible@clisp.cons.org>
1110 Interoperability with gcc-3.0 -fuse-cxa-atexit.
1111 * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add test whether
1112 global destructors actually exist.
1113 * include/cln/modules.h (CL_PROVIDE, CL_PROVIDE_END, CL_PROVIDE_END):
1114 Don't hack the global destructors if there is no global destructors
1117 2001-11-03 Richard Kreckel <kreckel@ginac.de>
1119 * src/float/transcendental/cl_F_sinx.cc (sinx_naive): For small
1120 values of x, return square(x) instead of x.
1121 * src/float/transcendental/cl_F_sinhx.cc (sinhx_naive): Likewise.
1123 2001-07-25 Richard Kreckel <kreckel@ginac.de>
1125 * Version 1.1.2 released.
1127 2001-07-24 Richard Kreckel <kreckel@ginac.de>
1129 * src/base/hash/cl_hash.h: declare _cl_hashtable_iterator<htentry> a
1130 friend of cl_heap_hashtable<htentry>.
1132 2001-07-22 Richard Kreckel <kreckel@ginac.de>
1134 * src/float/base/cl_ieee.cc: try to do magic to the FPU only if
1135 _FPU_IEEE is really defined.
1136 * include/cln/modules.h: change assembler labels from `label' to
1137 `label:' on hppa, needed by Linux (see comment).
1138 * autoconf/acinclude.m4: new file (for storing CLN-specific macros).
1139 * Makefile.devel: adjusted.
1140 * autoconf/aclocal.m4: regenerate.
1141 * src/base/low/cl_low_mul.cc: moved POD variables that are declared
1142 extern "C" elsewhere out of the namespace.
1143 * src/base/low/cl_low_div.cc: Likewise.
1145 2001-06-08 Bruno Haible <haible@clisp.cons.org>
1147 * autoconf/config.{guess,sub}: Update to GNU version 2001-05-11.
1148 * autoconf/aclocal.m4: Upgrade to libtool-1.4.
1149 * autoconf/ltmain.sh: Likewise.
1150 * autoconf/ltconfig: Remove file.
1151 * autoconf/install-sh: New file.
1152 * configure.in: Add AC_CONFIG_AUX_DIR call.
1154 2001-06-05 Richard Kreckel <kreckel@ginac.de>
1156 * tests/tests.cc: resolve namespace ambiguity about strcmp().
1158 2001-05-31 Richard Kreckel <kreckel@ginac.de>
1160 * Version 1.1.1 released.
1162 2001-05-28 Richard Kreckel <kreckel@ginac.de>
1164 * cln/cln.tex: documented problems with shared library on Sparc
1165 using gcc older than 2.95.3.
1166 * configure.in: Fixed typos in versioning docu.
1168 2001-05-25 Bruno Haible <haible@clisp.cons.org>
1170 * src/base/digitseq/cl_asm_arm_.cc: Use #0x instead of #& to designate
1171 hexadecimal constants.
1173 2001-05-25 Richard Kreckel <kreckel@ginac.de>
1175 * autoconf/floatparam.c (double_wordorder_bigendian_p): new symbol.
1176 * src/float/dfloat/cl_DF.h: Check for double_wordorder_bigendian_p.
1177 * Removed LiDIA interface since that is now outdated (namespace cln)
1178 and maintained elsewhere.
1179 * Adjusted dates and final touches for 1.1.1.
1181 2001-05-19 Richard Kreckel <kreckel@ginac.de>
1183 * INSTALL: Update toolchain info: no egcs, some more platforms.
1184 * doc/cln.tex: Likewise.
1186 2001-05-18 Richard Kreckel <kreckel@ginac.de>
1188 * src/base/cl_low.h: prepended variables declared inside macros
1189 with underscore. Fixes equal_hashcode() on various platforms.
1191 2001-04-25 Richard Kreckel <kreckel@ginac.de>
1193 * src/base/cl_low.h: Added several checks if NO_ASM is defined, so
1194 this definition becomes actually useful. This is needed for
1195 compilation on Arm until somebody fixes the assembler files for Arm.
1196 * src/base/digitseq/cl_asm.h: Likewise.
1197 * src/base/digitseq/cl_asm_.cc: Likewise.
1198 * */Makefile.in: Added `override' in front of `CPPFLAGS +=' so
1199 one can say `make CPPFLAGS=-DFOOBAR'.
1201 2001-03-26 Arvid Norberg <c99ang@cs.umu.se>
1203 * src/base/random/cl_random_from.cc: ported to beos.
1205 2001-03-05 Richard Kreckel <kreckel@ginac.de>
1207 * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
1209 2001-01-28 Richard Kreckel <kreckel@ginac.de>
1211 * include/cln/number.h (cl_as_N): Remove bogus comment.
1213 2001-01-22 Richard Kreckel <kreckel@ginac.de>
1215 * configure.in: Make build in separate builddir possible (again).
1217 2001-01-22 Richard Kreckel <kreckel@ginac.de>
1219 * include/cln/*.h: Change signatures of all classes' methods
1220 cln::cl_foo::operator new(size_t, cl_foo*) to
1221 cln::cl_foo::operator new(size_t, void*) so one can declare
1222 std::vector<cln::cl_foo>, std::list<cln::cl_foo> etc. for
1223 certain STL implementations (like libstdc++-v3).
1225 2000-12-14 Richard Kreckel <kreckel@ginac.de>
1227 * Version 1.1 released.
1229 2000-12-13 Richard Kreckel <kreckel@ginac.de>
1231 * */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
1233 2000-12-05 Richard Kreckel <kreckel@ginac.de>
1235 * Makefile.in, src/Makefile.in, doc/Makefile.in: Use mkdir -p.
1236 * include/cln/version.h.in, src/base/verion.cc: New files.
1237 * configure.in: Generate include/cln/version.h.
1238 * cln.m4: Rewrote it. Check result of cln-config without compiling.
1239 Do cross-check library version and header version information.
1241 2000-12-02 Christian Bauer <cbauer@ginac.de>
1243 * Makefile.in, src/Makefile.in, doc/Makefile.in: Added $DESTDIR.
1244 * cln.m4, cln.spec.in: some minor fixes with respect to RPM package
1247 2000-11-24 Richard Kreckel <kreckel@ginac.de>
1249 * */*: Removed problematic stdin, stdout and stderr definitions.
1250 Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
1252 2000-11-20 Bruno Haible
1254 * cln-config.1: change title.
1256 2000-11-18 Richard Kreckel <kreckel@ginac.de>
1259 * doc/cln.tex: Document package tools cln-config and cln.m4.
1260 * Makefile.in: Care about cln.m4.
1262 2000-11-17 Richard Kreckel <kreckel@ginac.de>
1264 * cln-config.1: added manpage, as required by a couple of distros.
1265 * Makefile.in, doc/Makefile.in: target install depends on installdirs.
1267 2000-11-16 Richard Kreckel <kreckel@ginac.de>
1269 * autoconf/aclocal.m4 (CL_GMP_SET_UINTD): New macro...
1270 * configure.in: ...used here.
1271 * include/cln/config.h.in: Put in macros defined by CL_GMP_SET_UINTD...
1272 * include/cln/types.h: ...used here.
1273 * autoconf/acgeneral.m4, autoconf/aclocal.m4: Adhere to FHS.
1275 2000-11-13 Richard Kreckel <kreckel@ginac.de>
1277 * src/base/digitseq/cl_asm.h: Test if (intDsize==32) for MIPS and HPPA,
1278 in order to guard against an accidented configuration.
1279 * src/integer/conv/cl_I_to_digits.cc (table): member b_hoch_k of
1280 struct power_table_entry initialized as ULL instead of as UL, if
1281 intDsize==64 (caused misprinting on MIPS w/ GMP).
1282 * src/base/cl_macros.h (minus_bitm, bitc): implemented ULL, if
1284 * src/integer/bitwise/cl_I_mkfx.cc (mkf_extract): Likewise.
1285 * src/integer/conv/cl_I_from_L.cc (cl_I_from_L): Added trival
1286 generation of Bignum for intDsize==64 and a notreached-check at end.
1287 * autoconf/config.guess, autoconf/config.sub: updated from FSF.
1288 * include/cln/config.h.in: Prepared support for IA64.
1289 * include/cln/types.h: Likewise.
1290 * include/cln/object.h: Likewise.
1291 * include/cln/modules.h: Likewise.
1292 * src/base/cl_macros.h (nonreturning_function): Likewise (NUE's
1293 compiler claims __GNUC_MINOR__==9).
1295 2000-11-03 Richard Kreckel <kreckel@ginac.de>
1297 * src/base/cl_macros.h (bit, minus_bit): changed criterion for ULL from
1298 HAVE_DD to HAVE_FAST_LONGLONG.
1299 * src/base/cl_macros.h (bitm): implemented ULL, if HAVE_FAST_LONGLONG.
1300 * src/base/cl_low.h: actually no need to include "cln/types.h" here.
1301 * src/base/cl_low.h (logcount_64): always ULL, independent of HAVE_DD.
1302 * src/base/random/cl_UL_random.cc (random32): a is always ULL.
1304 2000-11-01 Richard Kreckel <kreckel@ginac.de>
1306 * include/cln/object.h (cl_combine): define additional signatures, if
1307 HAVE_LONGLONG is defined, in order to keep the compiler happy.
1308 * src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
1309 * src/base/cl_macros.h (bit): ...for this macro...
1310 * src/base/cl_macros.h (minus_bit): ...and this one.
1311 * src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
1312 * src/base/cl_low.h (logcount_64): ...for this macro.
1313 * src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
1314 * src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug.
1315 that turned up when intDsize==32 and cl_word_size==64.
1316 * src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
1317 to uint64 that turned up when intDsize==32 and cl_word_size==64.
1319 2000-10-29 Richard Kreckel <kreckel@ginac.de>
1321 * src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
1322 #undef stderr, if it's defined so cln::stderr isn't confused.
1323 * src/base/input/cl_read_globals.cc: stdin should not be extern.
1325 2000-09-05 Richard Kreckel <kreckel@ginac.de>
1327 * include/cln/number.h (As): Fix it in namespace by suffixing `_As'
1328 to the appropiate method instead of prefixing `as_'.
1329 * src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
1330 * src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
1331 * src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
1332 * src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
1333 * src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
1334 * src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
1335 * src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
1336 * src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
1337 * src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
1339 2000-09-05 Richard Kreckel <kreckel@ginac.de>
1341 * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
1344 2000-08-30 Richard Kreckel <kreckel@ginac.de>
1346 * include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
1347 Rearranged for a clearer distinction between macros and remaining
1348 identifiers, so Cint can parse it smoothly.
1350 2000-08-29 Richard Kreckel <kreckel@ginac.de>
1352 * include/cln/number.h, the(const cl_number& x): New template
1355 2000-08-29 Richard Kreckel <kreckel@ginac.de>
1357 * */*: Pushed CLN into a namespace `cln'. While doing so, the
1358 following identifiers got their poor-man's namespace (i.e. the
1359 prefix `cl_') stripped off:
1360 cl_catalanconst() -> catalanconst()
1361 cl_compare() -> compare()
1362 cl_cos_sin() -> cos_sin()
1363 cl_cos_sin_t -> cos_sin_t
1364 cl_cosh_sinh() -> cosh_sinh()
1365 cl_cosh_sinh_t -> cosh_sinh_t
1366 cl_decoded_dfloat -> decoded_dfloat
1367 cl_decoded_ffloat -> decoded_ffloat
1368 cl_decoded_float -> decoded_float
1369 cl_decoded_lfloat -> decoded_lfloat
1370 cl_decoded_sfloat -> decoded_sfloat
1371 cl_default_float_format -> default_float_format
1372 cl_default_print_flags -> default_print_flags
1373 cl_default_random_state -> default_random_state
1374 cl_double_approx() -> double_approx()
1375 cl_equal() -> equal()
1376 cl_equal_hashcode() -> equal_hashcode()
1377 cl_eulerconst() -> eulerconst()
1378 cl_find_modint_ring() -> find_modint_ring()
1379 cl_find_univpoly_ring() -> find_univ_poly_ring()
1380 cl_float_approx() -> float_approx
1381 cl_float_format() -> float_format()
1382 cl_float_format_t -> float_format_t
1383 cl_free_hook() -> free_hook()
1384 cl_hermite() -> hermite()
1385 cl_laguerre() -> laguerre()
1386 cl_legendre() -> legandre()
1387 cl_malloc_hook() -> malloc_hook()
1389 cl_tschebychev() -> tschebychev()
1391 NB: For functions these changes includes all signatures.
1392 * include/*: moved to include/cln/*, stripped `cl_' off filenames.
1393 * cln-config.in: new file.
1395 2000-08-26 Bruno Haible <haible@clisp.cons.org>
1397 * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
1400 2000-08-18 Bruno Haible <haible@clisp.cons.org>
1402 * include/cl_univpoly_modint.h: Fix typo.
1404 2000-07-13 Bruno Haible <haible@clisp.cons.org>
1406 * src/float/input/cl_F_read_stream.cc (number_char_p): Accept '_',
1407 used as precision marker for floats.
1408 Reported by Keith Briggs (in 1998) and Thomas Roessler.
1409 * src/integer/input/cl_I_read_stream.cc (number_char_p): Likewise.
1410 * src/rational/input/cl_RA_read_stream.cc (number_char_p): Likewise.
1411 * src/real/input/cl_R_read_stream.cc (number_char_p): Likewise.
1412 * src/complex/input/cl_N_read_stream.cc (number_char_p): Likewise.
1414 2000-06-22 Bruno Haible <haible@clisp.cons.org>
1416 * include/cl_object.h: Rename cl_word_size to cl_pointer_size.
1417 * include/cl_types.h (HAVE_FAST_LONGLONG): Also define on Irix6
1419 (cl_word_size): New macro.
1420 * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
1423 2000-05-31 Bruno Haible <haible@clisp.cons.org>
1425 * tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
1426 From a sample that fails with gcc-2.95.2 on Sparc.
1427 * tests/exam_I_gcd.cc (integer_gcd_tests): Likewise.
1429 2000-05-30 Richard Kreckel <kreckel@ginac.de>
1431 * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
1433 * configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR,
1434 CL_VERSION_PATCHLEVEL): New definitions.
1435 * autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig,
1436 autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc).
1437 * src/Makefile.in, configure.in: release-variables renamed from
1439 * configure.in: default to build both shared and static library
1440 (i.e. default to the most common behaviour).
1442 2000-05-29 Richard Kreckel <kreckel@ginac.de>
1444 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
1445 environment around the patch of 2000-05-23.
1447 2000-05-29 Bruno Haible <haible@clisp.cons.org>
1449 * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
1450 Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
1452 2000-05-27 Richard Kreckel <kreckel@ginac.de>
1454 * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
1455 src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
1457 2000-05-24 Richard Kreckel <kreckel@ginac.de>
1459 * autoconf/config.*: Updated to new version from FSF
1460 (the new libtool wants this).
1461 * src/Makefile.in: added $(LDFLAGS) to link step.
1462 * src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Readjusted
1465 2000-05-23 Bruno Haible <haible@clisp.cons.org>
1467 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
1468 host_vendor, host_os correctly if $host has more than two hyphens.
1470 2000-05-19 Richard Kreckel <kreckel@ginac.de>
1472 * src/base/digitseq/cl_DS_mul.cc: Rearranged break-even points to
1473 better match present-day CPUs whenever GMP3 is used.
1474 * src/base/digitseq/cl_DS_div.cc: dto.
1475 * src/TUNING: Added comment about order of tuning.
1476 * configure, configure.in: Safer GMP3-detection.
1477 * INSTALL.generic: Clarified behaviour of --with-gmp.
1478 * autoconf/config.guess: updated from Clisp-2000-03-06 sources.
1480 2000-05-04 Richard Kreckel <kreckel@ginac.de>
1482 * gmp/: removed completely. From now on we are going to link
1483 externally against libgmp3.0 or above!
1484 * configure, configure.in, Makefile.in, */Makeflags: removed support
1485 of internal gmp 2.0.2, like $GMP_INCLUDES, which should be done by
1486 setting $CPPFLAGS instead.
1487 * Makefile.in: Added libtool inter-library dependency for -lgmp and
1488 conforming interface versioning (-version-info).
1489 * autoconf/ltconfig, autoconf/ltmain.sh: Updated to newer versions
1492 2000-02-22 Bruno Haible <haible@clisp.cons.org>
1494 * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
1495 parameter passing was changed for the MIPS n32 ABI.
1497 2000-01-24 Richard Kreckel <kreckel@ginac.de>
1499 * gmp/*: Replaced the complete mpn sources with the ones from
1500 Debian since they are maintained while the ones from FSF
1501 aren't and there were problems on some architectures, PowerPC
1502 in particular. See the file gmp/README.CLN. This way the
1503 hard links in this directory have vanished, they were causing
1504 trouble for people working in AFS. This became necessary for
1505 Debian, because there it woudn't compile on PPC.
1507 2000-01-13 Richard Kreckel <kreckel@ginac.de>
1509 * Version 1.0.3 released.
1511 2000-01-13 Richard Kreckel <kreckel@ginac.de>
1513 * src/base/cl_macros.h (nonreturning_function): For egcs and newer
1514 use __attribute__ ((__noreturn__)) instead of the __volatile__
1516 (nonreturning): Remove macro.
1517 * include/*: Minor fixes to stop -ansi -pedantic from complaining.
1518 * include/cl_integer.h: (doublefactorial): New declaration.
1519 * src/integer/misc/combin/cl_I_doublefactorial.cc: New file.
1521 1999-12-18 Bruno Haible <haible@clisp.cons.org>
1523 * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
1525 * autoconf/ltconfig: Improve support for recent FreeBSD 3.
1526 * include/cl_GV.h (cl_GV_vectorops): Change return type from 'T' to
1527 'const T', to match definition in src/vector/cl_GV_number.cc.
1528 Reported by Duncan Simpson <dps@io.stargate.co.uk>.
1529 * gmp/mpn/Makefile.in (.S.lo): Use 'if', not '&&', because '&&' may
1530 yield return code 1.
1532 1999-09-07 Bruno Haible <haible@clisp.cons.org>
1534 * Version 1.0.2 released.
1536 1999-09-06 Bruno Haible <haible@clisp.cons.org>
1538 * src/rational/cl_RA.h (integerp, ratiop): Instead of returning a
1539 boolean expression, write alternatives ending with either
1540 "return cl_true;" or "return cl_false;". This way, g++ does a
1541 better job inlining it.
1542 * src/float/cl_F.h (longfloatp): Likewise.
1543 * src/real/cl_R.h (rationalp, integerp, floatp): Likewise.
1544 * src/complex/cl_C.h (realp, complexp): Likewise.
1546 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1548 * include/cl_integer.h (cl_equal_hashcode): New declaration.
1549 * include/cl_rational.h (cl_equal_hashcode): New declaration.
1550 * include/cl_sfloat.h (cl_equal_hashcode): New declaration.
1551 * include/cl_ffloat.h (cl_equal_hashcode): New declaration.
1552 * include/cl_dfloat.h (cl_equal_hashcode): New declaration.
1553 * include/cl_lfloat.h (cl_equal_hashcode): New declaration.
1554 * include/cl_float.h (cl_equal_hashcode): New declaration.
1555 * include/cl_real.h (cl_equal_hashcode): New declaration.
1556 * include/cl_complex.h (cl_equal_hashcode): New declaration.
1557 * src/base/cl_N.h (equal_hashcode_low, equal_hashcode_one): New macros.
1558 * src/integer/misc/cl_I_eqhashcode.cc: New file.
1559 * src/rational/misc/cl_RA_eqhashcode.cc: New file.
1560 * src/float/sfloat/misc/cl_SF_eqhashcode.cc: New file.
1561 * src/float/ffloat/misc/cl_FF_eqhashcode.cc: New file.
1562 * src/float/dfloat/misc/cl_DF_eqhashcode.cc: New file.
1563 * src/float/lfloat/misc/cl_LF_eqhashcode.cc: New file.
1564 * src/float/misc/cl_F_eqhashcode.cc: New file.
1565 * src/real/misc/cl_R_eqhashcode.cc: New file.
1566 * src/complex/misc/cl_C_eqhashcode.cc: New file.
1567 * doc/cln.tex: Document `cl_equal_hashcode'.
1569 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1571 * include/cl_ring.h (cl_number_ring_ops): Add `contains' member.
1572 (cl_number_ring): New class.
1573 (cl_specialized_number_ring<T>): Inherit from cl_number_ring.
1574 (instanceof): New function.
1575 * src/integer/ring/cl_I_ring.cc (cl_I_p): New function.
1576 * src/integer/misc/cl_I_as.cc (cl_I_p): Add comment.
1577 * src/rational/ring/cl_RA_ring.cc (cl_RA_p): New function.
1578 * src/rational/misc/cl_RA_as.cc (cl_RA_p): Add comment.
1579 * src/real/ring/cl_R_ring.cc (cl_R_p): New function.
1580 * src/real/misc/cl_R_as.cc (cl_R_p): Add comment.
1581 * src/complex/ring/cl_C_ring.cc (cl_N_p): New function.
1582 * src/complex/misc/cl_N_as.cc (cl_N_p): Add comment.
1583 * doc/cln.tex: Document `instanceof'.
1585 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1587 * include/cl_rational.h (numerator, denominator): New declarations.
1588 * src/rational/elem/cl_RA_numerator.cc: New file.
1589 * src/rational/elem/cl_RA_denominator.cc: New file.
1590 * include/cl_integer.h (numerator, denominator): New inline functions.
1591 * doc/cln.tex: Document `numerator' and `denominator'.
1593 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1595 * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
1596 in the integer case.
1597 * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
1599 1999-09-05 Bruno Haible <haible@clisp.cons.org>
1601 * include/cl_config.h.in: Support for sparc64 CPU.
1602 * include/cl_modules.h: Likewise.
1603 * include/cl_types.h: Likewise.
1604 * include/cl_object.h: Likewise.
1605 * include/cl_GV.h: Likewise.
1606 * src/Makefile.in: Likewise.
1607 * src/base/cl_alloca.h: Likewise.
1608 * src/base/cl_macros.h: Likewise.
1609 * src/base/cl_sysdep.h: Likewise.
1610 * src/base/cl_low.h: Likewise.
1611 * src/base/digitseq/cl_asm.h: Likewise.
1612 * src/base/digitseq/cl_asm_.cc: Likewise.
1613 * src/base/digitseq/cl_asm_sparc64.h: New file.
1614 * src/base/digitseq/cl_asm_sparc64_.cc: New file.
1615 * src/modinteger/cl_MI_int.h: Support for sparc64 CPU.
1616 * src/polynomial/elem/cl_UP_no_ring.cc: Likewise.
1617 * src/polynomial/elem/cl_UP_GF2.h: Likewise.
1618 * src/polynomial/elem/cl_asm_GF2.cc: Likewise.
1620 1999-09-04 Bruno Haible <haible@clisp.cons.org>
1622 * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
1623 Use the `orn' instruction.
1625 1999-08-14 Bruno Haible <haible@clisp.cons.org>
1627 Assume all platforms have <stdlib.h> and clock_t.
1628 * configure.in: Don't call CL_STDLIB_H and CL_CLOCK_T.
1629 * src/base/cl_base_config.h.in (CLOCK_T): Remove definition.
1630 * src/base/random/cl_random_from.cc: Use clock_t instead of CLOCK_T.
1631 * src/timing/cl_t_config.h.in (CLOCK_T): Remove definition.
1632 * src/timing/cl_t_current2.cc: Use clock_t instead of CLOCK_T.
1634 1999-07-18 Bruno Haible <haible@clisp.cons.org>
1636 * gmp/config.guess: Link to autoconf/config.guess.
1637 gmp/config.sub: Link to autoconf/config.sub.
1638 Needed for Win32 platforms.
1640 1999-07-17 Bruno Haible <haible@clisp.cons.org>
1642 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
1643 "sparc64" according to the C compiler, not the uname result.
1645 1999-06-17 Bruno Haible <haible@clisp.cons.org>
1647 * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
1648 COUNTER_LOOPS version, fortunately not used yet.
1650 * include/cl_modules.h: Prepare for gcc version 3.
1652 1999-06-12 Bruno Haible <haible@clisp.cons.org>
1654 * src/rational/elem/cl_RA_plus.cc, src/rational/elem/cl_RA_minus.cc:
1655 Change the last call from I_I_to_RT to I_I_to_RA.
1657 1999-06-09 Bruno Haible <haible@clisp.cons.org>
1659 * Version 1.0.1 released.
1661 1999-06-09 Bruno Haible <haible@clisp.cons.org>
1663 * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
1666 1999-06-08 Bruno Haible <haible@clisp.cons.org>
1668 * autoconf/intparam.c (printf_underscored): Change argument type to
1670 * include/cl_modules.h (CL_OUTPUT_LABEL, CL_JUMP_TO): New macros.
1671 (CL_PROVIDE, CL_PROVIDE_END): Use them.
1672 * include/cl_string.h (cl_heap_string::operator new): Return 1, not 0.
1673 * include/cl_GV.h (cl_GV_inner<T>::operator new): Likewise.
1674 * src/base/ring/cl_no_ring.cc (dummy_canonhom, dummy_expt_pos): Don't
1675 cast a cl_I to void here. Works around a bug in g++-2.95.
1676 * src/complex/misc/cl_C_class.cc: Include "cl_C.h".
1677 * src/polynomial/elem/cl_UP_no_ring.cc (dummy_canonhom,
1678 dummy_expt_pos): Don't cast a cl_I to void here. Works around a bug
1680 * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
1682 * src/rational/misc/cl_RA_class.cc: Include "cl_RA.h".
1683 * src/vector/cl_GV_I.cc (cl_heap_GV_I_general::operator new,
1684 DEFINE_cl_heap_GV_I_bits): Return 1, not 0.
1685 * src/vector/cl_GV_number.cc (cl_heap_GV_number_general::operator new):
1688 1999-06-01 Bruno Haible <haible@clisp.cons.org>
1690 * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
1693 1999-05-29 Bruno Haible <haible@clisp.cons.org>
1695 * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
1696 OpenBSD like NetBSD.
1697 * src/base/digitseq/cl_asm_sparc_.cc (DECLARE_FUNCTION): Likewise.
1698 * src/base/digitseq/cl_asm_m68k_.cc (DECLARE_FUNCTION): Treat
1699 OpenBSD like NetBSD, and Linux/ELF like SVR4.
1701 1999-05-16 Bruno Haible <haible@clisp.cons.org>
1703 * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
1704 syntax on AIX systems and new assembler syntax on non-AIX systems.
1706 1999-05-01 Bruno Haible <haible@clisp.cons.org>
1708 * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
1709 version from GNU CVS.
1711 1999-04-24 Bruno Haible <haible@clisp.cons.org>
1713 * src/integer/bitwise/cl_I_logand.cc (logand): Optimize the case when
1714 either operand is a positive fixnum, O(1) instead of O(N).
1715 * src/integer/bitwise/cl_I_lognand.cc (lognand): Likewise.
1716 * src/integer/bitwise/cl_I_logandc2.cc (logandc2): Likewise for the
1719 1999-04-14 Bruno Haible <haible@clisp.cons.org>
1721 * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add check whether
1722 ctor/dtor needs to be exported.
1723 * include/cl_config.h.in (CL_NEED_GLOBALIZE_CTORDTOR): New macro.
1724 * include/cl_modules.h (CL_GLOBALIZE_JUMP_LABEL): Renamed from
1726 (CL_GLOBALIZE_LABEL): New macro.
1727 (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
1728 (CL_PROVIDE): Update.
1730 1999-04-12 Bruno Haible <haible@clisp.cons.org>
1732 * src/Makefile.in ($(ASMFILES_S)): On HPPA, ignore preprocessing
1733 errors ("unterminated string or character constant").
1734 ($(ASMFILES_LO)): On HPPA, try with various settings of
1735 COMPILER_PATH, in order to try /usr/ccs/bin/as and /bin/as.
1737 1999-04-11 Bruno Haible <haible@clisp.cons.org>
1739 * INSTALL: Mention gmp problems on MIPS.
1740 * doc/cln.tex: Likewise.
1742 1999-03-24 Mumit Khan <khan@xraylith.wisc.edu>
1744 * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
1746 * include/cl_modules.h (CL_GLOBALIZE_LABEL): Define for Win32.
1747 (CL_GLOBALIZE_ASM_LABEL): New macro.
1748 (CL_PROVIDE): Use it.
1749 * src/base/random/cl_random_from.cc: Handle WIN32.
1750 * src/timing/cl_t_current.cc: Likewise.
1752 1999-03-15 Bruno Haible <haible@clisp.cons.org>
1754 * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
1755 (main8): Adapt for C++.
1757 1999-03-09 Bruno Haible <haible@clisp.cons.org>
1759 * INSTALL: Mention egcs-1.1 problems on Sparc.
1760 * doc/cln.tex: Likewise.
1762 1999-03-08 Bruno Haible <haible@clisp.cons.org>
1764 * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
1767 1999-02-25 Bruno Haible <haible@clisp.cons.org>
1769 * autoconf/aclocal.m4: In test programs, declare `int main()', not
1772 * lidia-interface/src/interfaces/integers/cln/bigint.c
1773 (bigint_to_string): Fix for negative arguments.
1775 * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
1776 * src/base/cl_alloca.h: Likewise.
1778 * src/base/cl_low.h: Eliminate CLISP style "# " comments.
1779 * src/base/digitseq/cl_asm_arm_.cc,
1780 src/base/digitseq/cl_asm_mips_.cc,
1781 src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
1783 * src/modinteger/cl_MI_pow2.h,
1784 src/modinteger/cl_MI_pow2m1.h,
1785 src/modinteger/cl_MI_pow2p1.h: Workaround g++-2.7.2 inlining bug.
1787 1999-01-18 Bruno Haible <haible@clisp.cons.org>
1789 * autoconf/acgeneral.m4,
1790 autoconf/acspecific.m4: Upgrade to autoconf-2.13.
1791 * autoconf/config.guess, autoconf/config.sub: Likewise.
1792 * autoconf/aclocal.m4 (CL_ALLOCA): Test for _MSC_VER and alloca being
1793 a macro. Use ${ac_objext}.
1794 * src/base/cl_macros.h (alloca): Put _MSC_VER test before the others,
1795 conforming with CL_ALLOCA.
1797 1999-01-12 Bruno Haible <haible@clisp.cons.org>
1799 * Version 1.0 released.