Annotation of OpenXM_contrib/gmp/ChangeLog, Revision 1.1.1.3
1.1.1.3 ! maekawa 1: 2000-10-05 Kevin Ryde <kevin@swox.se>
! 2:
! 3: * Version 3.1.1 released.
! 4:
! 5: * gmp.texi (Known Build Problems): Note VERSION problem with old sed.
! 6:
! 7: 2000-10-04 Kevin Ryde <kevin@swox.se>
! 8:
! 9: * mpn/x86/k[67]/mmx/popham.asm: Don't use ELF-ism ".section .rodata".
! 10:
! 11: 2000-10-04 Torbjorn Granlund <tege@swox.com>
! 12:
! 13: * configure.in (sparc64-*-linux*): Set path according to CC64.
! 14:
! 15: 2000-09-27 Torbjorn Granlund <tege@swox.com>
! 16:
! 17: * mpn/alpha/ev6/addmul_1.asm: Use explicit offset for all load and
! 18: store insns. Helps old gas.
! 19:
! 20: 2000-09-17 Kevin Ryde <kevin@swox.se>
! 21:
! 22: * gmp.h (__GNU_MP_VERSION_PATCHLEVEL): Bump to 1.
! 23: * Makefile.am (LIBGMP_LT_REVISION, LIBMP_LT_REVISION): Bump to 1.
! 24: * NEWS: Update.
! 25:
! 26: * gmp.texi (Copying): Refer to Lesser not Library GPL.
! 27: (Miscellaneous Rational Functions): Correct return type of mpq_set_d.
! 28: (GMP and Reentrancy): Note stack-alloc.c is not reentrant.
! 29: (Build Options): Clarify where to find CFLAGS.
! 30: (Low-level Functions): Fix return type of mpn_tdiv_qr.
! 31:
! 32: * configure.in: Re-apply "PROLOGUE.*" regexp change for the
! 33: benefit of alpha PROLOGUE_GP, lost in path search reorganisation.
! 34:
! 35: * aclocal.m4: Regenerate with correct autoconf snapshot.
! 36:
! 37: * mpz/{fdiv_r_2exp.c,lcm.c,urandomm.c}: Add missing TMP_MARK/FREE,
! 38: avoiding memory leak when using stack-alloc.c.
! 39:
! 40: * mpz/pprime_p.c (mpz_millerrabin): Fix a TMP_FREE.
! 41:
! 42: * gmp-impl.h (mpn_tdiv_qr): Move prototype from here ...
! 43: * gmp.h (mpn_tdiv_qr): ... to here.
! 44:
! 45: * mp.h (mp_set_memory_functions): Add missing #define.
! 46:
! 47: * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL): Fix for sizes > 512 limbs.
! 48:
! 49: * mpn/tests/try.c (call): Cast popcount and hamdist calls,
! 50: for the benefit of long long limb.
! 51:
! 52: The following by Paul:
! 53:
! 54: * mpn/generic/bz_divrem_n.c: Fix qhl handling, simplify.
! 55:
! 56: The following by Torbjorn:
! 57:
! 58: * gmp-impl.h (mpn_com_n): Fix typo.
! 59:
! 60: * mpf/get_str.c: Don't set n_digits from digits_computed_so_far
! 61: when the converted operand becomes zero. Misc cleanups.
! 62:
1.1.1.2 maekawa 63: 2000-08-02 Torbjorn Granlund <tege@swox.com>
64:
65: * Version 3.1 released.
66:
67: * gmp.texi: Rephrase mpf_urandomb documentation.
68:
69: * mpn/alpha/ev6: New directory with ev6/21264 optimized code.
70: * mpn/alpha/ev6/addmul_1.asm: New file.
71: * mpn/alpha/ev6/gmp-mparam.h: New file.
72:
73: 2000-08-02 Kevin Ryde <kevin@swox.se>
74:
75: * demos/factorize.c (random): Don't use "inline".
76:
77: * mpfr/{log,mul_ui,round,set,set_d}.c: Corrections to K&R parts.
78:
79: * Makefile.am (EXTRA_HEADERS): Omit $(MPFR_HEADERS_OPTION).
80: * mpfr/Makefile.am (EXTRA_DIST): Add mpfr.h.
81:
82: * gmp.texi (Known Build Problems): Note problem stripping libgmp.a.
1.1.1.3 ! maekawa 83:
! 84: * mpn/tests/try.c (try_init): Account for ALIGNMENTS when sizing
! 85: source and dest regions.
1.1.1.2 maekawa 86:
87: 2000-08-02 Kent Boortz <kent@swox.com>
88:
89: * mpfr: Integrated experimental version of mpfr-0.4.
90: * configure.in: Changes for option --enable-mpfr.
91: * Makefile.am: Changes for option --enable-mpfr.
92:
93: 2000-08-01 Torbjorn Granlund <tege@swox.com>
94:
95: * mpn/generic/popcount.c: Disable SPARC v9 popc_limb pattern.
96: * mpn/generic/hamdist.c: Likewise.
97:
98: 2000-08-01 Kevin Ryde <kevin@swox.se>
99:
100: * mpn/tests/try.c (try_init): Account for ALIGNMENTS when sizing
101: source and dest regions.
102:
103: 2000-07-31 Torbjorn Granlund <tege@swox.com>
104:
105: * mpf/get_str.c: Develop three extra digits, not just one.
106:
107: 2000-07-31 Kevin Ryde <kevin@swox.se>
108:
109: * gmp.texi (References): Add URL for invariant division.
110:
111: 2000-07-30 Kevin Ryde <kevin@swox.se>
112:
113: * tune/time.c (speed_cpu_frequency_proc_cpuinfo): Add support for
114: alpha linux "cycle frequency".
115:
116: * mpn/sparc64/gmp-mparam.h: Re-run tune program for FFT thresholds.
117:
118: 2000-07-29 Kevin Ryde <kevin@swox.se>
119:
120: * gmp.texi (ABI and ISA): Add sparc64-*-linux*.
121: * configure.in [sparc64-*-linux*] (gmp_cflags64_gcc): Same flags
122: as under solaris.
123:
124: * configure.in (--enable-fft): New option, default "no".
125: * gmp.texi (Build Options): Describe it.
126: * mpn/generic/{mul,mul_n}.c [WANT_FFT]: Use it.
127: * tune/tuneup.c [WANT_FFT]: By default don't probe FFTs if not enabled.
128: * NEWS: Multiplication optionally using FFT.
129:
130: * tune/README: Notes on FFT and GCD thresholds, other minor updates.
131:
132: * Makefile.am: Expunge the macos generated files update stuff.
133:
134: 2000-07-28 Kevin Ryde <kevin@swox.se>
135:
136: * mpn/x86/*/gmp-mparam.h: Add some FFT thresholds.
137:
138: 2000-07-28 Kent Boortz <kent@swox.se>
139:
140: * macos/Asm*, macos/CmnObj, macos/Mp*: Delete directories.
141: * macos/Makefile: Delete file.
142: * macos/Makefile.cw: Delete file.
143: * macos/config.h: Delete file.
144: * macos/Asm/*.s: Delete files.
145: * macos/configure: Create target directories. Don't transform
146: '(C)' to '(;)' in a 'dnl' line comment in .asm file.
147: * Makefile.am: Delete macos targets.
148: * macos/README: Reflect that we reverted back to a build
149: process that require ""macos/configure" to run on MacOS.
150: This imply that MacPerl is needed for a build in MacOS.
151:
152: 2000-07-27 Kevin Ryde <kevin@swox.se>
153:
154: * mpn/generic/mul_fft.c: New file, by Paul Zimmermann, minor mods
155: applied.
156: * configure.in (gmp_mpn_functions): Add it.
157: * mpn/generic/{mul,mul_n}.c: Use it.
158: * doc/multiplication: Describe it (briefly).
159:
160: * gmp-impl.h (FFT_MUL_THRESHOLD etc): New thresholds.
161: (mpn_fft_best_k, mpn_fft_next_size, mpn_mul_fft, mpn_mul_fft_full):
162: New functions.
163: (numberof, TMP_ALLOC_TYPE etc, _MP_ALLOCATE_FUNC_TYPE etc,
164: UNSIGNED_TYPE_MAX etc): New macros.
165:
166: * tune/*: Add FFT threshold tuning and speed measuring.
167: * tune/common.c: Avoid huge macro expansions for umul and udiv.
168:
169: * mpz/tests/t-{bin,jac,misc}.c, mp{bsd,f}/tests/t-misc.c,
170: mpn/tests/{try,spinner}.c: Use new gmp-impl.h macros.
171:
172: * demos/Makefile.am (BUILT_SOURCES): Don't need calc.c etc under this.
173:
174: 2000-07-27 Torbjorn Granlund <tege@swox.com>
175:
176: * mpn/ia64/gmp-mparam.h: New file.
177:
178: 2000-07-26 Torbjorn Granlund <tege@swox.com>
179:
180: * demos/isprime.c: Handle any number of arguments and print
181: classification for each. Add `-q' option for old behaviour.
182:
183: 2000-07-26 Kevin Ryde <kevin@swox.se>
184:
185: * gmp.texi (Build Options): Mention djgpp stack size.
186: (Notes for Package Builds): New section.
187: (Compatibility with older versions): Update for 3.1, add mpf_get_prec.
188:
189: * demos/factorize.c: Don't declare random() for glibc.
190:
191: * gmp.h (gmp_version): Add prototype and define.
192:
193: * Makefile.am: Keep macos directory generated files up-to-date
194: during development and on a "make dist".
195:
196: 2000-07-25 Torbjorn Granlund <tege@swox.com>
197:
198: * mpn/hppa/gmp-mparam.h: Update threshold values from new `tune' run.
199:
200: * mpn/pa64/gmp-mparam.h: Fill in values from `make tune' run.
201: * mpn/pa64w/gmp-mparam.h: Likewise.
202: * mpn/mips3/gmp-mparam.h: Likewise.
203:
204: * tune/hppa2.asm: Fix typo in .level directive.
205:
206: * configure.in: Add sparc64-*-linux* support (from Jakub Jelinek).
207: * configure: Regenerate.
208:
209: * mpn/sparc64/rshift.asm: Use %g5 instead of volatile stack frame area
210: for return value (from Jakub Jelinek).
211: * mpn/sparc64/lshift.asm: Likewise.
212:
213: * mpf/get_prc.c: Revert Aug 8, 1996 change.
214:
215: * version.c: No longer static.
216:
217: * mpn/pa64/gmp-mparam.h: Only #define *_THRESHOLD if not already
218: defined.
219: * mpn/pa64w/gmp-mparam.h: Likewise.
220: * mpn/arm/gmp-mparam.h: Likewise.
221: * mpn/mips3/gmp-mparam.h: Likewise.
222:
223: 2000-07-25 Kevin Ryde <kevin@swox.se>
224:
225: * INSTALL: It's "info -f ./gmp.info" to be sure of hitting the
226: gmp.info in the current directory.
227:
228: * Makefile.am (libmp_la_DEPENDENCIES): Add mpz/cmp.lo, for last
229: mpz/powm.c fix.
230:
231: * mpn/sparc64/{add,sub}mul1h.asm: Renamed from {add,sub}mul_1h.asm
232: to avoid name conflicts on an 8.3 filesystem.
233: * mpn/sparc64/{add,sub,}mul_1.asm: Update include_mpn()s.
234:
235: 2000-07-24 Torbjorn Granlund <tege@swox.com>
236:
237: * Update header of all files previously under the Library GPL
238: to instead be under the Lesser GPL.
239:
240: * COPYING.LIB: Now Lesser GPL.
241: * demos/primes.c: Change license to GPL (was Library GPL).
242: * demos/isprime.c: Change license to GPL (was Library GPL).
243:
244: * gmp.h (error code enum): Add GMP_ERROR_BAD_STRING (currently unused).
245:
246: * mpz/tests/t-mul.c: Default SIZE to a function of TOOM3_MUL_THRESHOLD.
247: Improve error messages. Decrease reps.
248:
249: 2000-07-22 Kevin Ryde <kevin@swox.se>
250:
251: * tune/speed.h: Decrease the amount of data used for gcd and powm
252: measuring, to make the tune go a bit faster.
253:
254: 2000-07-21 Kent Boortz <kent@swox.se>
255:
256: * macos/Asm*, macos/CmnObj, macos/Mp*: Directories no longer created
257: from configure script, now part of dist.
258: * macos/Makefile
259: * macos/Makefile.cw
260: * macos/config.h
261: * macos/Asm/*.s
262: New files and directories that is the output from configure. This way
263: no Perl installation is required to build on MacOS, just MPW.
264: * macos/configure: Added prefix '__g' to exported assembler labels.
265: Changed to handle new m4 syntax instead of the old cpp syntax in asm.
266: * macos/Makefile.in: Corrected 'clean' target, added 'distclean'
267: and 'maintainer_clean'. Added "mpn/mp_bases.c" to build.
268: * macos/README: Reflect the new build process without configure.
269: Corrected the file structure for Apple MPW installation.
270:
271: 2000-07-21 Torbjorn Granlund <tege@swox.com>
272:
273: * mpf/tests/t-muldiv.c: Relax error limit. Make precision depend
274: on SIZE. Misc changes.
275:
276: * configure: Regenerate.
277:
278: 2000-07-20 Kent Boortz <kent@swox.com>
279:
280: * macos/Makefile.in: Removed hard coded targets, added special
281: targets found in Makefile.am files.
282: * macos/configure: Generate targets from top configure script and
283: Makefile.am files. Made script runnable from Unix for testing.
284: * macos/README: Notes about search paths for includes, contributed
285: by Marco Bambini.
286: * configure.in: Added comment about lines that the "macos/configure"
287: script depend on.
288:
289: 2000-07-20 Torbjorn Granlund <tege@swox.com>
290:
291: * mpz/powm.c (mpz_powm): After final mpz_redc call, subtract `mod'
292: from result if it is greater than `mod'.
293:
294: 2000-07-19 Torbjorn Granlund <tege@swox.com>
295:
296: * mpn/hppa/gmp-mparam.h: Fill in values from `make tune' run.
297: * mpn/alpha/gmp-mparam.h: Likewise.
298: * mpn/powerpc32/gmp-mparam.h: Likewise.
299:
300: * tune/hppa.asm: New file.
301: * tune/hppa2.asm: New file.
302: * configure.in (SPEED_CYCLECOUNTER_OBJS): Set for hppa2*-*-* and
303: hppa*-*-*.
304: * tune/Makefile.am (EXTRA_DIST): Add hppa.asm and hppa2.asm.
305:
306: * tune/speed.h (SPEED_ROUTINE_MPN_BZ_DIVREM_CALL): Declare `marker';
307: invoke TMP_FREE.
308:
309: * mpn/hppa/hppa1_1/udiv_qrnnd.S: Use "%" instead of "'" for
310: reloc/symbol delimiter.
311:
312: 2000-07-16 Torbjorn Granlund <tege@swox.com>
313:
314: * mpn/powerpc64/gmp-mparam.h: Update with output from tune utility.
315: * mpn/powerpc64/copyi.asm: New file.
316: * mpn/powerpc64/copyd.asm: New file.
317:
318: 2000-07-16 Kevin Ryde <kevin@swox.se>
319:
320: * tune/*: Add measuring for umul_ppmm and udiv_qrnnd.
321:
322: 2000-07-14 Kevin Ryde <kevin@swox.se>
323:
324: * mpn/x86/k6/k62mmx: New directory.
325: * configure.in (k6[23]*-*-*): Use it.
326: * mpn/x86/k6/k62mmx/copy{i,d}.asm: Move from mmx directory,
327: improve code alignment a bit.
328: * mpn/x86/k6/k62mmx/{l,r}shift.asm: Ditto, and improve addressing
329: modes for pre-CXT cores.
330: * mpn/x86/x86-defs.m4 (Zdisp): Add an instruction.
331: * mpn/x86/k6/mmx/{l,r}shift.asm: New files, suiting plain K6.
332: * mpn/x86/{README,k6/README}: Updates.
333: * mpn/x86/k6/mmx/*.asm: Update some comments.
334:
335: * mpn/tests/Makefile.am: Use $(MAKE) in .asm rules, not "m".
336: * tune/Makefile.am: Use $(EXEEXT) and libtool --config objdir, for
337: the benefit of djgpp.
338:
339: * */Makefile.in: Regenerate with patched automake that adds
340: $(EXEEXT) to EXTRA_PROGRAMS.
341:
342: * mpn/tests/try.c: Add #ifdef to SIGBUS, for the benefit of djgpp.
343: * config.guess: Recognise pc:*:*:* as an x86, for djgpp.
344:
345: * configure: Regenerate with patched autoconf to fix temp file
346: ".hdr" which is invalid on a DOS 8.3 filesystem, and to fix two
347: sed substitutes that clobbered a ":" in $srcdir (eg. a DOS drive
348: spec).
349:
350: * mpz/tests/io.c: Use one fp opened "w+", since separately opened
351: input and output doesn't work on MS-DOS 6.21.
352:
353: 2000-07-13 Torbjorn Granlund <tege@swox.com>
354:
355: * mpz/tests/t-root.c: Also test mpz_perfect_power_p.
356: Generate `nth' so that there will be fewer trivial values.
357:
358: * mpz/root.c: Reverse return value in tests for detecting root of +1
359: and -1.
360:
361: * mpz/perfpow.c: Use TMP_ALLOC interface.
362:
363: 2000-07-12 Torbjorn Granlund <tege@swox.com>
364:
365: * mpz/perfpow.c (primes): Make it const.
366:
367: 2000-07-06 Kevin Ryde <kevin@swox.se>
368:
369: * mpn/x86/k6/cross.pl: New file.
370:
371: * mpn/x86/*/gmp-mparam.h: Updates to thresholds, conditionalize
372: all _TIME defines.
373: * mpn/x86/pentium/mmx/gmp-mparam.h: New file.
374: * mpn/sparc64/gmp-mparam.h: Update thresholds.
375: * mpn/sparc32/v9/gmp-mparam.h: Ditto.
376:
377: 2000-07-04 Kevin Ryde <kevin@swox.se>
378:
379: * NEWS: Updates.
380: * mpn/x86/*/README: Miscellaneous updates.
381:
382: * tune/speed-ext.c: New file.
383: * tune/Makefile.am: Add it.
384: * tune/README: Updates.
385: * tune/speed.h (SPEED_ROUTINE_MPN_DIVREM_2): Bug fixes.
386:
387: * demos/calc.y,calclex.l: New files.
388: * demos/calc.c,calc.h,calclex.c: New files, generated from .y and .l.
389: * demos/Makefile.am: Add them.
390:
391: * gmp.h (mpq_swap, mpf_swap): Add prototypes and defines.
392:
393: 2000-07-01 Kevin Ryde <kevin@swox.se>
394:
395: * gmp.texi (ABI and ISA): New section, bringing together ABI notes.
396: (Build Options): Add MPN_PATH, various updates.
397: (Build Options): Add note on setting CFLAGS when setting CC.
398: (Notes for Particular Systems): Add -march=pentiumpro problem.
399: (Known Build Problems): Note on gmp-mparam.h for 64-bit generic C.
400: (GMP Variable Conventions): Add some info on user defined functions.
401: (Reporting Bugs): Minor rewording.
402:
403: * configure.in (MPN_PATH): Renamed from mpn_path.
404:
405: * gmp-impl.h (ULONG_MAX,ULONG_HIGHBIT,...,SHORT_MAX): New defines.
406: * mp[zf]/tests/t-misc.c: Use them.
407:
408: * mpbsd/tests/t-misc.c: New file.
409: * mpbsd/tests/Makefile.am: Add it.
410:
411: * Makefile.am (LIBGMP_LT_*, LIBMP_LT_*): Bump version info.
412: * gmp.h (__GNU_MP_VERSION_*): Bump to 3.1.
413:
414: * mpf/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
415:
416: * Makefile.am (libmp_la_SOURCES): Add mp_set_fns.c, accidentally
417: omitted in gmp 3.0.x.
418: * gmp.texi (Custom Allocation): Note this is available in mpbsd,
419: and some minor rewording.
420:
421: 2000-06-30 Torbjorn Granlund <tege@swox.com>
422:
423: * demos/factorize.c (random): New function, defined conditionally.
424: (factor_using_pollard_rho): Use it, not mrand48.
425:
426: 2000-06-30 Kevin Ryde <kevin@swox.se>
427:
428: * mpn/x86/pentium/aorsmul_1.asm: Add MULFUNC_PROLOGUE.
429:
430: * mpz/tests/t-jac.c: Test limbs on mpn_jacobi_base, not just ulongs.
431:
432: * gmp-impl.h, mpn/tests/try.c, mpn/tests/spinner.c, tune/speed.c:
433: Use config.h unconditionally, not under HAVE_CONFIG_H.
434:
435: * demos/pexpr.c [__DJGPP__]: Patch by Richard Dawe to not use
436: setup_error_handler on djgpp.
437:
438: * tune/*: Locate data to help direct-mapped caches, add measuring
439: of mpz_init/clear, mpz_add and mpz_bin_uiui, various cleanups.
440: * configure.in (AC_CHECK_FUNCS): Add popen.
441:
442: 2000-06-29 Torbjorn Granlund <tege@swox.com>
443:
444: * mpf/mul_2exp.c: Streamline criterion for whether to use mpn_lshift or
445: mpn_rshift. Increase precision when exp is a multiple of
446: BITS_PER_MP_LIMB primarily to make exp==0 be a noop.
447: * mpf/div_2exp.c: Analogous changes.
448:
449: * mpf/tests/t-dm2exp.c: Set u randomly in loop. Perform more
450: mpf_mul_2exp testing.
451:
452: * configure.in: Recognize cray vector processors with a broad `*';
453: move after alpha* not to match that.
454:
455: 2000-06-28 Kevin Ryde <kevin@swox.se>
456:
457: * mpz/tests/io.c: Use a disk file, not a pipe, switch to ansi2knr
458: style, switch from MP_INT to mpz_t, add a couple of error checks.
459: * mpz/tests/Makefile.am (CLEANFILES): Add io.tmp, in case io.c fails.
460:
461: 2000-06-27 Torbjorn Granlund <tege@swox.com>
462:
463: * mpf/tests/t-get_d.c: Be more lax about relative error, to handle Cray
464: floating point format.
465:
466: * mpq/tests/t-get_d.c: Decrease default reps to 1000.
467:
468: * mpf/tests/t-conv.c: Correct type of `bexp'.
469:
470: * configure.in (cray vector machines): Don't inherit gmp_cflags_cc.
471:
472: * tune/Makefile.am (EXTRA_DIST): Delete sparc64.asm.
473:
474: * configure.in (cray vector machines): Set extra_functions.
475:
476: * mpn/cray/mulww.f: New file with vectorizing cray code.
477: * mpn/cray/mulww.s: Generated from mulww.f.
478: * mpn/cray/mul_1.c: New file.
479: * mpn/cray/addmul_1.c: New file.
480: * mpn/cray/submul_1.c: New file.
481: * mpn/cray/add_n.c: New file.
482: * mpn/cray/sub_n.c: New file.
483:
484: 2000-06-26 Kevin Ryde <kevin@swox.se>
485:
486: * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix so it actually
487: detects solaris 2.6, and also suppress warning on solaris 2.8.
488: * configure.in (SPEED_CYCLECOUNTER): Remove spurious "athlon" from
489: sparc case.
490:
491: * mpn/lisp/gmpasm-mode.el: Move keymap to the top of the docstring.
492:
493: 2000-06-21 Kevin Ryde <kevin@swox.se>
494:
495: * mpn/generic/mul_n.c (mpn_kara_mul_n, mpn_kara_sqr_n): Use
496: mp_size_t for n2.
497: (mpn_toom3_mul_n, mpn_toom3_sqr_n): Use mp_size_t for size
498: parameters and "l" variables.
499: * gmp-impl.h (mpn_toom3_mul_n, mpn_toom3_sqr_n): Update prototypes.
500:
501: * mpbsd/{itom,sdiv}.c: Add casts for correct handling of -0x80...00
502: on systems with sizeof(short)==sizeof(int).
503:
504: * mpz/tests/t-misc.c: Move "bin" test from here ...
505: * mpz/tests/t-bin.c: ... to here, and add a new (2k,k) test too.
506: * mpz/tests/Makefile.am (check_PROGRAMS): Add t-bin.
507:
508: * mpz/bin_ui.c [_LONG_LONG_LIMB]: Use mpn_divrem_1, since kacc is
509: a limb not a ulong.
510: * mpz/bin_uiui.c [_LONG_LONG_LIMB]: Ditto, and use mpn_mul_1 too,
511: since nacc is a limb.
512:
513: * mpf/tests/t-misc.c (check_mpf_set_si, check_mpf_cmp_si):
514: New file, testing mpf_set_si, mpf_init_set_si, and mpf_cmp_si.
515: * mpf/tests/Makefile.am (check_PROGRAMS): Add it.
516:
517: * mpz/tests/t-misc.c (check_mpz_set_si, check_mpz_cmp_si):
518: New tests, for mpz_set_si, mpz_init_set_si, and mpz_cmp_si.
519:
520: * mpz/{set,iset,cmp}_si.c [_LONG_LONG_LIMB]: Fix handling of -0x80..00.
521: * mpf/{set,iset,cmp}_si.c [_LONG_LONG_LIMB]: Ditto.
522:
523: 2000-06-19 Torbjorn Granlund <tege@swox.com>
524:
525: * demos/primes.c: Properly handle arguments `m +n'.
526:
527: 2000-06-17 Torbjorn Granlund <tege@swox.com>
528:
529: * config.sub: Recognize k5 and k6 with common pattern.
530:
531: * mpq/tests/t-get_d.c: Also test mpq_set_d. Misc improvements.
532:
533: * mpq/set_d.c: Special case 0.0. Don't call mpn_rshift with 0 count.
534: Allocate correct amount of memory for numerator. Delete spurious
535: ASSERT_ALWAYS(1).
536:
537: 2000-06-17 Kevin Ryde <kevin@swox.se>
538:
539: * mpz/perfsqr.c: Fix so that zero is considered a perfect square.
540: (Was wrongly calling mpn_perfect_square_p with size==0.)
541:
542: 2000-06-16 Kevin Ryde <kevin@swox.se>
543:
544: * configure.in: Set k5*-*-* to use basic i386 code until there's
545: something specific. Add path=x86 as a default for x86s.
546:
547: * acinclude.m4 (GMP_CHECK_ASM_ALIGN_LOG): Generate
548: ALIGN_LOGARITHMIC setting, not a full ALIGN definition.
549: (GMP_CHECK_ASM_ALIGN_FILL_0x90): New test.
550: * configure.in [x86-*-*]: Use GMP_CHECK_ASM_ALIGN_FILL_0x90.
551: * mpn/asm-defs.m4 (ALIGN): New macro.
552: * mpn/x86/x86-defs.m4 (ALIGN): Remove supplementary definition.
553:
554: * tune/*: Plain "unsigned" for speed_cyclecounter.
555: * configure.in: Use tune/sparcv9.asm for 32 and 64 bit modes.
556: * tune/sparc64.asm: Remove file.
557:
558: 2000-06-15 Torbjorn Granlund <tege@swox.com>
559:
560: * mpn/x86/k7/mmx/copyi.asm: Use `testb' instead of `test'.
561: * mpn/x86/k7/mmx/copyd.asm: Likewise.
562:
563: * mpn/x86/k7/mmx/lshift.asm: Avoid using `~' (Solaris as problems).
564: * mpn/x86/k7/mmx/rshift.asm: Likewise.
565: * mpn/x86/k6/aors_n.asm: Likewise.
566: * mpn/x86/k7/aors_n.asm: Likewise.
567: * mpn/x86/k7/mul_basecase.asm: Likewise.
568:
569: 2000-06-13 Torbjorn Granlund <tege@swox.com>
570:
571: * tune/sparcv9.asm: Tune, deleting two instructions.
572:
573: * tune/alpha.asm: Update to unified speed_cyclecounter.
574:
575: 2000-06-11 Kevin Ryde <kevin@swox.se>
576:
577: * mpz/tests/reuse.c (FAIL): Add a K&R version.
578: Use _PROTO on some typedefs.
579: * mpz/tests/t-misc.c: Add gmp-impl.h for "const".
580:
581: * configure.in: Rework mpn multi-function and optional files.
582: Names standardized, no need for explicit declarations, all picked
583: up in one $path traversal.
584: * doc/configuration: Updates.
585:
586: 2000-06-10 Kevin Ryde <kevin@swox.se>
587:
588: * mpn/x86/{pentium/mmx,p6/mmx,p6/p3mmx}/popham.asm,
589: mpn/x86/p6/diveby3.asm: Add MULFUNC_PROLOGUE for correct
590: HAVE_NATIVE_* matching.
591:
592: * mpn/x86/x86-defs.m4 (cmov_bytes_tttn): Use eval() on expressions.
593: (cmov_available_p): Switch to list CPUs which do have cmov.
594: * mpn/x86/{p6,k6,k7}/sqr_basecase.asm: Use eval() for multiplication.
595: * mpn/x86/README.family: Various updates.
596:
597: 2000-06-09 Kevin Ryde <kevin@swox.se>
598:
599: * mpbsd/tests/allfuns.c (main): Call exit() instead of doing return.
600:
601: * doc/{tasks.html,projects.html}: Moved from projects directory.
602: * doc/multiplication: New file.
603: * Makefile.am (EXTRA_DIST): Remove projects, add doc.
604:
605: * Makefile.am (libgmp_la_LIBADD, libmp_la_LIBADD): Remove
606: unnecessary -lm.
607: * INSTALL: Remove -lm from instructions.
608: * demos/Makefile.am (qcn_LDADD): Add -lm.
609:
610: * tune/*: Add measuring for mpn_divrem_2 and modlimb_invert,
611: improve addsub_n. Switch to unified speed_cyclecounter.
612: * configure.in: Update configs for speed_cyclecounter.
613:
614: * gmp-impl.h (MP_LIMB_T_MAX, MP_LIMB_T_HIGHBIT): New macros.
615: * mpn/generic/{diveby3,mul_n,gcd}, tune/speed.c, mpn/tests/ref.c:
616: Use them.
617:
618: * mpn/tests/spinner.c: Remove setitimer, just alarm is enough.
619: * configure.in (AC_CHECK_FUNCS): Remove setitimer.
620: * mpn/tests/x86call.asm: Start with junk in %eax, %ecx, %edx.
621: * mpn/tests/ref.[ch] (refmpn_addsub_nc): New function.
622: * mpn/tests/try.c: Add some support for mpn_addsub_nc.
623: * mpn/tests/Makefile.am (EXTRA_PROGRAMS): Remove addsub_n and
624: addsub_n_2 which don't currently build.
625: * mpn/tests/copy.c: Test MPN_COPY_INCR, not __gmpn_copy.
626:
627: 2000-06-08 Torbjorn Granlund <tege@swox.com>
628:
629: * configure.in (alpha*-*-osf*): Default `flavour' to ev6 for ev6 and
630: higher.
631: (alpha*-*-*): Likewise.
632: (alpha*-*-osf*: gmp_optcflags_cc): Move -arch/-tune flags from
633: gmp_xoptcflags_gcc.
634:
635: * mpn/Makefile.am (TARG_DIST): Add pa64w.
636:
637: * longlong.h: Wrap 64-bit hppa code in #ifndef LONGLONG_STANDALONE.
638:
639: 2000-06-07 Torbjorn Granlund <tege@swox.com>
640:
641: * mpz/remove.c: Fail for `src' being zero.
642:
643: * mpz/tests/reuse.c: Test more functions.
644: (FAIL): New define.
645:
646: * mpz/tests/t-powm.c: Loop during operand generation while they
647: are mathematically ill-defined (used to just skip such tests).
648:
649: * mpz/powm.c (mpz_redc): Clean up argument declarations.
650:
651: * configure.in (gmp_cflags64_gcc): Don't add bogus -mWHAT option.
652: (sparcv9-*-solaris2.[7-9]], gmp_cflags64_gcc):
653: Inherit from previous gmp_cflags64_gcc; pass `-m64 -mptr64'.
654: (ia64*-*-*): New.
655:
656: * mpn/generic/dump.c: Make it work when an mp_limb_t is not `long'.
657:
658: * mpf/set_prc.c: MPN_COPY => MPN_COPY_INCR.
659:
660: 2000-06-06 Torbjorn Granlund <tege@swox.com>
661:
662: * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n):
663: Use mpn_incr_u for final carry propagation.
664:
665: * mpz/tests/t-gcd.c: Add calls to mpz_gcdext with argument t == NULL.
666:
667: * mpz/tests/reuse.c: Major rewrite; test many more functions.
668:
669: * mpz/powm_ui.c: When exp is 0, change res assign order in order
670: to handle argument overlap.
671: * mpz/powm.c: When exp is 0, change res assign order in order
672: to handle argument overlap. Handle negative exp and mod arguments.
673:
674: * mpz/gcdext.c: Rework code after mpn_gcdext call to handle
675: argument overlap.
676:
677: * mpz/fdiv_qr.c: Read dividend->_mp_size before calling mpz_tdiv_qr
678: in order to handle argument overlap.
679: * mpz/cdiv_qr.c: Likewise.
680:
681: * mpf/tests/reuse.c: Fix typo that effectively disabled `dis_funcs'
682: tests. Clean up test for mpf_ui_div.
683:
684: 2000-06-06 Kevin Ryde <kevin@swox.se>
685:
686: * mpn/x86/p6/sqr_basecase.asm: New file.
687: * mpn/x86/mod_1.asm: Avoid one conditional jump.
688: * mpn/x86/p6/gmp-mparam.h: Update thresholds, #ifndef UMUL_TIME
689: and UDIV_TIME, add COUNT_TRAILING_ZEROS_TIME.
690:
691: * mp_minv_tab.c: New file.
692: * Makefile.am (libgmp_la_SOURCES, libmp_la_SOURCES): Add it.
693: * gmp-impl.h (modlimb_invert): New macro.
694: * mpz/powm.c: Remove mpz_dmprepare, use modlimb_invert instead.
695: * mpn/generic/bdivmod.c: Use modlimb_invert instead of a loop.
696: * mpn/generic/gcd.c: Inline two small mpn_bdivmod calls, use
697: MPN_COPY_INCR not MPN_COPY in one place.
698:
699: 2000-06-05 Torbjorn Granlund <tege@swox.com>
700:
701: * mpf/tests/reuse.c (dsi_funcs): Add mpf_mul_2exp and mpf_div_2exp.
702: (main): Clean up test for mpf_div_ui.
703:
704: * mpf/mul_2exp.c: Correct criterion for whether to use mpn_lshift or
705: mpn_rshift. MPN_COPY => MPN_COPY_INCR. Coerce the two assignments to
706: r->_mp_size.
707:
708: * mpf/div_2exp.c: Use mpn_rshift instead of mpn_lshift when overlap
709: so requires. MPN_COPY => MPN_COPY_INCR.
710:
711: * mpf/tests/t-dm2exp.c: Correct type of res_prec.
712:
713: 2000-06-04 Kevin Ryde <kevin@swox.se>
714:
715: * mpz/bin_uiui.c: Fix result for n==0 and n==k.
716: * mpz/bin_ui.c: Fix result for k>n, add support for n<0.
717: * gmp.texi (Number Theoretic Functions): Update mpz_bin_ui to
718: note n<0 is supported.
719:
720: * mpz/tests/t-misc.c: New file.
721: * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
722:
723: 2000-05-31 Kevin Ryde <kevin@swox.se>
724:
725: * tune/speed.* (FLAG_R_OPTIONAL): New option for routines, use on
726: mpn_gcd_1 and mpn_mul_basecase.
727: * tune/README: Update.
728:
729: * tune/alpha.asm: New file, by Torbjorn.
730: * tune/Makefile.am (EXTRA_DIST): Add it.
731: * configure.in (alpha*-*-*): Use it.
732:
733: 2000-05-30 Torbjorn Granlund <tege@swox.com>
734:
735: * mpn/generic/mul_basecase.c: Call mpn_mul_2 and mpn_addmul_2
736: if available. Don't include longlong.h.
737:
738: 2000-05-30 Linus Nordberg <linus@swox.se>
739:
740: * configure.in (NM): Use AC_PROG_NM rather than AC_CHECK_TOOL to
741: find `nm'. (AC_PROG_NM comes with Libtool and is needed to get
742: the `-B' option (BSD compatible output) included in $NM.)
743: (AR): Use AC_CHECK_PROG rather than AC_CHECK_TOOL to find `ar'.
744: (Now that NM isn't a cross compilation tool, don't give the
745: impression that we know how to cross compile.)
746: (CCAS): Remove spurious comment.
747:
748: * gmp.texi (Notes for Particular Systems): Remove comment about
749: using GNU `nm' on AIX since system nm now works.
750:
751: 2000-05-29 Torbjorn Granlund <tege@swox.com>
752:
753: * mpn/power/mul_1.s: Remove [PR] from first word in function
754: descriptor.
755: * mpn/power/addmul_1.s: Likewise.
756: * mpn/power/submul_1.s: Likewise.
757:
758: 2000-05-28 Kevin Ryde <kevin@swox.se>
759:
760: * configure.in, tune/*: Change pentium rdtsc cycle scheme to
761: HAVE_SPEED_CYCLECOUNTER and SPEED_CYCLECOUNTER_OBJS.
762: * tune/pentium.asm: Renamed and converted from rdtsc.asm.
763: * tune/sparcv9.asm: New file, by Torbjorn.
764: * tune/sparc64.asm: New file.
765: * tune/tuneup.c: Put a limit on gcdext search.
766:
767: * gmp.h (mp_set_memory_functions): Add extern "C".
768: * mp.h (__GNU_MP__): Bump to "3".
769: * mpz/add.c,mul.c,powm.c,sub.c,sqrtrem.c,tdiv_qr.c [BERKELEY_MP]:
770: Include mp.h for mpbsd compile.
771: * mpz/gcd.c: Ditto, and remove _mpz_realloc declaration.
772:
773: * gmp.texi (Integer Functions): Flatten @subsections into @sections.
774: (Floating-point Functions): Ditto.
775: (Integer Random Numbers): Split from miscellaneous as a sep section.
776: (Installing GMP): Make nodes for the sections.
777: Add more "@cindex"s.
778: (Known Build Problems): Remove SunOS get_d problem, believed fixed.
779: (Notes for Particular Systems): Remove HPPA note since now PIC.
780: (References): URL for Jebelean.
781:
782: 2000-05-27 Torbjorn Granlund <tege@swox.com>
783:
784: * mpn/pa64w: New directory, contents based on corresponding mpn/pa64
785: files.
786: * configure.in (hppa2.0w-*-*): New.
787: * mpz/tests/io.c (_INCLUDE_POSIX_SOURCE): Define when __hpux before
788: including stdio.h.
789: * gmp-impl.h: Always define DItype and UDItype.
790:
791: 2000-05-27 Kevin Ryde <kevin@swox.se>
792:
793: * tune/common.c (speed_measure): Correction to array sorting,
794: better diagnostic when measuring fails.
795: * tune/time.c: Add microsecond accurate getrusage method.
796:
797: * tune/time.c (speed_cpu_frequency_processor_info): New function.
798: * configure.in (AC_CHECK_FUNCS): Add processor_info.
799:
800: 2000-05-26 Linus Nordberg <linus@swox.se>
801:
802: * gmp.texi (Installing GMP): Shared libraries work for AIX < 4.3
803: if using GNU nm.
804:
805: 2000-05-26 Torbjorn Granlund <tege@swox.com>
806:
807: * tune/tuneup.c (SIGNED_TYPE_MAX): Shift `-1' instead of `1' to
808: avoid signed overflow.
809:
810: * demos/pexpr.c (setup_error_handler): Don't call sigaltstack on
811: Unicos.
812:
813: 2000-05-25 Torbjorn Granlund <tege@swox.com>
814:
815: * insert-dbl.c: Work around GCC 2.8 bug.
816: * extract-dbl.c: Likewise.
817:
818: * config.sub: Allow i586, i686, i786 again.
819:
820: * config.guess: Use X86CPU for lots more systems.
821:
822: 2000-05-25 Linus Nordberg <linus@swox.se>
823:
824: * mpbsd/tests/dummy.c (main): Call exit() instead of doing return
825: (some old SysV machines don't get this correct, I've heard.)
826:
827: 2000-05-25 Kevin Ryde <kevin@swox.se>
828:
829: * mpf/iset_str.c: Initialize _mp_size and _mp_exp to 0, in case no
830: digits in string, so it's the same as a separate init and set_str.
831:
832: 2000-05-24 Torbjorn Granlund <tege@swox.com>
833:
834: * mpz/tests/reuse.c: Use mpz_random2 instead of mpz_random.
835:
836: * mpz/divexact.c: Read pointers after reallocation.
837: Compare `quot' and `den' instead of `qp' and `dp' in overlap check.
838: Use MPN_COPY_INCR for copying from `np'.
839:
840: (*-*-aix4.[3-9]*): Disable shared libs just for problematic AIX
841: versions.
842: * configure.in (*-cray-unicos*): Disable asm syntax checking; set
843: compiler explicitly.
844: * configure.in (hppa*-*-*): Remove code disabling shared libs.
845:
846: 2000-05-24 Linus Nordberg <linus@swox.se>
847:
848: * acinclude.m4 (GMP_PROG_CC_WORKS): Don't report progress to user
849: when doing the AIX specific test to avoid "nested output".
850:
851: 2000-05-22 Kevin Ryde <kevin@swox.se>
852:
853: * mp.h (_PROTO): Copy from gmp.h, use on prototypes.
854: Add extern "C" too.
855: * mpbsd/tests/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
856: * mpbsd/tests/allfuns.c: Don't execute mout, just link to it.
857: (main): ANSI style definition.
858:
859: * gmp-impl.h (MP_BASE_AS_DOUBLE): Change the expression to
860: something that works on SunOS native cc. Seems to fix the
861: mp*_get_d problems.
862:
863: * mpn/tests/ref.c (refmpn_strip_twos): Use MPN_COPY_INCR.
864: * mpn/tests/Makefile.am: Let .asm.o rules work with absolute $srcdir.
865:
866: 2000-05-21 Kevin Ryde <kevin@swox.se>
867:
868: * mpn/x86/k7/sqr_basecase.asm: Replace file with K7 specific code.
869: * mpn/x86/k7/README: Update.
870: * mpn/x86/k7/gmp-mparam.h: Tune thresholds.
871: (COUNT_TRAILING_ZEROS_TIME): New define.
872: * mpn/x86/k6/gmp-mparam.h: Ditto.
873:
874: * mpn/x86/pentium/mmx/popham.asm: New file (include_mpn of K6 version).
875: * mpn/x86/p6/diveby3.asm: New file (include_mpn of P5 version).
876: * mpn/x86/p6/mmx/popham.asm: New file (include_mpn of K6 version).
877: * mpn/x86/p6/p3mmx/popham.asm: New file (include_mpn of K7 version).
878: * configure.in (pentium3-*-*): Add p3mmx to $path.
879:
880: * gmp.texi (Integer Arithmetic): Clarify mpz_jacobi op2; add
881: mpz_*_kronecker_*.
882: (Miscellaneous Integer Functions): Add mpz_odd_p and mpz_even_p.
883: (Low-level Functions): Put mpn_divmod_1 with mpn_divrem_1 and note
884: it's now a macro.
885: (References): Add Henri Cohen.
886:
887: * gmp.h (mpn_addmul_1c, mpn_divrem_1c, mpn_mod_1c, mpn_mul_1c,
888: mpn_submul_1c): Add prototypes.
889: (mpz_odd_p, mpz_even_p): New macros.
890:
891: * mpn/asm-defs.m4 (m4wrap_prepend): New macro.
892: (m4_error): Use it.
893: (m4_not_for_expansion): Corrections to OPERATION symbols.
894: More comments about variations between m4 versions.
895: * mpn/x86/x86-defs.m4 (PROLOGUE): Use m4wrap_prepend (fixes error
896: exit under BSD m4, previously m4_error printed the message but the
897: exit code was 0).
898:
899: * gmp.h (mpn_divmod_1): Change to a macro calling mpn_divrem_1.
900: * mpn/generic/divrem_1.c: Move divmod_1.c code to here, make it
901: static and call it __gmpn_divmod_1_internal.
902: * mpn/generic/divmod_1.c: Remove file.
903: * configure.in (gmp_mpn_functions): Remove divmod_1.
904: * mpn/asm-defs.m4 (define_mpn): Remove divmod_1 and divmod_1c.
905: * compat.c (mpn_divmod_1): Add compatibility function.
906: * tune/*: Remove mpn_divmod_1 measuring (leave just divrem_1).
907:
908: * acconfig.h (HAVE_NATIVE_mpn_*): Add some missing carry-in
909: variants, remove divmod_1.
910:
911: * mpn/x86/diveby3.asm: Use imul, update comments.
912:
913: * demos/qcn.c: New file.
914: * demos/Makefile.am (EXTRA_PROGRAMS): Add it.
915:
916: * mpz/tests/t-jac.c: New file.
917: * mpz/tests/Makefile.am (check_PROGRAMS): Add it. Enable ansi2knr.
918:
919: * mpz/kronsz.c: New file.
920: * mpz/kronuz.c: New file.
921: * mpz/kronzs.c: New file.
922: * mpz/kronzu.c: New file.
923: * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
924: * Makefile.am (MPZ_OBJECTS): Add them.
925: * gmp-impl.h (JACOBI_*, MPN_STRIP_LOW_ZEROS_NOT_ZERO): New macros.
926: * gmp.h (mpz_*_kronecker_*): New defines and prototypes.
927:
928: * mpn/generic/jacbase.c: New file.
929: * mpn/generic/mod_1_rs.c: New file.
930: * configure.in (gmp_mpn_functions): Add them.
931: * gmp.h (mpn_jacobi_base, mpn_mod_1_rshift): New defines and
932: prototypes.
933: * longlong.h (COUNT_TRAILING_ZEROS_TIME): New define.
934: * mpn/tests/ref.c (refmpn_mod_1_rshift): New function.
935: * mpn/tests/try.c: Add mpn_mod_1_rshift.
936: * tune/*: Add measuring for mpn_jacobi_base.
937:
938: * acinclude.m4 (GMP_FINISH): Add ifdefs to allow multiple
939: inclusion of config.m4.
940: (GMP_PROG_M4): Put "good" message through to config.log.
941:
942: * mpz/powm.c: Use a POWM_THRESHOLD for where redc stops.
943: * tune/*: Add mpz_powm measuring, and tune POWM_THRESHOLD.
944: * gmp-impl.h [TUNE_PROGRAM_BUILD] (POWM_THRESHOLD): Conditional
945: redefinition for use when tuning.
946:
947: * mpz/powm_ui.c: Use DIVIDE_BY_ZERO.
948:
949: * mpz/iset_str.c: Initialize _mp_size to 0, in case no digits in
950: string; this makes it the same as a separate init and set_str.
951:
952: 2000-05-20 Kevin Ryde <kevin@swox.se>
953:
954: * mpn/asm-defs.m4: Note &,|,^ aren't bitwise in BSD m4 eval().
955: * mpn/x86/k6/sqr_basecase.asm: Use "%" not "&" in m4 eval()s.
956:
957: * mpn/x86/x86-defs.m4 (Zdisp): Yet more instruction forms.
958:
959: 2000-05-19 Linus Nordberg <linus@swox.se>
960:
961: * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't use shell variable
962: `ac_compile' for our own compile command string since other
963: Autoconf macros may depend on it.
964:
965: 2000-05-19 Kevin Ryde <kevin@swox.se>
966:
967: * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Fix
968: carry propagation in final coefficient additions.
969:
970: 2000-05-18 Linus Nordberg <linus@swox.se>
971:
972: * configure.in: Set NM before looking for compiler since
973: GMP_CHECK_CC_64BIT needs it.
974:
975: * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't execute on target.
976: (GMP_PROG_CC_FIND): Before checking if the compiler knows how to
977: produce 64-bit code, verify that it works at all. The background
978: is that /usr/ucb/cc on Solaris 7 successfully compiles in 64-bit
979: mode but fails when doing final link.
980: (GMP_PROG_CC_WORKS): Report to user what's happening.
981:
982: 2000-05-17 Linus Nordberg <linus@swox.se>
983:
984: * config.guess: Use X86CPU for x86 Cygwin.
985:
986: 2000-05-16 Kevin Ryde <kevin@swox.se>
987:
988: * mpn/x86/p6/mmx/divrem_1.asm: New file.
989: * mpn/x86/p6/mmx/mod_1.asm: New file.
990: * mpn/x86/p6/README: Update.
991: * mpn/x86/divrem_1.asm: Update comments.
992: * mpn/x86/mod_1.asm: Ditto.
993:
994: 2000-05-14 Kevin Ryde <kevin@swox.se>
995:
996: * tune/speed.h: Run gcd functions on a set of data.
997:
998: * mpn/tests/try.c: New file.
999: * mpn/tests/try.h: New file.
1000: * mpn/tests/spinner.c: New file.
1001: * mpn/tests/trace.c: New file.
1002: * mpn/tests/x86call.asm: New file.
1003: * mpn/tests/x86check.c: New file.
1004: * mpn/tests/ref.c (refmpn_hamdist): Allow size==0.
1005: (refmpn_gcd): New function, and other additions supporting it.
1006: * mpn/tests/ref.h: More prototypes.
1007: * mpn/tests/Makefile.am: Add try program, use ansi2knr.
1008:
1009: * mpn/x86/k7/mmx/popham.asm: New file.
1010: * mpn/x86/k6/mmx/popham.asm: New file.
1011: * mpn/x86/k6/sqr_basecase.asm: Unroll the addmul, for approx 1.3x
1012: speedup above 15 limbs.
1013: * mpn/x86/k7/README: Update.
1014: * mpn/x86/k6/README: Update, and add notes on plain K6 and pre-CXT
1015: K6-2 problems.
1016: * configure.in (k6*-*-*, athlon-*-*): Add popham.
1017:
1018: * mpn/x86/pentium/diveby3.asm: New file.
1019: * mpn/x86/pentium/README: Update.
1020:
1021: * gmp.texi (Installing GMP): Add note on bad OpenBSD 2.6 m4.
1022: (Reporting Bugs): Ask for config.m4 if asm file related.
1023: (I/O of Rationals): New section, add mpq_out_str.
1024: (References): Add url for on-line gcc manuals.
1025: A few node and menu updates.
1026:
1027: * INSTALL: Better command line argument checking for test progs.
1028: Change MP -> GMP.
1029:
1030: * configure.in (WANT_ASSERT, USE_STACK_ALLOC, HAVE_PENTIUM_RDTSC):
1031: Put descriptions here, not in acconfig.h.
1032: (CALLING_CONVENTIONS_OBJS): New AC_SUBST (for mpn/tests/try).
1033: (HAVE_CALLING_CONVENTIONS): New AC_DEFINE.
1034: (AC_CHECK_HEADERS): Add sys/time.h.
1035: (AC_CHECK_FUNCS): Add getpagesize, setitimer.
1036: (KARATSUBA_SQR_THRESHOLD): Strip trailing comments from the
1037: #define when passing through to config.m4.
1038: * acconfig.h (PACKAGE, VERSION, WANT_ASSERT, USE_STACK_ALLOC,
1039: HAVE_PENTIUM_RDTSC): No need for #undefs, autoheader gets them
1040: from configure.in.
1041:
1042: * acinclude.m4 (GMP_PROG_M4): Check for broken OpenBSD 2.6 m4
1043: eval(), put messages into config.log.
1044: * mpn/asm-defs.m4: Add notes and test for OpenBSD 2.6 m4.
1045:
1046: * mpq/out_str.c: New file.
1047: * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
1048: * Makefile.am (MPQ_OBJECTS): Ditto.
1049: * gmp.h (mpq_out_str): New define and prototype.
1050:
1051: 2000-05-12 Kevin Ryde <kevin@swox.se>
1052:
1053: * configure.in (CONFIG_TOP_SRCDIR): Fix to use $srcdir not
1054: $top_srcdir (which doesn't exist).
1055: * acinclude.m4 (GMP_C_ANSI2KNR): Fix setting U=_.
1056: * gmp-impl.h (mpn_com_n, MPN_LOGOPS_N_INLINE): Fix missing "do"
1057: (not currently used, probably no ill effect anyway).
1058:
1059: 2000-05-11 Torbjorn Granlund <tege@swox.com>
1060:
1061: * randraw.c (lc): Major overhaul (pending rewrite).
1062: (_gmp_rand): Rewrite.
1063:
1064: 2000-05-08 Torbjorn Granlund <tege@swox.com>
1065:
1066: * mpz/tests/convert.c: Call free via _mp_free_func.
1067: * mpf/tests/t-conv.c: Likewise.
1068:
1069: * memory.c: Add code enabled for DEBUG that adds special patterns
1070: around allocated blocks.
1071:
1072: 2000-05-05 Linus Nordberg <linus@swox.se>
1073:
1074: * gmp.texi (Miscellaneous Float Functions): Correct parameter list
1075: for mpf_urandomb().
1076:
1077: * configure.in: Invoke AC_REVISION.
1078:
1079: 2000-05-05 Kevin Ryde <kevin@swox.se>
1080:
1081: * gmp.texi: Use @dircategory and @direntry.
1082: (Installing GMP): Clarification for --target, updates on SunOS
1083: problems.
1084: (Integer Arithmetic): Add mpz_mul_si.
1085: (Initializing Rationals): Add mpq_swap.
1086: (Assigning Floats): Add mpf_swap.
1087: (Low-level Functions): Add mpn_divexact_by3c, and details of what
1088: the calculation actually gives.
1089: (Low-level Functions): Note extra space needed by mpn_gcdext,
1090: clarify the details a bit.
1091:
1092: * compat.c: New file, entry points for upward binary compatibility.
1093: (mpn_divexact_by3): Compatibility function.
1094: * Makefile.am (libgmp_la_SOURCES): Add compat.c.
1095:
1096: * mpn/tests/ref.c: Rearrange macros for ansi2knr.
1097: (div1): Renamed from div to avoid library function.
1098: (refmpn_divexact_by3c, refmpn_gcd_1, refmpn_popcount,
1099: refmpn_hamdist): New functions.
1100: * mpn/tests/ref.h: Add extern "C", add new prototypes.
1101:
1102: * gmp.h (gmp_randinit, etc): Add extern "C".
1103: (_mpq_cmp_ui): Fix prototype name from mpq_cmp_ui.
1104: (mpn_divexact_by3): Now a macro calling mpn_divexact_by3c.
1105: (mpn_divexact_by3c): New prototype and define.
1106:
1107: * mpn/x86/diveby3.asm: Change to mpn_divexact_by3c.
1108: * mpn/x86/k6/diveby3.asm: Ditto.
1109: * mpn/generic/diveby3.c: Ditto.
1110: * mpn/asm-defs.m4: Ditto on the define_mpn.
1111: * acconfig.h (HAVE_NATIVE_mpn_divexact_by3c): New define.
1112:
1113: * mpq/swap.c: New file, derived from mpz/swap.c.
1114: * mpf/swap.c: Ditto.
1115: * mpq/Makefile.am: Add swap.c.
1116: * mpf/Makefile.am: Ditto.
1117: * Makefile.am: Add two new "swap.lo"s.
1118:
1119: * mpn/x86/k6/mmx/com_n.asm: Fix an addressing bug (fortunately
1120: this code hasn't been used anywhere yet).
1121:
1122: * mpn/x86/k7/mmx/divrem_1.asm: New file.
1123: * mpn/x86/k7/mmx/mod_1.asm: New file.
1124: * mpn/x86/k7/diveby3.asm: New file.
1125: * mpn/x86/k7/README: Update.
1126:
1127: * mpn/x86/k7/aorsmul_1.asm: Use new cmovCC, no object code change.
1128: * mpn/x86/k7/mul_basecase.asm: Ditto.
1129: * mpn/x86/p6/aorsmul_1.asm: Ditto.
1130:
1131: * mpn/x86/x86-defs.m4 (defframe_empty_if_zero): Eval the argument.
1132: (cmovCC): New macros, replacing individual cmovCC_reg_reg forms.
1133: (Zdisp): Recognise more instructions.
1134: (shldl,etc): Use m4_instruction_wrapper().
1135: (ASSERT, movl_text_address): New macros.
1136:
1137: * mpn/asm-defs.m4: Add remarks on SunOS /usr/bin/m4 and new
1138: OpenBSD m4.
1139: (m4_assert_numargs_internal_check): Remove a spurious parameter.
1140: (m4_empty_if_zero): Eval the argument.
1141: (m4_assert, m4_assert_numargs_range, m4_config_gmp_mparam,
1142: m4_instruction_wrapper): New macros.
1143:
1144: 2000-05-04 Linus Nordberg <linus@swox.se>
1145:
1146: * gmp.texi (Reporting Bugs): Be explicit about output from running
1147: a command.
1148:
1149: 2000-05-02 Torbjorn Granlund <tege@swox.com>
1150:
1151: * mpn/generic/bz_divrem_n.c (mpn_bz_divrem_n): Handle non-zero return
1152: from first mpn_bz_div_3_halves_by_2 call.
1153: (mpn_bz_divrem_aux): Likewise.
1154:
1155: 2000-04-30 Kevin Ryde <kevin@swox.se>
1156:
1157: * tune/* (GCD_ACCEL_THRESHOLD, GCDEXT_THRESHOLD): Tune these.
1158:
1159: * mpn/generic/gcdext.c (GCDEXT_THRESHOLD): Rename from THRESHOLD,
1160: use with >=, adjust default to 17 accordingly.
1161: Use new *_SWAP macros.
1162:
1163: * mpn/generic/gcd.c (GCD_ACCEL_THRESHOLD): Rename from
1164: ACCEL_THRESHOLD, use with >=, adjust default to 5 accordingly.
1165: Use new *_SWAP macros.
1166:
1167: * mpf/get_str.c, mpf/set_str.c, mpf/sub.c, mpz/add.c, mpz/ior.c,
1168: mpz/and.c, mpz/sub.c, mpz/xor.c, mpz/ui_pow_ui.c,
1169: mpn/generic/mul.c: Use new *_SWAP macros.
1170:
1171: * stack-alloc.h: Add extern "C" around prototypes.
1172:
1173: * gmp-impl.h: (MP_PTR_SWAP, etc): New macros.
1174: (_mp_allocate_func, etc): Use _PROTO.
1175: [TUNE_PROGRAM_BUILD]: More changes in tune program build part.
1176:
1177: 2000-04-28 Torbjorn Granlund <tege@swox.com>
1178:
1179: * mpn/pa64/add_n.s: Add `,entry' to export directive.
1180: * mpn/pa64/{addmul_1.S,lshift.s,mul_1.S,rshift.s,sub_n.s,submul_1.S,
1181: umul_ppmm.S}: Likewise.
1182: * mpn/hppa/hppa1_1/udiv_qrnnd.S: New name for udiv_qrnnd.s.
1183: Add PIC support.
1184:
1185: 2000-04-29 Kevin Ryde <kevin@swox.se>
1186:
1187: * gmp-impl.h [TUNE_PROGRAM_BUILD] (TOOM3_MUL_THRESHOLD_LIMIT): New
1188: define.
1189: * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Use
1190: TOOM3_MUL_THRESHOLD_LIMIT, not a hard coded 500.
1191:
1192: * memory.c: Use <stdlib.h> for malloc etc, and use _PROTO.
1193: * stack-alloc.c: Don't use C++ reserved word "this".
1194: * urandom.h: Put extern "C" around prototypes.
1195: * mpz/powm.c: Switch a couple of parameters to "const", which they
1196: are, to satisfy g++.
1197:
1198: * randraw.c, stack-alloc.c, mpbsd/mout.c, mpbsd/mtox.c: Add casts to
1199: help g++.
1200:
1201: * stack-alloc.c: Provide dual ANSI/K&R function definitions.
1202: * mpz/addmul_ui.c,get_d.c,inp_str.c,perfpow.c,powm.c,pprime_p.c,
1203: rrandomb.c,set_str.c,ui_pow_ui.c: Ditto.
1204: * mpf/integer.c,set_str.c: Ditto.
1205: * mpbsd/min.c,xtom.c: Ditto.
1206: * mpn/generic/bz_divrem_n.c,dump.c,gcd_1.c,get_str.c,hamdist.c,
1207: popcount.c,random.c,random2.c,set_str.c: Ditto.
1208:
1209: * rand.c: Use <stdio.h> for NULL.
1210: * mpz/gcd_ui.c,gcdext.c,mul.c,perfpow.c,powm_ui.c,root.c,sqrt.c,
1211: sqrtrem.c: Ditto
1212: * mpf/sqrt.c,sqrt_ui.c: Ditto.
1213: * mpn/generic/perfsqr.c,sqrtrem.c: Ditto.
1214:
1215: * gmp-impl.h (NULL, malloc, realloc, free): Don't define/declare.
1216: (extern "C"): Add around function prototypes.
1217: (mpn_kara_mul_n, mpn_kara_sqr_n, mpn_toom3_mul_n, mpn_toom3_sqr_n):
1218: Add prototypes.
1219: [TUNE_PROGRAM_BUILD] (FIB_THRESHOLD): Add necessary redefinitions for
1220: use by tune program.
1221: * mpn/generic/mul_n.c: Remove mpn_toom3_mul_n prototype.
1222:
1223: * acinclude.m4 (GMP_C_ANSI2KNR): New macro.
1224: (GMP_CHECK_ASM_MMX, GMP_CHECK_ASM_SHLDL_CL): Fix to use
1225: $gmp_cv_check_asm_text which is what GMP_CHECK_ASM_TEXT sets.
1226: * configure.in (GMP_C_ANSI2KNR): Use this instead of AM_C_PROTOTYPES,
1227: for reasons described with its definition.
1228:
1229: * demos/Makefile.am (ansi2knr): Use $(top_builddir) nor $(top_srcdir).
1230:
1231: * mpz/fib_ui.c (FIB_THRESHOLD): Rename from FIB_THRES, for consistency.
1232: (FIB_THRESHOLD): Conditionalize so gmp-mparam.h can define a value.
1233: (mpz_fib_bigcase): Use >= FIB_THRESHOLD, same as main mpz_fib_ui.
1234: * tune/tuneup.c,Makefile.am (FIB_THRESHOLD): Tune this.
1235:
1236: * configure.in (*-*-aix* gmp_m4postinc): Fix setting (don't overwrite
1237: a value just stored).
1238:
1239: 2000-04-26 Kevin Ryde <kevin@swox.se>
1240:
1241: * mpn/sparc32/udiv_fp.asm: Use mpn_udiv_qrnnd macro.
1242: * mpn/sparc32/udiv_nfp.asm: Ditto.
1243: * mpn/sparc32/v8/supersparc/udiv.asm: Ditto.
1244: * mpn/sparc32/umul.asm: Name the function mpn_umul_ppmm.
1245: * mpn/sparc32/v8/umul.asm: Ditto.
1246: * mpn/powerpc32/umul.asm: Ditto.
1247:
1248: * mpn/x86/syntax.h: Remove file, since now unused.
1249:
1250: * configure.in (x86): Remove -DBROKEN_ALIGN and -DOLD_GAS
1251: previously used by .S files.
1252: (x86 extra_functions): Add udiv and umul.
1253: (GMP_PROG_M4): Use this instead of AC_CHECK_PROG(M4,m4,...)
1254: (HAVE_NATIVE_*): Loosen up the regexp to "PROLOGUE.*" so as to
1255: accept PROLOGUE_GP on alpha.
1256:
1257: * acconfig.h (HAVE_NATIVE_mpn_umul_ppmm, udiv_qrnnd, invert_limb):
1258: New template defines.
1259: * mpn/asm-defs.m4 (mpn_umul_ppmm, mpn_udiv_qrnnd): New define_mpn()s.
1260: * longlong.h (umul_ppmm, udiv_qrnnd): Use a library version if
1261: it's available and an asm macro isn't.
1262: * gmp-impl.h (invert_limb): Ditto.
1263:
1264: * gmp-impl.h (ASSERT_NOREALLOC): Not a good idea, remove it.
1265:
1266: * acinclude.m4 (GMP_PROG_M4): New macro.
1267:
1268: 2000-04-25 Linus Nordberg <linus@swox.se>
1269:
1270: * gmp.texi (Random State Initialization): Correct arguments to
1271: `gmp_randinit'.
1272:
1273: * acinclude.m4 (GMP_VERSION): Change `eval' --> `m4_eval'. Fix
1274: from Kevin.
1275: * aclocal.m4: Regenerate.
1276:
1277: 2000-04-25 Kevin Ryde <kevin@swox.se>
1278:
1279: * mpn/x86/aors_n.asm: Remove parentheses around an immediate that
1280: Solaris "as" doesn't like, change by Torbjorn.
1281:
1282: 2000-04-24 Kevin Ryde <kevin@swox.se>
1283:
1284: * configure.in (AC_CHECK_FUNCS): Add strtoul.
1285:
1286: * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Bigger
1287: array for karatsuba temporary space for tune program build.
1288: (mpn_toom3_sqr_n) Remove an unused variable.
1289:
1290: * demos/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
1291: Add "allprogs:" pseudo-target.
1292: * demos/factorize.c, demos/isprime.c: Switch to ANSI functions,
1293: rely on ansi2knr.
1294:
1295: * gmp.texi (Getting the Latest Version of GMP): Add reference to
1296: ftp.gnu.org mirrors list.
1297: * INSTALL: Add arg count check to example programs.
1298:
1299: * mpn/x86/*/*.asm: Convert to FORTRAN ... or rather to
1300: FORTRAN-style "C" commenting to support Solaris "as".
1301: * mpn/x86/x86-defs.m4: Ditto, and add another Zdisp insn.
1302: * mpn/asm-defs.m4 (C): Update comments.
1303: * mpn/x86/README.family: Add a note on commenting, remove
1304: description of .S files.
1305:
1306: * mpn/sparc64/addmul_1.asm, mul_1.asm, submul_1.asm: Use
1307: include_mpn().
1308:
1309: 2000-04-23 Torbjorn Granlund <tege@swox.com>
1310:
1311: * config.sub: Merge with FSF version of April 23.
1312:
1313: * mpn/powerpc32: Use dnl/C instead of `#' for comments.
1314:
1315: * config.guess: Get "model" limit between pentium 2 and pentium3 right.
1316: Get rid of code determining `_' prefix; use double labels instead.
1317: * config.guess: Partially merge with FSF version of April 22.
1318: (Don't bring over NetBSD changes for now.)
1319:
1320: 2000-04-23 Kevin Ryde <kevin@swox.se>
1321:
1322: * tune/Makefile.am, README, common.c, rdtsc.asm, speed.c, speed.h,
1323: time.c, tuneup.c: New files.
1324: * tune/Makefile.in: New file, generated from Makefile.am.
1325:
1326: * gmp-impl.h (ASSERT_NOREALLOC,TMP_ALLOC_LIMBS): New macros.
1327: [TUNE_PROGRAM_BUILD] Further mods for tune program builds.
1328:
1329: * mpz/Makefile.am: Add -DOPERATION_$* for new mul_siui.c.
1330: Add rules to build mul_si and mul_ui from a common mul_siui.c.
1331: * mpz/mul_siui.c: New file, derived from and replacing mul_ui.c.
1332: * gmp.h (mpz_mul_si): New prototype and define.
1333:
1334: * mpn/tests/*.c [__i386__] (CLOCK): Don't use floating point in
1335: CLOCK because cpp can't handle floats in #if's (TIMES is derived
1336: from CLOCK by default).
1337:
1338: * mpn/asm-defs.m4 (include_mpn): New macro.
1339: (m4_assert_numargs) Changes to implementation.
1340:
1341: * mpf/Makefile.am: Add -DOPERATION_$* for new integer.c.
1342: Remove explicit rules for floor.o etc.
1343: * mpf/integer.c: Use OPERATION_$* for floor/ceil/trunc.
1344:
1345: * mpn/Makefile.am: Put "tests" in SUBDIRS.
1346: * mpn/tests/Makefile.am: New file providing rules to build test
1347: programs, nothing done in a "make all" or "make check" though.
1348: * mpn/tests/README: New file.
1349:
1350: * acconfig.h (HAVE_PENTIUM_RDTSC): New define.
1351:
1352: * configure.in (x86): Rearrange target cases.
1353: Add mulfunc aors_n and aorsmul_1 for x86 and pentium (now all x86s).
1354: Remove asm-syntax.h generation not needed.
1355: Remove now unused family=x86.
1356: (sparc) Remove unused family=sparc.
1357: (HAVE_PENTIUM_RDTSC) New AC_DEFINE and AM_CONDITIONAL.
1358: (AM_C_PROTOTYPES) New test, supporting ansi2knr.
1359: (AC_CHECK_HEADERS) Add getopt.h, unistd.h and sys/sysctl.h for
1360: tune progs.
1361: (AC_CHECK_FUNCS) Add getopt_long, sysconf and sysctlbyname for
1362: tune progs.
1363: (config.m4 CONFIG_TOP_SRCDIR) Renamed from CONFIG_SRCDIR.
1364: (config.m4 asm-defs.m4) Use CONFIG_TOP_SRCDIR and include().
1365: (gmp_m4postinc) Use include_mpn().
1366: (gmp_links) Omit asm-defs.m4/asm.m4 and gmp_m4postinc's.
1367: (MULFUNC_PROLOGUE) Fix regexps so all functions get AC_DEFINE'd.
1368: (PROLOGUE) Ditto (native copyi and copyd were unused in gmp 3).
1369: (KARATSUBA_SQR_THRESHOLD) Copy from gmp-mparam.h into config.m4.
1370: (AC_OUTPUT) Add tune/Makefile, mpn/tests/Makefile.
1371:
1372: * Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
1373: (SUBDIRS): Add tune, reorder directories.
1374: (MPZ_OBJECTS): Add mpz/mul_si.lo.
1375: (libmp_la_SOURCES): Use this for top-level objects, not .lo's.
1376: * ansi2knr.{c,1}: New files, provided by automake.
1377:
1378: * mpn/x86/aors_n.asm: Convert add_n.S and sub_n.S to a
1379: multi-function aors_n.asm, no object code change.
1380: * mpn/x86/pentium/aors_n.asm: Ditto.
1381: * mpn/x86/aorsmul_1.asm: Ditto for addmul/submul.
1382: * mpn/x86/pentium/aorsmul_1.asm: Ditto.
1383:
1384: * mpn/x86/{lshift,mul_1,mul_basecase,rshift}.asm: Convert from .S,
1385: no object code change.
1386: * mpn/x86/pentium/{lshift,mul_1,mul_basecase,rshift}.asm: Ditto.
1387:
1388: * gmp.texi (Reporting Bugs): Itemize the list of things to include.
1389: (Miscellaneous Float Functions): Correct typo in mpf_ceil etc
1390: argument types.
1391: Change @ifinfo -> @ifnottex for benefit of makeinfo --html.
1392: Remove unnecessary @iftex's around @tex.
1393:
1394: 2000-04-22 Torbjorn Granlund <tege@swox.com>
1395:
1396: * config.guess: Generalize x86 cpu determination code.
1397: Now works on Solaris.
1398:
1399: * mpz/nextprime.c: Rewrite still disabled code.
1400:
1401: * configure.in: Specifically match freebsd[3-9].
1402:
1403: 2000-04-21 Torbjorn Granlund <tege@swox.com>
1404:
1405: * rand.c: Call mpz_clear for otherwise leaking mpz_t.
1406:
1407: * mpz/pprime_p.c (mpz_probab_prime_p): Merge handling of negative
1408: n into code for handling small positive n. Merge variables m and n.
1409: After dividing, simply call mpz_millerrabin.
1410: (isprime): Local variables now use attribute `long'.
1411: (mpz_millerrabin): New static function, based on code from
1412: mpz_probab_prime_p.
1413: (millerrabin): Now simple workhorse for mpz_millerrabin.
1414:
1415: 2000-04-19 Torbjorn Granlund <tege@swox.com>
1416:
1417: * gmp-impl.h: Fix parenthesis error in test for __APPLE_CC__.
1418:
1419: 2000-04-18 Linus Nordberg <linus@swox.se>
1420:
1421: * NEWS: Add info about shared libraries. Remove reference to
1422: gmp_randinit_lc.
1423:
1424: 2000-04-17 Torbjorn Granlund <tege@swox.com>
1425:
1426: * Version 3.0 released.
1427:
1428: * mpn/arm/add_n.S: New version from Robert Harley.
1429: * mpn/arm/addmul_1.S: Likewise.
1430: * mpn/arm/mul_1.S: Likewise.
1431: * mpn/arm/sub_n.S: Likewise.
1432:
1433: * gmp.h (__GNU_MP_VERSION_PATCHLEVEL): Now 0.
1434:
1435: 2000-04-17 Linus Nordberg <linus@swox.se>
1436:
1437: * configure.in (hppa2.0*-*-*): Pass `+O3' to cc/c89 in 64-bit mode
1438: to avoid compiler bug.
1439: (ns32k*-*-*): Fix typo in path. Change by Kevin.
1440: (alpha*-*-osf*): New case. Pass assembly flags for architecture
1441: to gcc.
1442: (alpha*-*-*): Don't bother searching for cc.
1443: * configure: Regenerate.
1444:
1445: * Makefile.am (EXTRA_DIST): Add `macos', `.gdbinit'.
1446: * Makefile.in: Regenerate.
1447: * mpn/Makefile.am (EXTRA_DIST): Add `m88k', `lisp'.
1448: * mpn/Makefile.in: Regenerate.
1449:
1450: 2000-04-16 Kevin Ryde <kevin@swox.se>
1451:
1452: * README: Updates, and don't duplicate the example in INSTALL.
1453: * INSTALL: Minor updates.
1454: * gmp.texi (Installing MP): Minor edits, restore CC/CFLAGS description.
1455:
1456: 2000-04-16 Linus Nordberg <linus@swox.se>
1457:
1458: * configure.in (*-*-cygwin*): Select BSD_SYNTAX to avoid
1459: .type/.size in PROLOGUE for ELF_SYNTAX. Override ALIGN definition
1460: from x86/syntax.h.
1461: (gmp_xoptcflags_${CC}): New set of variables, indicating
1462: ``exclusive optional cflags''.
1463: (most sparcs): Use gmp_xoptcflags instead of gmp_optcflags to
1464: ensure that we pass CPU type to older gcc.
1465: (CFLAGS): CFLAGS on the command line was spoiled.
1466: * configure: Regenerate.
1467:
1468: 2000-04-16 Linus Nordberg <linus@swox.se>
1469:
1470: * configure.in: Invoke AC_PROG_LIBTOOL directly.
1471:
1472: * acinclude.m4 (GMP_PROG_CC_FIND): Quote source variable when
1473: setting CC64 and CFLAGS64.
1474: (GMP_PROG_CC_SELECT): Cache result.
1475: (GMP_PROG_LIBTOOL): Remove.
1476:
1477: * aclocal.m4: Regenerate.
1478: * configure: Regenerate.
1479:
1480: 2000-04-16 Torbjorn Granlund <tege@swox.com>
1481:
1482: * mpn/generic/dump.c: Suppress output of leadign zeros.
1483:
1484: * mpz/inp_str.c: Fix memory leakage.
1485:
1486: * mpz/tests/reuse.c (dss_func_division): Add a final 1.
1487:
1488: * longlong.h (alpha count_leading_zeros): Wrap in __MPN.
1489: * mpn/alpha/cntlz.asm: Use __gmpn prefix (by means of __MPN).
1490:
1491: * longlong.h (__umul_ppmm, __udiv_qrnnd): Wrap in __MPN.
1492: * mpn/alpha/udiv_qrnnd.S: Use __gmpn prefix.
1493: * mpn/hppa/udiv_qrnnd.s: Likewise.
1494: * mpn/hppa/hppa1_1/udiv_qrnnd.s: Likewise.
1495: * mpn/pa64/udiv_qrnnd.c: Likewise (by means of __MPN).
1496: * mpn/pa64/umul_ppmm.S: Likewise.
1497: * mpn/sparc32/udiv_fp.asm: Likewise (by means of MPN).
1498: * mpn/sparc32/udiv_nfp.asm: Likewise (by means of MPN).
1499: * mpn/sparc32/v8/supersparc/udiv.asm: Likewise (by means of MPN).
1500:
1501: * mpn/generic/tdiv_qr.c: Work around gcc 2.7.2.3 i386 register handling
1502: bug.
1503:
1504: * mpn/generic/tdiv_qr.c: Use udiv_qrnnd instead of mpn_divrem_1
1505: when computing appropriate quotient; mpn_divrem_1 writes too
1506: many quotient limbs.
1507:
1508: * mpn/asm-defs.m4: invert_normalized_limb => invert_limb.
1509: * mpn/alpha/invert_limb.asm: mpn_invert_normalized_limb =>
1510: mpn_invert_limb.
1511: * gmp.h: Likewise.
1512: * gmp-impl.h (alpha specific): invert_normalized_limb => invert_limb;
1513: wrap with __MPN.
1514: * longlong.h (alpha udiv_qrnnd): Likewise.
1515:
1516: 2000-04-16 Kevin Ryde <kevin@swox.se>
1517:
1518: * gmp.h (mp_set_memory_functions,mp_bits_per_limb,gmp_errno): Add
1519: #defines so the library symbols are __gmp_*.
1520: * errno.c: Include gmp.h.
1521: * gmp-impl.h (_mp_allocate_func,etc): Add #defines to __gmp_*.
1522: (__clz_tab): New #define to __MPN(clz_tab).
1523: * stack-alloc.c (__gmp_allocate_func,etc): Change from _mp_*.
1524:
1525: * Makefile.am (libmp_la_DEPENDENCIES): Add some mpz files needed
1526: for new mpz_powm (pow in libmp).
1527: (EXTRA_DIST): Add projects directory.
1528:
1529: * mpn/*: Change __mpn to __gmpn.
1530: * gmp.h (__MPN): Ditto.
1531: * stack_alloc.c,stack-alloc.h: Change __tmp to __gmp_tmp.
1532:
1533: * mpn/generic/sb_divrem_mn.c (mpn_sb_divrem_mn): Avoid gcc 2.7.2.3
1534: i386 register handling bug (same as previously in mpn_divrem_classic).
1535:
1536: * mpn/generic/divrem.c: Now contains mpn_divrem, which is not an
1537: internal function, so remove warning comment.
1538:
1539: * gmp.texi (Compatibility with Version 2.0.x): Source level only.
1540:
1541: 2000-04-16 Linus Nordberg <linus@swox.se>
1542:
1543: * configure.in (hppa1.0*): Prefer c89 to cc.
1544: * configure: Regenerate.
1545:
1546: 2000-04-15 Linus Nordberg <linus@swox.se>
1547:
1548: * configure.in: If `mpn_path' is set by user on configure command
1549: line, use that as path.
1550: * configure: Regenerate.
1551:
1552: 2000-04-15 Linus Nordberg <linus@swox.se>
1553:
1554: * configure.in (hppa2.0*): Use path "hppa/hppa1_1 hppa" if no
1555: 64-bit compiler was found.
1556: * configure: Regenerate.
1557:
1558: 2000-04-15 Linus Nordberg <linus@swox.se>
1559:
1560: * configure.in: Honor `CC' and `CFLAGS' set by user on configure
1561: command line.
1562: * acinclude.m4: (GMP_PROG_CC_SELECT): Set CFLAGS if not set already.
1563: * aclocal.m4: Regenerate.
1564: * configure: Regenerate.
1565:
1566: 2000-04-15 Linus Nordberg <linus@swox.se>
1567:
1568: * acinclude.m4 (GMP_PROG_CC_FIND): Remove debug output. Remove
1569: commented out code.
1570: * aclocal.m4: Regenerate.
1571: * configure: Regenerate.
1572:
1573: * configure.in: Make all `-mcpu' options to gcc optional.
1574: * configure: Regenerate.
1575:
1576: 2000-04-15 Kevin Ryde <kevin@swox.se>
1577:
1578: * README: Small updates.
1579: * NEWS: Add some things about 3.0.
1580:
1581: * mpz/Makefile.am (EXTRA_DIST): Remove dmincl.c.
1582:
1583: * Makefile.am: Use -version-info on libraries, not -release.
1584:
1585: * mpz/tdiv_qr.c: Add mdiv function header #ifdef BERKELEY_MP.
1586: * mpbsd/Makefile.am: Use mpz/tdiv_qr.c, not mdiv.c.
1587: * Makefile.am (MPBSD_OBJECTS): Change mdiv.lo to tdiv_qr.lo.
1588: (libmp_la_DEPENDENCIES): Add mp_clz_tab.lo.
1589: * mpbsd/mdiv.c: Remove file.
1590:
1591: * config/mt-linux,mt-m68k,mt-m88110,mt-ppc,mt-ppc64-aix,mt-pwr,
1592: mt-sprc8-gcc,mt-sprc9-gcc,mt-supspc-gcc,mt-vax,mt-x86,
1593: mpn/config/mt-pa2hpux,mt-sprc9,t-oldgas,t-ppc-aix,t-pwr-aix:
1594: Remove configure fragments not used since change to autoconf.
1595:
1596: * mpn/generic/bz_divrem_n.c,sb_divrem_mn.c: Add comment that
1597: internal functions are changeable and shouldn't be used directly.
1598:
1599: 2000-04-15 Linus Nordberg <linus@swox.se>
1600:
1601: * configure.in: Remove debug output.
1602: * configure: Regenerate.
1603:
1604: 2000-04-15 Torbjorn Granlund <tege@swox.com>
1605:
1606: * mpn/generic/tdiv_qr.c: Don't use alloca directly.
1607:
1608: * mpz/tdiv_qr.c: Fix typo.
1609: * mpz/tdiv_r.c: Fix typo.
1610: * mpz/tdiv_q.c: Fix typo.
1611:
1612: * configure.in: Disable -march=pentiumpro due to apparent compiler
1613: problems.
1614:
1615: * mpz/powm.c: Replace with new code from Paul Zimmermann.
1616:
1617: * mpz/tdiv_q.c: Remove debug code.
1618:
1619: * mpn/generic/divrem.c: Remove C++ style `//' commented-out code.
1620: * mpn/generic/sb_divrem_mn.c: Likewise.
1621:
1622: 2000-04-14 Torbjorn Granlund <tege@swox.com>
1623:
1624: * mpz/cdiv_q.c: Change temp allocation for new requirements of
1625: mpz_tdiv_qr.
1626: * mpz/fdiv_q.c: Likewise.
1627:
1628: * mpn/sparc64/gmp-mparam.h: Set up parameters for TOOM3.
1629:
1630: * mpz/dmincl.c: Delete file.
1631: * mpz/tdiv_qr.c: Rewrite using mpn_tdiv_qr.
1632: * mpz/tdiv_r.c: Likewise.
1633: * mpz/tdiv_q.c: Likewise.
1634:
1635: * mpn/generic/tdiv_qr.c: New file.
1636: * mpn/generic/bz_divrem_n.c: New file.
1637: * mpn/generic/sb_divrem_mn.c: New file.
1638:
1639: * gmp-impl.h (MPZ_REALLOC): New macro.
1640: (mpn_sb_divrem_mn): Declare.
1641: (mpn_bz_divrem_n): Declare.
1642: (mpn_tdiv_qr): Declare.
1643:
1644: * configure.in (gmp_mpn_functions): Delete divrem_newt and divrem_1n;
1645: add tdiv_qr, bz_divrem_n, and sb_divrem_mn.
1646: * mpn/generic/divrem_newt.c: Delete file.
1647: * mpn/generic/divrem_1n.c: Delete file.
1648:
1649: * gmp.h (mpn_divrem_newton): Remove declaration.
1650: (mpn_divrem_classic): Remove declaration.
1651:
1652: * gmp.h (mpn_divrem): Remove function definition.
1653: * mpn/generic/divrem.c: Replace mpn_divrem_classic with a
1654: mpn_divrem wrapper.
1655:
1656: 2000-04-14 Kevin Ryde <kevin@swox.se>
1657:
1658: * mpf/dump.c, mpz/dump.c, mpn/generic/dump.c,
1659: mpn/generic/divrem.c, mpn/generic/divrem_1n.c,
1660: mpn/generic/divrem_2.c, mpn/generic/divrem_newt.c,
1661: mpn/generic/mul.c, mpn/generic/mul_basecase.c,
1662: mpn/generic/mul_n.c, mpn/generic/sqr_basecase.c,
1663: mpn/generic/udiv_w_sdiv.c: Add comment that internal functions are
1664: changeable and shouldn't be used directly.
1665:
1666: * mpq/div.c: Use DIVIDE_BY_ZERO (previously didn't get an
1667: exception on zero divisor).
1668:
1669: * mpf/tests/t-get_d.c, mpz/tests/reuse.c: Add K&R function
1670: definitions.
1671: * mpz/tests/t-2exp.c: Don't use ANSI-ism 2ul.
1672:
1673: * gmp.texi (Installing MP): Build problem notes for GSYM_PREFIX
1674: and ranlib on native SunOS.
1675: Particular systems notes about AIX and HPPA shared libraries
1676: disabled.
1677: (MP Basics): Add that undocumented things shouldn't be used.
1678: (Introduction to MP): Add to CPUs listed.
1679:
1680: * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Don't depend on C
1681: having "void".
1682:
1683: 2000-04-13 Linus Nordberg <linus@swox.se>
1684:
1685: * mpn/pa64/udiv_qrnnd.c (__udiv_qrnnd64): Add K&R function
1686: definition.
1687:
1688: * configure.in: Disable shared libraries for hppa*.
1689: (mips-sgi-irix6.*): Fix flags for 64-bit gcc.
1690: (hppa2.0*-*-*): Prefer c89 to cc.
1691: * configure: Regenerate.
1692:
1693: * gmp.h (gmp_randalg_t): Remove comma after last element.
1694:
1695: 2000-04-13 Kevin Ryde <kevin@swox.se>
1696:
1697: * mpn/generic/mul_n.c, mpn/generic/gcdext.c, mpz/nextprime.c,
1698: mpz/remove.c, mpz/root.c: Add K&R function definitions.
1699: * mpz/rrandomb.c: Fix typo in K&R part.
1700: * stack-alloc.c: Add K&R style function pointer declarations.
1701:
1702: * mpz/root.c: Use SQRT_OF_NEGATIVE on even roots of negatives.
1703: Use DIVIDE_BY_ZERO on a "zero'th" root.
1704:
1705: * configure: Regenerate with autoconf backpatched to fix --srcdir
1706: absolute path wildcards that bash doesn't like, change by Linus.
1707:
1708: * gmp.texi (Integer Arithmetic): Document mpz_nextprime.
1709: (Miscellaneous Integer Functions): Fix mpz_fits_* formatting.
1710: (Installing MP): Comment-out CC and CFLAGS description.
1711:
1712: 2000-04-13 Linus Nordberg <linus@swox.se>
1713:
1714: * rand.c (gmp_randinit): Don't combine va_alist with ordinary
1715: arguments for non STDC.
1716:
1717: 2000-04-13 Torbjorn Granlund <tege@swox.com>
1718:
1719: * mpz/nextprime.c: Use proper names of new random types and functions.
1720:
1721: * mpz/rrandomb.c: New file.
1722: * mpz/Makefile.am: List it.
1723: * mpz/Makefile.in: Regenerate.
1724: * Makefile.am: Here too.
1725: * Makefile.in: Regenerate.
1726: * gmp.h: Declare mpz_rrandomb.
1727:
1728: 2000-04-12 Linus Nordberg <linus@swox.se>
1729:
1730: * Makefile.am, demos/Makefile.am, mpbsd/Makefile.am,
1731: mpbsd/tests/Makefile.am, mpf/Makefile.am, mpf/tests/Makefile.am,
1732: mpn/Makefile.am, mpq/Makefile.am, mpq/tests/Makefile.am,
1733: mpz/Makefile.am, mpz/tests/Makefile.am, tests/Makefile.am,
1734: tests/rand/Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'.
1735:
1736: * Makefile.in, demos/Makefile.in, mpbsd/Makefile.in,
1737: mpbsd/tests/Makefile.in, mpf/Makefile.in, mpf/tests/Makefile.in,
1738: mpn/Makefile.in, mpq/Makefile.in, mpq/tests/Makefile.in,
1739: mpz/Makefile.in, mpz/tests/Makefile.in, tests/Makefile.in,
1740: tests/rand/Makefile.in: Regenerate.
1741:
1742: 2000-04-12 Linus Nordberg <linus@swox.se>
1743:
1744: * randlc.c (gmp_randinit_lc): Disable function.
1745: * gmp.texi (Random State Initialization): Remove gmp_randinit_lc.
1746:
1747: * acinclude.m4 (GMP_CHECK_CC_64BIT): Compiling an empty main
1748: successfully with `-n32' will have to suffice on irix6.
1749: * aclocal.m4: Regenerate.
1750:
1751: * configure.in (sparc): Don't pass -D_LONG_LONG_LIMB to compiler.
1752: (mips-sgi-irix6.*): Use compiler option `-n32' rather than `-64'
1753: for 64-bit `cc'. Add options for gcc.
1754: * configure: Regenerate.
1755:
1756: * mpf/urandomb.c (mpf_urandomb): Add third parameter 'nbits'. If
1757: 'nbits' doesn't make even limbs, shift up result before
1758: normalizing.
1759:
1760: * gmp.h (mpf_urandomb): Add parameter to prototype.
1761:
1762: * mpf/urandom.c: Rename file to ...
1763: * mpf/urandomb.c: ... this.
1764: * Makefile.am (MPF_OBJECTS): Change urandom.lo --> urandomb.lo.
1765: * Makefile.in: Regenerate.
1766: * mpf/Makefile.am (libmpf_la_SOURCES): Change urandom.c --> urandomb.c.
1767: * mpf/Makefile.in: Regenerate.
1768:
1769: * config.in: Regenerate for HAVE_DECL_OPTARG.
1770:
1771: * randraw.c (_gmp_rand): Fix bug with _LONG_LONG_LIMB.
1772: (lc): Change return type.
1773: Use one temporary storage instead of two.
1774: Handle seed of size 0.
1775: Avoid modulus operation in some cases.
1776: Abort if M is not a power of 2.
1777: Fix bug with 64-bit limbs.
1778: Fix bug with small seed, small A and large M.
1779:
1780: 2000-04-12 Kevin Ryde <kevin@swox.se>
1781:
1782: * gmp-impl.h: Include config.h before TMP_ALLOC, so
1783: --disable-alloca works.
1784:
1785: * mpbsd/Makefile.am: Don't recompile top-level sources here.
1786: * Makefile.am (libmp_la_DEPENDENCIES): Put objects here instead,
1787: add errno.lo and stack-alloc.lo.
1788:
1789: * mpn/asm-defs.m4: Add a test and message for the unsuitable SunOS m4.
1790: * gmp.texi (Installing MP): Update note on SunOS m4 failure.
1791:
1792: * acconfig.h: Add copyright notice using @TOP@.
1793:
1794: * stack-alloc.c: Use _mp_allocate_func, not malloc.
1795: * gmp.texi (Installing MP): Note this under --disable-alloca.
1796:
1797: * gmp.texi (Comparison Functions): mpz_cmp_abs => mpz_cmpabs.
1798: (Integer Arithmetic): mpz_prime_p not yet implemented, comment out.
1799: (Float Arithmetic): mpf_pow_ui now implemented, uncomment-out.
1800: (Miscellaneous Float Functions): Add mpf_ceil, mpf_floor, mpf_trunc.
1801: (Low-level Functions): Add mpn_random2, with mpn_random.
1802:
1803: * mpn/m68k/mc68020/udiv.S: Rename from udiv.s.
1804: * mpn/m68k/mc68020/umul.S: Ditto.
1805:
1806: * mpn/alpha/umul.asm: Rename from umul.s, remove .file and
1807: compiler identifiers.
1808:
1809: * mpn/powerpc32/syntax.h: Removed, no longer used.
1810:
1811: * mpn/a29k/udiv.s: Remove .file and compiler identifiers.
1812: * mpn/a29k/umul.s: Ditto.
1813:
1814: * mpn/tests/ref.c: Use WANT_ASSERT.
1815: * mpn/tests/ref.h: Use _PROTO.
1816:
1817: * mpbsd/configure.in: Removed, no longer required.
1818:
1819: * mpf/div.c: Use DIVIDE_BY_ZERO.
1820: * mpf/div_ui.c: Ditto.
1821: * mpf/ui_div.c: Ditto.
1822: * mpq/inv.c: Ditto.
1823: * mpf/sqrt.c: Use SQRT_OF_NEGATIVE.
1824: * mpz/sqrt.c: Ditto.
1825: * mpz/sqrtrem.c: Ditto.
1826:
1827: * gmp-impl.h (GMP_ERROR,SQRT_OF_NEGATIVE): New macros.
1828: (DIVIDE_BY_ZERO): Use GMP_ERROR.
1829: (__mp_bases): #define to __MPN(mp_bases).
1830:
1831: 2000-04-11 Kevin Ryde <kevin@swox.se>
1832:
1833: * mpz/fib_ui.c: Add K&R function definitions.
1834:
1835: * mpbsd/tests/Makefile.am (TESTS): Add a dummy test to avoid a
1836: shell problem with an empty "for tst in $(TESTS) ; ...".
1837: * mpbsd/tests/dummy.c: New file.
1838:
1839: 2000-04-10 Torbjorn Granlund <tege@swox.com>
1840:
1841: * mpz/bin_uiui.c: Delete several unused variables.
1842: Add copyright notice.
1843: * mpz/bin_ui.c: Add copyright notice.
1844:
1845: * longlong.h: Declare __count_leading_zeros for alpha.
1846:
1847: 2000-04-10 Linus Nordberg <linus@swox.se>
1848:
1849: * rand.c (gmp_randinit): Change parameter list to (rstate, alg, ...).
1850: * gmp.h: Change prototype accordingly.
1851: * mpz/pprime_p.c (millerrabin): Change call accordingly.
1852:
1853: * configure.in: Check for `optarg'.
1854: * configure: Regenerate.
1855:
1856: * mpn/Makefile.am: Remove incorrect comment.
1857: * mpn/Makefile.in: Regenerate.
1858:
1859: * gmp.h: Rename most of the random number functions, structs and
1860: some of the struct members.
1861: * rand.c (gmp_randinit): Likewise.
1862: * randclr.c (gmp_randclear): Likewise.
1863: * randlc.c (gmp_randinit_lc): Likewise.
1864: * randlc2x.c (gmp_randinit_lc_2exp): Likewise.
1865: * randraw.c (lc): Likewise.
1866: (_gmp_rand_getraw): Likewise.
1867: * randsd.c (gmp_randseed): Likewise.
1868: * randsdui.c (gmp_randseed_ui): Likewise.
1869: * gmp.texi: Likewise.
1870:
1871: * gmp.texi: Use three hyphens for a dash.
1872: (Low-level Functions): Remove documentation for gmp_rand_getraw.
1873: (Random Number Functions): Add info on where to find documentation
1874: on the random number functions.
1875:
1876: 2000-04-10 Torbjorn Granlund <tege@swox.com>
1877:
1878: * mpz/pprime_p.c: Pass 0L for mpz_scan1. mpz_mmod => mpz_mod.
1879: (millerrabin): Use new random interface.
1880: (millerrabin): ... and don't forget to call gmp_randclear.
1881:
1882: * mpz/nextprime.c: New file.
1883: * gmp.h: Declare mpz_nextprime.
1884: * mpz/Makefile.am: List nextprime.c.
1885: * mpz/Makefile.in: Regenerate.
1886: * Makefile.am: List mpz/nextprime.lo.
1887: * Makefile.in: Regenerate.
1888:
1889: 2000-04-10 Kevin Ryde <kevin@swox.se>
1890:
1891: * move-if-change: Removed, no longer used.
1892: * mp{z,q,f}/tests/move-if-change: Ditto.
1893:
1894: * Makefile.am (SUBDIRS): Add tests, demos, mpbsd.
1895: (libmp.la): New target, conditional on WANT_MPBSD.
1896: (libgmp_la_LIBADD): Add -lm.
1897: (AUTOMAKE_OPTIONS): Add check-news.
1898: (include_HEADERS): Setup to install gmp.h and possibly mp.h.
1899: (DISTCLEANFILES): Add generated files.
1900: (check): Remove explicit target (now uses check-recursive).
1901:
1902: * configure.in: Use AM_CONFIG_HEADER.
1903: Add --enable-mpbsd setting automake conditional WANT_MPBSD.
1904: Output demos/Makefile, mpbsd/Makefile and mpbsd/tests/Makefile.
1905:
1906: * mpz/Makefile.am: Add SUBDIRS=tests, shorten INCLUDES since now
1907: using AM_CONFIG_HEADER.
1908: * mpq/Makefile.am: Ditto.
1909: * mpf/Makefile.am: Ditto, and add DISTCLEANFILES.
1910: * mpn/Makefile.am: Shorten INCLUDES, amend some comments.
1911: * mpz/tests/Makefile.am: Use TESTS and $(top_builddir).
1912: * mpf/tests/Makefile.am: Ditto.
1913: * mpq/tests/Makefile.am: Ditto.
1914: * demos/Makefile.am: New file.
1915:
1916: * mpbsd/Makefile.am: New file, derived from old mpbsd/Makefile.in.
1917: * mpbsd/Makefile.in: Now generated from Makefile.am.
1918: * mpbsd/realloc.c: Removed, use mpz/realloc.c instead.
1919: * mpbsd/tests/Makefile.am: New file.
1920: * mpbsd/tests/Makefile.in: New file, generated from Makefile.am.
1921: * mpbsd/tests/allfuns.c: New file.
1922:
1923: * gmp.texi (Top): Use @ifnottex, to help makeinfo --html.
1924: (Installing MP): Describe --enable-mpbsd and demo programs.
1925:
1926: 2000-04-09 Torbjorn Granlund <tege@swox.com>
1927:
1928: * mpz/urandomm.c: Get type of count right.
1929: Simplify computation of nbits.
1930:
1931: 2000-04-08 Torbjorn Granlund <tege@swox.com>
1932:
1933: * mpz/urandomb.c: Fix reallocation condition.
1934: Simplify size computation.
1935:
1936: 2000-04-08 Linus Nordberg <linus@swox.se>
1937:
1938: * acinclude.m4 (GMP_CHECK_CC_64BIT): Add special handling for
1939: HPUX.
1940: (GMP_CHECK_ASM_W32): Ditto.
1941: * aclocal.m4: Regenerate.
1942:
1943: * mpn/Makefile.am: Use $(CCAS) for assembling.
1944: (.asm.obj): Add rule.
1945: * mpn/Makefile.in: Regenerate.
1946:
1947: * gmp.texi (Miscellaneous Integer Functions): Fix typos.
1948:
1949: * configure.in: Never pass `-h' to grep.
1950: (mips-sgi-irix6.[2-9]*): Try to find 64-bit compiler.
1951: (hppa1.0*-*-*): New flag for cc.
1952: (hppa2.0*-*-*): Try to find 64-bit compiler. Chose path, set
1953: CCAS.
1954: * configure: Regenerate.
1955:
1956: 2000-04-08 Torbjorn Granlund <tege@swox.com>
1957:
1958: * mpz/bin_ui.c: Don't depend on ANSI C features.
1959: * mpz/bin_uiui.c: Likewise.
1960:
1961: * Makefile.am (MPZ_OBJECTS): mpz/cmp_abs* => mpz/cmpabs*.
1962: (MPQ_OBJECTS): Add mpq/set_d.lo.
1963: (MPZ_OBJECTS): Add mpz/fits*.lo.
1964: * Makefile.in: Regenerate.
1965:
1966: * mpz/cmpabs.c: New name for mpz/cmp_abs.c.
1967: * mpz/cmpabs_ui.c: New name for mpz/cmp_abs_ui.c.
1968: * mpz/Makefile.am: Corresponding changes.
1969: * mpz/Makefile.in: Regenerate.
1970: * gmp.h: mpz_cmp_abs* => mpz_cmpabs*.
1971:
1972: * mpz/addmul_ui.c (mpn_neg1): Don't depend on ANSI C features.
1973:
1974: * mpz/invert.c: Use TMP_MARK since we invoke MPZ_TMP_INIT.
1975:
1976: * gmp.h (mpq_set_d): Declare correctly.
1977: (mpz_root): Use _PROTO.
1978: (mpz_remove): Use _PROTO.
1979: (mpf_pow_iu): Use _PROTO.
1980:
1981: * mpn/asm-defs.m4 (MPN_PREFIX): Revert previous change.
1982: * gmp.h (__MPN): Revert previous change.
1983:
1984: * mpz/perfpow.c: De-ANSI-fy. Add copyright notice.
1985:
1986: * mpz/set_d.c: Misc cleanups.
1987:
1988: * mpq/set_d: New file.
1989: * gmp.h: Declare mpq_set_d.
1990: * mpq/Makefile.am: List set_d.c.
1991: * mpq/Makefile.in: Regenerate.
1992:
1993: 2000-04-07 Torbjorn Granlund <tege@swox.com>
1994:
1995: * mpz/fits_sint_p.c: New file.
1996: * mpz/fits_slong_p.c: New file.
1997: * mpz/fits_sshort_p.c: New file.
1998: * mpz/fits_uint_p.c: New file.
1999: * mpz/fits_ulong_p.c: New file.
2000: * mpz/fits_ushort_p.c: New file.
2001: * gmp.h: Declare mpz_fits_*.
2002: * mpz/Makefile.am: List fits_* files.
2003: * mpz/Makefile.in: Regenerate.
2004:
2005: 2000-04-06 Kevin Ryde <kevin@swox.se>
2006:
2007: * gmp.texi (Installing MP): Add known build problem SunOS 4.1.4 m4
2008: failure.
2009:
2010: * mpn/x86/pentium/gmp-mparam.h: Tune thresholds.
2011: * mpn/x86/p6/gmp-mparam.h: Ditto.
2012: * mpn/x86/k6/gmp-mparam.h: Tune thresholds, add UMUL_TIME, UDIV_TIME.
2013: * mpn/x86/k7/gmp-mparam.h: Tune thresholds, amend UMUL_TIME.
2014:
2015: * mpn/generic/mul_n.c (mpn_kara_mul_n): Add an ASSERT.
2016: (mpn_kara_sqr_n): Add an ASSERT, use KARATSUBA_SQR_THRESHOLD.
2017: (mpn_toom3_sqr_n): Eliminate second evaluate3.
2018:
2019: * gmp-impl.h (mpn_com_n,MPN_LOGOPS_N_INLINE): Don't allow size==0.
2020: (tune_mul_threshold,tune_sqr_threshold): Conditionalize
2021: declarations on TUNE_PROGRAM_BUILD.
2022:
2023: * mpn/generic/sqr_basecase.c: Add an assert.
2024:
2025: 2000-04-05 Torbjorn Granlund <tege@swox.com>
2026:
2027: * gmp.h, mpn/asm-defs.m4: List the same functions for __MPN, but
2028: leave some commented out.
2029:
2030: * gmp-impl.h (MPN_LOGOPS_N_INLINE): Optimize.
2031: (mpn_com_n): Optimize.
2032:
2033: * gmp.h (__MPN): Make it use __gmpn instead of __mpn for consistency.
2034: * mpn/asm-defs.m4 (MPN_PREFIX): Likewise.
2035:
2036: * gmp.h (GMP_ERROR_ALLOCATE): New errcode.
2037:
2038: * gmp-impl.h (MPN_MUL_N_RECURSE): Delete.
2039: (MPN_SQR_RECURSE): Delete.
2040:
2041: * gmp-impl.h (TARGET_REGISTER_STARVED): New define.
2042:
2043: * gmp-impl.h (mpn_kara_sqr_n): Remap with __MPN.
2044: (mpn_toom3_sqr_n): Likewise.
2045: (mpn_kara_mul_n): Likewise.
2046: (mpn_toom3_mul_n): Likewise.
2047: (mpn_reciprocal): Likewise.
2048:
2049: * gmp-impl.h (__gmpn_mul_n): Remove declaration.
2050: (__gmpn_sqr): Likewise.
2051: * gmp.h (mpn_sqr_n): Declare/remap.
2052: * mpn/generic/mul.c (mpn_sqr_n): New name for mpn_sqr.
2053:
2054: * gmp.h (mpn_udiv_w_sdiv): Move __MPN remap from here...
2055: * gmp-impl.h: ...to here.
2056:
2057: 2000-04-05 Linus Nordberg <linus@swox.se>
2058:
2059: * gmp.texi (Top): Add `Random Number Functions' to menu.
2060: (Introduction to MP): Fix typo.
2061: (MP Basics): Create menu for all sections. Move `Random Number
2062: Functions' to its own chapter. Add nodes for all sections.
2063: (Function Classes): Mention random generation functions under
2064: miscellaneous.
2065: (Miscellaneous Integer Functions): Update mpz_urandomb,
2066: mpz_urandomm.
2067: (Low-level Functions): Remove mpn_rawrandom.
2068: (Random State Initialization): Update.
2069:
2070: * mpf/urandom.c (mpf_urandomb): Remove SIZE parameter. Normalize
2071: result correctly.
2072:
2073: * gmp.h (mpf_urandomb): Remove SIZE parameter.
2074:
2075: * randraw.c (gmp_rand_getraw): Handle the case where (1) the LC
2076: scheme doesn't generate even limbs and (2) more than one LC
2077: invokation is necessary to produce the requested number of bits.
2078:
2079: 2000-04-05 Torbjorn Granlund <tege@swox.com>
2080:
2081: * mpn/generic/mul_n.c (INVERSE_3): New name for THIRD, define for
2082: any BITS_PER_MP_LIMB.
2083: (MP_LIMB_T_MAX): New.
2084: (mpn_divexact3_n): Remove.
2085: (interpolate3): Use mpn_divexact_by3 instead of mpn_divexact3_n.
2086:
2087: 2000-04-05 Kevin Ryde <kevin@swox.se>
2088:
2089: * gmp-impl.h (KARATSUBA_MUL_THRESHOLD<2): Remove cpp test.
2090: (tune_mul_threshold,tune_sqr_threshold): Add declarations, used in
2091: development only.
2092:
2093: * mpn/x86/k7/sqr_basecase.asm: New file, only a copy of k6 for now.
2094:
2095: 2000-04-04 Torbjorn Granlund <tege@swox.com>
2096:
2097: * gmp-impl.h (TOOM3_MUL_THRESHOLD): Provide default.
2098: (TOOM3_SQR_THRESHOLD): Provide default.
2099:
2100: * mpn/generic/mul_n.c: Rewrite (mostly by Robert Harley).
2101: * mpn/generic/mul.c: Rewrite (mostly by Robert Harley).
2102:
2103: * configure.in (sparcv9 64-bit OS): Set extra_functions.
2104:
2105: 2000-04-04 Linus Nordberg <linus@swox.se>
2106:
2107: * mpn/generic/rawrandom.c: Remove file and replace with randraw.c
2108: on top level.
2109: (mpn_rawrandom): Rename to gmp_rand_getraw.
2110:
2111: * randraw.c: New file; essentially a copy of
2112: mpn/generic/rawrandom.c.
2113: (gmp_rand_getraw): New function (formerly known as mpn_rawrandom).
2114:
2115: * mpz/urandomb.c (mpz_urandomb): Change mpn_rawrandom -->
2116: gmp_rand_getraw.
2117: * mpz/urandomm.c (mpz_urandomb): Ditto.
2118: * mpf/urandom.c (mpf_urandomb): Ditto.
2119:
2120: * gmp.h (gmp_rand_getraw): Add function prototype.
2121: (mpn_rawrandom): Remove function prototype.
2122:
2123: * Makefile.am (libgmp_la_SOURCES): Add randraw.c.
2124: * Makefile.in: Regenerate.
2125:
2126: * configure.in (gmp_mpn_functions): Remove rawrandom.
2127: * configure: Regenerate.
2128:
2129: 2000-04-04 Linus Nordberg <linus@swox.se>
2130:
2131: * gmp.h (GMP_ERROR enum): Remove comma after last enumeration
2132: since the AIX compiler (xlc) doesn't like that.
2133:
2134: * randlc.c (gmp_rand_init_lc): Allocate enough space for seed to
2135: hold any upcoming seed.
2136: * randlc2x.c (gmp_rand_init_lc_2exp): Likewise.
2137:
2138: * mpn/generic/rawrandom.c: Remove debugging code.
2139: (mpn_lc): Don't reallocate seed.
2140:
2141: * mpz/urandomm.c (mpz_urandomm): Implement function.
2142:
2143: * mpz/urandomb.c (mpz_urandomb): Fix typo in function definition.
2144:
2145: 2000-04-04 Kevin Ryde <kevin@swox.se>
2146:
2147: * make.bat: Removed (no longer works, no longer supported).
2148: * mpn/msdos/asm-syntax.h: Removed (was used only by make.bat).
2149:
2150: 2000-04-03 Torbjorn Granlund <tege@swox.com>
2151:
2152: * mpn/generic/brandom.c: New file, replacing random2.
2153:
2154: 2000-04-02 Torbjorn Granlund <tege@swox.com>
2155:
2156: * mpn/sparc32/v9/submul_1.asm: Change some carry-form instructions
2157: into their plain counterparts.
2158:
2159: * mpn/sparc64/copyi.asm: Avoid executing ALIGN.
2160:
2161: * mpn/sparc64/mul_1.asm: Handle overlap of rp/sp.
2162: * mpn/sparc64/addmul_1.asm: Likewise.
2163: * mpn/sparc64/submul_1.asm: Likewise.
2164:
2165: 2000-04-01 Linus Nordberg <linus@swox.se>
2166:
2167: * gmp.h: Fix function prototypes for randomization functions.
2168: (__gmp_rand_lc_scheme_struct): Replace `m' with `m2exp'. Remove
2169: unused `bits'.
2170: (__gmp_rand_data_lc): Add `m2exp' as another way of representing
2171: the modulus.
2172: (__gmp_rand_state_struct): Remove unused `size'.
2173:
2174: * rand.c (__gmp_rand_scheme): Use better multipliers. Remove test
2175: schemes. Replace `m' with `m2exp'.
2176: (gmp_rand_init): Change parameters and return type. Use `m2exp'
2177: instead of `m'. Set `gmp_errno' on error. Disable BBS algorithm.
2178:
2179: * randlc.c (gmp_rand_init_lc): Don't use malloc(). Change
2180: parameters.
2181:
2182: * randclr.c (gmp_rand_clear): Don't use free(). Disable BBS
2183: algorithm. Set `gmp_errno' on error.
2184:
2185: * randlc2x.c (gmp_rand_init_lc_2exp): New function.
2186: * randsd.c (gmp_rand_seed): New function.
2187: * randsdui.c (gmp_rand_seed_ui): New function.
2188: * randlcui.c: Remove unused file.
2189:
2190: * mpn/generic/rawrandom.c (mpn_rawrandom): Rewrite.
2191: (mpn_lc): New static function.
2192:
2193: * mpz/urandomb.c (mpz_urandomb): Use ABSIZ() instead of SIZ() for
2194: determining size of ROP.
2195:
2196: * mpf/urandom.c (mpf_urandomb): Add third parameter, nbits. (Not
2197: used yet!)
2198: Change parameter order to mpn_rawrandom().
2199:
2200: * Makefile.am (libgmp_la_SOURCES): Add errno.c, randlc2x.c,
2201: randsd.c, randsdui.c. Remove randui.c.
2202: (MPZ_OBJECTS): Rename urandom.lo --> urandomb.lo. Add urandomm.lo.
2203: * Makefile.in: Regenerate.
2204:
2205: * mpz/Makefile.am (libmpz_la_SOURCES): Change urandom.c -->
2206: urandomb.c. Add urandomm.c.
2207: * mpz/Makefile.in: Regenerate.
2208:
2209: 2000-04-01 Kevin Ryde <kevin@swox.se>
2210:
2211: * acinclude.m4 (GMP_CHECK_ASM_DATA): Plain .data for hpux.
2212: * configure.in (CCAS): No CFLAGS, they're added when it's used.
2213: (CONFIG_SRCDIR): New define for config.m4.
2214: * mpn/sparc64/addmul_1.asm: Use it for an include().
2215: * mpn/sparc64/submul_1.asm: Ditto.
2216: * mpn/sparc64/mul_1.asm: Ditto.
2217:
2218: 2000-03-31 Linus Nordberg <linus@swox.se>
2219:
2220: * mpz/urandom.c: Rename to...
2221: * mpz/urandomb.c: ...this.
2222:
2223: * mpz/urandomb.c (mpz_urandomb): Change operand order in call to
2224: mpn_rawrandom(). Use ABSIZ() instead of SIZ() when checking size
2225: of ROP.
2226:
2227: * mpz/urandomm.c: New file.
2228:
2229: 2000-03-31 Kevin Ryde <kevin@swox.se>
2230:
2231: * acinclude.m4 (GMP_CHECK_ASM_MMX): Give a warning when mmx code
2232: will be omitted.
2233:
2234: 2000-03-30 Torbjorn Granlund <tege@swox.com>
2235:
2236: * mpn/sparc64/mul_1h.asm: New file.
2237: * mpn/sparc64/addmul_1h.asm: New file.
2238: * mpn/sparc64/submul_1h.asm: New file.
2239: * mpn/sparc64/mul_1.asm: Rewrite.
2240: * mpn/sparc64/addmul_1.asm: Rewrite.
2241: * mpn/sparc64/submul_1.asm: Rewrite.
2242:
2243: 2000-03-28 Torbjorn Granlund <tege@swox.com>
2244:
2245: * mpn/sparc32/v9/mul_1.asm: Fix typo in branch prediction.
2246: * mpn/sparc32/v9/addmul_1.asm: Likewise.
2247: * mpn/sparc32/v9/submul_1.asm: Likewise.
2248:
2249: 2000-03-25 Kevin Ryde <kevin@swox.se>
2250:
2251: * mpn/lisp/gmpasm-mode.el: Fix some comment detection, use custom,
2252: fontify more keywords, turn into a standalone mode.
2253:
2254: * stamp-vti: New file, generated together with version.texi.
2255:
2256: * acinclude.m4 (GMP_VERSION,GMP_HEADER_GETVAL): New macros.
2257: * configure.in (AM_INIT_AUTOMAKE): Use GMP_VERSION.
2258:
2259: 2000-03-24 Kevin Ryde <kevin@swox.se>
2260:
2261: * INSTALL: Updates for new configure system.
2262:
2263: * configure.in: Add gmp_optcflags_gcc for the x86s, setting -mcpu
2264: and -march.
2265:
2266: 2000-03-23 Torbjorn Granlund <tege@swox.com>
2267:
2268: * demos/pexpr.c (mpz_eval_expr): Properly initialize rhs/lhs
2269: for ROOT.
2270:
2271: 2000-03-23 Kevin Ryde <kevin@swox.se>
2272:
2273: * config.guess (i?86:*:*:*): Use uname -m if detection program fails.
2274:
2275: * mpn/x86/README: Remove remarks on the now implemented MMX shifts.
2276: * mpn/x86/k6/README: Add speed of mpn_divexact_by3, update mpn_mul_1.
2277:
2278: * gmp.texi (Installing MP): Corrections to target CPUs.
2279:
2280: * version.c: Use VERSION from config.h, add copyright comment,
2281: restore "const" somehow lost.
2282:
2283: * configure.in (a29k*-*-*): Fix directory name.
2284:
2285: 2000-03-22 Torbjorn Granlund <tege@swox.com>
2286:
2287: * demos/pexpr.c (op_t): Add ROOT.
2288: (fns): Add ROOT.
2289: (mpz_eval_expr): Add ROOT.
2290:
2291: * mpz/root.c: Handle roots of negative numbers.
2292: Fix other border cases.
2293: Fix rare memory leakage.
2294:
2295: * errno.c: New file.
2296:
2297: 2000-03-21 Torbjorn Granlund <tege@swox.com>
2298:
2299: * gmp.h (error number enum): New anonymous enum.
2300: (gmp_errno): New.
2301:
2302: * gmp.h (__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR): Bump for GMP 3.0.
2303:
2304: 2000-03-20 Torbjorn Granlund <tege@swox.com>
2305:
2306: * mpn/alpha/unicos.m4 (FLOAT64): New define.
2307: * mpn/alpha/default.m4 (FLOAT64): New define.
2308: * mpn/alpha/invert_limb.asm (C36): Use FLOAT64.
2309:
2310: 2000-03-21 Kevin Ryde <kevin@swox.se>
2311:
2312: * mpn/x86/k6/diveby3.asm: Tiny speedup.
2313:
2314: * acinclude.m4 (GMP_CHECK_ASM_SHLDL_CL): New macro.
2315: * configure.in: Use it, set WANT_SHLDL_CL in config.m4.
2316: * mpn/x86/x86-defs.m4 (shldl,shrdl,shldw,shrdw): New macros, using
2317: WANT_SHLDL_CL.
2318: * mpn/x86/k6/mmx/lshift.asm: Use shldl macro.
2319: * mpn/x86/k7/mmx/lshift.asm: Ditto.
2320: * mpn/x86/pentium/mmx/lshift.asm: Ditto.
2321: * mpn/x86/k6/mmx/rshift.asm: Use shrdl macro.
2322: * mpn/x86/k7/mmx/rshift.asm: Ditto.
2323: * mpn/x86/pentium/mmx/rshift.asm: Ditto.
2324: * mpn/x86/README.family: Add a note about this.
2325:
2326: 2000-03-20 Linus Nordberg <linus@swox.se>
2327:
2328: * mpn/generic/rawrandom.c (mpn_rawrandom): Handle seed value of 0
2329: correctly.
2330:
2331: * configure.in: Fix detection of alpha flavour.
2332: Set compiler options for `sparcv8'.
2333: * configure: Regenerate.
2334:
2335: * rand.c (__gmp_rand_scheme): Clean up some. Use slightly better
2336: multipliers.
2337:
2338: * configure.in (AC_OUTPUT): Add tests/Makefile and
2339: tests/rand/Makefile.
2340:
2341: * acinclude.m4 (AC_CANONICAL_BUILD): Define to
2342: `_AC_CANONICAL_BUILD' to deal with incompabilities between
2343: Autoconf and Libtool.
2344: (AC_CHECK_TOOL_PREFIX): Likewise.
2345:
2346: * Makefile.am (EXTRA_DIST): Add directory `tests'.
2347:
2348: * mkinstalldirs: Update (Automake 2000-03-17).
2349: * ltconfig: Update (Libtool 2000-03-17).
2350: * ltmain.sh: Ditto.
2351:
2352: * configure: Regenerate with new autoconf/-make/libtool suite.
2353: * aclocal.m4: Ditto.
2354: * config.in: Ditto.
2355: * all Makefile.in's: Ditto.
2356:
2357: 2000-03-20 Torbjorn Granlund <tege@swox.com>
2358:
2359: * demos/pexpr.c (main): Don't allow `-N' for base, require `-bN'.
2360:
2361: * mpn/alpha/unicos.m4 (cvttqc): New define.
2362: * mpn/alpha/invert_limb.asm: Use new define for cvttqc.
2363:
2364: 2000-03-19 Kevin Ryde <kevin@swox.se>
2365:
2366: * mpn/x86/k6/sqr_basecase.asm: Tiny amendments for 3x3 case.
2367:
2368: * gmp.texi: Use @include version.texi.
2369: Use @email and @uref.
2370: (Installing MP): Rewrite for new configure.
2371: (Low-level Functions): Add mpn_divexact_by3.
2372:
2373: * configure.in (--enable-alloca): New option.
2374: * acconfig.h (USE_STACK_ALLOC): For --disable-alloca.
2375:
2376: 2000-03-18 Kent Boortz <kent@swox.com>
2377:
2378: * macos: New directory with macos port files.
2379:
2380: 2000-03-17 Torbjorn Granlund <tege@swox.com>
2381:
2382: * gmp-impl.h (union ieee_double_extract): Check _CRAYMPP.
2383:
2384: * mpn/asm-defs.m4 (invert_normalized_limb): Define.
2385:
2386: * mpn/alpha: Translate `.s' files to `.asm'.
2387:
2388: * configure: Regenerate.
2389:
2390: * mpn/alpha/invert_limb.asm: Replace dash in file name with underscore.
2391: * configure.in: Corresponding change.
2392:
2393: * configure.in: Assign special "path" for alphaev6.
2394:
2395: * mpn/alpha/unicos.m4: New file.
2396: * configure.in (alpha*-cray-unicos*): [This part of the change
2397: commited 2000-03-13 by linus]
2398: * mpn/alpha/default.m4: New file.
2399: * configure.in (alpha*-*-*): Use it.
2400:
2401: 2000-03-17 Kevin Ryde <kevin@swox.se>
2402:
2403: * mpn/x86/pentium/rshift.S: Use plain rcrl (not rcrl $1) for
2404: shift-by-1 case, significant speedup.
2405: * mpn/x86/pentium/README: Add shift-by-1 speed.
2406:
2407: 2000-03-16 Torbjorn Granlund <tege@swox.com>
2408:
2409: * config.guess: Handle Cray T3D/E.
2410:
2411: 2000-03-15 Kevin Ryde <kevin@swox.se>
2412:
2413: * mpn/generic/diveby3.c: New file.
2414: * mpn/x86/diveby3.asm: New file.
2415: * mpn/x86/k6/diveby3.asm: New file.
2416: * gmp.h (mpn_divexact_by3): Prototype and define.
2417: * mpn/asm-defs.m4: define_mpn(divexact_by3).
2418: * configure.in (gmp_mpn_functions): Add diveby3.
2419:
2420: * mpn/x86/pentium/sqr_basecase.asm: A few better addressing modes.
2421:
2422: * configure.in: Add AC_C_STRINGIZE and AC_CHECK_TYPES((void)).
2423: * gmp-impl.h (ASSERT): Use them.
2424:
2425: * mpn/x86/k7/mmx/lshift.asm: New file.
2426: * mpn/x86/k7/mmx/rshift.asm: Rewrite simple loop and return value
2427: handling, add some pictures.
2428:
2429: 2000-03-14 Torbjorn Granlund <tege@swox.com>
2430:
2431: * mpn/sparc32/v8/mul_1.asm: Make PIC actually work.
2432: * mpn/sparc32/v8/addmul_1.asm: Likewise.
2433:
2434: * mpn/sparc32/v8/mul_1.asm: Use m4 ifdef, not cpp #if.
2435: * mpn/sparc32/v8/addmul_1.asm: Likewise.
2436:
2437: * mpn/asm-defs.m4 (C): New define for comments.
2438: * mpn/sparc32: Start comments with `C'.
2439:
2440: * config.guess: Remove `SunOS 6' handling.
2441: Recognize sun4m and sun4d architectures under old SunOS.
2442:
2443: 2000-03-14 Linus Nordberg <linus@swox.se>
2444:
2445: * configure.in (gmp_srclinks): Set to list of links created by
2446: configure.
2447: * configure: Regenerate.
2448:
2449: * Makefile.am (libgmp_la_LDFLAGS): Set version info.
2450: (DISTCLEANFILES): Include @gmp_srclinks@.
2451: * Makefile.in: Regenerate.
2452:
2453: 2000-03-13 Linus Nordberg <linus@swox.se>
2454:
2455: * configure.in: Remove some changequote's by quoting the strings
2456: containing `[]'.
2457: Add support for `alpha*-cray-unicos*'.
2458: AC_DEFINE `_LONG_LONG_LIMB' instead of passing it in CFLAGS.
2459: Conditionalize the assembler syntax checks.
2460: * configure: Regenerate.
2461: * config.in: Regenerate.
2462:
2463: * acinclude.m4 (GMP_PROG_CCAS): Remove macro.
2464: * aclocal.m4: Regenerate.
2465:
2466: 2000-03-13 Kevin Ryde <kevin@swox.se>
2467:
2468: * mpn/x86/p6/README: New file.
2469:
2470: * mpn/x86/k6/mul_1.asm: Rewrite, smaller and slightly faster.
2471:
2472: * mpn/lisp/gmpasm-mode.el: Rewrite assembler comment detection and
2473: handling.
2474:
2475: * configure.in: Separate mmx directories for each x86 flavour.
2476: * configure: Regenerate.
2477:
2478: 2000-03-12 Kevin Ryde <kevin@swox.se>
2479:
2480: * mpn/x86/x86-defs.m4 (ALIGN): Supplement definition from
2481: config.m4 so as to pad with nops not zeros on old gas.
2482:
2483: * mpn/x86/k7/mmx/copyd.asm: Use plain emms (femms is just an alias
2484: for emms now).
2485: * mpn/x86/k7/mmx/copyi.asm: Ditto.
2486: * mpn/x86/k7/mmx/rshift.asm: Ditto.
2487: * mpn/x86/x86-defs.m4: Amend comments.
2488:
2489: * mpn/x86/mod_1.asm: Add comments on speeds.
2490:
2491: * mpn/x86/pentium/mmx/lshift.asm: New file.
2492: * mpn/x86/pentium/mmx/rshift.asm: New file.
2493: * mpn/x86/pentium/README: Add speeds of various routines.
2494:
2495: 2000-03-10 Linus Nordberg <linus@swox.se>
2496:
2497: * configure.in: Reorganize.
2498: Use AC_CHECK_TOOL to find `ar'.
2499: Add post-includes `regmap.m4' and `aix.m4' for AIX targets.
2500: asm-syntax.h is not needed for PPC or sparc anymore.
2501: (powerpc64-*-aix*): Compiler is always 64-bit. Use `-q64
2502: -qtune=pwr3' to xlc and `-maix64 -mpowerpc64' to gcc. Pass `-X
2503: 64' to `ar' and `nm'.
2504: (pentiummmx): Use GMP_CHECK_ASM_MMX and avoid MMX assembly path if
2505: assembler is not MMX capable.
2506: (pentium[23]): Likewise.
2507: (athlon): Likewise.
2508: (k6*): Likewise.
2509: * configure: Regenerate.
2510:
2511: * acinclude.m4 (GMP_PROG_CC_WORKS): New macro.
2512: (GMP_PROG_CC_FIND): Use GMP_PROG_CC_WORKS instead of
2513: AC_TRY_COMPILER. Make sure that the *first* working 32-bit
2514: compiler is used if no 64-bit compiler is found.
2515: (GMP_CHECK_ASM_MMX): New macro.
2516: * aclocal.m4: Regenerate.
2517:
2518: * Makefile.in: Regenerate. (CC_TEST removed.)
2519: * mpf/Makefile.in: Likewise.
2520: * mpn/Makefile.in: Likewise.
2521: * mpq/Makefile.in: Likewise.
2522: * mpz/Makefile.in: Likewise.
2523: * mpf/tests/Makefile.in: Likewise.
2524: * mpq/tests/Makefile.in: Likewise.
2525: * mpz/tests/Makefile.in: Likewise.
2526:
2527: * acconfig.h (_LONG_LONG_LIMB): Add.
2528:
2529: * gmp-impl.h: Include config.h only if HAVE_CONFIG_H is defined.
2530:
2531: 2000-03-09 Kevin Ryde <kevin@swox.se>
2532:
2533: * mpn/x86/pentium/mul_basecase.S: Small speedup by avoiding an AGI.
2534:
2535: * mpn/x86/k7/mmx/copyd.asm: Tiny speedup by avoiding popl.
2536: * mpn/x86/k7/mmx/copyi.asm: Ditto.
2537: * mpn/x86/k7/mul_basecase.asm: Ditto.
2538:
2539: 2000-03-07 Torbjorn Granlund <tege@swox.com>
2540:
2541: * config.guess: Better recognize POWER/PowerPC processor type.
2542:
2543: 2000-03-07 Kevin Ryde <kevin@swox.se>
2544:
2545: * mpn/generic/addsub_n.c: Use HAVE_NATIVE_* now in config.h.
2546:
2547: * mpn/asm-defs.m4: Add comments about SysV m4.
2548: (m4_log2): Don't use <<.
2549: (m4_lshift,m4_rshift): New macros.
2550:
2551: 2000-03-06 Torbjorn Granlund <tege@swox.com>
2552:
2553: * mpn/powerpc32/regmap.m4: Map cr0 => `0', etc.
2554:
2555: 2000-03-06 Kevin Ryde <kevin@swox.se>
2556:
2557: * mpn/tests/ref.c (refmpn_divexact_by3): New function.
2558: * mpn/tests/ref.h: Prototype.
2559:
2560: * acconfig.h (WANT_ASSERT): New define.
2561: * configure.in (--enable-assert): Turn on WANT_ASSERT.
2562: * assert.c: New file.
2563: * Makefile.am: Add to build.
2564: * gmp-impl.h (ASSERT): New macro.
2565: (ASSERT_NOCARRY) Renamed from assert_nocarry.
2566: (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS.
2567: * mpn/tests/ref.c: Use ASSERT.
2568: * mpf/get_str.c: Use ASSERT_ALWAYS.
2569: * mpf/set_str.c: Remove old assert macro.
2570:
2571: * mpn/x86/x86-defs.m4 (cmovnz_ebx_ecx): New macro.
2572: * mpn/x86/p6/aorsmul_1.asm: Use cmov.
2573:
2574: * mpn/x86/lshift.S: Use %dl with testb, not %edx. No object code
2575: change, testb was still getting generated.
2576: * mpn/x86/rshift.S: Ditto.
2577:
2578: 2000-03-03 Torbjorn Granlund <tege@swox.com>
2579:
2580: * longlong.h: Add IA-64 support.
2581:
2582: * mpn/powerpc32: Misc cleanups.
2583: * mpn/powerpc32/aix.m4: New file (mainly by Linus).
2584: * mpn/powerpc64/aix.m4: New file (mainly by Linus).
2585: * mpn/powerpc64: Translate `.S' files to `.asm'.
2586:
2587: * configure.in: Fix tyops.
2588: * configure: Regenerate.
2589:
2590: 2000-03-02 Torbjorn Granlund <tege@swox.com>
2591:
2592: * mpn/powerpc32/regmap.m4: New file.
2593: * mpn/powerpc32: Translate `.S' files to `.asm'.
2594: * configure.in: Use mpn/powerpc32/regmap.m4 for powerpc targets
2595: except some weird ones.
2596:
2597: 2000-03-03 Kevin Ryde <kevin@swox.se>
2598:
2599: * mpn/lisp/gmpasm-mode.el: Suppress postscript comment prefixes in
2600: filladapt.
2601:
2602: * mpn/x86/pentium/sqr_basecase.asm: New file.
2603: * mpn/x86/pentium/gmp-mparam.h (KARATSUBA_SQR_THRESHOLD): Update.
2604:
2605: * configure.in: Add --enable-assert, enable k6 logops functions.
2606:
2607: * mpn/x86/k6/mmx/copyi.asm: Use m4 for divide, not as.
2608: * mpn/x86/k6/mmx/copyd.asm: Ditto.
2609: * mpn/x86/README.family: Add a note on this.
2610:
2611: 2000-03-02 Kevin Ryde <kevin@swox.se>
2612:
2613: * mpn/x86/k6/aors_n.asm: Don't use stosl.
2614: * mpn/x86/copyi.asm: Use cld to clear direction flag.
2615: * mpn/x86/divrem_1.asm: Ditto.
2616: * mpn/x86/README.family: Add a note on this.
2617:
2618: * mpn/x86/k6/mmx/copyi.asm: Rewrite.
2619: * mpn/x86/k6/mmx/copyd.asm: New file.
2620: * mpn/x86/k6/README: Update, and small amendments.
2621:
2622: * mpn/x86/x86-defs.m4 (Zdisp): New macro.
2623: * mpn/asm-defs.m4 (m4_stringequal_p): New macro.
2624:
2625: * mpn/x86/p6/aorsmul_1.asm: Use Zdisp to force zero displacements.
2626: * mpn/x86/k6/aorsmul_1.asm: Ditto.
2627: * mpn/x86/k6/mul_1.asm: Ditto.
2628: * mpn/x86/k6/mul_basecase.asm: Ditto.
2629: * mpn/x86/k7/aors_n.asm: Ditto.
2630: * mpn/x86/k7/aorsmul_1.asm: Ditto.
2631: * mpn/x86/k7/mul_1.asm: Ditto.
2632: * mpn/x86/k7/mul_basecase.asm: Ditto.
2633: * mpn/x86/README.family: Add a note on this.
2634:
2635: 2000-02-27 Kevin Ryde <kevin@swox.se>
2636:
2637: * mpn/generic/divrem.c (mpn_divrem_classic): Patch to avoid gcc
2638: 2.7.2.3 i386 register handling bug.
2639:
2640: * mpn/x86/k6/aors_n.asm: Rewrite.
2641: * mpn/x86/k6/mmx/lshift.asm: Rewrite.
2642: * mpn/x86/k6/mmx/rshift.asm: Rewrite.
2643: * mpn/x86/k6/README: Update.
2644:
2645: * mpn/x86/k7/mmx/copyd.asm: Support size==0.
2646: * mpn/x86/k7/mmx/copyi.asm: Ditto.
2647: * mpn/x86/k6/mmx/copyi.asm: Ditto.
2648: * gmp-impl.h: Comment size==0 allowed in MPN_COPY_INCR and
2649: MPN_COPY_DECR.
2650: * configure.in: Enable x86 copyi, copyd; add k6 com_n.
2651:
2652: 2000-02-25 Torbjorn Granlund <tege@swox.com>
2653:
2654: * demos/pexpr.c (power): Move factorial handing code from `factor'
2655: to `power'.
2656:
2657: * demos/factorize.c (factor_using_pollard_rho): Move resetting of `c'
2658: to before checking for a non-zero gcd.
2659:
2660: 2000-02-25 Kevin Ryde <kevin@swox.se>
2661:
2662: * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro by Linus.
2663: * mpn/x86/k6/aors_n.asm: Use MULFUNC_PROLOGUE.
2664: * mpn/x86/k6/aorsmul_1.asm: Ditto.
2665: * mpn/x86/k7/aors_n.asm: Ditto.
2666: * mpn/x86/k7/aorsmul_1.asm: Ditto.
2667: * mpn/x86/p6/aorsmul_1.asm: Ditto.
2668:
2669: * mpn/tests/ref.c (refmpn_copyi,refmpn_copyd): Allow size==0.
2670:
2671: * gmp-impl.h: Move mpn_and_n, mpn_andn_n, mpn_com_n, mpn_ior_n,
2672: mpn_iorn_n, mpn_nand_n, mpn_nior_n, mpn_xor_n and mpn_xorn_n here
2673: from gmp.h. Use HAVE_NATIVE_mpn_* to make these functions or
2674: inlines.
2675:
2676: * gmp-impl.h: Move mpn_copyd, mpn_copyi here from gmp.h.
2677: * gmp-impl.h (MPN_COPY_INCR): Use mpn_copyi if available.
2678: * gmp-impl.h (MPN_COPY_DECR): Use mpn_copyd if available.
2679:
2680: * mpn/x86/k6/mmx/com_n.asm: Moved into mmx subdirectory.
2681: * mpn/x86/k6/mmx/copyi.asm: Ditto.
2682: * mpn/x86/k6/mmx/lshift.asm: Ditto.
2683: * mpn/x86/k6/mmx/rshift.asm: Ditto.
2684: * mpn/x86/k7/mmx/rshift.asm: Ditto.
2685: * mpn/x86/k6/mmx/logops_n.asm: New file.
2686: * configure.in (k6*-*-*): Add logops_n.asm.
2687: * mpn/x86/k6/README: Update.
2688:
2689: * mpn/x86/k7/mmx/copyi.asm: New file.
2690: * mpn/x86/k7/mmx/copyd.asm: New file.
2691: * mpn/x86/k7/README: Update.
2692:
2693: 2000-02-24 Kevin Ryde <kevin@swox.se>
2694:
2695: * mpn/x86/x86-defs.m4 (femms): Generate emms if 3dnow not available.
2696: * mpn/x86/x86-defs.m4 (FRAME_popl): New macro.
2697:
2698: * Makefile.am: Add info_TEXINFOS = gmp.texi
2699:
2700: * mpn/x86/divrem_1.asm: Moved from mpn/x86/k6, allow size==0,
2701: conditionalize loop versus decl/jnz.
2702: * mpn/x86/mod_1.asm: Ditto.
2703: * mpn/x86/divmod_1.asm: Removed.
2704: * gmp.texi (mpn_divrem_1,mpn_mod_1): Add that size==0 is allowed.
2705: * mpn/tests/ref.c (refmpn_divrem_1c,etc): Allow size==0.
2706:
2707: * mpn/x86/k6/aors_n.asm: Avoid gas 1.92.3 leal displacement
2708: expression problem.
2709: * mpn/x86/k6/aorsmul_1.asm: Ditto.
2710: * mpn/x86/k6/mul_1.asm: Ditto.
2711: * mpn/x86/k6/mul_basecase.asm: Ditto
2712: * mpn/x86/k7/aors_n.asm: Ditto.
2713: * mpn/x86/k7/aorsmul_1.asm: Ditto.
2714: * mpn/x86/k7/mul_1.asm: Ditto.
2715: * mpn/x86/k7/mul_basecase.asm: Ditto.
2716: * mpn/x86/k7/rshift.asm: Ditto.
2717: * mpn/x86/p6/aorsmul_1.asm: Ditto.
2718: * mpn/x86/README.family: Describe problem.
2719:
2720: 2000-02-24 Linus Nordberg <linus@swox.se>
2721:
2722: * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Add dummy symbol to
2723: testcase to avoid nm failure. Try nm before piping to grep.
2724:
2725: * acconfig.h: Undef HAVE_NATIVE_func for every mpn function found
2726: in gmp.h.
2727:
2728: * configure.in: Invoke AC_CONFIG_HEADERS.
2729: Don't invoke AM_CONFIG_HEADER; it makes autoconf confused.
2730: Dig out entry points declared in assembly code and AC_DEFINE proper
2731: HAVE_NATIVE_func.
2732:
2733: * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro.
2734:
2735: * mpn/x86/p6/aorsmul_1.asm: Use MULFUNC_PROLOGUE.
2736: * mpn/x86/k6/aors_n.asm: Likewise.
2737:
2738: * Makefile.am (EXTRA_DIST): Add config.in; needed when we don't
2739: use AM_CONFIG_HEADER in configure.in.
2740:
2741: * mpn/Makefile.am (INCLUDES): Add `-I..' for config.h and
2742: gmp-mparam.h.
2743: * mpf/Makefile.am: Likewise.
2744: * mpq/Makefile.am: Likewise.
2745: * mpz/Makefile.am: Likewise.
2746:
2747: * mpf/tests/Makefile.am (INCLUDES): Add `-I../..' for config.h and
2748: gmp-mparam.h.
2749: * mpq/tests/Makefile.am: Likewise.
2750: * mpz/tests/Makefile.am: Likewise.
2751:
2752: * configure: Regenerate.
2753: * aclocal.m4: Regenerate.
2754: * config.in: Regenerate.
2755: * Makefile.in: Regenerate.
2756: * mpf/Makefile.in: Regenerate.
2757: * mpn/Makefile.in: Regenerate.
2758: * mpq/Makefile.in: Regenerate.
2759: * mpz/Makefile.in: Regenerate.
2760: * mpf/tests/Makefile.in: Regenerate.
2761: * mpq/tests/Makefile.in: Regenerate.
2762: * mpz/tests/Makefile.in: Regenerate.
2763:
2764: 2000-02-23 Kevin Ryde <kevin@swox.se>
2765:
2766: * mpn/x86/addmul_1.S: Amend comments, this code no longer used by
2767: PentiumPro.
2768: * mpn/x86/submul_1.S: Ditto.
2769:
2770: * mpn/x86/k6/com_n.asm: Rewrite, smaller but same speed.
2771:
2772: * mpn/x86/addmul_1.S: Add PROLOGUE and EPILOGUE to get .type and
2773: .size for ELF. Rename #define size to n to avoid .size.
2774: * mpn/x86/lshift.S: Ditto.
2775: * mpn/x86/mul_1.S: Ditto.
2776: * mpn/x86/mul_basecase.S: Ditto.
2777: * mpn/x86/rshift.S: Ditto.
2778: * mpn/x86/submul_1.S: Ditto.
2779: * mpn/x86/udiv.S: Ditto.
2780: * mpn/x86/umul.S: Ditto.
2781: * mpn/x86/pentium/add_n.S: Ditto.
2782: * mpn/x86/pentium/addmul_1.S: Ditto.
2783: * mpn/x86/pentium/lshift.S: Ditto.
2784: * mpn/x86/pentium/mul_1.S: Ditto.
2785: * mpn/x86/pentium/mul_basecase.S: Ditto.
2786: * mpn/x86/pentium/rshift.S: Ditto.
2787: * mpn/x86/pentium/sub_n.S: Ditto.
2788: * mpn/x86/pentium/submul_1.S: Ditto.
2789:
2790: 2000-02-22 Linus Nordberg <linus@swox.se>
2791:
2792: * acinclude.m4 (GMP_INIT): Use temporary file cnfm4p.tmp for
2793: post-defines.
2794: (GMP_FINISH): Ditto.
2795: (GMP_DEFINE): Add third optional argument specifying location in
2796: outfile.
2797: (GMP_DEFINE_RAW): New macro.
2798: * aclocal.m4: Regenerate.
2799:
2800: * configure.in: Add `HAVE_TARGET_CPU_$target_cpu' using
2801: GMP_DEFINE_RAW.
2802: * configure: Regenerate.
2803:
2804: * mpz/tests/Makefile.am: New test t-root.
2805: * mpz/tests/Makefile.in: Regenerate.
2806:
2807: 2000-02-22 Torbjorn Granlund <tege@swox.com>
2808:
2809: * mpz/root.c: Complete rewrite; still primitive, but at least correct.
2810: * mpz/tests/t-root.c: New test.
2811:
2812: 2000-02-22 Kevin Ryde <kevin@swox.se>
2813:
2814: * mpn/x86/k7/mul_basecase.asm: New file.
2815: * mpn/x86/k7/README: Add mpn_mul_basecase speed.
2816: * mpn/x86/k7/gmp-mparam.h: New file.
2817:
2818: * mpn/x86/x86-defs.m4 (loop_or_decljnz,cmov_bytes): New macros.
2819: * mpn/asm-defs.m4 (m4_ifdef_anyof_p): New macro.
2820:
2821: * mpn/x86/k6/aorsmul_1.asm: New file.
2822: * mpn/x86/k6/addmul_1.S: Removed (was a copy of pentium version).
2823: * mpn/x86/k6/submul_1.S: Removed (was a copy of pentium version).
2824:
2825: * mpn/x86/p6/aorsmul_1.asm: Use OPERATION_addmul_1 and
2826: OPERATION_submul_1.
2827: * mpn/x86/k6/aors_n.asm: Use OPERATION_add_n and OPERATION_sub_n.
2828: * configure.in: Declare multi-function files for k6 and p6.
2829:
2830: * configure.in: Add HAVE_TARGET_CPU_$target_cpu for config.m4.
2831: * mpn/asm-defs.m4 (define_not_for_expansion): New macro.
2832:
2833: * mpn/generic/divrem_1n.c (__gmpn_divrem_1n): New file, split from
2834: mpn/generic/divrem_1.c.
2835: * mpn/generic/divrem_1.c: Ditto.
2836: * configure.in (gmp_mpn_functions): Ditto.
2837:
2838: 2000-02-21 Torbjorn Granlund <tege@swox.com>
2839:
2840: * gmp.h: Undo 1996-10-06 NeXT change, it was clearly improperly
2841: written.
2842:
2843: 2000-02-21 Linus Nordberg <linus@swox.se>
2844:
2845: * configure.in: Link <src>/mpn/asm-defs.m4 to <build>mpn/asm.m4.
2846: * configure: Regenerate.
2847:
2848: 2000-02-21 Linus Nordberg <linus@swox.se>
2849:
2850: * mpn/x86/k7/aorsmul_1.asm: Change OPERATION_ADDMUL -->
2851: OPERATION_addmul_1. Change OPERATION_SUBMUL -->
2852: OPERATION_submul_1.
2853:
2854: * mpn/x86/k7/aors_n.asm: Change OPERATION_ADD --> OPERATION_add_n.
2855: Change OPERATION_SUB --> OPERATION_sub_n.
2856:
2857: * mpn/Makefile.am: Pass -DOPERATION_$* to preprocessors.
2858: * mpn/Makefile.in: Regenerate.
2859:
2860: * configure.in: Symlink mpn/asm-defs.m4 to build-dir/mpn. Link
2861: multi-function files to mpn/<function>.asm and remove function
2862: name from `gmp_mpn_functions'.
2863: * configure: Regenerate.
2864:
2865: * acinclude.m4 (GMP_FINISH): Tell user what we're doing.
2866: * aclocal.m4: Regenerate.
2867:
2868: 2000-02-21 Kevin Ryde <kevin@swox.se>
2869:
2870: * gmp-impl.h: Rename __gmpn_mul_basecase to mpn_mul_basecase and
2871: __gmpn_sqr_basecase to mpn_sqr_basecase, remove __gmpn prototypes.
2872: * mpn/x86/mul_basecase.S: Ditto.
2873: * mpn/x86/pentium/mul_basecase.S: Ditto.
2874:
2875: * configure.in (gmp_m4postinc): Use x86-defs.m4 on athlon-*-* too.
2876:
2877: 2000-02-20 Kevin Ryde <kevin@swox.se>
2878:
2879: * acinclude.m4 (GSYM_PREFIX): Drop $1, change by Linus.
2880: * mpn/asm-defs.m4 (PROLOGUE,EPILOGUE): Use GSYM_PREFIX as a
2881: string, change by Linus.
2882: * mpn/x86/x86-defs.m4: Use GSYM_PREFIX as a string.
2883:
2884: * mpn/x86/k6/gmp-mparam.h: New file.
2885: * mpn/asm-defs.m4 (m4_warning): New macro.
2886:
2887: * mpn/x86/README: Amendments per new code and directories.
2888: * mpn/x86/README.family: New file.
2889: * mpn/x86/k6/README: New file.
2890: * mpn/x86/k7/README: New file.
2891:
2892: * mpn/generic/mul_n.c: Rename __gmpn_mul_basecase to
2893: mpn_mul_basecase and __gmpn_sqr_basecase to mpn_sqr_basecase.
2894: * mpn/generic/mul_basecase.c: Ditto.
2895: * mpn/generic/sqr_basecase.c: Ditto.
2896: * mpn/generic/mul.c: Ditto.
2897:
2898: 2000-02-19 Linus Nordberg <linus@swox.se>
2899:
2900: * configure.in: Don't try to symlink more than one multi-func
2901: file.
2902: * configure: Regenerate.
2903:
2904: 2000-02-18 Linus Nordberg <linus@swox.se>
2905:
2906: * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): GMP_DEFINE
2907: `GSYM_PREFIX'. Run ACTIONs even when value is found in cache.
2908: (GMP_CHECK_ASM_ALIGN_LOG): GMP_DEFINE `ALIGN'. Run ACTIONs even
2909: when value is found in cache.
2910: * aclocal.m4: Regenerate.
2911:
2912: * configure.in: Don't define GSYM_PREFIX or ALIGN.
2913: Add mechanism for multi-function files.
2914: * configure: Regenerate.
2915:
2916: 2000-02-18 Kevin Ryde <kevin@swox.se>
2917:
2918: * configure.in (gmp_m4postinc): Enable x86-defs.m4.
2919: * mpn/x86/k7/mul_1.asm: Fix include.
2920: * mpn/x86/k6/mul_basecase.S: Removed (copy of the pentium version).
2921: * mpn/x86/k6/mul_basecase.asm: New file.
2922: * mpn/x86/k6/sqr_basecase.asm: New file.
2923: * mpn/x86/k6/com_n.asm: New file.
2924: * mpn/x86/k6/copyi.asm: New file.
2925: * gmp.texi (Low-level Functions): Clarify mpn overlaps permitted.
2926: * gmp-impl.h (MPN_OVERLAP_P): New macro.
2927: * gmp-impl.h (assert_nocarry): New macro.
2928: * mpn/tests/ref.c: New file, based in part on other mpn/tests/*.c.
2929: * mpn/tests/ref.h: New file.
2930:
2931: 2000-02-17 Linus Nordberg <linus@swox.se>
2932:
2933: * Makefile.am (dist-hook): Don't include any emacs backup files
2934: (*.~*) in dist.
2935: * Makefile.in: Regenerate.
2936:
2937: 2000-02-17 Torbjorn Granlund <tege@swox.com>
2938:
2939: * mpn/sparc32/v9/mul_1.asm: Use `rd' to get current PC; get rid of
2940: getpc function.
2941: * mpn/sparc32/v9/addmul_1.asm: Likewise.
2942: * mpn/sparc32/v9/submul_1.asm: Likewise.
2943:
2944: 2000-02-17 Kevin Ryde <kevin@swox.se>
2945:
2946: * gmp.h: Add prototypes and defines for mpn_and_n, mpn_andn_n,
2947: mpn_com_n, mpn_copyd, mpn_copyi, mpn_ior_n, mpn_iorn_n,
2948: mpn_mul_basecase, mpn_nand_n, mpn_nior_n, mpn_sqr_basecase,
2949: mpn_xor_n, mpn_xorn_n.
2950:
2951: * mpn/asm-defs.m4: Many additions making up initial version.
2952: * mpn/asm-defs.m4 (L): Use defn(`LSYM_PREFIX').
2953: * mpn/x86/x86-defs.m4: New file.
2954: * mpn/x86/k6/aors_n.asm: New file.
2955: * mpn/x86/k6/divmod_1.asm: New file.
2956: * mpn/x86/k6/divrem_1.asm: New file.
2957: * mpn/x86/k6/lshift.S: Removed (was a copy of the pentium version).
2958: * mpn/x86/k6/lshift.asm: New file.
2959: * mpn/x86/k6/mod_1.asm: New file.
2960: * mpn/x86/k6/mul_1.S: Removed (was a copy of the pentium version).
2961: * mpn/x86/k6/mul_1.asm: New file.
2962: * mpn/x86/k6/rshift.S: Removed (was a copy of the pentium version).
2963: * mpn/x86/k6/rshift.asm: New file.
2964: * mpn/x86/k7/aors_n.asm: New file.
2965: * mpn/x86/k7/aorsmul_1.asm: New file.
2966: * mpn/x86/k7/mul_1.asm: New file.
2967: * mpn/x86/k7/rshift.asm: New file.
2968: * mpn/x86/p6/aorsmul_1.asm: New file.
2969: * mpn/x86/copyi.asm: New file.
2970: * mpn/x86/copyd.asm: New file.
2971: * mpn/lisp/gmpasm-mode.el: New file.
2972:
2973: 2000-02-16 Torbjorn Granlund <tege@swox.com>
2974:
2975: * mpn/sparc32/v9/mul_1.asm: Conditionalize for PIC.
2976: * mpn/sparc32/v9/addmul_1.asm: Likewise.
2977: * mpn/sparc32/v9/submul_1.asm: Likewise.
2978: * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
2979: * mpn/sparc32/udiv_fp.asm: Likewise.
2980:
2981: 2000-02-16 Linus Nordberg <linus@swox.se>
2982:
2983: * configure.in: Add mechanism for including target specific
2984: m4-files in config.m4.
2985: * configure: Regenerate.
2986:
2987: * acinclude.m4 (GMP_PROG_CCAS): Begin assembly lines (except
2988: labels) with a tab character. HP-UX demands it.
2989: (GMP_CHECK_ASM_SIZE): Ditto.
2990: (GMP_CHECK_ASM_LSYM_PREFIX): Ditto.
2991: (GMP_CHECK_ASM_LABEL_SUFFIX): Set to empty string for HP-UX.
2992: (GMP_CHECK_ASM_GLOBL): Change `.xport' --> `.export'.
2993: * aclocal.m4: Regenerate.
2994:
2995: 2000-02-16 Linus Nordberg <linus@swox.se>
2996:
2997: * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Define LSYM_PREFIX as
2998: the prefix only, no argument.
2999: * aclocal.m4: Regenerate.
3000: * configure: Regenerate.
3001:
3002: * mpn/asm-defs.m4 (L): No argument to LSYM_PREFIX.
3003:
3004: 2000-02-15 Linus Nordberg <linus@swox.se>
3005:
3006: * acinclude.m4: Prefix all temporary shell variables with
3007: `gmp_tmp_'.
3008: (GMP_PROG_CC_FIND): Use defaults if no arguments are passed.
3009: Quote use of arguments.
3010: (GMP_PROG_CCAS): New macro.
3011: (GMP_INIT): New macro.
3012: (GMP_FINISH): New macro.
3013: (GMP_INCLUDE): New macro.
3014: (GMP_SINCLUDE): New macro.
3015: (GMP_DEFINE): New macro.
3016: (GMP_CHECK_ASM_LABEL_SUFFIX): New macro.
3017: (GMP_CHECK_ASM_TEXT): New macro.
3018: (GMP_CHECK_ASM_DATA): New macro.
3019: (GMP_CHECK_ASM_GLOBL): New macro.
3020: (GMP_CHECK_ASM_TYPE): New macro.
3021: (GMP_CHECK_ASM_SIZE): New macro.
3022: (GMP_CHECK_ASM_LSYM_PREFIX): New macro.
3023: (GMP_CHECK_ASM_W32): New macro.
3024: * aclocal.m4: Regenerate.
3025:
3026: * configure.in: Find m4 and nm for target.
3027: Use new macros to create config.m4.
3028: Prefix all temporary shell variables with `tmp_'.
3029: Pass `-X 64' to nm for 64-bit PPC target with 64-bit compiler.
3030: * configure: Regenerate.
3031:
3032: * Makefile.am (dist-hook): *Really* remove all CVS dirs in
3033: dist.
3034: * Makefile.in: Regenerate.
3035:
3036: * mpn/Makefile.am: Add target for building .lo and .o from
3037: .asm.
3038: Pass -DPIC to preprocessor (CPP/m4) when building .lo.
3039: Build .o a second time for target .lo, without -DPIC to
3040: preprocessor.
3041: (SUFFIX): Add `.asm'.
3042: (EXTRA_DIST): Add asm-defs.m4.
3043: * mpn/Makefile.in: Regenerate.
3044:
3045: * mpf/Makefile.in: Regenerate.
3046: * mpf/tests/Makefile.in: Regenerate.
3047: * mpq/Makefile.in: Regenerate.
3048: * mpq/tests/Makefile.in: Regenerate.
3049: * mpz/Makefile.in: Regenerate.
3050: * mpz/tests/Makefile.in: Regenerate.
3051:
3052: 2000-02-15 Torbjorn Granlund <tege@swox.com>
3053:
3054: * mpn/sparc32/udiv_fp.asm: Change `RODATA' to `DATA'.
3055: * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
3056: * mpn/sparc32/v9/addmul_1.asm: Likewise.
3057: * mpn/sparc32/v9/submul_1.asm: Likewise.
3058: * mpn/sparc32/v9/mul_1.asm: Likewise.
3059:
3060: * mpn/sparc32/add_n.asm: Rename `size' -> `n'.
3061: * mpn/sparc32/sub_n.asm: Likewise.
3062:
3063: * sparc32: Rename `.s' and `.S' files to `.asm'.
3064: * sparc64: Rename `.s' and `.S' files to `.asm'.
3065:
3066: 2000-02-11 Torbjorn Granlund <tege@swox.com>
3067:
3068: * config.sub: Adopt to new config.guess sparc naming conventions.
3069:
3070: * config.guess (sun4u:SunOS:5.*:*): Change `sparc9' to `sparcv9'.
3071: * config.guess (sun4m:SunOS:5.*:*): Change to sun4[md]:SunOS:5.*:* and
3072: change `sparc8' to `sparcv8'.
3073:
3074: * mpn/x86/add_n.S: Use PROLOGUE/EPILOGUE.
3075: * mpn/x86/sub_n.S: Likewise.
3076:
3077: * mpn/x86/syntax.h (PROLOGUE): New name for PROLOG.
3078: * mpn/x86/syntax.h (EPILOGUE): New name for EPILOG.
3079:
3080: 2000-02-11 Linus Nordberg <linus@swox.se>
3081:
3082: * configure.in: Better path for 64-bit sparc without 64-bit cc.
3083: Change sparc8 --> sparcv8.
3084: Change sparc9 --> sparcv9.
3085: * configure: Regenerate.
3086:
3087: 2000-02-10 Linus Nordberg <linus@swox.se>
3088:
3089: * configure.in: Use Autoconf.
3090: * Makefile.am: New file.
3091:
3092: * AUTHORS: New file.
3093: * COPYING: New file.
3094: * acinclude.m4: New file.
3095: * acconfig.h: New file.
3096:
3097: * configure: Generate.
3098: * Makefile.in: Generate.
3099: * aclocal.m4: Generate.
3100: * config.in: Generate.
3101:
3102: * install.sh: Remove.
3103: * install-sh: New file from Automake.
3104: * missing: New file from Automake.
3105: * ltconfig: New file from Libtool.
3106: * ltmain.sh: New file from Libtool.
3107:
3108: * mpf/Makefile.am: New file.
3109: * mpf/Makefile.in: Generate.
3110: * mpf/configure.in: Remove.
3111: * mpf/tests/Makefile.am: New file.
3112: * mpf/tests/Makefile.in: Generate.
3113: * mpf/tests/configure.in: Remove.
3114:
3115: * mpn/Makefile.am: New file.
3116: * mpn/Makefile.in: Generate.
3117: * mpn/configure.in: Remove.
3118:
3119: * mpq/Makefile.am: New file.
3120: * mpq/Makefile.in: Generate.
3121: * mpq/configure.in: Remove.
3122: * mpq/tests/Makefile.am: New file.
3123: * mpq/tests/Makefile.in: Generate.
3124: * mpq/tests/configure.in: Remove.
3125:
3126: * mpz/Makefile.am: New file.
3127: * mpz/Makefile.in: Generate.
3128: * mpz/configure.in: Remove.
3129: * mpz/tests/Makefile.am: New file.
3130: * mpz/tests/Makefile.in: Generate.
3131: * mpz/tests/configure.in: Remove.
3132:
3133: 2000-02-10 Torbjorn Granlund <tege@swox.com>
3134:
3135: * mpn/x86/add_n.S: Don't use label L0 twice.
3136: * mpn/x86/sub_n.S: Likewise.
3137:
3138: 2000-01-20 Linus Nordberg <linus@swox.se>
3139:
3140: * demos/pexpr.c: Don't use setup_error_handler() in windoze.
3141:
3142: 2000-01-19 Torbjorn Granlund <tege@swox.com>
3143:
3144: * demos/pexpr.c (sigaltstack): #define to sigstack for AIX.
3145: (setup_error_handler): Don't write to ss_size and ss_flags
3146: on AIX.
3147:
3148: 2000-01-11 Torbjorn Granlund <tege@swox.com>
3149:
3150: * mpn/configure.in (hppa2.0*-*-*): Move assignment of
3151: target_makefile_frag to where it belongs.
3152:
3153: 1999-12-21 Torbjorn Granlund <tege@swox.com>
3154:
3155: * longlong.h (v9 umul_ppmm): New #define.
3156: (v9 udiv_qrnnd): New #define.
3157:
3158: 1999-12-14 Torbjorn Granlund <tege@swox.com>
3159:
3160: * mpn/generic/divmod_1.c: Use invert_limb.
3161: * mpn/generic/mod_1.c: Use invert_limb.
3162:
3163: * gmp-impl.h (invert_limb): Put definition here.
3164: * mpn/generic/divrem.c (invert_limb): Delete definition.
3165: * mpn/generic/divrem_2.c (invert_limb): Delete definition.
3166:
3167: * gmp.h (mpn_divrem): Inhibit for non-gcc.
3168: But declare (undo 1999-11-22 change).
3169:
3170: * gmp-impl.h (DItype,UDItype): Do these also if _LONG_LONG_LIMB.
3171:
3172: * longlong.h: Move 64-bit hppa code out of __GNUC__ conditional.
3173:
3174: * stack-alloc.c (HSIZ): New #define.
3175: (__tmp_alloc): Use HSIZ instead of sizeof(tmp_stack).
3176:
3177: 1999-12-10 Torbjorn Granlund <tege@swox.com>
3178:
3179: * config.sub: Clean up handling of x86 CPUs: Properly recognize
3180: Amd CPUs as unique entities. Use manufacturer's names of
3181: processors ("pentium", etc); still match ambiguous names like
3182: "i586", "i686", "p6" but be conservative in interpreting them.
3183:
3184: * configure.in: Recognize x86 CPU types known by config.guess.
3185: * mpn/configure.in: Likewise. Add x86/mmx path component as
3186: appropriate.
3187: (athlon-*-*): Fix typo.
3188:
3189: * config.guess: Update x86 recog code to intiallly match
3190: more than just i386.
3191: Call K6-2 and K6-III for "k62" and "k63" respectively.
3192:
3193: * config.guess: Recognize x86 CPU types.
3194: Update code for FreeBSD, NetBSD, OpenBSD, Linux.
3195:
3196: 1999-12-08 Torbjorn Granlund <tege@swox.com>
3197:
3198: * mpf/pow_ui.c: Avoid final squaring in loop.
3199:
3200: 1999-12-07 Torbjorn Granlund <tege@swox.com>
3201:
3202: * gmp-impl.h (udiv_qrnnd_preinv2gen): Prefix local variables with `_'.
3203: (udiv_qrnnd_preinv2norm): Likewise.
3204: From Kevin Ryde:
3205: (HAVE_ALLOCA): #define also if defined (alloca).
3206:
3207: 1999-12-04 Torbjorn Granlund <tege@swox.com>
3208:
3209: * mpn/tests/add_n.c: Set OPS from CLOCK.
3210: * mpn/tests/sub_n.c: Likewise.
3211: * mpn/tests/mul_1.c: Likewise.
3212: * mpn/tests/addmul_1.c: Likewise.
3213: * mpn/tests/submul_1.c: Likewise.
3214:
3215: * mpn/tests/lshift.c: Update from add_n.c.
3216: * mpn/tests/rshift.c: Likewise.
3217:
3218: 1999-12-03 Torbjorn Granlund <tege@swox.com>
3219:
3220: * mpn/powerpc64/copy.S: New file.
3221:
3222: 1999-12-02 Torbjorn Granlund <tege@swox.com>
3223:
3224: * mpn/sparc64/copy.s: New file.
3225:
3226: * mpn/tests/copy.c: New file.
3227:
3228: * mpn/configure.in: Recognize more Amd CPUs; Set special paths for
3229: k7 CPU.
3230:
3231: * configure.in: Recognize Amd x86 CPUs.
3232:
3233: * mpz/fdiv_r_2exp.c: In rounding code, read in->_mp_size before
3234: writing to res->_mp_size.
3235:
3236: * mpn/powerpc64/*.S: Clean up assembly syntax, add function headers.
3237: * mpn/powerpc64/gmp-mparam.h: (KARATSUBA_MUL_THRESHOLD): #define.
3238: (KARATSUBA_SQR_THRESHOLD): #define.
3239:
3240: * mpn/tests/add_n.c (main): Only print test number if TIMES==1
3241: and not printing.
3242: (main): Don't run reference code if NOCHECK.
3243: * mpn/tests/sub_n.c: Likewise.
3244: * mpn/tests/mul_1.c: Likewise.
3245: * mpn/tests/addmul_1.c: Likewise.
3246: * mpn/tests/submul_1.c: Likewise.
3247:
3248: * mpn/tests/lshift.c: (main): Only print test number if TIMES==1
3249: and not printing.
3250: * mpn/tests/rshift.c: Likewise.
3251:
3252: 1999-11-22 Torbjorn Granlund <tege@swox.com>
3253:
3254: * gmp.h (mpz_init_set_str): Declare using __gmp_const.
3255: (mpz_set_str): Likewise.
3256: (mpf_init_set_str): Likewise.
3257: (mpf_set_str): Likewise.
3258: (mpn_set_str): Likewise.
3259: (__gmp_0): Likewise.
3260: (mpn_divrem): Remove separate declaration; it's defined later in
3261: this file.
3262:
3263: * gmp.h: Replace "defined (__STD__)' by (__STDC__-0) in
3264: expressions involving more than one term, to handle Sun's compiler
3265: that most helpfully sets __STDC__ to 0.
3266: * gmp-impl.h: Likewise.
3267: * longlong.h: Likewise.
3268:
3269: 1999-11-21 Torbjorn Granlund <tege@swox.com>
3270:
3271: * mpn/sparc64/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
3272: (KARATSUBA_SQR_THRESHOLD): #define.
3273:
3274: * mpn/sparc64/lshift.s: Compensate stack references for odd stack ptr.
3275: * mpn/sparc64/rshift.s: Likewise.
3276:
3277: * mpn/sparc64/addmul_1.s: Propagate carry properly.
3278: * mpn/sparc64/submul_1.s: Likewise.
3279:
3280: * mpn/sparc64/sub_n.s: Rewrite.
3281:
3282: * mpn/sparc64/sub_n.s: Get operand order for main subcc right
3283: (before scrapping this code for new code).
3284:
3285: 1999-11-20 Torbjorn Granlund <tege@swox.com>
3286:
3287: * mpn/sparc64/add_n.s: Rewrite.
3288:
3289: 1999-11-17 Torbjorn Granlund <tege@swox.com>
3290:
3291: * mpn/x86/syntax.h (PROLOG): New #define.
3292: (EPILOG): New #define.
3293:
3294: * gmp.h (mpn_addsub_n): Declare.
3295: * gmp.h (mpn_add_nc): Declare.
3296: * gmp.h (mpn_sub_nc): Declare.
3297: * mpn/powerpc64/addsub_n.S: New file.
3298:
3299: 1999-11-17 Torbjorn Granlund <tege@swox.com>
3300:
3301: * mpn/alpha/gmp-mparam.h
3302: (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
3303: (KARATSUBA_SQR_THRESHOLD): Likewise.
3304:
3305: 1999-11-14 Torbjorn Granlund <tege@swox.com>
3306:
3307: * mpn/x86/mul_1.S: Unroll and optimize for P6 and K7.
3308:
3309: 1999-11-09 Torbjorn Granlund <tege@swox.com>
3310:
3311: * mpn/x86/p6/gmp-mparam.h
3312: (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
3313: (KARATSUBA_SQR_THRESHOLD): Likewise.
3314:
3315: 1999-11-05 Torbjorn Granlund <tege@swox.com>
3316:
3317: * mpn/generic/addsub_n.c: New file.
3318:
3319: 1999-11-02 Torbjorn Granlund <tege@swox.com>
3320:
3321: * config.guess: Handle alpha:FreeBSD with alpha:NetBSD.
3322:
3323: * configure.in (vax*-*-*): New case.
3324: * config/mt-vax: New file.
3325: * mpn/vax/add_n.s: Rewrite.
3326: * mpn/vax/sub_n.s: Rewrite.
3327:
3328: 1999-10-31 Torbjorn Granlund <tege@swox.com>
3329:
3330: * mpn/vax/rshift.s: New file.
3331: * mpn/vax/lshift.s: New file.
3332:
3333: 1999-10-29 Torbjorn Granlund <tege@swox.com>
3334:
3335: * config.sub: Handle k5 and k6.
3336: * mpn/configure.in: Recognize k6.
3337:
3338: * mpf/tests/t-get_d.c (LOW_BOUND, HIGH_BOUND): New #defines.
3339: (main): Tighten error bounds to 14 digits.
3340:
3341: * longlong.h (default umul_ppmm, when smul_ppmm exists):
3342: Rename __m0 => __xm0, __m1 => __xm1.
3343: (default smul_ppmm): Likewise.
3344:
3345: 1999-10-11 Torbjorn Granlund <tege@swox.com>
3346:
3347: * config.guess: Reverse the test for POWER vs PowerPC.
3348: * config.guess (sun4m:SunOS:5.*:*): New case.
3349: * config.guess (sun4u:SunOS:5.*:*): New case.
3350:
3351: 1999-09-29 Torbjorn Granlund <tege@swox.com>
3352:
3353: * mpn/generic/divrem_2.c: Clean up comments.
3354:
3355: 1999-09-23 Torbjorn Granlund <tege@swox.com>
3356:
3357: * mpz/tests/Makefile.in: Use move-if-change when generating binaries.
3358: * mpf/tests/Makefile.in: Likewise.
3359: * mpq/tests/Makefile.in: Likewise.
3360: * mpz/tests/move-if-change: New file.
3361: * mpf/tests/move-if-change: New file.
3362: * mpq/tests/move-if-change: New file.
3363:
3364: * gmp.h (mpn_incr_u): New macro (from mpn/generic/mul_n.c).
3365: (mpn_decr_u): New macro.
3366:
3367: * mpn/generic/mul_n.c (mpn_incr): Delete.
3368: * mpn/generic/mul_n.c: Update usages mpn_incr => mpn_incr_u.
3369: * mpn/generic/divrem_newt.c: Use mpn_incr_u and mpn_decr_u instead of
3370: mpn_add_1 and mpn_sub_1.
3371: * mpn/generic/sqrtrem.c: Likewise.
3372: * mpz/cdiv_q_ui.c: Likewise.
3373: * mpz/cdiv_qr_ui.c: Likewise.
3374: * mpz/fdiv_q_ui.c: Likewise.
3375: * mpz/fdiv_qr_ui.c: Likewise.
3376:
3377: * mpn/generic/sqrtrem.c: Start single-limb Newton iteration from 18
3378: bits.
3379:
3380: 1999-07-27 Torbjorn Granlund <tege@swox.com>
3381:
3382: * mpn/generic/divrem_1.c (__gmpn_divrem_1n): New function.
3383:
3384: * mpn/generic/divrem_2.c: New file, code from divrem.c, `case 2:'.
3385: * mpn/Makefile.in: Compile divrem_2.c.
3386: * make.bat: Compile divrem_2.c.
3387: * mpn/configure.in (functions): Add divrem_2.
3388: * gmp.h: Declare mpn_divrem_2.
3389:
3390: * mpn/generic/divrem.c: Delete special cases, handle just divisors
3391: of more than 2 limbs.
3392: * gmp.h (mpn_divrem): Call mpn_divrem_1, mpn_divrem_2, as appropriate.
3393:
3394: * mpn/generic/divrem.c: Rework variable usage for better register
3395: allocation.
3396:
3397: 1999-07-26 Torbjorn Granlund <tege@swox.com>
3398:
3399: * mpn/alpha/ev5/add_n.s: Rewrite for better ev6 speed.
3400: * mpn/alpha/ev5/sub_n.s: Likewise.
3401:
3402: 1999-07-21 Torbjorn Granlund <tege@swox.com>
3403:
3404: * longlong.h (alpha): Define umul_ppmm for cc.
3405:
3406: * gmp-impl.h (DItype, UDItype): Define for non-gcc if _LONGLONG is
3407: defined.
3408:
3409: 1999-07-15 Torbjorn Granlund <tege@swox.com>
3410:
3411: * longlong.h (powerpc64 count_leading_zeros): Fix typo.
3412: (powerpc64 add_ssaaaa): Fix typos.
3413: (powerpc64 sub_ddmmss): Fix typos.
3414:
3415: 1999-07-14 Torbjorn Granlund <tege@swox.com>
3416:
3417: * mpz/tests/Makefile.in: Pass XCFLAGS when linking.
3418: * mpf/tests/Makefile.in: Likewise.
3419: * mpq/tests/Makefile.in: Likewise.
3420: * mpn/Makefile.in (.S.o): Pass XCFLAGS.
3421:
3422: * longlong.h: Add support for 64-bit PowerPC.
3423: * config.sub: Handle "powerpc64".
3424: * configure.in: Likewise.
3425: * mpn/configure.in: Suppress use of config/t-ppc-aix for now,
3426: it seems compiler passes proper options.
3427: * mpn/powerpc64/*.S: New files.
3428:
3429: * Makefile.in (FLAGS_TO_PASS): Pass "AR=$(AR)".
3430:
3431: 1999-07-07 Torbjorn Granlund <tege@swox.com>
3432:
3433: * demos/pexpr.c (factor): Change alloca call to a malloc/free pair.
3434:
3435: * mpn/powerpc32/syntax.h: Add #define's for crN.
3436:
3437: * gmp.h (gmp_rand_algorithm): Remove spurious `,'.
3438:
3439: 1999-07-05 Torbjorn Granlund <tege@swox.com>
3440:
3441: * mpn/generic/divrem_1.c: Normalize divisor when needed.
3442:
3443: 1999-07-02 Torbjorn Granlund <tege@swox.com>
3444:
3445: * mpn/configure.in (powerpc*-apple-mach): New configuration.
3446: * mpn/powerpc32/*: Add support for apple-macho syntax.
3447: * mpn/powerpc32/syntax.h: New file.
3448: * gmp-impl.h: Don't use `__attribute__' syntax for Apple's perversion
3449: of GCC.
3450:
3451: 1999-05-26 Linus Nordberg <linus@swox.se>
3452:
3453: * rand.c (gmp_rand_init): Fix typo.
3454:
3455: * mpn/generic/rawrandom.c (mpn_rawrandom): Count bits, not limbs,
3456: to keep track of how many rounds to do in loop. Clean up
3457: temporary allocation. Update `seedsize' inside loop. Mask off
3458: the correct number of bits from final result. Init `mcopyp' even
3459: when not normalizing `m'.
3460:
3461: * randlc.c (gmp_rand_init_lc): Fix typo (don't call
3462: mpz_init_set_ui()).
3463:
3464: * mpn/generic/rawrandom.c (mpn_rawrandom): Set SIZ(s->seed) when
3465: reallocating.
3466:
3467: 1999-05-25 Linus Nordberg <linus@swox.se>
3468:
3469: * randcm.c: Remove.
3470: * randcmui.c: Remove.
3471: * Makefile.in: Remove randcm and randcmui.
3472: * make.bat: Ditto.
3473: * gmp-impl.h: Remove prototypes for __gmp_rand_init_common() and
3474: __gmp_rand_init_common_ui().
3475: * randlc.c (gmp_rand_init_lc): Don't call
3476: __gmp_rand_init_common().
3477:
3478: * randlcui.c (gmp_rand_init_lc_ui): Don't call
3479: __gmp_rand_init_common_ui().
3480:
3481: * gmp.h (__gmp_rand_state_struct): Remove unused member `maxval'.
3482: * randclr.c (gmp_rand_clear): Remove reference to s->maxval.
3483: * randcm.c (__gmp_rand_init_common): Ditto
3484:
3485: * mpn/generic/rawrandom.c (mpn_rawrandom): Don't calculate nlimbs
3486: twice.
3487:
3488: * gmp.h (__gmp_rand_dist): Remove.
3489:
3490: 1999-05-24 Linus Nordberg <linus@swox.se>
3491:
3492: * mpn/generic/rawrandom.c: Clean up comments.
3493:
3494: * gmp.texi: Add documentation for random number generation.
3495:
3496: 1999-05-21 Linus Nordberg <linus@swox.se>
3497:
3498: * gmp.h: Typedef `gmp_rand_state' as an array with one element.
3499: Change prototypes accordingly.
3500: * gmp-impl.h: Change prototypes using `gmp_rand_state'.
3501: * rand.c (gmp_rand_init): Take `gmp_rand_state' as argument
3502: instead of a pointer to a `gmp_rand_state'.
3503: * mpf/urandom.c (mpf_urandomb): Ditto.
3504: * mpz/urandom.c (mpz_urandomb): Ditto.
3505: * mpn/generic/rawrandom.c (mpn_rawrandom): Ditto.
3506: * randcmui.c (__gmp_rand_init_common_ui): Ditto.
3507: * randlc.c (gmp_rand_init_lc): Ditto.
3508: * randlcui.c (gmp_rand_init_lc_ui): Ditto.
3509: * randui.c (gmp_rand_init_ui): Ditto.
3510: * randcm.c (__gmp_rand_init_common): Ditto.
3511: * randclr.c (gmp_rand_clear): Ditto.
3512:
3513: 1999-05-20 Linus Nordberg <linus@swox.se>
3514:
3515: * Makefile.in: Rename randi.c --> rand.c, randi_lc.c --> randlc.c,
3516: randicom.c --> randcm.c. Add randui.c, randcmui.c, randlcui.c.
3517: * make.bat: Ditto.
3518:
3519: * gmp.h: Add prototypes for gmp_rand_init_ui() and
3520: gmp_rand_init_lc_ui().
3521: * gmp-impl.h: Add prototypes for __gmp_rand_init_common() and
3522: __gmp_rand_init_common_ui().
3523:
3524: * randlc.c, randcm.c, randclr.c, rand.c: Change #include of
3525: <gmp.h> to "gmp.h".
3526: * randclr.c: Include stdlib.h for free().
3527: * rand.c: Include gmp-impl.h.
3528:
3529: 1999-05-12 Torbjorn Granlund <tege@swox.com>
3530:
3531: * mpn/configure.in: Put generic m68k alternative last.
3532:
3533: 1999-05-04 Torbjorn Granlund <tege@swox.com>
3534:
3535: * demos/pexpr.c (setup_error_handler): Use sigemptyset to create
3536: empty set (for portability).
3537: (fns): Fix typo '#if #if'.
3538: (mpz_eval_expr): Implement FERMAT and MERSENNE.
3539:
3540: * demos/pexpr.c: Cast longjmp argument via long to silent warnings on
3541: 64-bit hosts.
3542:
3543: 1999-05-03 Torbjorn Granlund <tege@swox.com>
3544:
3545: * demos/pexpr.c: Add #defines for GMP 1.x and 2.0 compatibility.
3546:
3547: * demos/pexpr.c (setup_error_handler): New function; take signal
3548: handler setup code from main(), with major modifications to use modern
3549: signal interface.
3550: (main): Remove signal handler setup code; call setup_error_handler.
3551:
3552: 1999-04-27 Torbjorn Granlund <tege@swox.com>
3553:
3554: * mpn/configure.in: Fix typo, "sparc-*)" was "sparc)".
3555:
3556: 1999-04-21 Torbjorn Granlund <tege@swox.com>
3557:
3558: * config.sub: Recognize ev6.
3559:
3560: 1999-04-12 Linus Nordberg <linus.nordberg@canit.se>
3561:
3562: * urandom.c: Split up into randclr.c, randi.c, randi_lc.c,
3563: randicom.c.
3564: * randclr.c, randi.c, randi_lc.c, randicom.c: New files.
3565: * Makefile.in: Remove urandom. Add randclr, randi, randi_lc,
3566: randicom.
3567: * make.bat: Ditto
3568:
3569: 1999-03-31 Torbjorn Granlund <tege@matematik.su.se>
3570:
3571: * configure.in (sparc9-*-solaris2.[789]*, etc): New alternative.
3572: * mpn/configure.in: Use mt-sprc9 also for ultrasparc*-*-solaris2*.
3573:
3574: 1999-03-30 Linus Nordberg <linus.nordberg@canit.se>
3575:
3576: * urandom.c (__gmp_rand_scheme): Change NULL->0.
3577: Include "gmp.h" instead of <gmp.h>.
3578:
3579: 1999-03-29 Linus Nordberg <linus.nordberg@canit.se>
3580:
3581: * gmp.h (__gmp_rand_data_lc): Now holds a, c, m instead of scheme
3582: struct.
3583: (__gmp_rand_lc_scheme_struct): Remove mpz_t's `a' and `m'.
3584:
3585: 1999-03-23 Linus Nordberg <linus.nordberg@canit.se>
3586:
3587: * Makefile.in: Compile top-dir/urandom.c.
3588: * make.bat: Ditto.
3589:
3590: * mpn/Makefile.in: Compile rawrandom.c.
3591: * make.bat: Ditto.
3592:
3593: * mpn/configure.in (functions): Add rawrandom.
3594:
3595: * gmp.h (__gmp_rand_scheme_struct): Rename to
3596: __gmp_rand_lc_scheme_struct.
3597: (__gmp_rand_data_lc): Remove member 'n'. Allocate a
3598: __gmp_rand_lc_scheme_struct instead of a pointer to one.
3599: Add prototype for gmp_rand_init_lc(), mpn_rawrandom().
3600: New prototype for mpz_urandomb().
3601:
3602: * urandom.c: New file.
3603: (__gmp_rand_init_common): New function.
3604: (gmp_rand_init_lc): New function.
3605: (gmp_rand_init): Don't init data_lc->n. Call gmp_rand_init_lc()
3606: and __gmp_rand_init_common().
3607: (gmp_rand_clear): Remove reference to data_lc->n.
3608:
3609: * mpz/urandom.c (gmp_rand_init, gmp_rand_clear): Move to new file
3610: urandom.c in top-dir.
3611: (mpz_urandomb): Add function parameter nbits. Call mpn_rawrandom().
3612:
3613: * mpf/urandom.c (mpf_urandomb): Call mpn_rawrandom().
3614:
3615: * mpn/generic/rawrandom.c: New file.
3616: (mpn_rawrandom): New function.
3617:
3618: 1999-03-17 Torbjorn Granlund <tege@matematik.su.se>
3619:
3620: * extract-dbl.c: When packing result, adjust exp when sc == 0.
3621:
3622: * mpf/tests/t-get_d.c: New file.
3623: * mpf/tests/Makefile.in: Compile t-get_d.c.
3624:
3625: 1999-03-16 Linus Nordberg <linus.nordberg@canit.se>
3626:
3627: * mpz/urandom.c (__gmp_rand_scheme): Add extra braces around the
3628: mpz_t members.
3629:
3630: * make.bat: Compile mpz/urandom.c and mpf/urandom.c
3631:
3632: 1999-03-15 Linus Nordberg <linus.nordberg@canit.se>
3633:
3634: * mpz/urandom.c (gmp_rand_init): New function.
3635: (gmp_rand_clear): New function.
3636: (mpz_urandomb): New function.
3637:
3638: * mpz/Makefile.in: Compile urandom.c
3639:
3640: * mpf/urandom.c (mpf_urandomb): New function.
3641:
3642: * mpf/Makefile.in: Compile urandom.c.
3643:
3644: * gmp.h (__gmp_rand_state_struct, __gmp_rand_scheme_struct): New
3645: structs for randomization functions.
3646: (gmp_rand_dist, gmp_rand_alogrithm): New enums for randomization
3647: functions.
3648: (mpz_urandomb, mpf_urandomb): Add prototype.
3649: (gmp_rand_init, gmp_rand_clear): Add prototype.
3650:
3651: 1999-03-15 Torbjorn Granlund <tege@matematik.su.se>
3652:
3653: * .gdbinit: New file.
3654:
3655: * mpz/dump.c: New file.
3656: * mpz/Makefile.in: Compile dump.c.
3657: * make.bat: Likewise.
3658: * gmp.h (mpz_dump): Declare.
3659:
3660: 1999-03-14 Torbjorn Granlund <tege@matematik.su.se>
3661:
3662: * mpz/tests/reuse.c: Also test mpz_invert and mpz_divexact.
3663:
3664: * mpz/tests/convert.c: Update to GMP 2 variable syntax.
3665:
3666: 1999-03-13 Torbjorn Granlund <tege@matematik.su.se>
3667:
3668: * mpf/README: New file.
3669: * mpz/README: New file.
3670:
3671: * mpf/pow_ui.c: New file.
3672: * mpf/Makefile.in: Compile pow_ui.c.
3673: * make.bat: Likewise.
3674: * gmp.h (mpf_pow_ui): Declare.
3675:
3676: 1999-03-12 Torbjorn Granlund <tege@matematik.su.se>
3677:
3678: * mpn/configure.in: Stage 1 of rewrite.
3679: * mpn/underscore.h: New name for bsd.h.
3680: * mpn/sysv.h: Deleted.
3681:
3682: * mpn/m68k/*: Don't include sysdep.h.
3683:
3684: 1999-03-11 Torbjorn Granlund <tege@matematik.su.se>
3685:
3686: * mpn/powerpc32/add_n.S: Add support for both AIX and ELF syntax.
3687: Renamed from `.s'.
3688: * mpn/powerpc32/sub_n.S: Likewise.
3689: * mpn/powerpc32/lshift.S: Likewise.
3690: * mpn/powerpc32/rshift.S: Likewise.
3691: * mpn/powerpc32/mul_1.S: Likewise.
3692: * mpn/powerpc32/addmul_1.S: Likewise.
3693: * mpn/powerpc32/submul_1.S: Likewise.
3694:
3695: * mpn/powerpc32/umul.S: New file.
3696: * mpn/sparc32/v8/umul.S: New file.
3697: * mpn/sparc32/umul.S: New file.
3698: * mpn/x86/umul.S: New file.
3699: * mpn/x86/udiv.S: New file.
3700:
3701: * mpn/Makefile.in (mul_basecase.o): Delete rule.
3702:
3703: 1999-02-22 Torbjorn Granlund <tege@matematik.su.se>
3704:
3705: * configure.in (hppa2.0*-*-*): Force use of GCC.
3706:
3707: * extract-dbl.c: Handle IEEE denormalized numbrs. Clean up.
3708:
3709: 1998-12-02 Torbjorn Granlund <tege@matematik.su.se>
3710:
3711: * mpn/Makefile.in (CCAS): New macro.
3712: (.s.o): Use CCAS.
3713: (.S.o): Likewise.
3714:
3715: * mpn/Makefile.in (mul_basecase.o): Add dependency.
3716: (sqr_basecase.o): Likewise.
3717: (mod_1.o): Likewise.
3718:
3719: * demos/pexpr.c (cputime): Test also __hpux.
3720: (cleanup_and_exit): Check SIGXCPU only #ifdef LIMIT_RESOURCE_USAGE.
3721:
3722: * mpz/tests/t-2exp.c: Use urandom, not random.
3723:
3724: * mpn/configure.in (arm*-*-*): New alternative.
3725:
3726: 1998-11-30 Torbjorn Granlund <tege@matematik.su.se>
3727:
3728: * gmp-impl.h (union ieee_double_extract): Special case for
3729: little-endian arm.
3730: (LIMBS): Alias for PTR.
3731:
3732: 1998-11-26 Torbjorn Granlund <tege@matematik.su.se>
3733:
3734: * longlong.h (m68000 umul_ppmm): Use `muluw', not `mulu'.
3735: (m68k stuff): Clean up; add coldfire support.
3736:
3737: 1998-11-23 Torbjorn Granlund <tege@matematik.su.se>
3738:
3739: * mpn/mips3/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
3740: (KARATSUBA_SQR_THRESHOLD): #define.
3741:
3742: * mpn/sparc32/v9/README: New file.
3743:
3744: 1998-11-20 Torbjorn Granlund <tege@matematik.su.se>
3745:
3746: * mpn/x86/README: New file.
3747:
3748: * mpn/arm/gmp-mparam.h: New file.
3749: * mpn/pa64/gmp-mparam.h: New file.
3750: * mpn/hppa/gmp-mparam.h: New file.
3751: * mpn/x86/pentium/gmp-mparam.h: New file.
3752: * mpn/sparc32/v9/gmp-mparam.h: New file.
3753: * mpn/powerpc32/gmp-mparam.h: New file.
3754: * mpn/x86/p6/gmp-mparam.h: New file.
3755:
3756: * mpn/alpha/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
3757: (KARATSUBA_SQR_THRESHOLD): #define.
3758:
3759: * mpn/configure.in: Point to x86/p6 when appropriate.
3760:
3761: * mpn/power/umul.s: New file.
3762: * mpn/power/sdiv.s: New file.
3763: * mpn/pa64/addmul_1.S: New file.
3764: * mpn/pa64/submul_1.S: New file.
3765: * mpn/pa64/mul_1.S: New file.
3766: * mpn/pa64/udiv_qrnnd.c: New file.
3767: * mpn/pa64/umul_ppmm.S: New file.
3768: * mpn/mips2/umul.s: New file.
3769: * mpn/m68k/mc68020/umul.s: New file.
3770: * mpn/m68k/mc68020/udiv.s: New file.
3771: * mpn/hppa/hppa1_1/umul.s: New file.
3772: * mpn/alpha/umul.s: New file.
3773: * mpn/a29k/udiv.s: New file.
3774: * mpn/a29k/umul.s: New file.
3775:
3776: 1998-11-17 Torbjorn Granlund <tege@matematik.su.se>
3777:
3778: * mpn/x86/mul_basecase.S: New file for non-pentiums.
3779: * mpn/x86/mul_basecase.S: Move to mpn/x86/pentium.
3780:
3781: 1998-11-16 Torbjorn Granlund <tege@matematik.su.se>
3782:
3783: * make.bat: Compile mul_basecase.c and sqr_basecase.c.
3784:
3785: 1998-11-10 Torbjorn Granlund <tege@matematik.su.se>
3786:
3787: * mpz/invert.c: Defer writing to parameter `invert' until
3788: end.
3789:
3790: 1998-11-03 Torbjorn Granlund <tege@matematik.su.se>
3791:
3792: * mpn/pa64/udiv_qrnnd.c: Handle more border cases.
3793:
3794: 1998-10-29 Torbjorn Granlund <tege@matematik.su.se>
3795:
3796: * insert-dbl.c: Special case biased exponents < 1; Get boundary for
3797: Inf right.
3798:
3799: * longlong.h (COUNT_LEADING_ZEROS_NEED_CLZ_TAB): New #define.
3800:
3801: 1998-10-28 Torbjorn Granlund <tege@matematik.su.se>
3802:
3803: * mpn/powerpc32/submul_1.s: Rewrite, optimizing for PPC604.
3804: * mpn/powerpc32/addmul_1.s: Likewise.
3805: * mpn/powerpc32/lshift.s: Likewise.
3806:
3807: 1998-10-23 Torbjorn Granlund <tege@matematik.su.se>
3808:
3809: * config/mt-sprc9-gcc (XCFLAGS): Add -Wa,-xarch=v8plus.
3810:
3811: * mpn/sparc32/v9/submul_1.s: New file.
3812:
3813: 1998-10-21 Torbjorn Granlund <tege@matematik.su.se>
3814:
3815: * mpn/config/mt-pa2hpux: New file.
3816: * mpn/configure.in (hppa2.0*-*-*): Use new 64-bit code.
3817:
3818: * config.sub: Recognize hppa2.0 as CPU type.
3819:
3820: * longlong.h (64-bit hppa): Add umul_ppmm and udiv_qrnnd.
3821: * mpn/pa64/mul_1.S: New file.
3822: * mpn/pa64/addmul_1.S: New file.
3823: * mpn/pa64/submul_1.S: New file.
3824: * mpn/pa64/umul_ppmm.S: New file.
3825: * mpn/pa64/udiv_qrnnd.c: New file.
3826:
3827: 1998-10-20 Torbjorn Granlund <tege@matematik.su.se>
3828:
3829: * mpz/pprime_p.c: Pass 1L, not 1, to mpz_cmp_ui.
3830:
3831: * mpz/fdiv_q_2exp.c: Cast `long' argument to `mp_limb_t' for mpn calls.
3832: * mpz/gcd_ui.c: Likewise.
3833: * mpz/add_ui.c: Likewise.
3834: * mpz/sub_ui.c: Likewise.
3835:
3836: 1998-10-19 Torbjorn Granlund <tege@matematik.su.se>
3837:
3838: * mpn/generic/bdivmod.c: Avoid using switch statement with mp_limb_t
3839: index.
3840:
3841: 1998-10-17 Torbjorn Granlund <tege@matematik.su.se>
3842:
3843: * mpn/sparc32/v9/mul_1.s: Misc cleanups.
3844: * mpn/sparc32/v9/addmul_1.s: Misc cleanups.
3845:
3846: 1998-10-16 Torbjorn Granlund <tege@matematik.su.se>
3847:
3848: * mpn/tests/{add,sub,}mul_1.c: Print xlimb using mpn_print.
3849:
3850: * mpz/tests/t-powm.c (SIZE): Increase to 50.
3851: (EXP_SIZE): New parameter; use it for computing exp_size.
3852:
3853: 1998-10-15 Torbjorn Granlund <tege@matematik.su.se>
3854:
3855: * mpn/generic/divrem_newt.c: Use TMP_ALLOC interface.
3856:
3857: * mpn/generic/sqrtrem.c: Check BITS_PER_MP_LIMB before defining
3858: assembly variants of SQRT.
3859:
3860: 1998-10-14 Torbjorn Granlund <tege@matematik.su.se>
3861:
3862: * mpn/tests: Clean up timing routines. Don't include longlong.h
3863: where it is not needed.
3864: (mpn_print): Handle printing when _LONG_LONG_LIMB.
3865: * mpn/tests/{add,sub,}mul_1.c: Generate xlimb with mpn_random2
3866: and do it whether TIMES != 1 or not.
3867:
3868: * mpn/generic/mul_n.c: Delay assignment of `sign' for lower
3869: register pressure.
3870:
3871: * mpn/sparc32/v9/mul_1.s: New file.
3872:
3873: * config/mt-sprc9-gcc: New file.
3874: * configure.in: Use it.
3875:
3876: * mpn/configure.in: Use sparc64 for Solaris 2.7 and later with a
3877: sparc v9 CPU.
3878: * mpn/configure.in: Use sparc32/v9 for Solaris 2.6 or earlier with
3879: a sparc v9 CPU.
3880:
3881: * mpf/sub.c: In initial code for ediff == 0, limit precision
3882: before jumping to `normalize'.
3883:
3884: 1998-10-13 Torbjorn Granlund <tege@matematik.su.se>
3885:
3886: * mpn/hppa/hppa2_0/add_n.s: New file.
3887: * mpn/hppa/hppa2_0/sub_n.s: New file.
3888: * mpn/configure.in: Handle hppa2.0 (32-bit code for now).
3889:
3890: * config.guess: Update from egcs 1.1.
3891: (9000/[3478]??:HP-UX:*:*): Properly return 2.0 for all known 2.0
3892: machines.
3893:
3894: 1998-10-07 Torbjorn Granlund <tege@matematik.su.se>
3895:
3896: * mpz/root.c (mpz_root): New file.
3897: * mpz/Makefile.in: Compile it.
3898: * make.bat: Likewise.
3899: * gmp.h (mpz_root): Declare.
3900:
3901: * mpz/perfpow.c: New file.
3902: * mpz/Makefile.in: Compile it.
3903: * make.bat: Likewise.
3904: * gmp.h (mpz_perfect_power_p): Declare.
3905:
3906: * mpz/remove.c: New file.
3907: * mpz/Makefile.in: Compile it.
3908: * make.bat: Likewise.
3909: * gmp.h (mpz_remove): Declare.
3910:
3911: * mpz/bin_ui.c: New file.
3912: * mpz/Makefile.in: Compile it.
3913: * make.bat: Likewise.
3914: * gmp.h (mpz_bin_ui): Declare.
3915:
3916: * mpz/bin_uiui.c: New file.
3917: * mpz/Makefile.in: Compile it.
3918: * make.bat: Likewise.
3919: * gmp.h (mpz_bin_uiui): Declare.
3920:
3921: 1998-09-16 Torbjorn Granlund <tege@matematik.su.se>
3922:
3923: * longlong.h: Test for __powerpc__ in addition to _ARCH_PPC.
3924:
3925: Sat Sep 5 17:22:28 1998 Torbjorn Granlund <tege@matematik.su.se>
3926:
3927: * mpf/cmp_si.c: Compare most significant mantissa limb before
3928: trying to deduce anything from the limb count.
3929: * mpf/cmp_ui.c: Likewise.
3930:
3931: Tue Aug 18 10:24:39 1998 Torbjorn Granlund <tege@matematik.su.se>
3932:
3933: * mpz/pprime_p.c (mpz_probab_prime_p): Add new code block
3934: for doing more dividing.
3935:
3936: Sat Aug 15 18:43:17 1998 Torbjorn Granlund <tege@matematik.su.se>
3937:
3938: * mpn/generic/divrem_newt.c: New name for divrem_newton.c.
3939: * mpn/Makefile.in: Corresponding changes.
3940: * mpn/configure.in: Likewise.
3941:
3942: Wed Aug 12 23:07:09 1998 Torbjorn Granlund <tege@matematik.su.se>
3943:
3944: * config.guess: Handle powerpc for NetBSD.
3945:
3946: Tue Jul 28 23:10:55 1998 Torbjorn Granlund <tege@matematik.su.se>
3947:
3948: * mpz/fib_ui.c: New file.
3949: * mpz/Makefile.in: Compile it.
3950: * make.bat: Likewise.
3951: * gmp.h (mpz_fib_ui): Declare.
3952:
3953: Wed Jun 17 22:52:58 1998 Torbjorn Granlund <tege@matematik.su.se>
3954:
3955: * make.bat: Fix typo, `asm-synt.h' => `asm-syntax.h'.
3956:
3957: Wed Jun 3 11:27:32 1998 Torbjorn Granlund <tege@matematik.su.se>
3958:
3959: * config/mt-pwr: New file.
3960: * config/mt-ppc: New file.
3961: * configure.in: Use the new files.
3962:
3963: Tue Jun 2 13:04:17 1998 Torbjorn Granlund <tege@matematik.su.se>
3964:
3965: * mpn/sparc32/v9/addmul_1.s: New file.
3966: * mpn/config/mt-sprc9: New file.
3967: * mpn/configure.in: Use mt-sprc9.
3968:
3969: Tue May 26 11:24:18 1998 Torbjorn Granlund <tege@matematik.su.se>
3970:
3971: * demos/factorize.c (factor_using_pollard_rho): Pass correct
3972: parameters in recursive calls; join the two recursion arms.
3973:
3974: * mpf/set_q.c: Set result sign.
3975: When normalizing the numerator, don't allow it to increase in size
3976: beyond prec.
3977:
3978: Tue May 19 17:28:14 1998 Torbjorn Granlund <tege@matematik.su.se>
3979:
3980: * demos/factorize.c (factor_using_division): Call fflush
3981: also for the factor 2.
3982:
3983: Mon May 18 15:51:01 1998 Torbjorn Granlund <tege@matematik.su.se>
3984:
3985: * make.bat: Pass -fomit-frame-pointer. Do not pass -g.
3986:
3987: Tue May 5 01:42:50 1998 Torbjorn Granlund <tege@matematik.su.se>
3988:
3989: * mpz/Makefile.in (LOCAL_CC): Remove definition.
3990:
3991: * gmp.h: Get rid of GMP_SMALL stuff.
3992: * mpz/Makefile.in: Likewise.
3993: * mpq/Makefile.in: Likewise.
3994: * mpf/Makefile.in: Likewise.
3995:
3996: * mpz/invert.c: Fix typo in comment.
3997:
3998: Mon May 4 23:05:32 1998 Torbjorn Granlund <tege@matematik.su.se>
3999:
4000: * mpn/generic/sqrtrem.c: Check that __arch64__ is not defined
4001: before defining sparc SQRT.
4002:
4003: Mon Apr 20 19:16:17 1998 Torbjorn Granlund <tege@matematik.su.se>
4004:
4005: * mpn/generic/gcdext.c: Allow gp to be NULL.
4006:
4007: 1998-04-03 Torbjorn Granlund <tege@matematik.su.se>
4008:
4009: * mpn/configure.in: Recognize `alphaev5*', not `alphaev5'.
4010:
4011: * config.guess: Handle CPU variants for NetBSD.
4012:
4013: Mon Mar 16 13:07:54 1998 Torbjorn Granlund <tege@matematik.su.se>
4014:
4015: * mpz/pprime_p.c: Use mpn_mod_1/mpn_preinv_mod_1 for computing mod PP,
4016: not mpz_tdiv_r_ui (which expects an `unsigned long').
4017: (mpz_probab_prime_p): Change type of `r' to mp_limb_t.
4018:
4019: Thu Mar 12 17:19:04 1998 Torbjorn Granlund <tege@matematik.su.se>
4020:
4021: * gmp.h (mpf_ceil, mpf_floor, mpf_trunc): Add declarations.
4022:
4023: * config.guess: Update from FSF version.
4024: * config.sub: Likewise.
4025:
4026: * config.guess: Add special handling of alpha-*-NetBSD.
4027:
4028: Wed Mar 11 00:55:34 1998 Torbjorn Granlund <tege@matematik.su.se>
4029:
4030: * mpz/inp_str.c: Update from set_str.c.
4031: Properly increment `nread' when skipping minus sign.
4032:
4033: * mpz/set_str.c: Check for empty string after having skipped
4034: leading zeros.
4035:
4036: Mon Mar 9 19:28:00 1998 Torbjorn Granlund <tege@matematik.su.se>
4037:
4038: * mpz/set_str.c: Skip leading zeros.
4039:
4040: Wed Mar 4 19:29:16 1998 Torbjorn Granlund <tege@matematik.su.se>
4041:
4042: * gmp.h (mpz_cmp_si): Cast argument before calling mpz_cmp_ui.
4043:
4044: * demos/factorize.c: Rewrite.
4045:
4046: 1998-02-04 Torbjorn Granlund <tege@matematik.su.se>
4047:
4048: * configure.in (i[3456]86* etc): Check if using gcc before
4049: choosing mt-x86.
4050:
4051: * configure.in (m68*-*-*): New alterantive.
4052: * config/mt-m68k: New file.
4053:
4054: * mpn/alpha/invert-limb.s: Put tables in text segment,
4055: since not all systems support "rdata".
4056:
4057: Wed Feb 4 02:20:57 1998 Torbjorn Granlund <tege@matematik.su.se>
4058:
4059: * gmp.h (__GNU_MP_VERSION_SNAP): New #define.
4060: (__GNU_MP_VERSION_MINOR): Now 1.
4061:
4062: Wed Jan 28 22:29:36 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
4063:
4064: * longlong.h (alpha udiv_qrnnd): #define UDIV_NEEDS_NORMALIZATION.
4065:
4066: Wed Jan 28 20:28:19 1998 Torbjorn Granlund <tege@sophie.matematik.su.se>
4067:
4068: * mpz/pprime_p.c (mpz_probab_prime_p): Delete 59 from tried divisors.
4069:
4070: Mon Jan 26 01:39:02 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
4071:
4072: * mpz/pprime_p.c (mpz_probab_prime_p): Major overhaul: Check small
4073: numers specifically; check small factors, then perform a fermat test.
4074:
4075: Tue Jan 13 14:58:28 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
4076:
4077: * longlong.h (alpha udiv_qrnnd): Call __mpn_invert_normalized_limb
4078: and udiv_qrnnd_preinv.
4079:
4080: Wed Jan 7 01:52:54 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
4081:
4082: * mpn/configure.in (alpha*, extra_functions): Add invert-limb and
4083: remove udiv_qrnnd.
4084:
4085: * mpn/tests/divrem.c: Get allocations right.
4086:
4087: * mpn/generic/divrem.c: Conditionally pre-invert most significant
4088: divisor limb.
4089:
4090: Tue Jan 6 23:08:54 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
4091:
4092: * mpn/generic/divrem_1.c: Rename variables to comply to conventions.
4093: Make `i' have type `mp_size_t'.
4094:
4095: Tue Dec 30 22:21:42 1997 Torbjorn Granlund <tege@matematik.su.se>
4096:
4097: * mpz/tdiv_qr_ui.c: Return the remainder.
4098: * mpz/tdiv_r_ui.c: Likewise.
4099: * mpz/tdiv_q_ui.c: Likewise.
4100: * gmp.h: Change return type of mpz_tdiv_qr_ui, mpz_tdiv_r_ui,
4101: mpz_tdiv_q_ui.
4102:
4103: * mpz/tdiv_ui.c: New file.
4104: * mpz/Makefile.in: Compile it.
4105: * make.bat: Likewise.
4106: * gmp.h (mpz_tdiv_ui): Declare.
4107:
4108: Fri Nov 7 04:21:15 1997 Torbjorn Granlund <tege@matematik.su.se>
4109:
4110: * mpf/integer.c (FUNC_NAME): Fix bogus test for mpf_trunc.
4111:
4112: * demos/isprime.c: New file.
4113:
4114: Sat Nov 1 19:32:25 1997 Torbjorn Granlund <tege@matematik.su.se>
4115:
4116: * mpz/cmp_abs.c: New file.
4117: * mpz/Makefile.in: Compile it.
4118: * make.bat: Likewise.
4119: * gmp.h (mpz_cmp_abs): Declare.
4120:
4121: * mpz/cmp_abs_ui.c: New file.
4122: * mpz/Makefile.in: Compile it.
4123: * make.bat: Likewise.
4124: * gmp.h (mpz_cmp_abs_ui): Declare.
4125:
4126: Sat Sep 27 04:49:52 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
4127:
4128: * mpz/fdiv_r_2exp.c: Get allocation for `tmp' right.
4129:
4130: * mpz/fdiv_q_2exp.c: In final result adjustment code, handle
4131: that intermediate result is zero.
4132:
4133: * mpz/tests/t-2exp.c: New file.
4134: * mpz/tests/Makefile.in: Handle t-2exp.c.
4135:
4136: Fri Sep 26 16:29:21 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
4137:
4138: * mpz/divexact.c: Fix typo in test for whether to copy numerator to
4139: quotient and move that statement to after handling quotient and
4140: denominator overlap. Misc cleanups.
4141:
4142: * mpn/generic/gcd.c: Change count argument of mpn_lshift/mpn_rshift
4143: calls to `unsigned int'.
4144: * mpz/divexact.c: Likewise.
4145:
4146: Mon Sep 22 02:19:52 1997 Torbjorn Granlund <tege@pro.tmg.se>
4147:
4148: * mpz/tests/t-powm.c: Decrease `reps' to 2500.
4149:
4150: * mpz/tests/t-pow_ui.c: New file.
4151: * mpz/tests/Makefile.in: Handle t-pow_ui.c.
4152:
4153: * mpz/ui_pow_ui.c: Get special cases for exponent and base right.
4154:
4155: * mpz/pow_ui.c: Increase temp space allocation by 1 limb.
4156: Split `rsize' into two variables; compute space allocation into
4157: `ralloc'.
4158:
4159: Sun Sep 7 04:15:12 1997 Torbjorn Granlund <tege@pro.tmg.se>
4160:
4161: * mpn/pa64/lshift.s: New file.
4162: * mpn/pa64/rshift.s: New file.
4163: * mpn/pa64/sub_n.s: New file.
4164:
4165: Sat Sep 6 19:14:13 1997 Torbjorn Granlund <tege@gmp.tmg.se>
4166:
4167: * mpn/pa64/add_n.s: New file.
4168: * mpn/pa64: New directory.
4169:
4170: Tue Aug 19 16:17:09 1997 Torbjorn Granlund <tege@pro.tmg.se>
4171:
4172: * mpz/swap.c: New file.
4173: * mpz/Makefile.in: Compile it.
4174: * make.bat: Likewise.
4175: * gmp.h (mpz_swap): Declare.
4176:
4177: * mpn/generic/mul_n.c: Push assignment of x and y pointers into the
4178: if/else clauses in several places. (Decreases register pressure.)
4179:
4180: Mon Aug 18 03:29:50 1997 Torbjorn Granlund <tege@pro.tmg.se>
4181:
4182: * mpn/thumb/add_n.s: New file.
4183: * mpn/thumb/sub_n.s: New file.
4184: * mpn/arm/add_n.s: New file.
4185: * mpn/arm/sub_n.s: New file.
4186:
4187: * mpz/powm.c: After mpn_mul_n and mpn_mul calls, adjust product size
4188: if most significant limb is zero.
4189: * mpz/powm_ui.c: Likewise.
4190:
4191: Fri Aug 15 02:13:57 1997 Torbjorn Granlund <tege@pro.tmg.se>
4192:
4193: * mpn/arm/m/mul_1.s: New file.
4194: * mpn/arm/m/addmul_1.s: New file.
4195:
4196: * mpn/powerpc32/mul_1.s: Rewrite.
4197:
4198: * mpn/alpha/mul_1.s: Prefix labels with `.'.
4199:
4200: Mon Aug 11 02:37:16 1997 Torbjorn Granlund <tege@pro.tmg.se>
4201:
4202: * mpn/powerpc32/add_n.s: Rewrite.
4203: * mpn/powerpc32/sub_n.s: Rewrite.
4204:
4205: Sun Aug 10 17:07:15 1997 Torbjorn Granlund <tege@pro.tmg.se>
4206:
4207: * mpn/powerpc32/addmul_1.s: Delete obsolete comments.
4208: * mpn/powerpc32/submul_1.s: Likewise.
4209:
4210: Fri Jul 25 20:07:54 1997 Torbjorn Granlund <tege@pro.tmg.se>
4211:
4212: * mpz/addmul_ui.c: New file.
4213: * mpz/Makefile.in: Compile it.
4214: * make.bat: Likewise.
4215: * gmp.h (mpz_addmul_ui): Declare.
4216:
4217: * mpz/setbit.c: Add missing code after final `else'.
4218:
4219: Tue Jul 22 17:45:01 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
4220:
4221: * mpn/sh/add_n.s: Fix typo.
4222: * mpn/sh/sub_n.s: Likewise.
4223:
4224: * longlong.h (ns32k count_trailing_zeros): Fix typo.
4225:
4226: * insert-dbl.c: Check for exponent overflow and return Inf.
4227:
4228: * mpz/get_d.c: Rewrite to avoid rounding errors.
4229:
4230: Thu May 29 11:51:07 1997 Torbjorn Granlund <tege@pro.tmg.se>
4231:
4232: * mpq/add.c: Swap some usages of tmp1 and tmp2 to make sure
4233: their allocation suffices.
4234: * mpq/sub.c: Likewise.
4235:
4236: Wed Apr 16 02:24:25 1997 Torbjorn Granlund <tege@pro.tmg.se>
4237:
4238: * demos/pexpr.c: New file.
4239:
4240: * mpn/generic/mul_n.c: Misc optimizations from Robert Harley.
4241:
4242: * gmp-impl.h (MPZ_PROVOKE_REALLOC): New #define.
4243:
4244: Sat Apr 12 17:54:04 1997 Torbjorn Granlund <tege@pro.tmg.se>
4245:
4246: * mpz/tstbit.c: New file.
4247: * mpz/Makefile.in: Compile it.
4248: * make.bat: Likewise.
4249: * gmp.h (mpz_tstbit): Declare.
4250:
4251: * mpz/tests/logic.c: Use MPZ_CHECK_FORMAT.
4252: * mpz/tests/bit.c: New test.
4253: * mpz/tests/Makefile.in: Handle bit.c.
4254:
4255: * mpz/ior.c: In -OP2,+OP1 case, normalize OP2 after call to mpn_sub_1.
4256:
4257: * gmp-impl.h (MPZ_CHECK_FORMAT): New #define.
4258:
4259: Thu Apr 10 00:30:14 1997 Torbjorn Granlund <tege@tmg.se>
4260:
4261: * longlong.h (POWER/PowerPC): Test _ARCH_PWR instead of _IBMR2.
4262:
4263: Wed Apr 9 18:23:31 1997 Torbjorn Granlund <tege@pro.tmg.se>
4264:
4265: * gmp-impl.h: Move defaulting of UMUL_TIME and UDIV_TIME from here...
4266: * longlong.h: ...to here.
4267:
4268: Sun Mar 30 12:16:23 1997 Torbjorn Granlund <tege@matematik.su.se>
4269:
4270: * mpn/generic/next_prime.c: New file.
4271:
4272: * mpn/generic/perfsqr.c: Remove definitions of PP and PP_INVERTED.
4273: * gmp-impl.h: Put them here.
4274:
4275: Fri Mar 28 08:18:05 1997 Torbjorn Granlund <tege@matematik.su.se>
4276:
4277: * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Define as inline asm for
4278: for x86, but leave disabled for now.
4279:
4280: Fri Feb 28 02:39:47 1997 Torbjorn Granlund <tege@matematik.su.se>
4281:
4282: * mpn/Makefile.in (.S.o): Pass SFLAGS and CFLAGS also to compiler
4283: for assembly phase.
4284: (.s.o): Pass SFLAGS.
4285:
4286: Wed Feb 26 06:46:08 1997 Torbjorn Granlund <tege@matematik.su.se>
4287:
4288: * mpn/configure.in: For Pentium Pro, use default code, not Pentium
4289: optimized code.
4290:
4291: * mpn/x86/addmul_1.S: Unroll and optimize for Pentium Pro.
4292: * mpn/x86/submul_1.S: Likewise.
4293:
4294: Thu Feb 13 08:26:09 1997 Torbjorn Granlund <tege@matematik.su.se>
4295:
4296: * mpf/Makefile.in: Compile floor.o, ceil.o and trunc.o (from
4297: integer.c).
4298: * make.bat: Likewise.
4299:
4300: Wed Feb 5 05:58:44 1997 Torbjorn Granlund <tege@matematik.su.se>
4301:
4302: * mpn/configure.in (alpha*): Add cntlz to extra_functions.
4303:
4304: Wed Feb 4 03:30:45 1997 Torbjorn Granlund <tege@matematik.su.se>
4305:
4306: * mpf/integer.c: New file (supporting mpf_floor, mpf_ceil, mpf_trunc).
4307:
4308: Mon Feb 3 14:21:36 1997 Torbjorn Granlund <tege@matematik.su.se>
4309:
4310: * make.bat: Fix typo, set_dfl_prc => set_dfl_prec.
4311:
4312: Sun Feb 2 02:34:33 1997 Torbjorn Granlund <tege@matematik.su.se>
4313:
4314: * mpf/out_str.c: After outputting `-', decrement n_digits.
4315:
4316: Wed Jan 8 02:50:20 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
4317:
4318: * mpn/generic/divrem.c: qextra_limbs => qxn.
4319:
4320: Wed Dec 18 07:50:46 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4321:
4322: * mpz/tests/t-tdiv.c (SIZE): Increase to 200.
4323:
4324: Tue Dec 17 19:32:48 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4325:
4326: * mpn/generic/divrem.c (mpn_divrem_classic): New name for mpn_divrem.
4327: * gmp.h (mpn_divrem): New function.
4328: * mpn/generic/divrem_newton.c: New file.
4329: * mpn/configure.in (functions): Add divrem_newton.
4330: * make.bat: Likewise.
4331:
4332: Thu Dec 12 17:55:13 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4333:
4334: * gmp.h (_GMP_H_HAVE_FILE): Test also __dj_include_stdio_h_.
4335:
4336: Sat Dec 7 09:40:06 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4337:
4338: * mpn/alpha/invert-limb.s: New file.
4339:
4340: Thu Dec 5 01:25:31 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4341:
4342: * mpz/ui_pow_ui.c (mpz_pow2): New (static) function.
4343: (mpz_ui_pow_ui): Rewrite.
4344:
4345: * make.bat: `pre_mod_1.c' => `pre_mod_.c'. Fix typo in path to
4346: gmp-mpar.h.
4347:
4348: Fri Nov 15 00:49:55 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4349:
4350: * mpz/ui_pow_ui.c: Rewrite for better speed.
4351:
4352: Fri Nov 1 16:36:56 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4353:
4354: * Makefile.in (recursive make rules): Use `&&' instead of `;' as
4355: delimiter.
4356:
4357: Fri Oct 25 17:12:36 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4358:
4359: * gmp-impl.h (Cray/uxp MPN_COPY): Really declare as inline.
4360:
4361: Thu Oct 24 15:08:19 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4362:
4363: * mpn/fujitsu/rshift.c: Fix typo in loop boundaries.
4364:
4365: Fri Oct 18 03:13:54 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4366:
4367: * mpn/configure.in: Recognize `nextstep' for m68k variants; likewise
4368: for x86 variants.
4369:
4370: * mpn/x86/syntax.h (INSND): New macro.
4371: * mpn/x86/[lr]shift.S: Use INSND.
4372: * mpn/x86/pentium/[lr]shift.S: Likewise.
4373: * mpn/config/t-oldgas (SFLAGS): Pass -DOLD_GAS.
4374:
4375: * gmp-impl.h: In code for determining endianess, test also
4376: __BIG_ENDIAN__ and __hppa__. Remove test of __NeXT__.
4377:
4378: Wed Oct 16 03:50:34 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4379:
4380: * mpf/set_str.c: Let `prec' determine precision used in
4381: exponentialization code; decrease allocation accordingly.
4382:
4383: * mpn/vax: Change `jsob*' to `sob*' in all files.
4384:
4385: Tue Oct 15 03:54:06 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4386:
4387: * longlong.h (m88110 udiv_qrnnd): Change type of intermediate quotient
4388: to DImode (divu.d generates a 64-bit quotient).
4389:
4390: * configure.in (m88110*): Fix typo.
4391:
4392: * mpf/get_str.c: Compute exp_in_base using `double' to avoid overflow.
4393:
4394: * gmp-impl.h (struct bases): Change type of chars_per_bit_exactly from
4395: float to double.
4396: * mpn/mp_bases.c (__mp_bases): Give 17 digits for chars_per_bit_exactly
4397: field.
4398:
4399: * mpf/get_str.c: Let `prec' determine precision used in
4400: exponentialization code; decrease allocation accordingly.
4401:
4402: Sun Oct 13 03:31:53 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4403:
4404: * longlong.h: Major cleanup.
4405: (__udiv_qrnnd_c): Compute remainders using multiply and subtract,
4406: not explicit `%' operator.
4407: (C umul_ppmm): Get rid of a redundant __ll_lowpart.
4408:
4409: * mpz/invert.c: Properly detect all operands that would yield an
4410: undefined inverse; make sure the inverse is always positive.
4411:
4412: * mpz/xor.c: New file.
4413: * mpz/Makefile.in: Compile it.
4414: * make.bat: Likewise.
4415: * gmp.h (mpz_xor): Declare.
4416:
4417: * mpz/tests/logic.c: Also test mpz_xor.
4418:
4419: * mpz/lcm.c: Special case for when either operand equals 0.
4420:
4421: Sat Oct 12 01:57:09 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4422:
4423: * mpn/generic/gcd.c (find_a): Don't inline on x86.
4424:
4425: * Makefile.in (CFLAGS): Default to just `-g'.
4426:
4427: * configure.in: Recognize 386 and 486 wherever other x86 cpus are
4428: recognized.
4429: * configure.in: Use mt-x86 for all x86 cpus.
4430: * config/mt-x86: New file.
4431:
4432: * mpn/alpha/cntlz.s: New file.
4433:
4434: Tue Oct 8 00:16:18 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4435:
4436: * longlong.h: Define smul_ppmm for Fujitsu vpp/uxp.
4437: Rewrite umul_ppmm to actually work on the hardware.
4438:
4439: * mpn/x86/sub_n.S: Avoid parens around displacement of `leal'.
4440: * mpn/x86/add_n.S: Likewise.
4441:
4442: * mpn/x86/syntax.h (R): Define differently depending on __STDC__.
4443:
4444: Mon Oct 7 16:48:08 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4445:
4446: * longlong.h: Don't test for __NeXT__ in outer 68k conditional;
4447: add test for __m68k__.
4448:
4449: Sun Oct 6 00:59:09 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4450:
4451: * gmp.h: Declare mpn_random.
4452: * make.bat: Compile mpn/generic/random.c.
4453:
4454: * longlong.h: Define umul_ppmm for Fujitsu vpp/uxp.
4455:
4456: * gmp-impl.h: Protect definitions using `__attribute__ ((mode (...)))'
4457: with test also for __GNUC_MINOR__.
4458:
4459: * gmp.h: Don't define macros using __builtin_constant_p when using
4460: NeXT's compiler.
4461:
4462: Fri Oct 4 16:53:50 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4463:
4464: * mpz/lcm.c: New file.
4465: * mpz/Makefile.in: Compile it.
4466: * make.bat: Likewise.
4467: * gmp.h (mpz_lcm): Declare.
4468:
4469: Wed Sep 25 00:06:21 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4470:
4471: * mpq/tests/t-cmp_ui.c: Make sure numerator and denominator of `b' is
4472: within limits of an `unsigned long int'.
4473:
4474: * mpz/tests/t-powm_ui.c: Change type of exp2 to `unsigned long int'.
4475:
4476: Tue Sep 24 18:58:20 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4477:
4478: * mpz/powm_ui.c: Make result always positive.
4479:
4480: * urandom.h (urandom): Make it return mp_limb_t.
4481:
4482: * gmp-impl.h (CNST_LIMB): New macro.
4483: * mpn/mp_bases.c: Use CNST_LIMB.
4484: * mpn/generic/hamdist.c (popc_limb): Likewise.
4485: * mpn/generic/popcount.c (popc_limb): Likewise.
4486: * mpn/generic/perfsqr.c: Likewise.
4487:
4488: Fri Sep 20 03:08:10 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4489:
4490: * mpz/pprime_p.c: When n <= 3, don't clear out n before using it.
4491:
4492: Wed Sep 18 11:22:45 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4493:
4494: * mpn/fujitsu/mul_1.c: New file.
4495: * mpn/fujitsu/addmul_1.c: New file.
4496: * mpn/fujitsu/sub_n.c: New file.
4497: * mpn/fujitsu/add_n.c: Mew file.
4498:
4499: Sun Sep 15 03:13:02 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4500:
4501: * mpn/generic/random.c: New file.
4502: * mpn/configure.in (functions): Add `random'.
4503:
4504: * gmp-impl.h (MPN_COPY): Define as annotated inline function for
4505: Crays and Fujitsu VPPs.
4506:
4507: * gmp.h (mp_size_t): Define as `int' for non-MPP Cray.
4508: (mp_exp_t): Likewise.
4509:
4510: * configure.in: Add support for Fujitsu VPP machines.
4511: * mpn/configure.in: Likewise.
4512: * config.guess: Likewise.
4513: * config.sub: Likewise.
4514:
4515: * mpn/fujitsu/rshift.c: New file.
4516: * mpn/fujitsu/lshift.c: New file.
4517: * mpn/fujitsu: New directory, for Fujitsu VPP machines.
4518:
4519: Wed Sep 11 11:34:38 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4520:
4521: * mpn/generic/mul_n.c (__gmpn_mul_n): New name for impn_mul_n.
4522: Call __gmpn_mul_basecase, not impn_mul_n_basecase; update parameter
4523: list to work with __gmpn_mul_basecase.
4524: (__gmpn_sqr): New name for impn_sqr_n.
4525: Call __gmpn_sqr_basecase, not impn_sqr_n_basecase; update parameter
4526: list to work with __gmpn_sqr_basecase.
4527: (mpn_mul_n): Update calls to match new names and parameter conventions.
4528: * gmp-impl.h (MPN_MUL_N_RECURSE): Likewise.
4529: (MPN_SQR_RECURSE): New name for MPN_SQR_N_RECURSE.
4530: Update calls to match new names and parameter conventions.
4531: * mpn/generic/mul.c: Never perform multiply explicitly here, call
4532: __gmpn_mul_basecase instead.
4533: Update calls to match new names and parameter conventions.
4534:
4535: * mpn/x86/mul_basecase.S: New file.
4536: * mpn/generic/mul_basecase.c: New file.
4537: * mpn/generic/sqr_basecase.c: New file.
4538:
4539: Wed Sep 4 02:59:21 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4540:
4541: * mpz/set_str.c: Let `0b' and `0B' mean base 2.
4542:
4543: Fri Aug 30 00:44:00 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4544:
4545: * longlong.h (x86 umul_ppmm): Work around GCC bug that was
4546: triggered by Aug 28 change.
4547:
4548: * mpbsd/min.c (digit_value_in_base): New function.
4549:
4550: * mpz/set_str.c: Refine allocation size computation, use
4551: chars_per_bit_exactly instead of chars_per_limb.
4552:
4553: * mpbsd/Makefile.in (.c.o): Add -D_mpz_realloc=_mp_realloc.
4554:
4555: Wed Aug 28 02:52:14 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4556:
4557: * longlong.h (x86 umul_ppmm): Don't cast result operands.
4558: (x86 udiv_qrnnd): Likewise.
4559: (default smul_ppmm): Fix typo, umul_ppmm => smul_ppmm.
4560: (default umul_ppmm): New #define using smul_ppmm.
4561: (vax smul_ppmm): New #define.
4562: (vax umul_ppmm): Delete.
4563: (POWER umul_ppmm): Delete.
4564: (IBM 370 smul_ppmm): New #define.
4565: (IBM 370 umul_ppmm): Delete.
4566: (IBM RT/ROMP smul_ppmm): New #define.
4567: (IBM RT/ROMP umul_ppmm): Delete.
4568:
4569: Tue Aug 27 01:03:25 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4570:
4571: * gmp-impl.h (__gmp_0): Make it `const'.
4572:
4573: * mpn/Makefile.in (clean mostlyclean): Comment out recursive clean
4574: of `tests'.
4575:
4576: * mpn/generic/mul.c: Identify when we do squaring, and call
4577: impn_sqr_n_basecase/impn_sqr_n as appropriate. Use
4578: KARATSUBA_MUL_THRESHOLD and KARATSUBA_SQR_THRESHOLD.
4579: Don't #define KARATSUBA_THRESHOLD.
4580:
4581: * mpn/generic/mul_n.c: Don't #define KARATSUBA_THRESHOLD.
4582: (impn_mul_n, impn_sqr_n): Rewrite, based on code contributed by
4583: Robert Harley.
4584: (impn_sqr_n_basecase): Rewrite.
4585:
4586: * gmp-impl.h (KARATSUBA_MUL_THRESHOLD): New #define.
4587: (KARATSUBA_SQR_THRESHOLD): Likewise.
4588: (MPN_SQR_N_RECURSE): Use KARATSUBA_SQR_THRESHOLD.
4589: (MPN_MUL_N_RECURSE): Use KARATSUBA_MUL_THRESHOLD.
4590:
4591: * configure.in: Fix typo in last change.
4592:
4593: Mon Aug 26 22:25:18 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4594:
4595: * mpn/generic/random2.c: Fix typo, `alpha__' => `__alpha'.
4596: * mpf/random2.c: Likewise.
4597:
4598: Sun Aug 25 00:07:09 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
4599:
4600: * mpz/tests/t-mul.c: Also test squaring.
4601:
4602: Fri Aug 16 05:12:08 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4603:
4604: * mp_clz_tab.c (__clz_tab): Declare as `const'.
4605: * version.c (gmp_version): Likewise.
4606: * mpn/generic/sqrtrem.c (even_approx_tab, odd_approx_tab): Likewise.
4607:
4608: Thu Aug 15 02:34:47 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4609:
4610: * gmp.h: Fix typo, `mips__' => `__mips'.
4611:
4612: * mpf/set_str.c: Allow a number to start with a period, if next
4613: position contains a digit.
4614:
4615: Tue Aug 13 18:41:25 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4616:
4617: * mpz/gcdext.c: Get cofactor sign right for negative input operands.
4618: Clean up code for computing tt.
4619:
4620: * mpz/invert.c: Get rid of variable `rv'.
4621:
4622: * mpz/divexact.c: Test for zero divisor in special case for zero
4623: dividend.
4624:
4625: Mon Aug 12 18:04:07 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4626:
4627: * mpz/?div_*_ui.c: Special case for division by 0.
4628: * mpz/tdiv_q.c: Likewise.
4629:
4630: Sat Aug 10 14:45:26 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4631:
4632: * mpz/dmincl.c: Special case for division by 0.
4633:
4634: * mpz/tdiv_*_ui.c: Delete special case for dividend being 0; handle
4635: it when computing size after mpn_divmod_1 call.
4636:
4637: * mp_bpl.c: (__gmp_junk): New variable.
4638: (__gmp_0): New constant.
4639:
4640: * gmp-impl.h (DIVIDE_BY_ZERO): New #define.
4641:
4642: Fri Aug 9 20:03:27 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4643:
4644: * mpz/divexact.c: Test for dividend being zero before testing
4645: for small divisors.
4646:
4647: Thu Aug 8 13:20:23 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4648:
4649: * configure.in: Require operating system specification for cpus
4650: where assembly syntax differs between system.
4651:
4652: * Makefile.in (many targets): Change `-' action prefix to `@'.
4653:
4654: * mpn/Makefile.in: (distclean): Fix typo.
4655:
4656: * mpq/cmp_ui.c: Rename function to _mpq_cmp_ui.
4657: (mpq_cmp_ui): #undef deleted.
4658: * mpz/cmp_si.c: Rename function to _mpz_cmp_si.
4659: (mpz_cmp_si): #undef deleted.
4660: * mpz/cmp_ui.c: Rename function to _mpz_cmp_ui.
4661: (mpz_cmp_ui): #undef deleted.
4662: * Makefile.in: Corresponding changes.
4663:
4664: * mpf/get_prc.c: Return the *highest* precision achievable.
4665:
4666: * mpf/get_str.c: Complete rewrite.
4667:
4668: * mpf/set_str.c (swapptr): New #define.
4669: (assert): New #define.
4670: * mpf/set_str.c: Set prec to one more than the saved _mp_prec.
4671: Misc cleanups.
4672:
4673: * mpz/set_str.c: #include string.h.
4674: * mpf/out_str.c: #include string.h.
4675: * mpbsd/xtom.c: #include string.h and ctype.h.
4676: * mpbsd/mout.c: #include string.h.
4677:
4678: Wed Aug 7 11:46:04 EDT 1996 Ken Weber <kweber@mcs.kent.edu>
4679:
4680: * mpn/generic/gcd.c: Reorder mpn_gcd argument list.
4681: * mpz/gcd.c: Change call to mpn_gcd.
4682: * gmp.texi: Update manual entry on mpn_gcd.
4683: * mpn/generic/bdivmod.c: Delete limb cache to make mpn_bdivmod
4684: reentrant.
4685:
4686: Wed Aug 7 02:15:38 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4687:
4688: * mpf/get_str.c: Rewrite code for converting integral part of a
4689: number with both an integral and fractional part.
4690:
4691: * mpf/set_str.c: Get rid of variable xxx. New variables madj and radj.
4692: In exp_in_base==0 case, add madj to msize for EXP field.
4693:
4694: * mpz/tests/t-gcd.c: Test deleted. Rename t-gcd2.c to t-gcd.c.
4695: Increase reps to 2000.
4696: * mpz/tests/t-gcd2.c: Get rid of mpz_refgcd.
4697:
4698: * mpf/set_str.c: Ignore excess limbs in MP,MSIZE.
4699:
4700: Thu Jul 25 04:39:10 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4701:
4702: * mpn/configure.in: Fix typo in setting path, "sparc" => "sparc32".
4703:
4704: Wed Jul 24 02:27:02 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4705:
4706: * mpn/generic/gcdext.c: Reorganize and clean up. Get rid of all
4707: signed limb arithmetic.
4708:
4709: Mon Jul 22 02:39:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4710:
4711: * mpn/generic/gcdext.c (mpn_gcdext): For large enough operands,
4712: work with most significant *two* limbs.
4713: (div2): New function (two variants).
4714: (THRESHOLD): New #define.
4715:
4716: * mpz/gcdext.c: Fix typo in MPZ_TMP_INIT call.
4717:
4718: * longlong.h (alpha UMUL_TIME): Now 30.
4719: (alpha UDIV_TIME): Now 350.
4720: (x86 UMUL_TIME): Now 10 (let Pentium decide).
4721: (SuperSPARC UDIV_TIME): Override default.
4722:
4723: * extract-dbl.c (MP_BASE_AS_DOUBLE): Don't redefine here.
4724:
4725: * extract-dbl.c: New name for extract-double.c.
4726: * insert-dbl.c: New name for insert-double.c.
4727: * Makefile.in: Corresponding changes.
4728: * make.bat: Likewise.
4729:
4730: * mpz/Makefile.in (.c.o): Don't pass non-portable `-f' to cp.
4731: * mpq/Makefile.in: Likewise.
4732: * mpf/Makefile.in: Likewise.
4733:
4734: Sat Jul 20 01:35:18 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4735:
4736: * mpz/getlimbn.c: Take ABS of integer->_mp_size.
4737:
4738: * mpz/divexact.c: Use mpn_divmod_1 if divisor is a single limb.
4739:
4740: Thu Jul 18 00:31:15 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4741:
4742: * mpn/generic/popcount.c (popc_limb): Use different masking trick
4743: for first step (due to David Seal).
4744: * mpn/generic/hamdist.c (popc_limb): Likewise.
4745:
4746: Wed Jul 17 23:21:48 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4747:
4748: * mpn/generic/divrem.c: In MPN_COPY_DECR call, copy dsize - 1 limbs.
4749:
4750: Sun Jul 14 17:47:46 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4751:
4752: * configure.in: Handle sparc9, sparc64, and ultrasparc like sparc8.
4753:
4754: Thu Jul 11 14:05:54 1996 J.T. Conklin <jtc@rtl.cygnus.com>
4755:
4756: * longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
4757: for the '020, '030, '040, and '332. Define count_leading_zeros
4758: for the '020, '030, '040, and '060.
4759:
4760: Sun Jul 14 15:24:53 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4761:
4762: From Joe Keane:
4763: * mpq/equal.c: Take ABS of num1_size before passing it to mpn_cmp.
4764:
4765: Fri Jul 12 17:11:17 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4766:
4767: * mpn/generic/sqrtrem.c (SQRT): New asm for x86, but leave it
4768: disabled for now.
4769:
4770: * mpn/generic/sqrtrem.c: Use MP_BASE_AS_DOUBLE.
4771:
4772: Wed Jul 10 03:17:45 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4773:
4774: * cre-mparam.c: Delete obsolete file.
4775:
4776: * gmp.h: #define _LONG_LONG_LIMB if __mips && _ABIN32.
4777: * longlong.h: Test __mips instead of __mips__.
4778:
4779: Sun Jul 7 23:19:13 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4780:
4781: * longlong.h (_PROTO): Define, unless already defined.
4782: (alpha __udiv_qrnnd): Declare using _PROTO.
4783: (hppa __udiv_qrnnd): Likewise.
4784: (sparc __udiv_qrnnd): Likewise.
4785:
4786: Mon Jul 1 01:44:30 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4787:
4788: * config.guess: Update from master version; add Cray x90 handling.
4789:
4790: Wed Jun 26 05:35:02 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4791:
4792: * mpn/power/add_n.s (__mpn_add_n): Work around GAS bug.
4793: * mpn/power/sub_n.s (__mpn_sub_n): Likewise.
4794:
4795: * insert-double.c: Rework loop to avoid potential overflow.
4796:
4797: * mpq/get_d.c: For vax, if qsize > N_QLIMBS, ignore excess limbs.
4798:
4799: * mpq/tests/t-get_d.c (SIZE): Special case for vax.
4800:
4801: * gmp.h (mpX_cmp_ui): #define also when ! __GNUC__.
4802:
4803: Mon Jun 24 17:13:21 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4804:
4805: * longlong.h (vax sdiv_qrnnd): Fix typo.
4806:
4807: Sat Jun 15 01:33:33 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4808:
4809: * gmp.h: Support `small' and `large' type and function variants,
4810: controlled by GMP_SMALL.
4811:
4812: * mpz/Makefile.in (.c.o): Compile each function twice, for small and
4813: large variant.
4814: (MPZS_OBJS): New variable.
4815: (libmpz.a): Include MPZS_OBJS in archive.
4816: * mpf/Makefile.in: Analogous changes.
4817: * mpq/Makefile.in: Analogous changes.
4818:
4819: * gmp.h: Prefix all functions with __gmp, to allow namespace-clean
4820: internal calls.
4821:
4822: * mp.h: Rip out __MP_SMALL__ stuff.
4823: (__mpz_struct): mp_size_t => int.
4824:
4825: * mpz/invert.c: #include "gmp-impl.h".
4826: Use MPZ_TMP_INIT, not mpz_init.
4827:
4828: * mpz/gcdext.c: Rewrite to call mpn_gcdext.
4829:
4830: Fri Jun 14 18:05:29 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4831:
4832: * mpn/generic/gcdext.c (s0size): New parameter.
4833: * gmp.h (mpn_gcdext): Update prototype.
4834:
4835: * mpn/generic/gcdext.c: Major rewrite.
4836:
4837: Mon Jun 10 00:14:27 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4838:
4839: * mpn/generic/dump.c: Add missing `else'.
4840:
4841: Fri Jun 7 03:35:12 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
4842:
4843: * Makefile.in (gmp_toc.html): Pass -expandinfo to texi2html.
4844:
4845: Thu Jun 6 19:00:53 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4846:
4847: * Version 2.0.2 released.
4848:
4849: * install.sh: New file.
4850: * Makefile.in (INSTALL): Use install.sh.
4851: (install-normal): New name for target `install'.
4852: (install): New dummy target.
4853:
4854: * mpz/pow_ui.c: Swap tests for (e == 0) and (bsize == 0).
4855: * mpz/ui_pow_ui.c: Swap tests for (e == 0) and (blimb == 0).
4856:
4857: * config/mt-linux (AR_FLAGS): New file.
4858: * configure.in: Use config/mt-linux for all linux systems.
4859:
1.1.1.2 maekawa 4860: Tue Jun 4 03:42:18 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4861:
4862: * Version 2.0.1 released.
4863:
4864: * mpf/tests/ref.c: Cast result of TMP_ALLOC to the right pointer type.
4865:
4866: * extract-double.c: Test _GMP_IEEE_FLOATS with #if, not plain if.
4867:
4868: * insert-double.c: Don't #include stdlib.h.
4869:
4870: * gmp-impl.h (union ieee_double_extract): Test sparc and __sparc.
4871: Do not test __sparc__.
4872:
4873: * mpf/reldiff.c: Change declaration to work around irix5 compiler bug.
4874: * mpq/equal.c: Likewise.
4875:
4876: * mpn/generic/gcd.c: Delete spurious comma at end of enumeration.
4877:
4878: * mpn/generic/gcdext.c: Add K&R declaration syntax.
4879: * stack-alloc.h: Likewise.
4880: * insert-double.c: Likewise.
4881: * extract-double.c: Likewise.
4882: * mpf/tests/reuse.c: Likewise.
4883: * mpz/tests/reuse.c: Likewise.
4884: * mpf/tests/t-sub.c: Likewise.
4885: * mpf/tests/t-add.c: Likewise.
4886: * mpf/tests/t-muldiv.c: Likewise.
4887: * mpf/tests/t-conv.c: Likewise.
4888: * mpf/tests/ref.c: Likewise.
4889:
4890: * mpn/config/t-oldgas: Renamed from t-freebsd.
4891: * mpn/configure.in: Use t-oldgas for freebsd, netbsd, and some linux
4892: configurations.
4893:
4894: * mpn/powerpc32/mul_1.s: Really clear cy before entering loop.
4895: * mpn/powerpc32/*.s: Fix power/powerpc syntax issues.
4896:
4897: * mpn/config/t-ppc-aix: New file.
4898: * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.
4899:
1.1.1.2 maekawa 4900: Wed May 29 02:07:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4901:
4902: * gmp.h (mp_bits_per_limb): Change qualifier from `const' to
4903: __gmp_const.
4904:
4905: * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.
4906: * mpf/iset_str.c: Likewise.
4907:
1.1.1.2 maekawa 4908: Mon May 27 00:15:58 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4909:
4910: * gmp-impl.h: Declare __gmp_extract_double.
4911:
4912: * mpz/set_q.c: Delete unused variables.
4913:
4914: * gmp.h (mpq_equal): Declare.
4915:
4916: * mpf/eq.c: mpf_cmp2 -> mpf_eq.
4917:
1.1.1.2 maekawa 4918: Fri May 24 03:20:44 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4919:
4920: * mpz/iset_d.c: Don't include <math.h>.
4921:
4922: * insert-double.c (__gmp_scale2): New name for scal2.
4923: * mpz/get_d.c: Corresponding change.
4924: * mpf/get_d.c: Likewise.
4925: * mpq/get_d.c: Likewise.
4926: * gmp-impl.h: Declare __gmp_scale2.
4927:
4928: * mpn/generic/scan0.c: Clarify comment.
4929:
4930: * mpz/set_q.c: New file.
4931: * Makefile.in: Compile it.
4932: * make.bat: Likewise.
4933: * gmp.h: Declare mpz_set_q.
4934:
4935: * insert-double.c: New file.
4936: * Makefile.in: Compile it.
4937: * make.bat: Likewise.
4938:
4939: * mpz/get_d.c: New file.
4940: * mpz/Makefile.in: Compile it.
4941: * make.bat: Likewise.
4942: * gmp.h: Declare mpz_get_d.
4943:
4944: * mpf/get_d.c: New file.
4945: * mpf/Makefile.in: Compile it.
4946: * make.bat: Likewise.
4947: * gmp.h: Declare mpf_get_d.
4948:
4949: * make.bat: Compile things in alphabetical order.
4950:
4951: * gmp-impl.h (MP_BASE_AS_DOUBLE): New #define.
4952: (LIMBS_PER_DOUBLE): New #define.
4953:
4954: * extract-double.c: New file.
4955: * Makefile.in: Compile it.
4956: * make.bat: Likewise.
4957: * mpz/set_d.c: Rewrite to use __gmp_extract_double.
4958: * mpf/set_d.c: Likewise.
4959:
4960: * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.
4961:
1.1.1.2 maekawa 4962: Wed May 22 02:48:35 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4963:
4964: * gmp-impl.h: Rework code for defining ieee_double_extract.
4965: (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.
4966: (_GMP_IEEE_FLOATS): New macro.
4967: * mpn/vax/gmp-mparam.h: Delete.
4968:
4969: * mpn/config/t-pwr-aix: New file.
4970: * mpn/configure.in: Use t-pwr-aix for aix 4 and later.
4971:
1.1.1.2 maekawa 4972: Mon May 20 16:30:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4973:
4974: * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.
4975:
4976: * mpf/tests/t-add.c (oo): Add some `l' printf modifiers.
4977: * mpf/tests/t-sub.c (oo): Likewise.
4978: * mpf/tests/t-conv.c (oo): Likewise.
4979: * mpf/tests/t-sqrt.c (oo): Likewise.
4980:
4981: * mpz/tests/t-mul.c (_mpn_mul_classic): Remove unused variables.
4982:
4983: * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.
4984:
1.1.1.2 maekawa 4985: Fri May 17 02:24:43 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 4986:
4987: * mpz/set_d.c: Call _mpz_realloc.
4988:
4989: * mpq/set_z.c: New file.
4990: * mpq/Makefile.in: Compile it.
4991: * make.bat: Likewise.
4992: * gmp.h: Declare mpq_set_z.
4993:
4994: * mp?/Makefile.in (libmp?.a): Depend on Makefile, not Makefile.in.
4995: * mpf/Makefile.in (test): Delete spurious target.
4996: * mpq/Makefile.in (test): Likewise.
4997:
4998: * mpf/out_str.c: Use `e' to separate exponent when base <= 10.
4999:
5000: * mpn/configure.in: Treat ultrasparc just like sparc v8,
5001: until 64-bit compilers are ready.
5002:
5003: * mpf/set_d.c: Make it work for 64-bit machines.
5004:
1.1.1.2 maekawa 5005: Thu May 16 20:53:57 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5006:
5007: * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian
5008: machines.
5009: * mpn/x86/gmp-mparam.h: Delete file.
5010:
5011: * configure.in: Treat microsparc like sparc8.
5012:
5013: * urandom.h: Test __alpha instead of __alpha__, since the former
5014: is the standard symbol.
5015: * mpn/generic/random2.c: Likewise.
5016: * mpf/random2.c: Likewise.
5017:
1.1.1.2 maekawa 5018: Tue May 14 13:42:39 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 5019:
5020: * mpz/set_f.c: New file.
5021: * mpz/Makefile.in: Compile it.
5022: * gmp.h: Declare mpz_set_f.
5023:
5024: * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.
5025:
1.1.1.2 maekawa 5026: Tue May 14 13:03:07 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 5027:
5028: * make.bat: Add all new files.
5029:
1.1.1.2 maekawa 5030: Sun May 12 22:24:36 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5031:
5032: * mpf/set_z.c: New file.
5033: * mpf/Makefile.in: Compile it.
5034: * gmp.h: Declare mpf_set_z.
5035:
1.1.1.2 maekawa 5036: Sat May 11 19:26:25 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5037:
5038: * gmp.h: Declare mpf_set_q.
5039:
5040: * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.
5041:
1.1.1.2 maekawa 5042: Fri May 10 17:37:38 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5043:
5044: * mpf/set_q.c: New file.
5045: * mpf/Makefile.in: Compile it.
5046:
5047: * config.sub: Recognize sparc8.
5048:
1.1.1.2 maekawa 5049: Wed May 8 09:19:11 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5050:
5051: * mpf/tests/t-dm2exp.c: New file.
5052:
5053: * mpf/tests/t-add.c: Correct header comment.
5054: * mpf/tests/t-sub.c: Likewise.
5055: * mpf/tests/t-sqrt.c: Likewise.
5056:
5057: * mpf/div.c: Misc variable name cleanups.
5058: * mpf/div_ui.c: Base more closely on mpf/div.c.
5059: * mpf/ui_div.c: Likewise.
5060:
5061: * mpz/tests/Makefile.in (check): Depend on Makefile.
5062: * mpq/tests/Makefile.in (check): Likewise.
5063: * mpf/tests/Makefile.in (check): Likewise.
5064:
5065: * mpf/tests/t-muldiv.c: New file.
5066: * mpf/tests/Makefile.in: Compile and run `t-muldiv'.
5067: (t-ref.o): Delete spurious rule.
5068:
5069: * mpf/sqrt.c: Properly detect negative input operand.
5070:
5071: * mpf/sqrt_ui.c: Delete spurious header comment.
5072: * mpf/sqrt.c: Likewise.
5073: * mpz/sqrt.c: Likewise.
5074:
5075: * mpz/tests/reuse.c (main): Read `reps' from command line.
5076:
5077: * mpf/tests/reuse.c: New file.
5078: * mpf/tests/Makefile.in: Compile and run `reuse'.
5079:
5080: * mpf/mul_ui.c: Disable code for removing low zero limbs.
5081:
5082: * mpf/div.c: Fix condition for when vp and qp overlaps.
5083:
5084: * mpf/add_ui.c: When sum equals u, copy up to prec+1 limbs.
5085:
5086: * mpf/out_str.c: Don't output '\n' after exponent.
5087:
5088: * mpf/add_ui.c: New special case for when U is completely cancelled.
5089:
1.1.1.2 maekawa 5090: Wed Apr 24 05:33:28 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5091:
5092: * Version 2.0 released.
5093:
5094: * All files: Upfate FSF's address.
5095:
5096: * Makefile.in (gmp_toc.html): New name for gmp.html.
5097: (TAGS): Depend on force.
5098:
5099: * mpf/tests/t-conv.c: Pass -base to mpf_set_str.
5100:
1.1.1.2 maekawa 5101: Sat Apr 20 03:54:06 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5102:
5103: * Makefile.in (ps): New target, depend on gmp.ps.
5104:
1.1.1.2 maekawa 5105: Fri Apr 19 14:03:15 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5106:
5107: * mpf/out_str.c: Print `@' before exponent, not `e'.
5108:
5109: * make.bat: Update from Makefiles.
5110:
1.1.1.2 maekawa 5111: Thu Apr 18 01:22:05 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5112:
5113: * mpf/set_str.c: If parameter `base' is negative, expect exponent
5114: to be decimal, otherwise in the same base as the mantissa.
5115:
1.1.1.2 maekawa 5116: Wed Apr 17 17:28:36 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5117:
5118: * mpf/set_dfl_prec.c: Don't return anything.
5119: * gmp.h: Corresponding changes.
5120:
5121: * mpf/set_dfl_prec.c: Use `unsigned long int' for bit counts.
5122: * mpf/init2.c: Likewise.
5123: * mpf/get_prc.c: Likewise.
5124: * mpf/set_prc.c: Likewise.
5125: * mpf/set_prc_raw.c: Likewise.
5126: * mpz/popcount.c: Likewise.
5127: * mpz/hamdist.c: Likewise.
5128: * mpz/scan1.c: Likewise.
5129: * mpz/scan0.c: Likewise.
5130: * mpn/generic/popcount.c: Likewise.
5131: * mpn/generic/hamdist.c: Likewise.
5132: * mpn/generic/scan1.c: Likewise.
5133: * mpn/generic/scan0.c: Likewise.
5134: * gmp.h: Likewise.
5135:
5136: * mpf/eq.c: New file, based on mpf/diff.c.
5137: * mpf/diff.c: Delete.
5138: * mpf/Makefile.in: Corresponding changes.
5139: * gmp.h: Likewise.
5140:
5141: * mpf/reldiff.c: New file.
5142: * mpf/Makefile.in: Compile it.
5143: * gmp.h: Declare mpf_reldiff.
5144:
5145: * mpz/iset_d.c: New file.
5146: * mpz/Makefile.in: Compile it.
5147: * gmp.h: Declare mpz_init_set_d.
5148:
1.1.1.2 maekawa 5149: Tue Apr 16 16:28:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5150:
5151: * Makefile.in (gmp.html): Pass -acc to texi2html.
5152:
1.1.1.2 maekawa 5153: Mon Apr 15 16:20:24 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5154:
5155: * mpf/set_str.c: Switch off code for defaulting the base from the
5156: leading characters.
5157:
5158: * gmp.h (mp?_sign): Delete.
5159: (mp?_sgn): New macros.
5160:
1.1.1.2 maekawa 5161: Fri Apr 12 17:23:33 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5162:
5163: * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.
5164:
1.1.1.2 maekawa 5165: Wed Apr 10 22:52:02 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 5166:
5167: * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.
5168: * gmp.h: Corresponding change.
5169:
5170: * gmp.h (mp_bits_per_limb): Make it const.
5171:
1.1.1.2 maekawa 5172: Sat Mar 30 01:20:23 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5173:
5174: * configure.in: Re-enable recognition of with_gcc.
5175:
5176: * mpf/Makefile.in (.c.o): Pass XCFLAGS.
5177: * mpn/Makefile.in (.c.o): Likewise.
5178: * mpz/Makefile.in (.c.o): Likewise.
5179: * mpq/Makefile.in (.c.o): Likewise.
5180: * mpbsd/Makefile.in (.c.o): Likewise.
5181: * mpf/tests/Makefile.in (.c.o): Likewise.
5182: * mpz/tests/Makefile.in (.c.o): Likewise.
5183: * mpq/tests/Makefile.in (.c.o): Likewise.
5184:
5185: * Makefile.in (XCFLAGS): Default to empty.
5186: (FLAGS_TO_PASS): Pass on XCFLAGS.
5187: (.c.o): Pass XCFLAGS.
5188:
5189: * config/mt-m88110 (XCFLAGS): Define instead of CC.
5190: * config/mt-sprc8-gcc (XCFLAGS): Likewise.
5191: * config/mt-supspc-gcc (XCFLAGS): Likewise.
5192:
5193: * configure: Don't default CC to "gcc -O2" is -with-gcc=no was
5194: specified.
5195:
1.1.1.2 maekawa 5196: Mon Mar 25 01:07:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5197:
5198: * urandom.h: Test for __SVR4 in addition to __svr4__.
5199:
5200: * mp_bpl.c (mp_bits_per_limb): Declare as `const'.
5201:
5202: * Makefile.in (CFLAGS): `-O2' => `-O'.
5203: * mpn/Makefile.in (CFLAGS): Likewise.
5204:
5205: * gmp-impl.h: Get rid of obsolete field access macros.
5206:
5207: * mpn/mp_bases.c (__mp_bases): 1e39 => 1e38 to work around Solaris
5208: cc compiler bug.
5209:
5210: * gmp.h (__MPN): Make it work also for non-ANSI compilers.
5211:
1.1.1.2 maekawa 5212: Thu Mar 21 01:07:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5213:
5214: * mpf/sub.c: New special case for ediff <= 1 before generic code.
5215: Simplify generic code for ediff == 0.
5216: Rename uexp => exp.
5217:
1.1.1.2 maekawa 5218: Mon Mar 11 18:24:57 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5219:
5220: * mpf/tests/*.c: Use ref_mpf_sub for error calculation.
5221: * mpf/tests/Makefile.in: Link ref.o to all executables.
5222:
5223: * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.
5224:
1.1.1.2 maekawa 5225: Sun Mar 10 21:03:17 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 5226:
5227: * mpf/get_str.c: In digit development loop for fractions, change
5228: loop condition from `<' to `<='.
5229:
1.1.1.2 maekawa 5230: Thu Mar 7 04:58:11 1996 Torbjorn Granlund <tege@tiny.matematik.su.se>
1.1 maekawa 5231:
5232: * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.
5233:
1.1.1.2 maekawa 5234: Wed Mar 6 01:10:42 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5235:
5236: * mpf/tests/t-sqrt.c: New file.
5237: * mpf/tests/Makefile.in: Corresponding changes.
5238:
5239: * mpf/sqrt.c: Special case for square root of zero.
5240:
5241: * mpq/add.c: Clean up variable names.
5242: * mpq/sub.c: Update from mpq/add.c.
5243:
5244: * mpz/divexact.c: abs => ABS.
5245: * mpz/gcd.c: Likewise. Rewrite final fixup code, to decrease
5246: allocation. Misc cleanups.
5247:
1.1.1.2 maekawa 5248: Tue Mar 5 22:24:56 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5249:
5250: * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.
5251:
5252: * gmp.h (mpn_add, mpn_add_1, mpn_sub, mpn_sub_1): Add prototypes.
5253:
5254: * mpn/configure.in: Use t-freebsd also for netbsd.
5255:
1.1.1.2 maekawa 5256: Mon Mar 4 15:13:28 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5257:
5258: * mpq/Makefile.in (cmp.o): Depend on longlong.h.
5259:
5260: * mpq/equal.c: New file.
5261: * mpq/Makefile.in: Corresponding changes.
5262:
5263: * mpf/tests/t-add.c: New file.
5264: * mpf/tests/t-sub.c: Renamed from t-addsub.c.
5265: * mpf/tests/ref.c: New file.
5266: * mpf/tests/Makefile.in: Corresponding changes.
5267:
5268: * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.
5269:
1.1.1.2 maekawa 5270: Sun Mar 3 07:45:46 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5271:
5272: * mpf/set_str.c: In exponentialization code, allocate 3 extra
5273: limbs, not just 2.
5274:
5275: * mpf/get_str.c: Allocate sufficient space for tstr.
5276: When calculating exp_in_base, round result down.
5277:
5278: * mpf/tests/t-conv.c: New file.
5279: * mpf/tests/Makefile.in: Corresponding changes.
5280:
5281: * mp_bpl.c: New file.
5282: * gmp.h: Declare it.
5283: * Makefile.in: Corresponding changes.
5284:
1.1.1.2 maekawa 5285: Sat Mar 2 06:27:56 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5286:
5287: * mpf/set_prc_raw.c: New file.
5288: * mpf/set_prc.c: Renamed from set_prec.c.
5289: * mpf/get_prc.c: New file.
5290: * mpf/Makefile.in: Corresponding changes.
5291: * gmp.h: Declare new functions.
5292:
5293: * mpn/generic/gcdext.c: Add copyright header.
5294:
1.1.1.2 maekawa 5295: Fri Mar 1 01:22:24 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5296:
5297: * mpn/configure.in: For ppc601, search "power" before "powerpc32".
5298:
5299: * mp?/Makefile.in (AR_FLAGS): New variable.
5300: (libmp?.a): Use it.
5301:
5302: * make.bat: New file.
5303: * mpn/msdos: New directory.
5304: * mpn/msdos/asm-syntax.h: New file.
5305:
5306: * mpn/Makefile.in (distclean maintainer-clean): Delete asm-syntax.h.
5307:
5308: * config.sub: Recognize [ctj]90-cray.
5309:
5310: * mpn/configure.in: Recognize [ctj]90-cray-unicos*.
5311:
5312: * mpn/generic/gcdext.c: Don't use alloca directly, use TMP_* macros.
5313:
5314: * mpn/generic/gcd.c: Split increment from use of USIZE to avoid
5315: undefined behaviour.
5316:
1.1.1.2 maekawa 5317: Thu Feb 29 04:11:24 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5318:
5319: * Makefile.in (install-info-files): Update for new install-info
5320: behaviour.
5321:
5322: * mpn/power/add_n.s: Rewrite.
5323: * mpn/power/sub_n.s: Rewrite.
5324:
1.1.1.2 maekawa 5325: Wed Feb 28 01:34:30 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5326:
5327: * mpz/pow_ui.c: Compute allocation more aggressively for small bases.
5328: * mpz/ui_pow_ui.c: Likewise.
5329:
5330: * mpn/mp_bases.c (__mp_bases): Put huge value in 2nd field for index 1.
5331:
5332: * mpn/generic/sqrtrem.c: sizeof (mp_limb_t) => BYTES_PER_MP_LIMB.
5333: * mpn/generic/gcd.c: Likewise.
5334: (SIGN_BIT): Compute differently.
5335:
1.1.1.2 maekawa 5336: Mon Feb 26 00:07:36 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5337:
5338: * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.
5339:
5340: * Makefile.in (install, install-bsdmp, install-info-files): Depend
5341: on installdirs. chmod all installed files.
5342:
1.1.1.2 maekawa 5343: Sun Feb 25 01:47:41 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5344:
5345: * mpbsd/configure.in: Delete debugging code.
5346:
5347: * All Makefile.in: Update clean targets.
5348:
5349: * Makefile.in (AR_FLAGS): New variable.
5350: (libgmp.a): Use it.
5351: (libmp.a): Likewise.
5352:
5353: * VERSION: Delete file.
5354:
5355: * Makefile.in (installdirs): New target.
5356: * mkinstalldirs: New file (from the texinfo package).
5357:
5358: * Makefile.in (INSTALL, INSTALL_DATA, INSTALL_PROGRAM): New variables.
5359: (MAKEINFO, MAKEINFOFLAGS, TEXI2DVI): New variables.
5360: (install-info): New target.
5361: (install, install-bsdmp): Depend on install-info.
5362: ($(srcdir)/gmp.info): Changed from plain gmp.info; put info files
5363: into source directory.
5364: (distclean, mostlyclean): New targets.
5365: (maintainer-clean): New name for realclean.
5366: (uninstall): New target.
5367: (TAGS): New target.
5368: (info, dvi): New targets.
5369: (.PHONY): Assign.
5370:
5371: * Makefile.in (install, install-bsdmp): Use INSTALL_DATA.
5372:
5373: * mp{n,z,f,bsd}/move-if-change: Delete.
5374:
5375: * mpbsd/Makefile.in (stamp-stddefh): Delete target.
5376:
5377: * Makefile.in (.c.o): Pass CFLAGS last.
5378: * mpbsd/Makefile.in (.c.o): Likewise.
5379: * mpf/Makefile.in (.c.o): Likewise.
5380: * mpq/Makefile.in (.c.o): Likewise.
5381: * mpz/Makefile.in (.c.o): Likewise.
5382: * mpn/Makefile.in (.c.o): Likewise.
5383: (.S.o): Likewise.
5384:
5385: * memory.c: Change allocation error message.
5386:
5387: * Makefile.in (install): Prefix gmp.h with $(srcdir).
5388: (install-bsdmp): Prefix mp.h with $(srcdir).
5389:
5390: * mp{n,z,f,bsd}/{configure,config.sub}: Delete.
5391:
5392: * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation
5393: (install targets): Install gmp.info-N.
5394:
1.1.1.2 maekawa 5395: Sat Feb 24 03:36:52 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5396:
5397: * mpf/get_str.c: Fix typo.
5398:
5399: * mpz/legendre.c: Clarify expression with extra parens.
5400:
5401: * version.c (gmp_version): Not static.
5402:
5403: * mpf/iset_str.c: Properly return error code.
5404:
5405: * mpf/add.c: Delete unused variables.
5406: * mpf/inp_str.c: Likewise.
5407: * mpq/get_d.c: Likewise.
5408:
5409: * mpn/generic/dump.c: #include <stdio.h>.
5410: * mpf/dump.c: Likewise.
5411: * mpf/set_str.c: #include <ctype.h>.
5412: (strtol): Declare.
5413:
5414: * gmp.h: mpn_sqrt => mpn_sqrtrem.
5415:
5416: * Makefile.in (clean, realclean): Clean in mpbsd.
5417: (check): Test in mpf.
5418:
5419: * mpf/Makefile.in (clean): Clean in tests.
5420: * mpq/Makefile.in (clean): Clean in tests.
5421:
5422: * mpf/tests/Makefile.in: New file.
5423: * mpf/tests/configure.in: New file.
5424: * mpf/tests/t-addsub.c: New file.
5425:
5426: * mpf/sub_ui.c: Simply call mpf_sub for now.
5427:
5428: * mpf/sub.c: Increase prec by 1.
5429: * mpf/ui_sub.c: Likewise.
5430:
1.1.1.2 maekawa 5431: Fri Feb 23 00:59:54 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5432:
5433: * mpf/ui_sub.c: Fix typos.
5434:
5435: * mpf/get_str.c: When allocating space for tmp, allow for an extra
5436: limb. In code for fraction conversion, add special case for bases
5437: that are a power of 2.
5438:
5439: * mpf/out_str.c: Output leading "0.".
5440: Default base to 10, before computing string allocation.
5441:
5442: * mpf/get_str.c: Make variables for string size have type size_t.
5443: * gmp.h: Corresponding change.
5444:
5445: * mpf/random2.c: Allow creation of prec+1 large mantissas.
5446:
5447: * mpf/add_ui.c: Don't abort if u < 0; special case for u <= 0.
5448: Fix typo in MPN_COPY offset.
5449: * mpf/sub_ui.c: Analogous changes.
5450:
5451: * mpf/set_prec.c: Rewrite.
5452:
5453: * mpf/init2.c: Compute precision as in set_prec.c.
5454:
5455: * mpf/div_2exp.c: Special case for u == 0.
5456: * mpf/mul_2exp.c: Likewise. Write r->_mp_size always.
5457:
5458: * mpf/sqrt_ui.c: mpn_sqrt => mpn_sqrtrem.
5459: * mpf/sqrt.c: Likewise. When computing new exponent, round quotient
5460: towards -infinity.
5461:
5462: * mpf/add.c: Fix typos.
5463: * mpf/sub.c: Fix typos.
5464:
1.1.1.2 maekawa 5465: Thu Feb 22 00:24:48 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5466:
5467: * mpz/Makefile.in (stamp-stddefh): Delete target.
5468: (test): Delete target.
5469: * Makefile.in (stamp-stddefh): Delete target.
5470: (cre-stddefh.o): Delete target.
5471: (gmp.dvi): Set TEXINPUTS before invoking tex.
5472:
5473: * cre-stddefh.c: Delete.
5474:
5475: * mpz/sqrt.c: Fix typo.
5476:
5477: * mpz/powm.c: Special case for mod == 0.
5478: * mpz/powm_ui.c: Likewise.
5479:
5480: * mpz/get_si.c: Handle -0x80000000 correctly.
5481:
1.1.1.2 maekawa 5482: * mpz/inp_str.c: Now returns size_t.
1.1 maekawa 5483: Make it return number of bytes read or error indication.
5484: * mpf/inp_str.c: Likewise.
5485:
5486: * mpz/out_raw.c: Replace by mpz/out_binary.c, with modifications.
5487: * mpz/inp_raw.c: Rewrite, using mpz/inp_binary as a base.
5488: * mpz/inp_binary.c: Delete.
5489:
5490: * mpn/Makefile.in (XCFLAGS): Remove variable.
5491: (.c.o): Don't pass XCFLAGS.
5492: (SFLAGS): Set to nothing.
5493: (.S.o): Pass SFLAGS, not XCFLAGS.
5494:
5495: * mpn/config/t-freebsd (SFLAGS): New name for XCFLAGS.
5496:
5497: * mpf/out_str.c: Make return number of bytes written or error
5498: indication.
5499: * mpz/out_str.c: Likewise.
5500: * gmp.h: Corresponding changes.
5501:
5502: * gmp.h (__mpz_struct): mp_size_t => int.
5503: (__mpq_struct): Likewise.
5504: (__mpf_struct): Likewise.
5505: (mp_size_t): int => long int.
5506:
5507: * mpn/cray: New directory.
5508: * mpn/cray/gmp-mparam.h: New file.
5509: * mpn/configure.in: Recognize cray variants.
5510:
5511: * Makefile.in: Set defaults for prefix, libdir, etc.
5512: (install): New target.
5513: (install-bsdmp): New target.
5514: (gmp.html): New target.
5515:
5516: * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.
5517:
1.1.1.2 maekawa 5518: Wed Feb 21 04:35:02 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5519:
5520: * gmp.h: Sort mpn declarations.
5521: (mpn_gcdext): Add declaration.
5522:
5523: * mpn/generic/divrem_1.c: New file.
5524: * mpn/Makefile.in (divrem_1.o): New rule.
5525: * configure.in (functions): Add divrem_1.
5526:
5527: * mpn/generic/divmod.c: Delete file.
5528: * mpn/configure.in (functions): Delete divmod.
5529: * Makefile.in (divmod.o): Delete rule.
5530: * gmp.h (mpn_divmod): New #define.
5531:
5532: * gmp.h (mpn_next_bit_set): Delete spurious declaration.
5533:
5534: * mpn/generic/divrem.c (default case): In code assigning
5535: most_significant_q_limb, move reassignment of n0 into if statement.
5536:
5537: * gmp.h (mpf_inp_str): Fix typo.
5538: (mpf_out_str): Make prototype match reality.
5539: * mpf/inp_str.c: New file.
5540: * mpf/out_str.c: New file.
5541: * mpf/Makefile.in: Compile new files.
5542:
5543: * mpn/Makefile.in (dump.o): Fix dependency path.
5544: (inlines.o): Likewise.
5545:
5546: * mpn/configure.in: Make m68060 be the same as m68000. Clean up
5547: m68k configs.
5548:
1.1.1.2 maekawa 5549: Tue Feb 20 01:35:11 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5550:
5551: * mpn/generic/sqrtrem.c: Renamed from sqrt.
5552: * mpn/configure.in (functions): Corresponding change.
5553: * mpn/Makefile.in: Likewise.
5554: * mpz/sqrtrem.c: Likewise.
5555: * mpz/sqrt.c: Likewise.
5556: * mpn/generic/perfsqr.c: Likewise.
5557:
5558: * Makefile.in (clean): Also remove libmp.a.
5559: Don't compile cre-conv-tab.c or mp_bases.c.
5560: cre-conv-tab.c: Delete file.
5561: (gmp.ps): New rule.
5562:
5563: * mpn/mp_bases.c: New file.
5564: * mpn/Makefile.in: Compile mp_bases.c.
5565:
5566: * mpz/set_str.c: Skip initial whitespace.
5567: * mpf/set_str.c: Likewise.
5568: * mpbsd/xtom.c: Likewise.
5569:
5570: * gmp.h: Add missing mpz declarations.
5571: Delete all formal parameter names from declarations.
5572:
5573: * mpn/Makefile.in: Add dependencies for .c files.
5574:
5575: * Makefile.in (check): Write recursive make calls separately, not as
5576: a loop.
5577: (FLAGS_TO_PASS): New variable. Use it for most recursive makes.
5578:
1.1.1.2 maekawa 5579: Mon Feb 19 01:02:20 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5580:
5581: * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete
5582: lines starting with #.
5583: (CPP): Set to $(CC) -E to avoid gcc dependency.
5584:
5585: * mpn/m68k/syntax.h (moveql): Define to moveq for MIT_SYNTAX.
5586:
5587: * mpn/hppa/hppa1_1/pa7100/addmul_1.S: Fix typo in s1_ptr alignment
5588: code.
5589: * mpn/hppa/hppa1_1/pa7100/submul_1.S: Likewise.
5590:
5591: * gmp.h: Fix typos in #defines of recently added mpn functions.
5592:
5593: * mpz/inp_str.c: Skip all whitespace, not just plain space.
5594: * mpbsd/min.c: Likewise.
5595:
5596: * mpn/configure.in (functions): Add gcdext.
5597: * mpn/generic/gcdext.c: New file.
5598:
5599: * mpz/legendre.c: mpz_div_2exp => mpz_tdiv_q_2exp.
5600:
5601: * gmp.h: Surround mpn declarations with extern "C" { ... }.
5602:
5603: * Makefile.in (check): New target.
5604:
5605: * mpq/get_d.c: Update comments. Use rsize instead of dsize + N_QLIMBS
5606: when possible. Add special case for nsize == 0.
5607:
5608: * gmp.h (mpq_get_d): Add declaration.
5609: (mpq_canonicalize): Likewise.
5610: (mpq_cmp_ui): Likewise.
5611: (mpf_diff): Likewise.
5612: (mpf_ui_sub): Likewise.
5613: (mpf_set_prec): Likewise.
5614: (mpf_random2): Likewise.
5615:
5616: * gmp.h (mpz_cmp_ui): New #define.
5617: (mpz_cmp_si): New #define.
5618: (mpq_cmp_ui): New #define.
5619: (mpz_sign): New #define.
5620: (mpq_sign): New #define.
5621: (mpf_sign): New #define.
5622: (mpq_numref): New #define.
5623: (mpq_denref): New #define.
5624:
5625: * mpq/set_z.c: File deleted.
5626: * mpq/Makefile.in: Corresponding changes.
5627:
1.1.1.2 maekawa 5628: Sun Feb 18 01:34:47 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5629:
5630: * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.
5631:
5632: * mpz/inp_binary.c: Default stream to stdin.
5633: * mpz/inp_str.c: Likewise.
5634: * mpz/inp_raw.c: Likewise.
5635: * mpz/out_binary.c: Default stream to stdout.
5636: * mpz/out_raw.c: Likewise.
5637: * mpz/out_str.c: Likewise.
5638:
5639: * mpbsd/realloc.c: New file.
5640: * mpbsd/Makefile.in: Corresponding changes.
5641:
5642: * mpbsd/min.c: Rewrite (base on mpz/inp_str.c).
5643: * mpbsd/mtox.c: Rewrite (base on mpz/get_str.c).
5644:
5645: * mpbsd/mout.c: Rewrite (base on mpz/out_str) but make it output
5646: spaces in each 10th position.
5647: * mpbsd/xtom.c: Rewrite (base on mpz/set_str).
5648:
5649: * mpq/tests/Makefile.in (st-cmp): New file.
5650: * mpq/tests/configure.in (srcname): New file.
5651:
5652: * mpz/tests/configure.in (srcname): Fix typo.
5653:
5654: * mpq/cmp.c: Add check using number of significant bits, to avoid
5655: general multiplication.
5656:
1.1.1.2 maekawa 5657: Sat Feb 17 11:58:30 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5658:
5659: * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.
5660:
5661: * mpq/tests: New directory.
5662: * mpq/tests/t-cmp.c: New file.
5663: * mpq/tests/t-cmp_ui.c: New file.
5664:
5665: * mpz/tests/dive.c (main): Generate zero numerator.
5666: (get_random_size) : Delete.
5667:
5668: * mpz/divexact.c: Add special case for 0/x.
5669:
5670: * gmp.h (mpz_mod): Add declaration.
5671:
5672: Fri Feb 16 18:18:39 1996 Andreas Schwab <schwab@informatik.uni-dortmund.de>
5673:
5674: * mpn/m68k/*: Rewrite code not to use the INSN macros.
5675: (L): New macro to properly prefix local labels for ELF.
5676:
1.1.1.2 maekawa 5677: Fri Feb 16 00:20:56 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5678:
5679: * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for
5680: fields.
5681: * mpn/generic/inlines.c (_FORCE_INLINES): New #define. Delete
5682: conditional __GNUC__.
5683: * gmp.h (mpn_add, mpn_sub, mpn_add_1, mpn_sub_1):
5684: Only define these if __GNUC__ || _FORCE_INLINES.
5685: * mpf/random2.c: Add missing parameter in non-ANSI header.
5686: * mpn/generic/gcd.c (SIGN_BIT): Do as #define to work around bug
5687: in AIX compilers.
5688: * mpq/get_d.c: #define N_QLIMBS.
5689: * mpz/divexact.c: Obscure division by 0 to silent compiler warnings.
5690: * stack-alloc.c: Cast void* pointer to char* before doing arithmetic
5691: on it.
5692:
5693: * Makefile.in (mpbsd/libmpbsd.a): New rule.
5694: * configure.in (configdirs): Add mpbsd.
5695:
5696: * gmp.h: Add declarations for a few missing mpn functions.
5697:
5698: * Makefile.in (libmp.a): New rule.
5699:
5700: * mpbsd/mdiv.c: #include "dmincl.c", not "mpz_dmincl.c"
5701: * gmp.h: Move #define of __GNU_MP__ into the `#if __GNU_MP__' block.
5702: * mp.h: Likewise. Update typedefs from gmp.h.
5703: * mpbsd/configure.in: New file.
5704: * mpbsd/Makefile.in: New file.
5705: * mpbsd/configure: Link to master configure.
5706: * mpbsd/config.sub: Link to master config.sub.
5707:
5708: * Makefile.in: Set RANLIB_TEST.
5709: * (libgmp.a): Use it.
5710: * (libgmp.a): Do ranlib before moving the libgmp.a to the build
5711: directory.
5712: * mp?/Makefile.in: Don't use or set RANLIB.
5713:
1.1.1.2 maekawa 5714: Thu Feb 15 16:38:41 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5715:
5716: * mpz/add_ui.c: MP_INT => mpz_t.
5717: * mpz/cmp_ui.c: Likewise.
5718: * mpz/fac_ui.c: Likewise.
5719: * mpz/inp_binary.c: Likewise.
5720: * mpz/inp_raw.c: Likewise.
5721: * mpz/legendre.c: Likewise.
5722: * mpz/jacobi.c: Likewise.
5723: * mpz/out_binary.c: Likewise.
5724: * mpz/out_raw.c: Likewise.
5725: * mpz/random2.c: Likewise.
5726: * mpz/random.c: Likewise.
5727: * mpz/realloc.c: Likewise.
5728:
5729: * mpz/legendre.c: __mpz_2factor(X) => mpz_scan1(X,0),
5730: __mpz_odd_less1_2factor => mpz_scan1(X,1).
5731: * mpz/ntsup.c: File deleted.
5732: * mpz/Makefile.in: Corresponding changes.
5733:
5734: * mpz/pprime_p: Use mpz_scan1 to avoid looping.
5735:
5736: * mpz/fac_ui.c: Type of `k' and `p' is `unsigned long'.
5737: * mpz/pprime_p.c: Pass long to *_ui functions.
5738: * mpz/gcdext.c: Likewise.
5739: * mpz/fdiv_r_2exp.c: Likewise.
5740: * mpz/fac_ui.c: Likewise.
5741:
5742: * mpz/powm.c: Don't use mpn_rshift when mod_shift_cnt is 0.
5743:
5744: * mpz/tests/Makefile.in (st-sqrtrem): Fix typo.
5745:
5746: * mpz/cmp_ui.c: #undef mpz_cmp_ui.
5747: * mpz/cmp_si.c: #undef mpz_cmp_si.
5748: * gmp.h (mpz_cmp_ui): New #define.
5749: (mpz_cmp_si): New #define.
5750:
1.1.1.2 maekawa 5751: Wed Feb 14 22:11:24 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5752:
5753: * gmp.h: Test __cplusplus in addition to __STDC__.
5754: * gmp-impl.h: Likewise.
5755:
5756: * gmp.h: Surround declarations with extern "C" { ... }.
5757:
1.1.1.2 maekawa 5758: Tue Feb 13 15:20:45 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5759:
5760: * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.
5761: * mpz/tdiv_r_2exp.c: Likewise.
5762:
5763: * mpz/fdiv_r_2exp.c: New file.
5764: * mpz/fdiv_q_2exp.c: New file.
5765: * mpz/tdiv_r_2exp.c: Renamed from mpz/mod_2exp.c.
5766: * mpz/tdiv_q_2exp.c: Renamed from mpz/div_2exp.c
5767: * mpz/Makefile.in: Corresponding changes.
5768:
5769: * mpz/scan0.c,scan1.c: New files.
5770: * mpz/Makefile.in: Compile them.
5771:
5772: * gmp.h (mpn_normal_size): Delete.
5773:
5774: * config.guess: Update from Cygnus version.
5775:
5776: * mpn/m68k/rshift.S: Use INSN2 macro for lea instructions.
5777: * mpn/m68k/lshift.S: Likewise.
5778:
5779: * mpn/configure.in: Fix configuration for plain 68000.
5780:
1.1.1.2 maekawa 5781: Mon Feb 12 01:06:06 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 5782:
5783: * mpz/tests/t-powm.c: Generate negative BASE operand.
5784:
5785: * mpz/powm.c: Make result always positive.
5786:
1.1.1.2 maekawa 5787: Sun Feb 11 01:44:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5788:
5789: * mpz/tests/*.c: Add t- prefix.
5790: * mpz/tests/Makefile.in: Corresponding changes.
5791: * mpz/tests/configure.in: Update srctrigger.
5792:
5793: * mpz/tests/gcd.c: Generate negative operands.
5794: * mpz/tests/gcd2.c: Likewise.
5795:
5796: * mpz/gcdext.c: At end, if G is negative, negate all G, S, and T.
5797:
5798: Thu Feb 8 17:16:12 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
5799:
5800: * mp{z,n}/gcd.c: Change mpn_gcd interface.
5801: * gmp.h: Ditto.
5802: * gmp.texi: update documentation.
5803:
5804: Mon Feb 7 23:58:43 1996 Andreas Schwab <schwab@informatik.uni-dortmund.de>
5805:
5806: * mpn/m68k/{lshift,rshift}.S: New files.
5807: * mpn/m68k/syntax.h: New ELF_SYNTAX macros.
5808: (MEM_INDX, R, PROLOG, EPILOG): New macros.
5809: * mpn/m68k/*.S: Use R macro with register name. Use PROLOG and EPILOG
5810: macros. Rename `size' to `s_size' or s1_size to avoid clash with ELF
5811: .size directive.
5812: * mpn/configure.in: New target m68k-*-linux*.
5813:
1.1.1.2 maekawa 5814: Wed Feb 7 07:41:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5815:
5816: * Makefile.in (cre-conv-tab): Workaround for SunOS make.
5817:
5818: * mpz/tests/reuse.c: New file.
5819: * mpz/tests/Makefile.in: Handle reuse.c.
5820:
5821: Tue Feb 6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
5822:
5823: * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.
5824:
1.1.1.2 maekawa 5825: Tue Feb 6 01:36:39 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5826:
5827: * gmp.h (mpz_divexact): Delete parameter names.
5828: (mpz_lcm): Delete spurious declaration.
5829:
5830: * mpz/dmincl.c: Fix typo.
5831:
1.1.1.2 maekawa 5832: Mon Feb 5 01:11:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5833:
5834: * mpn/generic/gcd.c (gcd_2): Declare consistently.
5835:
5836: * mpz/tdiv_q.c: Optimize division by a single-limb divisor.
5837: * mpz/dmincl.c: Likewise.
5838:
5839: * mpz/add.c: Use MPN_NORMALIZE instead of mpn_normal_size.
5840: * mpz/sub.c: Likewise.
5841: * mpn/generic/sqrt.c: Likewise.
5842:
5843: * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the
5844: destination arrays.
5845:
1.1.1.2 maekawa 5846: Fri Feb 2 02:21:27 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5847:
5848: * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.
5849: * mpz/Makefile.in: Compile them.
5850:
5851: * mpn/Makefile.in (INCLUDES): Don't search in `generic'.
5852:
1.1.1.2 maekawa 5853: Thu Feb 1 02:15:11 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5854:
5855: Change from Ken Weber:
5856: * mpz/divexact.c: Make it work when quot is identical to either input.
5857:
5858: * mpf/ui_sub.c: New file.
5859: * mpf/Makefile.in: Compile it.
5860:
5861: * gmp-impl.h (MPZ_TMP_INIT): alloca -> TMP_ALLOC.
5862: * mpz/{c,f}div_{q,qr,r}.c: Use TMP_DECL/TMP_MARK/TMP_FREE since
5863: these use MPZ_TMP_INIT.
5864: * mpz/mod.c: Likewise.
5865: * mpq/{add,sub}.c: Likewise.
5866: * mpq/canonicalize: Likewise.
5867:
5868: * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.
5869: * mpq/canonicalize.c: Likewise.
5870:
1.1.1.2 maekawa 5871: Wed Jan 31 01:45:00 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5872:
5873: * mpn/generic/gcd.c: Misc changes from Ken.
5874:
5875: * mpz/tests/gcd2.c: New file.
5876: * mpz/tests/Makefile.in: Handle gcd2.c.
5877:
5878: * mpn/generic/gcd.c (mpn_gcd): When GCD == ORIG_V, return vsize,
5879: not orig_vsize. Fix parameter declaration.
5880:
5881: * mpz/mod_ui.c: Delete file.
5882: * mpz/Makefile.in: Don't try to compile mod_ui.
5883:
5884: * mpz/cdiv_*_ui.c): Make them work right.
5885: * gmp.h: Declare cdiv*.
5886:
1.1.1.2 maekawa 5887: Tue Jan 30 02:22:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5888:
5889: * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,
5890: cdiv_r_ui.c,cdiv_ui.c}: New files.
5891: * mpz/Makefile.in: Compile them.
5892:
5893: * All files: Make file permissions right.
5894:
5895: Changes from Ken Weber:
5896: * mpn/generic/accelgcd.c: Delete.
5897: * mpn/generic/bingcd.c: Delete.
5898: * mpn/generic/numbits.c: Delete.
5899: * mpn/generic/gcd.c: New file.
5900: * mpn/configure.in (functions): Update accordingly.
5901: * mpz/divexact.c: New file.
5902: * mpz/Makefile.in: Compile divexact.c.
5903: * mpz/gcd.c: Rewrite to accommodate for gcd changes in mpn.
5904: * gmp.h: declare new functions, delete obsolete declarations.
5905: * mpz/tests/dive.c: New file.
5906: * mpz/tests/Makefile.in: Handle dive.c.
5907:
1.1.1.2 maekawa 5908: Mon Jan 29 03:53:24 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5909:
5910: * mpz/random.c: Handle negative SIZE parameter.
5911:
5912: * mpz/tests/tdiv(_ui).c: New name for tst-dm(_ui).c.
5913: * mpz/tests/tst-mdm(_ui).c: Delete.
5914: * mpz/tests/fdiv(_ui).c: New test based in tst-mdm(_ui).
5915: * mpz/tests/*.c: Get rid of tst- prefix for DOS 8+3 naming.
5916: * mpz/tests/Makefile.in: Corresponding changes.
5917: * mpz/tests/configure.in: Update srctrigger.
5918:
5919: * mpn/generic/divmod.c: Update from divrem.
5920: * mpn/generic/divrem.c: Misc cleanups.
5921:
1.1.1.2 maekawa 5922: Sun Jan 28 03:25:08 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5923:
5924: * All files: Use new TMP_ALLOC interface.
5925:
5926: * mpz/powm_ui.c: Make Jan 25 changes to powm.c also here.
5927:
5928: * mpz/tests/powm_ui.c: New file.
5929: * mpz/tests/Makefile.in: Add rules for tst-powm and tst-powm_ui.
5930:
5931: * Makefile.in: Update dependency list.
5932: * mpf/Makefile.in: Likewise.
5933: * mpz/Makefile.in: Likewise.
5934: * mpq/Makefile.in: Likewise.
5935: * Makefile.in: Set RANLIB simply to ranlib, and allow configure
5936: to override it.
5937:
5938: * mpz/Makefile.in (conf): Delete spurious target.
5939: (mp_bases.c): Delete.
5940: (cre-conv-tab rules): Delete.
5941:
5942: * Makefile.in (cre-conv-tab): Greatly simplify.
5943:
1.1.1.2 maekawa 5944: Sat Jan 27 13:38:15 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5945:
5946: * stack-alloc.c: New file.
5947: * stack-alloc.h: New file.
5948:
5949: * gmp.h (__gmp_inline): Define using __inline__.
5950:
1.1.1.2 maekawa 5951: Thu Jan 25 00:28:37 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5952:
5953: * mpn/generic/scan0.c: New file.
5954: * mpn/generic/scan1.c: Renamed from next_bit.c.
5955: * mpn/configure.in (functions): Include scan0 and scan1.
5956:
5957: * mpn/m68k/*: #include sysdep.h. Use C_GLOBAL_NAME.
5958:
5959: * configure: Update from Cygnus version.
5960: * config.guess: Likewise.
5961: * config.sub: Likewise.
5962: * configure: Pass --nfp to recursive configures.
5963:
5964: * mpz/tests/tst-*.c: Adjust SIZE and reps.
5965:
5966: * mpz/powm.c: Move esize==0 test earlier.
5967: In final reduction of rp,rsize, don't call mpn_divmod unless
5968: reduction is really needed.
5969:
5970: * mpz/tests/tst-powm.c: Fix thinko in checking code.
5971:
5972: * All files: Get rid of `__' prefix from mpn_* calls and declarations.
5973: * gmp.h: #define __MPN.
5974: * gmp.h: Use __MPN in #defines for mpn calls.
5975:
5976: * mpn/generic/mul_n.c: Prepend `i' to internal routines.
5977: * gmp-impl.h: Add #defines using __MPN for those internal routines.
5978:
5979: * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.
5980:
1.1.1.2 maekawa 5981: Wed Jan 24 13:28:19 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5982:
5983: * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.
5984: * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.
5985: * mpn/sparc32/v8/supersparc: New directory.
5986: * mpn/sparc32/v8/supersparc/udiv.S: New file.
5987:
1.1.1.2 maekawa 5988: Tue Jan 23 01:10:11 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 5989:
5990: This major contribution is from Ken Weber:
5991: * mpn/generic/accelgcd.c: New file.
5992: * mpn/generic/bdivmod.c: New file.
5993: * mpn/generic/bingcd.c: New file.
5994: * mpn/generic/gcd_1.c: Rewrite.
5995: * mpn/generic/numbits.c: New file (to go away soon).
5996: * mpz/gcd.c: Rewrite.
5997: * mpz/tests/tst-gcd.c (SIZE): Now 128.
5998: * gmp.h: Declare new functions.
5999: * mpn/configure.in (functions): List new files.
6000: * gmp-impl.h (MPN_SWAP): Delete.
6001: (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.
6002: (MPN_COMPL_INCR, MPN_COMPL): Delete.
6003:
1.1.1.2 maekawa 6004: Mon Jan 22 02:04:59 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6005:
6006: * gmp.h (mpn_name): New #define.
6007:
6008: * mpn/m88k/mc88110/addmul_1.s: New file.
6009: * mpn/m88k/mc88110/add_n.S: New file.
6010: * mpn/m88k/mc88110/sub_n.S: New file.
6011:
6012: * mpn/m88k/sub_n.s: Correctly initialize carry.
6013:
6014: * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.
6015:
1.1.1.2 maekawa 6016: Sun Jan 21 00:04:35 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6017:
6018: * mpn/sparc64/addmul_1.s: New file.
6019: * mpn/sparc64/submul_1.s: New file.
6020: * mpn/sparc64/rshift.s: New file.
6021:
1.1.1.2 maekawa 6022: Sat Jan 20 00:32:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6023:
6024: * mpz/iset.c: Fix typo introduced Dec 25.
6025:
1.1.1.2 maekawa 6026: Wed Jan 17 13:16:44 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6027:
6028: * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.
6029: * config/mt-sparcv8-gcc: Delete.
6030: * configure.in: Corresponding changes.
6031:
1.1.1.2 maekawa 6032: Tue Jan 16 16:31:01 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6033:
6034: * gmp-impl.h: #include alloca.h when necessary.
6035:
6036: * longlong.h: Test __alpha instead of __alpha__, since the former
6037: is the standard symbol.
6038:
1.1.1.2 maekawa 6039: Mon Jan 15 18:06:57 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6040:
6041: * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.
6042: * mpn/sparc64/lshift.s: New file.
6043:
1.1.1.2 maekawa 6044: Fri Dec 29 17:34:03 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6045:
6046: * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.
6047: * mpn/x86/pentium/sub_n.S: Likewise.
6048:
1.1.1.2 maekawa 6049: Thu Dec 28 03:16:57 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6050:
6051: * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update
6052: of loop induction variable and load insn at beginning of loop.
6053: * mpn/x86/pentium/addmul_1.S: Likewise.
6054: * mpn/x86/pentium/submul_1.S: Likewise.
6055:
1.1.1.2 maekawa 6056: Mon Dec 25 23:22:55 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6057:
6058: * All files: Prefix user-visible structure fields with _mp_.
6059:
1.1.1.2 maekawa 6060: Fri Dec 22 20:42:17 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6061:
6062: * mpn/configure.in (m68k configs): Terminate path variable with
6063: plain "m68k".
6064:
1.1.1.2 maekawa 6065: Fri Dec 22 03:29:33 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6066:
6067: * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to
6068: clean things up.
6069:
6070: * mpn/configure.in (m68k configs): Update #include path for new
6071: mpn directory organization.
6072:
1.1.1.2 maekawa 6073: Tue Dec 12 02:53:02 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6074:
6075: * gmp.h: Prefix all structure field with _mp_.
6076: * gmp-impl.h: Define access macros for these fields.
6077:
1.1.1.2 maekawa 6078: Sun Dec 10 00:47:17 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6079:
6080: * mpn/alpha/addmul_1.s: Prefix labels with `.'.
6081: * mpn/alpha/submul_1.s: Likewise.
6082: * mpn/alpha/[lr]shift.s: Likewise.
6083: * mpn/alpha/udiv_qrnnd.S: Likewise.
6084: * mpn/alpha/ev5/[lr]shift.s: Likewise.
6085:
6086: * mpn/alpha/ev5/lshift.s: Fix typos.
6087:
1.1.1.2 maekawa 6088: Fri Dec 1 14:28:20 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6089:
6090: * mpn/Makefile.in (.SUFFIXES): Define.
6091:
1.1.1.2 maekawa 6092: Wed Nov 29 23:11:57 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6093:
6094: * mpn/sparc64/{add_n.s, sub_n.s}: New files.
6095:
1.1.1.2 maekawa 6096: Tue Nov 28 06:03:13 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6097:
6098: * mpn/x86/syntax.h: Handle ELF_SYNTAX.
6099: Rename GAS_SYNTAX => BSD_SYNTAX.
6100:
6101: * mpn/configure.in: Handle linuxelf and SysV for x86 variants.
6102:
1.1.1.2 maekawa 6103: Mon Nov 27 01:32:12 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6104:
6105: * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.
6106:
1.1.1.2 maekawa 6107: Sun Nov 26 04:30:47 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 6108:
6109: * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.
6110:
6111: * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.
6112: * mpn/sparc32/sub_n.S: Likewise.
6113:
1.1.1.2 maekawa 6114: Fri Nov 17 00:18:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6115:
6116: * mpn/configure.in: Handle m68k on NextStep.
6117:
1.1.1.2 maekawa 6118: Thu Nov 16 02:30:26 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6119:
6120: * mpn: Reorganize machine-specific directories.
6121: * mpn/configure.in: Corresponding changes.
6122: (sh, sh2): Handle these.
6123: (m68k targets): Create asm-syntax.h.
6124:
1.1.1.2 maekawa 6125: Thu Nov 9 02:20:50 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6126:
6127: * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.
6128: (____mpn_mul_n): Likewise.
6129:
1.1.1.2 maekawa 6130: Tue Nov 7 03:25:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6131:
6132: * mpf/get_str.c: In exponentiation code (two places), don't swap
6133: input and output areas when calling mpn_mul_1.
6134: * mpf/set_str.c: Likewise.
6135:
1.1.1.2 maekawa 6136: Fri Nov 3 02:35:58 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6137:
6138: * mpf/Makefile.in: Make sure all objects are listed in dependency list;
6139: delete spurious entries.
6140:
6141: * mpf/mul.c: Handle U or V being 0. Allow prec+1 for result precision.
6142:
6143: * mpf/set_prec.c: New computation of limb precision.
6144: * mpf/set_dfl_prec.c: Likewise.
6145:
6146: * mpf/random2.c: Fix typo computing exp.
6147: * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of
6148: the user-requested number of digits, n_digits.
6149:
1.1.1.2 maekawa 6150: Thu Nov 2 16:25:07 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6151:
6152: * mpn/generic/divrem.c (case 2): Don't move np vector back, it is
6153: never read.
6154: (default case): Put most significant limb from np in new variable n2;
6155: decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].
6156:
1.1.1.2 maekawa 6157: Wed Nov 1 02:59:53 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6158:
6159: * mpn/sparc/[lr]shift.S: New files.
6160:
1.1.1.2 maekawa 6161: Tue Oct 31 00:08:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6162:
6163: * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.
6164:
6165: * gmp-impl.h (assert): Delete definition.
6166:
6167: * mpf/sub.c: Delete all assert calls. Delete variable `cy'.
6168:
6169: * mpf/neg.c: Use prec+1 as precision. Optimize for when arguments
6170: are the same.
6171: * mpf/abs.c: Likewise.
6172: * mpf/{set,neg,abs}.c: Make structure and variable names similar.
6173:
1.1.1.2 maekawa 6174: Mon Oct 30 12:45:26 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6175:
6176: * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.
6177: * mpn/generic/random2.c (random): Likewise.
6178:
1.1.1.2 maekawa 6179: Sun Oct 29 01:54:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6180:
6181: * mpf/div.c: Special handle U or V being 0.
6182:
6183: * mpf/random2.c: New file.
6184:
6185: * longlong.h (i860 rshift_rhlc): Define.
6186: (i960 udiv_qrnnd): Define.
6187: (i960 count_leading_zeros): Define.
6188: (i960 add_ssaaaa): Define.
6189: (i960 sub_ddmmss): Define.
6190: (i960 rshift_rhlc): Define.
6191:
1.1.1.2 maekawa 6192: Sat Oct 28 19:09:15 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6193:
6194: * mpn/pentium/rshift.S: Fix and generalize condition for when to use
6195: special code for shift by 1.
6196: * mpn/pentium/lshift.S: Likewise.
6197:
1.1.1.2 maekawa 6198: Thu Oct 26 00:02:56 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6199:
6200: * gmp.h: #undef __need_size_t.
6201: * mp.h: Update from gmp.h.
6202:
1.1.1.2 maekawa 6203: Wed Oct 25 00:17:27 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6204:
6205: * mpf/Makefile.in: Compile set_prec.c.
6206: * mpf/realloc.c: Delete this file.
6207: * mpf/Makefile.in: Delete mentions of realloc.c.
6208:
6209: * gmp.h (__mpf_struct): Get rid of `alloc' field.
6210: * mpf/clear.c: Likewise.
6211: * mpf/init*.c: Likewise.
6212: * mpf/set_prec.c: Likewise.
6213: * mpf/iset*.c: Likewise.
6214:
6215: * mpf/iset_str.c: New file.
6216:
6217: * mpn/configure.in: Handle pyramid.
6218:
6219: * mpf/set.c: Use prec+1 as precision.
6220:
6221: * mpf/set_prec.c: New file.
6222:
1.1.1.2 maekawa 6223: Tue Oct 24 00:56:41 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6224:
6225: * mpn/generic/divrem.c: New file. Will replace mpn/generic/divmod.c
6226: when rest of source is converted.
6227: * mpn/configure.in (functions): Add `divrem'
6228: * mpn/generic/set_str.c: Never call __mpn_mul_1 with zero size.
6229:
6230: * mpf/get_str.c: Completely rewritten.
6231: * mpf/add.c: Fix several problems.
6232: * mpf/sub.c: Compare operands from most significant end until
6233: first difference, exclude skipped limbs from computation.
6234: Accordingly simplify normalization code.
6235: * mpf/set_str.c: Fix several problems.
6236: * mpf/dump.c: New file.
6237: * mpf/Makefile.in: Compile dump.c.
6238: * mpf/init2.c: Set prec field correctly.
6239:
1.1.1.2 maekawa 6240: Sun Oct 22 03:02:09 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6241:
6242: * cre-conv-tab.c: #include math.h; don't declare log and floor.
6243:
1.1.1.2 maekawa 6244: Sat Oct 21 23:04:10 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6245:
6246: * mpf/mul_ui.c: Handle U being 0.
6247:
1.1.1.2 maekawa 6248: Wed Oct 18 19:39:27 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6249:
6250: * mpn/generic/set_str.c: Correctly handle input like "000000000000".
6251: Misc cleanups.
6252:
1.1.1.2 maekawa 6253: Tue Oct 17 15:14:13 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6254:
6255: * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where
6256: appropriate.
6257:
1.1.1.2 maekawa 6258: Mon Oct 16 19:14:43 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6259:
6260: * mpf/add.c: Rewrite.
6261: * mpf/set_str.c: New file. Needs more work.
6262:
1.1.1.2 maekawa 6263: Sat Oct 14 00:14:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6264:
6265: * mpf/div_2exp.c: Vastly simplify.
6266: * mpf/mul_2exp.c: Likewise.
6267:
6268: * mpf/sub.c: Rewrite.
6269:
6270: * gmp-impl.h (udiv_qrnnd_preinv2gen): Terminate comment.
6271:
6272: * mpf/dump.c: Free allocated memory.
6273:
6274: * gmp-impl.h (assert): Define.
6275:
1.1.1.2 maekawa 6276: Wed Oct 11 13:31:00 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6277:
6278: * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.
6279:
1.1.1.2 maekawa 6280: Tue Oct 10 00:37:21 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6281:
6282: * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.
6283:
6284: * mpn/powerpc32/{lshift.s,rshift.s}: New files.
6285:
6286: * configure.in: Fix typo.
6287:
1.1.1.2 maekawa 6288: Sat Oct 7 08:17:09 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6289:
6290: * longlong.h (smul_ppmm): Correct type of __m0 and __m1.
6291:
1.1.1.2 maekawa 6292: Wed Oct 4 16:31:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6293:
6294: * mpn/configure.in: Handle alphaev5.
6295: * mpn/ev4: New name for alpha subdir.
6296: * mpn/ev5: New subdir.
6297: * mpn/ev5/lshift.s: New file.
6298:
1.1.1.2 maekawa 6299: Tue Oct 3 15:06:45 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6300:
6301: * mpn/alpha/mul_1.s: Avoid static increments of pointers; use
6302: corresponding offsets in ldq and stq instructions instead.
6303: (Loop): Swap cmpult and stq to save one cycle on EV5.
6304:
6305: * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,
6306: submul_1.s}: Don't check results if NOCHECK is defined.
6307:
1.1.1.2 maekawa 6308: Mon Oct 2 11:40:18 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6309:
6310: * longlong.h (mips umul_ppmm [32 and 64 bit versions]):
6311: Make new variants, based on GCC version number, that use `l' and `h'
6312: constraints instead of explicit mflo and mfhi instructions
6313:
1.1.1.2 maekawa 6314: Sun Oct 1 00:17:47 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6315:
6316: * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.
6317: * mpn/mc88100/sub_n.s: Likewise.
6318:
6319: * config/mt-m88110: New file.
6320: * configure.in: Use it.
6321:
6322: * mpn/mc88110/mul_1.s: Fix thinko.
6323:
1.1.1.2 maekawa 6324: Sat Sep 30 21:28:19 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6325:
6326: * mpz/set_d.c: Declare `size' at function start.
6327:
6328: * experimental: New directory for mpx and mpz2.
6329:
6330: * mpz/tdiv_q.c: Clarify comments.
6331: * mpz/{mod.c,mod_ui.c}: New file, for math mod function.
6332:
6333: * mpn/sh2/{mul_1.s,addmul_1.s,submul_1.s}: New files.
6334:
6335: * mpn/sh/{add_n.s,sub_n.s}: New files.
6336:
6337: * mpn/pyr/{add_n.s,sub_n.s,mul_1.s,addmul_1.s}: New files.
6338:
6339: * mpn/i960/{add_n.s,sub_n.s}: New files.
6340:
6341: * mpn/alpha/addmul_1.s (Loop): Move decrement of r18 to before umulh,
6342: to save cycles on EV5.
6343: * mpn/alpha/submul_1.s: Ditto.
6344: * mpn/alpha/mul_1.s: Ditto.
6345:
1.1.1.2 maekawa 6346: Thu Sep 28 02:48:59 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6347:
6348: * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if
6349: _LONG_LONG_LIMB is defined.
6350:
6351: * longlong.h (m88110): Test __m88110__, not __mc88110__
6352:
6353: * mpn/mc88110/mul_1.s: Rewrite.
6354:
1.1.1.2 maekawa 6355: Tue Sep 26 23:29:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6356:
6357: * config.sub: Update from current Cygnus version.
6358:
6359: * mpn/configure.in: Recognize canonical m88*, not mc88*.
6360:
1.1.1.2 maekawa 6361: Fri Sep 22 14:58:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6362:
6363: * mpz/set_d.c: New file.
6364: * mpz/Makefile.in: Build new files.
6365:
6366: * mpq/get_d.c: Replace usage of scalbn with ldexp.
6367:
6368: * mpn/{vax,i386}/gmp-mparam.h: New files.
6369: * gmp-impl.h (ieee_double_extract): Define here.
6370: * mpf/set_d.c (ieee_double_extract): Not here.
6371:
1.1.1.2 maekawa 6372: Thu Sep 21 00:56:36 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6373:
6374: * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.
6375: (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,
6376: protect with new symbol LONGLONG_STANDALONE.
6377: (68000 umul_ppmm): Use %# prefix for immediate constants.
6378:
1.1.1.2 maekawa 6379: Wed Sep 20 15:36:23 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6380:
6381: * mpn/generic/divmod_1.c: Handle
6382: divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
6383: specifically also when normalization_steps != 0.
6384:
1.1.1.2 maekawa 6385: Mon Sep 18 15:42:30 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6386:
6387: * mpq/get_d.c: New file.
6388:
1.1.1.2 maekawa 6389: Sun Sep 17 02:04:36 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6390:
6391: * longlong.h (pyr): Botch up for now.
6392:
1.1.1.2 maekawa 6393: Sat Sep 16 00:11:50 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6394:
6395: * mpn/clipper/mul_1.s: New file.
6396: * mpn/clipper/add_n.s: New file.
6397: * mpn/clipper/sub_n.s: New file.
6398: * mpn/configure.in: Handle clipper*-*-*.
6399:
6400: * mpn/configure.in: Recognize rs6000-*-*.
6401:
1.1.1.2 maekawa 6402: Fri Sep 15 00:41:34 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6403:
6404: * mpn/alpha/add_n.s: New file.
6405: * mpn/alpha/sub_n.s: New file.
6406:
6407: * mpn/mips3: New name for mpn/r4000.
6408: * mpn/mips2: New name for mpn/r3000.
6409: * mpn/configure.in: Corresponding changes.
6410:
6411: * mpn/generic/perfsqr.c (primes): Delete.
6412: (residue_map): Delete.
6413:
1.1.1.2 maekawa 6414: Thu Sep 14 00:07:58 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6415:
6416: * mpn/r3000/sub_n.s: Fix typo.
6417:
6418: * dm_trunc.c: Delete spurious file.
6419:
6420: * mpz/out_binary.c: Fix typo.
6421:
6422: * mpn/configure.in (per-target): Make mips*-*-irix6* imply r4000.
6423:
6424: * gmp-impl.h: For sparc and sgi, include alloca.h.
6425:
6426: * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'. Replace
6427: `ldk r,#0' with `xor r,r'.
6428:
1.1.1.2 maekawa 6429: Wed Sep 6 00:58:38 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6430:
6431: * mpz/inp_binary.c: New file.
6432: * mpz/out_binary.c: New file.
6433: * mpz/Makefile.in: Build new files.
6434:
1.1.1.2 maekawa 6435: Tue Sep 5 22:53:51 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6436:
6437: * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc
6438: and size fields.
6439:
1.1.1.2 maekawa 6440: Sat Sep 2 17:47:59 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6441:
6442: * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.
6443: * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,
6444: derived from r4000 code.
6445:
1.1.1.2 maekawa 6446: Fri Sep 1 05:35:52 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6447:
6448: * mpn/r3000/mul_1.s: Fix typo.
6449:
6450: * mpn/powerpc32: Fix some old vs new mnemonic issues.
6451:
6452: * mpn/powerpc32/{add_n.s,sub_n.s}: New files.
6453: * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.
6454:
1.1.1.2 maekawa 6455: Wed Aug 30 10:43:47 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6456:
6457: * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.
6458: * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.
6459:
6460: * config.guess: Update to latest FSF revision.
6461:
1.1.1.2 maekawa 6462: Mon Aug 28 02:18:13 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6463:
6464: * mpz/out_str.c: Cast str to char * in fputs call.
6465:
6466: * gmp-impl.h: Define UQItype, SItype, and USItype also
6467: when not __GNUC__.
6468:
1.1.1.2 maekawa 6469: Fri Aug 25 01:45:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6470:
6471: * mpn/i386/syntax.h: Renamed from asm-syntax.h.
6472: * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.
6473: * mpn/configure.in: Corresponding changes.
6474:
1.1.1.2 maekawa 6475: Sun Aug 13 19:20:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 6476:
6477: * mpn/generic/random2.c: Test __hpux, not hpux.
6478:
6479: Sat Apr 15 20:50:33 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6480:
6481: * mpn/sparc/add_n.S: Make it work for PIC.
6482: * mpn/sparc/sub_n.s: Likewise.
6483: * mpn/sparc8/addmul_1.S: Likewise.
6484: * mpn/sparc8/mul_1.S: Likewise.
6485: * mpn/i386/add_n.S: Likewise.
6486: * mpn/i386/sub_n.S: Likewise.
6487:
6488: Thu Apr 13 23:15:03 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6489:
6490: * mpn/configure.in: Don't search power subdir for generic ppc configs.
6491: Add some ppc cpu-specific configs. Misc clean up.
6492:
6493: Mon Apr 10 00:16:35 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6494:
6495: * mpz/ui_pow_ui.c: Delete spurious code to handle negative results.
6496:
6497: Sun Apr 9 12:38:11 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6498:
6499: * longlong.h (SPARC v8 udiv_qrnnd): Generate remainder in C,
6500: not in asm.
6501:
6502: * mpn/generic/sqrt.c (SQRT): Test for __SOFT_FLOAT.
6503:
6504: Tue Mar 28 00:19:52 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6505:
6506: * mpn/generic/hamdist.c (popc_limb): Make Mar 16 change here too.
6507:
6508: Fri Mar 17 23:29:22 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6509:
6510: * longlong.h (SH umul_ppmm): Define.
6511:
6512: Thu Mar 16 16:40:44 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6513:
6514: * mpn/generic/popcount.c (popc_limb): Rearrange 32 bit case
6515: to help CSE.
6516:
6517: Fri Mar 10 20:03:49 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6518:
6519: * mpn/powerpc32/mul_1.s: Clear cy before entering loop.
6520: Rearrange loop to save a cycle.
6521: * mpn/powerpc32/addmul_1.s: New file.
6522: * mpn/powerpc32/submul_1.s: New file.
6523:
6524: Fri Feb 17 22:44:45 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6525:
6526: * mpn/configure.in: Set target_makefile_frag for freebsd
6527: in new case stmt.
6528: * mpn/config/t-freebsd: New file.
6529: * mpn/Makefile.in: Add #### for frag insertion.
6530: (XCFLAGS): Clear by default.
6531: (.c.o, .S.o rules): Pass XCFLAGS.
6532:
6533: Tue Feb 7 16:27:50 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6534:
6535: * longlong.h (68000 umul_ppmm): Merge improvements from henderson.
6536:
6537: Tue Jan 24 04:23:20 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
6538:
6539: * longlong.h (default umul_ppmm): Store input parameters in temporaries
6540: to avoid reading them twice.
6541: (default smul_ppmm): New definition.
6542:
6543: Thu Dec 29 04:20:07 1994 Jim Meyering (meyering@comco.com)
6544:
6545: * generic/perfsqr.c (__mpn_perfect_square_p): Remove declaration
6546: of unused variable.
6547: * generic/pre_mod_1.c (__mpn_preinv_mod_1): Likewise.
6548: * mpz/powm.c (pow): Likewise.
6549:
6550: * mpz/and.c (mpz_and): Use {} instead of `;' for empty else clause
6551: to placate `gcc -Wall'.
6552: * mpz/ior.c (mpz_ior): Likewise.
6553:
6554: Wed Dec 28 13:31:40 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6555:
6556: * mpn/m*68*/*.S: #include asm-syntax.h, not asm.h.
6557:
6558: Mon Dec 26 17:15:36 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6559:
6560: * longlong.h: Test for more symbols, in __mc68000__ case.
6561:
6562: * mpn/mpn/config.sub: Recognize m68060.
6563: * mpn/configure.in: Change mc* to m* for 68k targets.
6564: * mpn/Makefile.in (.S.o): Delete spurious creation of temp .c file.
6565:
6566: Mon Dec 19 01:56:30 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6567:
6568: * config.sub: Recognize pentium as a valid CPU.
6569: * mpn/configure.in: Handle pentium specifically, to use new assembly
6570: code.
6571:
6572: Mon Dec 19 00:13:01 1994 Jim Meyering (meyering@comco.com)
6573:
6574: * gmp.h: Define _GMP_H_HAVE_FILE if FILE, __STDIO_H__, or H_STDIO
6575: is defined.
6576: * gmp.h: test _GMP_H_HAVE_FILE instead of FILE everywhere else.
6577:
6578: Mon Dec 19 00:04:54 1994 Kent Boortz (boortz@sics.se)
6579:
6580: * Makefile.in (recursive makes): Pass CFLAGS.
6581:
6582: Sun Dec 18 22:34:49 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6583:
6584: * mpn/pentium: New directory.
6585:
6586: * mpz/pprime.c: Make sure to mpz_clear all temporaries.
6587:
6588: * longlong.h: Don't use udiv instruction when SUPERSPARC is defined.
6589: * configure.in: Handle supersparc*-.
6590: * config/mt-supspc-gcc: New file.
6591: * config/mt-sparc8-gcc: New name for mt-sparcv8-gcc.
6592:
6593: Mon Dec 12 22:22:10 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6594:
6595: * mpn/i386/*.S: #include "asm-syntax.h", not "asm.h".
6596: #include sysdep.h before asm-syntax.h.
6597:
6598: * mpn/mc68020/asm-syntax.h: #undef ALIGN before defining it.
6599: * mpn/i386/asm-syntax.h: Likewise.
6600:
6601: * mpn/mc68020/asm-syntax.h: New name for asm.h.
6602: * mpn/i386/asm-syntax.h: New name for asm.h.
6603:
6604: Tue Dec 6 21:55:25 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6605:
6606: * mpz/array_init.c: Fix typo in declaration.
6607:
6608: Fri Nov 18 19:50:52 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6609:
6610: * mpn/Makefile.in (.S.o): Pass CFLAGS and INCLUDES.
6611:
6612: Mon Nov 14 00:34:12 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6613:
6614: * mpn/generic/random2.c (random): Test for __svr4__.
6615:
6616: Wed Oct 12 23:28:16 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6617:
6618: * cre-conv-tab.c (main): Avoid upper-case X in printf format string.
6619:
6620: Tue Aug 23 17:16:35 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6621:
6622: * mpz/perfsqr.c: Use mpn_perfect_square_p.
6623: * mpn/generic/perfsqr.c: New file.
6624:
6625: Wed Jul 6 13:46:51 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6626:
6627: * mpz/array_init.c: New file.
6628: * mpz/Makefile.in: Compile array_init.
6629: * gmp.h: Declare mpz_array_init.
6630:
6631: Mon Jul 4 01:10:03 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6632:
6633: * mpz/add.c: Fix bogus comment.
6634: * mpz/sub.c: Likewise.
6635:
6636: Sat Jul 2 02:14:56 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6637:
6638: * mpn/generic/pre_mod_1.c: New file.
6639: * mpz/perfsqr.c: Use __mpn_preinv_mod_1 when faster.
6640:
6641: Fri Jul 01 22:10:19 1994 Richard Earnshaw (rwe11@cl.cam.ac.uk)
6642:
6643: * longlong.h (arm umul_ppmm): Fix typos in last change. Mark
6644: hard-coded registers with "%|"
6645:
6646: Thu Jun 30 03:59:33 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6647:
6648: * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.
6649: Use __mpn_mod_1.
1.1.1.2 maekawa 6650: * mpz/perfsqr.c: Don't clobber REM in quadratic residue check loop.
1.1 maekawa 6651:
6652: Wed Jun 29 18:45:41 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6653:
6654: * mpn/generic/sqrt.c (SQRT): New asm for IBM POWER2.
6655:
6656: * mpz/gcd_ui.c: Return 0 if result does not fit an unsigned long.
6657:
6658: * gmp.h: Use "defined (__STDC__)" consistently.
6659:
6660: Tue Jun 28 18:44:58 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6661:
6662: * gmp.h (mpz_get_si): Don't use "signed" keyword for return type.
6663:
6664: * mpz/tests/Makefile.in: Use CFLAGS for linking.
6665:
6666: * Makefile.in (CFLAGS): Use -O2 here.
6667: * mpn/Makefile (CFLAGS): Not here.
6668:
6669: * mpq/cmp_ui.c: Fix typo.
6670: * mpq/canonicalize.c: Fix typo.
6671: * mpz/gcd_ui.c: Handle gcd(0,v) and gcd(u,0) correctly.
6672: * mpn/generic/gcd_1.c: Fix braino in last change.
6673:
6674: Mon Jun 27 16:10:27 1994 Torbjorn Granlund (tege@rtl.cygnus.com)
6675:
6676: * mpz/gcd_ui.c: Change return type and return result.
6677: Allow destination param to be NULL.
6678: * gmp.h: Corresponding change.
6679: * mpn/generic/gcd_1.c: Handle zero return from mpn_mod_1.
6680:
6681: Tue Jun 14 02:17:43 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
6682:
6683: * mpn/i386/asm.h (ALIGN): Make it take a parameter.
6684: * mpn/i386/*.S: Use ALIGN to align all loops.
6685:
6686: * mpn/i386/*.S: Move colon inside C_GLOBAL_NAME expression.
6687: (Makes old versions of GAS happy.)
6688:
6689: Sat May 28 01:43:54 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6690:
6691: * Many files: Delete unused variables and labels.
6692: * mpn/generic/dump.c: cast printf width argument to int.
6693:
6694: Wed May 25 00:42:37 1994 Torbjorn Granlund (tege@thepub.cygnus.com)
6695:
6696: * mpz/gcd.c (mpz_gcd): Normalize after __mpn_sub calls.
6697: (xmod): Ignore return value of __mpn_divmod.
6698: (xmod): Improve normalization code.
6699:
6700: Sat May 21 01:30:09 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6701:
6702: * mpz/gcdext.c: Cosmetic changes.
6703:
6704: * mpz/fdiv_ui.c: New file.
6705:
6706: Fri May 20 00:24:53 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6707:
6708: * mpz/tests/Makefile.in: Use explicit rules for running tests,
6709: not a shell loop.
6710: (clean): Delete stmp-*.
6711:
6712: * mpz/Makefile.in: Update.
6713:
6714: * mpz/div_ui.c: Don't include longlong.h.
6715: * mpz/dm_ui.c: Likewise.
6716:
6717: * mpz/fdiv_q.c, mpz/fdiv_q_ui.c, mpz/fdiv_qr.c, mpz/fdiv_qr_ui.c,
6718: mpz/fdiv_r.c, mpz/fdiv_r_ui.c: New files. Code partly from deleted
6719: mdm.c, mdm_ui.c, etc, partly rewritten.
6720: * mpz/dm_floor_ui.c, mpz/dm_floor.c: Delete.
6721: * mpz/mdm.c, mpz/mdm_ui.c, mpz/mdiv.c, mpz/mdiv_ui.c, mpz/mmod.c,
6722: mpz/mmod_ui.c: Delete.
6723:
6724: * mpz/tdiv_q.c, mpz/tdiv_q_ui.c, mpz/tdiv_qr.c, mpz/tdiv_qr_ui.c,
6725: mpz/tdiv_r.c, mpz/tdiv_r_ui.c:
6726: New names for files implementing truncating division.
6727: * mpz/div_ui.c, mpz/dm_ui.c, mpz/mod_ui.c: Simplify.
6728:
6729: * mpn/Makefile.in (.S.o): Don't rely on CPP being defined, use CC
6730: instead.
6731: (clean): Delete tmp-*.
6732:
6733: Thu May 19 01:37:44 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6734:
6735: * mpz/cmp.c: Call __mpn_cmp.
6736:
6737: * mpz/popcount.c: Fix typo.
6738:
6739: * mpz/powm_ui.c: Simplify main loop. Keep principal operand size
6740: smaller than MSIZE when possible.
6741: * mpz/powm.c: Likewise.
6742:
6743: * mpn/generic/sqrt.c: Move alloca calls into where the memory is
6744: needed. Simplify.
6745:
6746: * gmp.h: (_PROTO): New macro.
6747: Add many function declarations; use _PROTO macro in all declarations.
6748:
6749: * mpf/*.c: Prepend mpn calls with __.
6750:
6751: Wed May 18 20:57:06 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6752:
6753: * mpf/*ui*.c: Make ui argument `long' for consistency with mpz
6754: functions.
6755:
6756: * mpf/div_ui.c: Simplify.
6757:
6758: Tue May 17 01:05:14 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6759:
6760: * mpz/*.c: Prepend mpn calls with __.
6761:
6762: * mpz/mul_ui.c: Use mpn_mul_1.
6763:
6764: Mon May 16 17:19:41 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6765:
6766: * mpn/i386/mul_1.S: Use C_GLOBAL_NAME.
6767: * mpn/i386/mul_1.S, mpn/i386/addmul_1.S, mpn/i386/submul_1.S:
6768: Nuke use of LAB.
6769:
6770: Sat May 14 14:21:02 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6771:
6772: * gmp-impl.h: Don't define abort here.
6773:
6774: * mpz/pow_ui.c: Increase temporary allocation.
6775: * mpz/ui_pow_ui.c: Likewise.
6776:
6777: * gmp.h (mpz_add_1, mpz_sub_1): Don't call memcpy.
6778:
6779: * All Makefile.in: Delete spurious -I arguments.
6780: Update dependencies.
6781:
6782: * mpz/popcount.c: New file.
6783: * mpz/hamdist.c: New file.
6784:
6785: * All configure: Latest version from Cygnus.
6786:
6787: * mpq/Makefile.in: New file.
6788: * mpq/configure.in: New file.
6789: * Makefile.in, configure.in: Enable compilation of mpq.
6790:
6791: * mpq/set_z.c: Fix typos.
6792: * mpq/canonicalize.c: Fix typos.
6793: * mpq/cmp_ui.c: Fix typos.
6794:
6795: * mpf/add_ui.c: Read U->D into UP always. Delete spurious MPN_COPY.
6796: * mpf/sub_ui.c: Likewise.
6797:
6798: * gmp-impl.h: Don't redefine alloca.
6799:
6800: * COPYING.LIB: Renamed from COPYING.
6801:
6802: Wed May 11 01:45:44 1994 Torbjorn Granlund (tege@adder.cygnus.com)
6803:
6804: * mpz/powm_ui.c: When shifting E left by C+1, handle out-of-range
6805: shift counts. Fix typo when testing negative_result.
6806: * mpz/powm.c: Likewise.
6807:
6808: * mpz/ui_pow_ui.c: New file.
6809: * mpz/Makefile.in: Update.
6810:
6811: * mpz/pow_ui.c: Call __mpn_mul_n instead of __mpn_mul when possible.
6812:
6813: * mpz/div.c, mpz/div_ui.c, mpz/gcd.c: Prefix external mpn calls.
6814: * mpz/gcd.c: Declare mpn_xmod.
6815:
6816: * mpz/powm.c: Major changes to accommodate changed mpn semantics.
6817: * mpz/powm_ui.c: Update from mpz/powm.c.
6818:
6819: * mpz/tests/tst-io.c: New file.
6820: * mpz/tests/tst-logic: New file.
6821: * mpz/tests/Makefile.in: Update.
6822:
6823: * mpz/inp_str.c: Get base right when checking for first digit.
6824: * mpz/inp_str.c: Allocate more space for DEST when needed.
6825:
6826: * mpz/com.c: Use mpn_add_1 and mpn_sub_1.
6827: * mpz/and.c, mpz/ior.c: Likewise. Simplify somewhat.
6828:
6829: * mpz/add_ui.c: Use mpn_add_1 and mpn_sub_1.
6830: Rename parameters to be consistent with mpz/sub_ui.
6831: General simplifications.
6832: * mpz/sub_ui.x: Likewise.
6833:
6834: Tue Aug 10 19:41:16 1993 Torbjorn Granlund (tege@prudens.matematik.su.se)
6835:
6836: * mpf: New directory.
6837: * mpf/*.c: Merge basic set of mpf functions.
6838:
6839: * Many logs missing...
6840:
6841: Sun Apr 25 18:40:26 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
6842:
6843: * memory.c: Use #if instead of #ifdef for __STDC__ for consistency.
6844: * bsd/xtom.c: Likewise.
6845:
6846: * mpz/div.c: Remove free_me and free_me_size and their usage.
6847: Use mpn_divmod for division; corresponding changes in return value
6848: convention.
6849: * mpz/powm.c: `carry_digit' => `carry_limb'.
6850: * bsd/sdiv.c: Clearify comment.
6851:
6852: Sun Apr 25 00:31:28 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
6853:
6854: * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
6855:
6856: Sat Apr 24 16:23:33 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
6857:
6858: * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
6859:
6860: * gmp-impl.h: #define ABS.
6861: * (Many files): Use ABS instead of abs.
6862:
6863: * mpn/generic/sqrt.c, mpz/clrbit.c, mpz/get_si.c, mpz/mod_2exp.c,
6864: mpz/pow_ui.c: Cast 1 to mp_limb before shifting.
6865:
6866: * mpz/perfsqr.c: Use #if, not plain if for exclusion of code for
6867: non-32-bit machines.
6868:
6869: Tue Apr 20 13:13:58 1993 Torbjorn Granlund (tege@du.nada.kth.se)
6870:
6871: * mpn/generic/sqrt.c: Handle overflow for intermediate quotients by
6872: rounding them down to fit.
6873:
6874: * mpz/perfsqr.c (PP): Define in hexadecimal to avoid GCC warnings.
6875:
6876: * mpz/inp_str.c (char_ok_for_base): New function.
6877: (mpz_inp_str): Use it.
6878:
6879: Sun Mar 28 21:54:06 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
6880:
6881: * mpz/inp_raw.c: Allocate x_index, not xsize limbs.
6882:
6883: Mon Mar 15 11:44:06 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
6884:
6885: * mpz/pprime.c: Declare param `const'.
6886: * gmp.h: Add declarations for mpz_com.
6887:
6888: Thu Feb 18 14:10:34 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
6889:
6890: * mpq/add.c, mpq/sub.c: Call mpz_clear for t.
6891:
6892: Fri Feb 12 20:27:34 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
6893:
6894: * mpz/inp_str.c: Recog minus sign as first character.
6895:
6896: Wed Feb 3 01:36:02 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
6897:
6898: * mpz/iset.c: Handle 0 size.
6899:
6900: Tue Feb 2 13:03:33 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
6901:
6902: * mpz/mod_ui.c: Initialize dividend_size before it's used.
6903:
6904: Mon Jan 4 09:11:15 1993 Torbjorn Granlund (tege@sics.se)
6905:
6906: * bsd/itom.c: Declare param explicitly 'signed'.
6907: * bsd/sdiv.c: Likewise.
6908:
6909: * mpq/cmp.c: Remove unused variable tmp_size.
6910: * mpz/powm_ui.c: Fix typo in esize==0 if stmt.
6911: * mpz/powm.c: Likewise.
6912:
6913: Sun Nov 29 01:16:11 1992 Torbjorn Granlund (tege@sics.se)
6914:
6915: * mpn/generic/divmod_1.c (mpn_divmod_1): Handle
6916: divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
6917: specifically.
6918:
6919: * Reorganize sources. New directories mpn, mpn/MACH, mpn/generic,
6920: mpz, mpq, bsd. Use full file name for change logs hereafter.
6921:
6922: Wed Oct 28 17:40:04 1992 Torbjorn Granlund (tege@jupiter.sics.se)
6923:
6924: * longlong.h (__hppa umul_ppmm): Fix typos.
6925: (__hppa sub_ddmmss): Swap input arguments.
6926:
6927: * mpz_perfsqr.c (mpz_perfect_square_p): Avoid , before } in
6928: initializator.
6929:
6930: Sun Oct 25 20:30:06 1992 Torbjorn Granlund (tege@jupiter.sics.se)
6931:
6932: * mpz_pprime.c (mpz_probab_prime_p): Handle numbers <= 3
6933: specifically (used to consider all negative numbers prime).
6934:
6935: * mpz_powm_ui: `carry_digit' => `carry_limb'.
6936:
6937: * sdiv: Handle zero dividend specifically. Replace most code in
6938: this function with a call to mpn_divmod_1.
6939:
6940: Fri Sep 11 22:15:55 1992 Torbjorn Granlund (tege@tarrega.sics.se)
6941:
6942: * mpq_clear: Don't free the MP_RAT!
6943:
6944: * mpn_lshift, mpn_rshift, mpn_rshiftci: Remove `long' from 4:th arg.
6945:
6946: Thu Sep 3 01:47:07 1992 Torbjorn Granlund (tege@jupiter.sics.se)
6947:
6948: * All files: Remove leading _ from mpn function names.
6949:
6950: Wed Sep 2 22:21:16 1992 Torbjorn Granlund (tege@jupiter.sics.se)
6951:
6952: Fix from Jan-Hein Buhrman:
6953: * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c: Make them work as documented.
6954:
6955: * mpz_mmod.c, mpz_mdm.c: Move decl of TEMP_DIVISOR to reflect its
6956: life.
6957:
6958: Sun Aug 30 18:37:15 1992 Torbjorn Granlund (tege@jupiter.sics.se)
6959:
6960: * _mpz_get_str: Use mpz_sizeinbase for computing out_len.
6961: * _mpz_get_str: Don't remove leading zeros. Abort if there are some.
6962:
6963: Wed Mar 4 17:56:56 1992 Torbjorn Granlund (tege@zevs.sics.se)
6964:
6965: * gmp.h: Change definition of MP_INT to make the & before params
6966: optional. Use typedef to define it.
6967: * mp.h: Use typedef to define MINT.
6968:
6969: Tue Feb 18 14:38:39 1992 Torbjorn Granlund (tege@zevs.sics.se)
6970:
6971: longlong.h (hppa umul_ppmm): Add missing semicolon. Declare type
6972: of __w1 and __w0.
6973:
6974: Fri Feb 14 21:33:21 1992 Torbjorn Granlund (tege@zevs.sics.se)
6975:
6976: * longlong.h: Make default count_leading_zeros work for machines >
6977: 32 bits. Prepend `__' before local variables to avoid conflicts
6978: with users' variables.
6979:
6980: * mpn_dm_1.c: Remove udiv_qrnnd_preinv ...
6981: * gmp-impl.h: ... and put it here.
6982: * mpn_mod_1: Use udiv_qrnnd_preinv if it is faster than udiv_qrnnd.
6983:
6984: Tue Feb 11 17:20:12 1992 Torbjorn Granlund (tege@zevs.sics.se)
6985:
6986: * mpn_mul: Enhance base case by handling small multiplicands.
6987: * mpn_dm_1.c: Revert last change.
6988:
6989: Mon Feb 10 11:55:15 1992 Torbjorn Granlund (tege@zevs.sics.se)
6990:
6991: * mpn_dm_1.c: Don't define udiv_qrnnd_preinv unless needed.
6992:
6993: Fri Feb 7 16:26:16 1992 Torbjorn Granlund (tege@zevs.sics.se)
6994:
6995: * mpn_mul: Replace code for base case.
6996:
6997: Thu Feb 6 15:10:42 1992 Torbjorn Granlund (tege@zevs.sics.se)
6998:
6999: * mpn_dm_1.c (_mpn_divmod_1): Add code for avoiding division by
7000: pre-inverting divisor.
7001:
7002: Sun Feb 2 11:10:25 1992 Torbjorn Granlund (tege@zevs.sics.se)
7003:
7004: * longlong.h: Make __LLDEBUG__ work differently.
7005: (_IBMR2): Reinsert old code.
7006:
7007: Sat Feb 1 16:43:00 1992 Torbjorn Granlund (tege@zevs.sics.se)
7008:
7009: * longlong.h (#ifdef _IBMR2): Replace udiv_qrnnd with new code
7010: using floating point operations. Don't define
7011: UDIV_NEEDS_NORMALIZATION any longer.
7012:
7013: Fri Jan 31 15:09:13 1992 Torbjorn Granlund (tege@zevs.sics.se)
7014:
7015: * longlong.h: Define UMUL_TIME and UDIV_TIME for most machines.
7016: * longlong.h (#ifdef __hppa): Define umul_ppmm.
7017:
7018: Wed Jan 29 16:41:36 1992 Torbjorn Granlund (tege@zevs.sics.se)
7019:
7020: * mpn_cmp: Only one length parameter, assume operand lengths are
7021: the same. Don't require normalization.
7022: * mpq_cmp, mpz_add, mpz_sub, mpz_gcd, mpn_mul, mpn_sqrt: Change for
7023: new mpn_cmp definition.
7024:
7025: Tue Jan 28 11:18:55 1992 Torbjorn Granlund (tege@zevs.sics.se)
7026:
7027: * _mpz_get_str: Fix typo in comment.
7028:
7029: Mon Jan 27 09:44:16 1992 Torbjorn Granlund (tege@zevs.sics.se)
7030:
7031: * Makefile.in: Add new files.
7032:
7033: * mpn_dm_1.c: New file with function _mpn_divmod_1.
7034: * mpz_dm_ui.c (mpz_divmod_ui): Use _mpn_divmod_1.
7035: * mpz_div_ui: Likewise.
7036:
7037: * mpn_mod_1.c: New file with function _mpn_mod_1.
7038: * mpz_mod_ui: Use _mpn_mod_1.
7039:
7040: Thu Jan 23 18:54:09 1992 Torbjorn Granlund (tege@zevs.sics.se)
7041:
7042: Bug found by Paul Zimmermann (zimmermann@inria.inria.fr):
7043: * mpz_div_ui.c (mpz_div_ui), mpz_dm_ui.c (mpz_divmod_ui):
7044: Handle dividend == 0.
7045:
7046: Wed Jan 22 12:02:26 1992 Torbjorn Granlund (tege@zevs.sics.se)
7047:
7048: * mpz_pprime.c: Use "" for #include.
7049:
7050: Sun Jan 19 13:36:55 1992 Torbjorn Granlund (tege@zevs.sics.se)
7051:
7052: * mpn_rshiftci.c (header): Correct comment.
7053:
7054: Wed Jan 15 18:56:04 1992 Torbjorn Granlund (tege@zevs.sics.se)
7055:
7056: * mpz_powm, mpz_powm_ui (if (bsize > msize)): Do alloca (bsize + 1)
7057: to make space for ignored quotient at the end. (The quotient might
7058: always be an extra limb.)
7059:
7060: Tue Jan 14 21:28:48 1992 Torbjorn Granlund (tege@zevs.sics.se)
7061:
7062: * mpz_powm_ui: Fix comment.
7063: * mpz_powm: Likewise.
7064:
7065: Mon Jan 13 18:16:25 1992 Torbjorn Granlund (tege@zevs.sics.se)
7066:
7067: * tests/Makefile.in: Prepend $(TEST_PREFIX) to Makefile target.
7068:
7069: Sun Jan 12 13:54:28 1992 Torbjorn Granlund (tege@zevs.sics.se)
7070:
7071: Fixes from Kazumaro Aoki:
7072: * mpz_out_raw: Take abs of size to handle negative values.
7073: * mpz_inp_raw: Reallocate before reading ptr from X.
7074: * mpz_inp_raw: Store, don't read, size to x->size.
7075:
7076: Tue Jan 7 17:50:25 1992 Torbjorn Granlund (tege@zevs.sics.se)
7077:
7078: * gmp.h, mp.h: Remove parameter names from prototypes.
7079:
7080: Sun Dec 15 00:09:36 1991 Torbjorn Granlund (tege@zevs.sics.se)
7081:
7082: * tests/Makefile.in: Prepend "./" to file names when executing
7083: tests.
7084:
7085: * Makefile.in: Fix many problems.
7086:
7087: Sat Dec 14 01:00:02 1991 Torbjorn Granlund (tege@zevs.sics.se)
7088:
7089: * mpn_sqrt.c: New file with _mpn_sqrt.
7090: * mpz_sqrt, mpz_sqrtrem, mpz_perfect_square_p: Use _mpn_sqrt.
7091: * msqrt.c: Delete. Create from mpz_sqrtrem.c in Makefile.in.
7092: * mpz_do_sqrt.c: Delete.
7093: * Makefile.in: Update to reflect these changes.
7094:
7095: * Makefile.in, configure, configure.subr: New files
7096: (from bothner@cygnus.com).
7097: * dist-Makefile: Delete.
7098:
7099: * mpz_fac_ui: Fix comment.
7100:
7101: * mpz_random2: Rewrite a bit to make it possible for the most
7102: significant limb to be == 1.
7103:
7104: * mpz_pprime.c (mpz_probab_prime_p): Remove \t\n.
7105:
7106: Fri Dec 13 23:10:02 1991 Torbjorn Granlund (tege@zevs.sics.se)
7107:
7108: * mpz_do_sqrt: Simplify special case for U == 0.
7109: * m*sqrt*.c, mpz_perfsqr.c (mpz_perfect_square_p):
7110: Rename _mpz_impl_sqrt to _mpz_do_sqrt.
7111:
7112: Fri Dec 13 12:52:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
7113:
7114: * gmp-impl.h (MPZ_TMP_INIT): Cast to the right type.
7115:
7116: Thu Dec 12 22:17:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
7117:
7118: * mpn_add, mpn_sub, mpn_mul, mpn_div: Change type of several
7119: variables to mp_size.
7120:
7121: Wed Dec 11 22:00:34 1991 Torbjorn Granlund (tege@zevs.sics.se)
7122:
7123: * mpn_rshift.c: Fix header comments.
7124:
7125: Mon Dec 9 17:46:10 1991 Torbjorn Granlund (tege@zevs.sics.se)
7126:
7127: Released 1.2.
7128:
7129: * gmp-impl.h (MPZ_TMP_INIT): Cast alloca return value.
7130:
7131: * dist-Makefile: Add missing dependency for cre-mparam.
7132:
7133: * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
7134: mpz_mmod_ui.c, mpz_mdm_ui.c: Remove obsolete comment.
7135:
7136: * dist-Makefile (clean): clean in tests subdir too.
7137: * tests/Makefile: Define default values for ROOT and SUB.
7138:
7139: * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
7140: 2 constraint.
7141:
7142: Mon Nov 11 00:06:05 1991 Torbjorn Granlund (tege@zevs.sics.se)
7143:
7144: * mpz_sizeinb.c (mpz_sizeinbase): Special code for size == 0.
7145:
7146: Sat Nov 9 23:47:38 1991 Torbjorn Granlund (tege@zevs.sics.se)
7147:
7148: Released 1.1.94.
7149:
7150: * dist-Makefile, Makefile, tests/Makefile: Merge tests into
7151: distribution.
7152:
7153: Fri Nov 8 22:57:19 1991 Torbjorn Granlund (tege@zevs.sics.se)
7154:
7155: * gmp.h: Don't use keyword `signed' for non-ANSI compilers.
7156:
7157: Thu Nov 7 22:06:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
7158:
7159: * longlong.h: Cosmetic changes to keep it identical to gcc2 version
7160: of longlong.h.
7161: * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
7162: sub_ddmmss.
7163:
7164: Mon Nov 4 00:36:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
7165:
7166: * mpn_mul: Fix indentation.
7167:
7168: * mpz_do_sqrt: Don't assume 32 bit limbs (had constant
7169: 4294967296.0).
7170: * mpz_do_sqrt: Handle overflow in conversion from double returned
7171: by SQRT to mp_limb.
7172:
7173: * gmp.h: Add missing function definitions.
7174:
7175: Sun Nov 3 18:25:25 1991 Torbjorn Granlund (tege@zevs.sics.se)
7176:
7177: * mpz_pow_ui: Change type of `i' to int.
7178:
7179: * ChangeLog: Add change log entry.
7180: * ChangeLog: Add change log entry.
7181: * ChangeLog: Add change log entry.
7182: * ChangeLog: Add change log entry.
7183: * ChangeLog: Add change log entry.
7184: * ChangeLog: Add change log entry.
7185: * ChangeLog: Add change log entry.
7186: * ChangeLog: Add change log entry.
7187: Stack overflow.
7188:
7189: * mpz_pow_ui.c: Fix typo in comment.
7190:
7191: * dist-Makefile: Create rpow.c from mpz_powm_ui.c.
7192: * mpz_powm_ui.c: Add code for rpow.
7193: * rpow.c: Delete this file. The rpow function is now implemented
7194: in mpz_powm_ui.c.
7195:
7196: * mpz_fac_ui.c: New file.
7197: * gmp.h, dist-Makefile: Add stuff for mpz_fac_ui.
7198:
7199: Bug found by John Amanatides (amana@sasquatch.cs.yorku.ca):
7200: * mpz_powm_ui, mpz_powm: Call _mpn_mul in the right way, with
7201: the first argument not smaller than the second.
7202:
7203: Tue Oct 29 13:56:55 1991 Torbjorn Granlund (tege@zevs.sics.se)
7204:
7205: * cre-conv-tab.c (main), cre-mparam.c (main): Fix typo in output
7206: header text.
7207:
7208: Mon Oct 28 00:35:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
7209:
7210: * mpz_random2: Handle size == 0.
7211:
7212: * gmp-impl.h (struct __mp_bases): Rename chars_per_limb_exactly to
7213: chars_per_bit_exactly, and change its definition.
7214: * cre-conv-tab.c (main): Output field according to its new
7215: definition.
7216: * mpz_out_str, _mpz_get_str, mpz_sizeinb, mout:
7217: Use chars_per_bit_exactly.
7218:
7219: * mpz_random2: Change the loop termination condition in order to
7220: get a large most significant limb with higher probability.
7221:
7222: * gmp.h: Add declaration of new mpz_random2 and mpz_get_si.
7223: * mpz_get_si.c: New file.
7224: * dist-Makefile: Add mpz_random2 and mpz_get_si.
7225:
7226: * mpz_sizeinb.c (mpz_sizeinbase): Special code for base being a
7227: power of 2, giving exact result.
7228:
7229: * mpn_mul: Fix MPN_MUL_VERIFY in various ways.
7230: * mpn_mul: New macro KARATSUBA_THRESHOLD.
7231: * mpn_mul (karatsuba's algorithm): Don't write intermediate results
7232: to prodp, use temporary pp instead. (Intermediate results can be
7233: larger than the final result, possibly writing into hyperspace.)
7234: * mpn_mul: Make smarter choice between Karatsuba's algorithm and the
7235: shortcut algorithm.
7236: * mpn_mul: Fix typo, cy instead of xcy. Unify carry handling code.
7237:
7238: Sun Oct 27 19:57:32 1991 Torbjorn Granlund (tege@zevs.sics.se)
7239:
7240: * mpn_mul: In non-classical case, choose Karatsuba's algorithm only
7241: when usize > 1.5 vsize.
7242:
7243: * mpn_mul: Break between classical and Karatsuba's algorithm at
7244: KARATSUBA_THRESHOLD, if defined. Default to 8.
7245:
7246: * mpn_div: Kludge to fix stray memory read.
7247:
7248: Sat Oct 26 20:06:14 1991 Torbjorn Granlund (tege@zevs.sics.se)
7249:
7250: * mpz_gcdext: Handle a = b = 0. Remove memory leakage by calling
7251: mpz_clear for all temporary variables.
7252:
7253: * mpz_gcd: Reduce w_bcnt in _mpn_lshift call to hold that
7254: function's argument constraints. Compute wsize correctly.
7255:
7256: * mpz_gcd: Fix typo in comment.
7257:
7258: * memory.c (_mp_default_allocate, _mp_default_reallocate): Call
7259: abort if allocation fails, don't just exit.
7260:
7261: Fri Oct 25 22:17:20 1991 Torbjorn Granlund (tege@zevs.sics.se)
7262:
7263: * mpz_random2.c: New file.
7264:
7265: Thu Oct 17 18:06:42 1991 Torbjorn Granlund (tege@zevs.sics.se)
7266:
7267: Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
7268: * mpq_cmp: Take sign into account, don't just compare the
7269: magnitudes.
7270: * mpq_cmp: Call _mpn_mul in the right way, with the first argument
7271: not smaller than the second.
7272:
7273: Wed Oct 16 19:27:32 1991 Torbjorn Granlund (tege@zevs.sics.se)
7274:
7275: * mpz_random: Ensure the result is normalized.
7276:
7277: Tue Oct 15 14:55:13 1991 Torbjorn Granlund (tege@zevs.sics.se)
7278:
7279: * mpz_clrbit: Support non-ANSI compilers.
7280:
7281: Wed Oct 9 18:03:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
7282:
7283: * longlong.h (68k add_ssaaaa, sub_ddmmss): Generalize constraints.
7284:
7285: Tue Oct 8 17:42:59 1991 Torbjorn Granlund (tege@zevs.sics.se)
7286:
7287: * mpz_mdm_ui: Add comments.
7288:
7289: * mpz_mdiv: Use MPZ_TMP_INIT instead of mpz_init.
7290: * mpz_init_ui: Change spacing and header comment.
7291:
7292: Thu Oct 3 18:36:13 1991 Torbjorn Granlund (tege@zevs.sics.se)
7293:
7294: * dist-Makefile: Prepend `./' before some filenames.
7295:
7296: Sun Sep 29 14:02:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
7297:
7298: Released 1.1 (public).
7299:
7300: * mpz_com: New name of mpz_not.
7301: * dist-Makefile: Change mpz_not to mpz_com.
7302:
7303: Tue Sep 24 12:44:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
7304:
7305: * longlong.h: Fix header comment.
7306:
7307: Mon Sep 9 15:16:24 1991 Torbjorn Granlund (tege@zevs.sics.se)
7308:
7309: Released 1.0.92.
7310:
7311: * mpn_mul.c (_mpn_mul): Handle leading zero limbs in non-Karatsuba
7312: case.
7313:
7314: * longlong.h (m68000 umul_ppmm): Clobber one register less by
7315: slightly rearranging the code.
7316:
7317: Sun Sep 1 18:53:25 1991 Torbjorn Granlund (tege@zevs.sics.se)
7318:
7319: * dist-Makefile (stamp-stddefh): Fix typo.
7320:
7321: Sat Aug 31 20:41:31 1991 Torbjorn Granlund (tege@zevs.sics.se)
7322:
7323: Released 1.0.91.
7324:
7325: * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
7326: mpz_mmod_ui.c, mpz_mdm_ui.c: New files and functions.
7327: * gmp.h, gmp.texi: Define the new functions.
7328:
7329: Fri Aug 30 08:32:56 1991 Torbjorn Granlund (tege@zevs.sics.se)
7330:
7331: * mpz_gcdext: Compute t argument from the other quantities at the
7332: end, of the function, not in the loop. New feature: Allow t to be
7333: NULL.
7334:
7335: * mpz_add.c, mpz_sub.c, mpz_mul.c, mpz_powm.c, mpz_gcd.c: Don't
7336: include "mp.h". Use type name `MP_INT' always.
7337:
7338: * dist-Makefile, mpz_cmp.c: Merge mcmp.c from mpz_cmp.c.
7339:
7340: Wed Aug 28 00:45:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
7341:
7342: * dist-Makefile (documentation): Go via tmp.texi to avoid the
7343: creation of gmp.dvi if any errors occur. Make tex read input
7344: from /dev/null.
7345:
7346: Fri Aug 23 15:58:52 1991 Torbjorn Granlund (tege@zevs.sics.se)
7347:
7348: * longlong.h (68020, i386): Don't define machine-dependent
7349: __umulsidi3 (so the default definition is used).
7350: * longlong.h (all machines): Cast all operands, sources and
7351: destinations, to `unsigned long int'.
7352: * longlong.h: Add gmicro support.
7353:
7354: Thu Aug 22 00:28:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
7355:
7356: * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
7357: * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
7358: * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
7359: * _mpz_get_str.c: Add code to do division by big_base using only
7360: umul_qrnnd, if that is faster. Use UMUL_TIME and UDIV_TIME to
7361: decide which variant to use.
7362:
7363: Wed Aug 21 15:45:23 1991 Torbjorn Granlund (tege@zevs.sics.se)
7364:
7365: * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
7366: nops. (Saves two insn.)
7367:
7368: * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
7369: branch, and to permit input/output register overlap.
7370:
7371: * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
7372: * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
7373: asm statements (gives better code if either the upper or lower
7374: part of the product is unused.
7375:
7376: Tue Aug 20 17:57:59 1991 Torbjorn Granlund (tege@zevs.sics.se)
7377:
7378: * _mpz_get_str.c (outside of functions): Remove
7379: num_to_ascii_lower_case and num_to_ascii_upper_case. Use string
7380: constants in the function instead.
7381:
7382: Mon Aug 19 00:37:42 1991 Torbjorn Granlund (tege@zevs.sics.se)
7383:
7384: * cre-conv-tab.c (main): Output table in hex. Output 4 fields, not
7385: 3, for components 0 and 1.
7386:
7387: * gmp.h: Add declaration of mpq_neg.
7388:
7389: Released 1.0beta.13.
7390:
7391: * _mpz_set_str.c (mpz_set_str): Cast EOF and SPC to char before
7392: comparing to enum literals SPC and EOF. This makes the code work
7393: for compilers where `char' is unsigned. (Bug found by Brian
7394: Beuning).
7395:
7396: Released 1.0beta.12.
7397:
7398: * mpz_mod_ui: Remove references to quot. Remove quot_ptr, quot_size
7399: declarations and assignment code.
7400:
7401: Sun Aug 18 14:44:26 1991 Torbjorn Granlund (tege@zevs.sics.se)
7402:
7403: * mpz_mod_ui: Handle dividend < 0.
7404:
7405: Released 1.0beta.11.
7406:
7407: * mpz_dm_ui, mpz_div_ui, mpz_mod_ui, sdiv: Make them share the same
7408: general structure, variable names, etc.
7409:
7410: * sdiv: Un-normalize the remainder in n1 before it is negated.
7411:
7412: * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
7413: udiv_qrnnd.
7414:
7415: * mpz_dm_ui.c (mpz_divmod_ui), mpz_div_ui.c (mpz_div_ui): Increment
7416: the quotient size if the dividend size is incremented. (Bug found
7417: by Brian Beuning.)
7418:
7419: * mpz_mod_ui: Shift back the remainder, if UDIV_NEEDS_NORMALIZATION.
7420: (Bug found by Brian Beuning.)
7421:
7422: * mpz_mod_ui: Replace "digit" by "limb".
7423:
7424: * mpz_perfsqr.c (mpz_perfect_square_p): Disable second test case
7425: for non-32-bit machines (PP is hardwired for such machines).
7426: * mpz_perfsqr.c (outside of functions): Define PP value with an L.
7427:
7428: * mpn_mul.c (_mpn_mul): Add verification code that is activated if
7429: DEBUG is defined. Replace "digit" by "limb".
7430: * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 4.): Normalize temp
7431: after the addition.
7432: * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 1.): Compare u0_size
7433: and v0_size, and according to the result, swap arguments in
7434: recursive call. (Don't violate mpn_mul's own argument
7435: constraints.)
7436:
7437: Fri Aug 16 13:47:12 1991 Torbjorn Granlund (tege@zevs.sics.se)
7438:
7439: Released 1.0beta.10.
7440:
7441: * longlong.h (IBMR2): Add udiv_qrnnd.
7442:
7443: * mpz_perfsqr: Remove unused variables.
7444:
7445: * mpz_and (case for different signs): Initialize loop variable i!
7446:
7447: * dist-Makefile: Update automatically generated dependencies.
7448: * dist-Makefile (madd.c, msub.c, pow.c, mult.c, gcd.c): Add mp.h,
7449: etc to dependency file lists.
7450:
7451: * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
7452: `unsigned long int'.
7453: * longlong.h: Add `int' after `unsigned' and `long' everywhere.
7454:
7455: Wed Aug 14 18:06:48 1991 Torbjorn Granlund (tege@zevs.sics.se)
7456:
7457: * longlong.h: Add ARM, i860 support.
7458:
7459: * mpn_lshift, mpn_rshift, mpn_rshiftci: Rename *_word with *_limb.
7460:
7461: Tue Aug 13 21:57:43 1991 Torbjorn Granlund (tege@zevs.sics.se)
7462:
7463: * _mpz_get_str.c, _mpz_set_str.c, mpz_sizeinb.c (mpz_sizeinbase),
7464: mpz_out_str.c, mout.c: Remove declaration of __mp_bases.
7465: * gmp-impl.h: Put it here, and make it `const'.
7466: * cre-conv-tab.c (main): Make struct __mp_bases `const'.
7467:
7468: Mon Aug 12 17:11:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
7469:
7470: * cre-conv-tab.c (main): Use %lu in printf for long ints.
7471:
7472: * dist-Makefile: Fix cre-* dependencies.
7473:
7474: * cre-conv-tab.c (main): Output field big_base_inverted.
7475:
7476: * gmp-impl.h (struct bases): New field big_base_inverted.
7477: * gmp-impl.h (struct bases): Change type of chars_per_limb_exactly
7478: to float (in order to keep the structure smaller).
7479:
7480: * mp.h, gmp.h: Change names of macros for avoiding multiple
7481: includes.
7482:
7483: Fri Aug 9 18:01:36 1991 Torbjorn Granlund (tege@zevs.sics.se)
7484:
7485: * _mpz_get_str: Only shift limb array if normalization_steps != 0
7486: (optimization).
7487:
7488: * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
7489: * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
7490: and m1 (overlap between output and input operands did not work).
7491: * longlong.h: Add VAX, ROMP and HP-PA support.
7492: * longlong.h: Sort the machine dependent code in alphabetical order
7493: on the CPU name.
7494: * longlong.h: Hack comments.
7495:
7496: Thu Aug 8 14:13:36 1991 Torbjorn Granlund (tege@zevs.sics.se)
7497:
7498: Released 1.0beta.9.
7499:
7500: * longlong.h: Define BITS_PER_LONG to 32 if it's not already
7501: defined.
7502: * Define __BITS4 to BITS_PER_LONG / 4.
7503: * Don't assume 32 bit word size in "count_leading_zeros" C macro.
7504: Use __BITS4 and BITS_PER_LONG instead.
7505:
7506: * longlong.h: Don't #undef internal macros (reverse change of Aug 3).
7507:
7508: * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
7509: even for plain mc68000.
7510:
7511: * mpq_div: Flip the sign of the numerator *and* denominator of the
7512: result if the intermediate denominator is negative.
7513:
7514: * mpz_and.c, mpz_ior.c: Use MPN_COPY for all copying operations.
7515:
7516: * mpz_and.c: Compute the result size more conservatively.
7517: * mpz_ior.c: Likewise.
7518:
7519: * mpz_realloc: Never allocate zero space even if NEW_SIZE == 0.
7520:
7521: * dist-Makefile: Remove madd.c, msub.c, pow.c, mult.c, gcd.c from
7522: BSDMP_SRCS.
7523:
7524: * dist-Makefile: Create mult.c from mpz_mul.c.
7525: * mult.c: Delete this file.
7526:
7527: * _mpz_set_str: Normalize the result (for bases 2, 4, 8... it was
7528: not done properly if the input string had many leading zeros).
7529:
7530: Sun Aug 4 16:54:14 1991 Torbjorn Granlund (tege@zevs.sics.se)
7531:
7532: * dist-Makefile (gcd.c, pow.c, madd.c, msub.c): Make these targets
7533: work with VPATH and GNU MP.
7534:
7535: * mpz_gcd: Don't call mpz_set; inline its functionality.
7536:
7537: * mpq_mul, mpq_div: Fix several serious typos.
7538:
7539: * mpz_dmincl, mpz_div: Don't normalize the quotient if it's already
7540: zero.
7541:
7542: * mpq_neg.c: New file.
7543:
7544: * dist-Makefile: Remove obsolete dependencies.
7545:
7546: * mpz_sub: Fix typo.
7547:
7548: Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
7549: * mpq_mul, mpq_div: Initialize tmp[12] variables even when the gcd
7550: is just 1.
7551: * mpz_gcd: Handle gcd(0,v) and gcd(u,0) in special cases.
7552:
7553: Sat Aug 3 23:45:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
7554:
7555: * longlong.h: Clean up comments.
7556: * longlong.h: #undef internal macros.
7557:
7558: Fri Aug 2 18:29:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
7559:
7560: * mpq_set_si, mpq_set_ui: Canonicalize 0/x to 0/1.
7561: * mpq_set_si, mpq_set_ui: Cosmetic formatting changes.
7562:
7563: * mpz_dmincl.c: Normalize the remainder before shifting it back.
7564:
7565: * mpz_dm_ui.c (mpz_divmod_ui): Handle rem == dividend.
7566:
7567: * mpn_div.c: Fix comment.
7568:
7569: * mpz_add.c, mpz_sub.c: Use __MP_INT (not MP_INT) for intermediate
7570: type, in order to work for both GNU and Berkeley functions.
7571:
7572: * dist-Makefile: Create gcd.c from mpz_gcd.c, pow.c from mpz_powm,
7573: madd.c from mpz_add.c, msub.c from mpz_sub.c.
7574: respectively.
7575: * pow.c, gcd.c, mpz_powmincl.c, madd.c, msub.c: Remove these.
7576: * mpz_powm.c, mpz_gcd.c, mpz_add.c, mpz_sub.c: #ifdef for GNU and
7577: Berkeley function name variants.
7578: * dist-Makefile: Add created files to "clean" target.
7579:
7580: Tue Jul 16 15:19:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
7581:
7582: * mpq_get_den: No need for absolute value of the size, the
7583: denominator is always positive.
7584:
7585: * mpz_get_ui: If the operand is zero, return zero. Don't read the
7586: limb array!
7587:
7588: * mpz_dmincl.c: Don't ignore the return value from _mpn_rshift, it
7589: is the size of the remainder.
7590:
7591: Mon Jul 15 11:08:05 1991 Torbjorn Granlund (tege@zevs.sics.se)
7592:
7593: * Several files: Remove unused variables and functions.
7594:
7595: * gmp-impl.h: Declare _mpz_impl_sqrt.
7596:
7597: * mpz_dm_ui (mpz_divmod_ui), sdiv: Shift back the remainder if
7598: UDIV_NEEDS_NORMALIZATION. (Fix from Brian Beuning.)
7599:
7600: * mpz_dm_ui.c, sdiv: Replace *digit with *limb.
7601:
7602: * mpz_ior: Add missing else statement in -OP1 | -OP2 case.
7603: * mpz_ior: Add missing else statement in OP1 | -OP2 case.
7604: * mpz_ior: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
7605: * mpz_ior: Duplicate _mpz_realloc code.
7606:
7607: * mpz_and: Add missing else statement in -OP1 & -OP2 case.
7608: * mpz_and: Rewrite OP1 & -OP2 case.
7609: * mpz_and: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
7610:
7611: * mpz_gcdext: Loop in d1.size (not b->size). (Fix from Brian
7612: Beuning.)
7613:
7614: * mpz_perfsqr: Fix argument order in _mpz_impl_sqrt call. (Fix from
7615: Brian Beuning.)
7616:
7617: Fri Jul 12 17:10:33 1991 Torbjorn Granlund (tege@zevs.sics.se)
7618:
7619: * mpq_set.c, mpq_set_ui.c, mpq_set_si.c, mpq_inv.c,
7620: mpq_get_num.c, mpq_get_den.c, mpq_set_num.c, mpq_set_den.c:
7621: New files.
7622:
7623: * mpz_dmincl.c: Remove second re-allocation of rem->d. It
7624: was never executed.
7625:
7626: * dist-Makefile: Use `-r' instead of `-x' for test for ranlib (as
7627: some unixes' test doesn't have the -r option).
7628:
7629: * *.*: Cast allocated pointers to the appropriate type (makes old C
7630: compilers happier).
7631:
7632: * cre-conv-tab.c (main): Divide max_uli by 2 and multiply again
7633: after conversion to double. (Kludge for broken C compilers.)
7634:
7635: * dist-Makefile (stamp-stddefh): New target. Test if "stddef.h"
7636: exists in the system and creates a minimal one if it does not
7637: exist.
7638: * cre-stddefh.c: New file.
7639: * dist-Makefile: Make libgmp.a and libmp.a depend on stamp-stddefh.
7640: * dist-Makefile (clean): Add some more.
7641: * gmp.h, mp.h: Unconditionally include "stddef.h".
7642:
7643: Thu Jul 11 10:08:21 1991 Torbjorn Granlund (tege@zevs.sics.se)
7644:
7645: * min: Do ungetc of last read character.
7646: * min.c: include stdio.h.
7647:
7648: * dist-Makefile: Go via tmp- files for cre* redirection.
7649: * dist-Makefile: Add tmp* to "clean" target.
7650:
7651: * dist-Makefile: Use LOCAL_CC for cre*, to simplyfy cross
7652: compilation.
7653:
7654: * gmp.h, mp.h: Don't define NULL here.
7655: * gmp-impl.h: Define it here.
7656:
7657: Wed Jul 10 14:13:33 1991 Torbjorn Granlund (tege@zevs.sics.se)
7658:
7659: * mpz_mod_2exp: Don't copy too much, overwriting most significant
7660: limb.
7661:
7662: * mpz_and, mpz_ior: Don't read op[12]_ptr from op[12] when
7663: reallocating res, if op[12]_ptr got their value from alloca.
7664:
7665: * mpz_and, mpz_ior: Clear up comments.
7666:
7667: * cre-mparam.c: Output parameters for `short int' and `int'.
7668:
7669: * mpz_and, mpz_ior: Negate negative op[12]_size in several places.
7670:
7671: Tue Jul 9 18:40:30 1991 Torbjorn Granlund (tege@zevs.sics.se)
7672:
7673: * gmp.h, mp.h: Test for _SIZE_T defined before typedef'ing size_t.
7674: (Fix for Sun lossage.)
7675:
7676: * gmp.h: Add declaration of mpq_clear.
7677:
7678: * dist-Makefile: Chack if "ranlib" exists, before using it.
7679: * dist-Makefile: Add mpz_sqrtrem.c and mpz_size.c.
7680: * mpz_powm: Fix typo, "pow" instead of "mpz_powm".
7681:
7682: Fri Jul 5 19:08:09 1991 Torbjorn Granlund (tege@zevs.sics.se)
7683:
7684: * move: Remove incorrect comment.
7685:
7686: * mpz_free, mpq_free: Rename to *_clear.
7687: * dist-Makefile: Likewise.
7688: * mpq_add, mpq_sub, mpq_mul, mpq_div: Likewise.
7689:
7690: * mpz_dmincl.c: Don't call "move", inline its functionality.
7691:
7692: Thu Jul 4 00:06:39 1991 Torbjorn Granlund (tege@zevs.sics.se)
7693:
7694: * Makefile: Include dist-Makefile. Fix dist target to include
7695: dist-Makefile (with the name "Makefile" in the archive).
7696:
7697: * dist-Makefile: New file made from Makefile. Add new mpz_...
7698: functions.
7699:
7700: * mpz_powincl.c New file for mpz_powm (Berkeley MP pow)
7701: functionality. Avoids code duplication.
7702: * pow.c, mpz_powm.c: Include mpz_powincl.c
7703:
7704: * mpz_dmincl.c: New file containing general division code. Avoids
7705: code duplication.
7706: * mpz_dm.c (mpz_divmod), mpz_mod.c (mpz_mod), mdiv.c (mdiv): Include
7707: mpz_dmincl.c.
7708:
7709: * _mpz_get_str: Don't call memmove, unless HAS_MEMMOVE is defined.
7710: Instead, write the overlapping memory copying inline.
7711:
7712: * mpz_dm_ui.c: New name for mpz_divmod_ui.c (SysV file name limit).
7713:
7714: * longlong.h: Don't use #elif.
7715: * mpz_do_sqrt.c: Likewise.
7716:
7717: * longlong.h: Use __asm__ instead of asm.
7718: * longlong.h (sparc udiv_qrnnd): Make it to one string over several
7719: lines.
7720:
7721: * longlong.h: Preend __ll_ to B, highpart, and lowpart.
7722:
7723: * longlong.h: Move array t in count_leading_zeros to the new file
7724: mp_clz_tab.c. Rename the array __clz_tab.
7725: * All files: #ifdef for traditional C compatibility.
7726:
7727: Wed Jul 3 11:42:14 1991 Torbjorn Granlund (tege@zevs.sics.se)
7728:
7729: * mpz_and: Initialize res_ptr always (used to be initialized only
7730: when reallocating).
7731:
7732: * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
7733: `unsigned int', and cast the multiplications. This way
7734: compilers more easily can choose cheaper multiplication
7735: instructions.
7736:
7737: * mpz_mod_2exp: Handle input argument < modulo argument.
7738: * mpz_many: Make sure mp_size is the type for sizes, not int.
7739:
7740: * mpz_init, mpz_init_set*, mpq_init, mpq_add, mpq_sub, mpq_mul,
7741: mpq_div: Change mpz_init* interface. Structure pointer as first
7742: arg to initialization function, no longer *return* struct.
7743:
7744: Sun Jun 30 19:21:44 1991 Torbjorn Granlund (tege@zevs.sics.se)
7745:
7746: * Rename mpz_impl_sqrt.c to mpz_do_sqrt.c to satisfy SysV 14
7747: character file name length limit.
7748:
7749: * Most files: Rename MINT to MP_INT. Rename MRAT to MP_RAT.
7750: * mpz_sizeinb.c: New file with function mpz_sizeinbase.
7751: * mp_bases.c: New file, with array __mp_bases.
7752: * _mpz_get_str, _mpz_set_str: Remove struct bases, use extern
7753: __mp_bases instead.
7754: * mout, mpz_out_str: Use array __mp_bases instead of function
7755: _mpz_get_cvtlen.
7756: * mpz_get_cvtlen.c: Remove.
7757: * Makefile: Update.
7758:
7759: Sat Jun 29 21:57:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
7760:
7761: * longlong.h (__sparc8__ umul_ppmm): Insert 3 nop:s for wr delay.
7762: * longlong.h (___IBMR2__): Define umul_ppmm, add_ssaaaa, sub_ddmmss.
7763: * longlong.h (__sparc__): Don't call .umul; expand asm instead.
7764: Don't define __umulsidi3 (i.e. use default definition).
7765:
7766: Mon Jun 24 17:37:23 1991 Torbjorn Granlund (tege@amon.sics.se)
7767:
7768: * _mpz_get_str.c (num_to_ascii_lower_case, num_to_ascii_upper_case):
7769: Swap 't' and 's'.
7770:
7771: Sat Jun 22 13:54:01 1991 Torbjorn Granlund (tege@zevs.sics.se)
7772:
7773: * mpz_gcdext.c: New file.
7774:
7775: * mpn_mul: Handle carry and unexpected operand sizes in last
7776: additions/subtractions. (Bug trigged when v1_size == 1.)
7777:
7778: * mp*_alloc*: Rename functions to mp*_init* (files to mp*_iset*.c).
7779: * mpq_*: Call mpz_init*.
7780:
7781: * mpz_pow_ui, rpow: Use _mpn_mul instead of mult. Restructure.
7782:
7783: Wed May 29 20:32:33 1991 Torbjorn Granlund (tege@zevs.sics.se)
7784:
7785: * mpz_get_cvtlen: multiply by size.
7786:
7787: Sun May 26 15:01:15 1991 Torbjorn Granlund (tege@bella.nada.kth.se)
7788:
7789: Alpha-release 0.95.
7790:
7791: Fixes from Doug Lea (dl@g.oswego.edu):
7792: * mpz_mul_ui: Loop to MULT_SIZE (not PROD_SIZE). Adjust PROD_SIZE
7793: correctly.
7794: * mpz_div: Prepend _ to mpz_realloc.
7795: * mpz_set_xs, mpz_set_ds: Fix typos in function name.
7796:
7797: Sat May 25 22:51:16 1991 Torbjorn Granlund (tege@bella.nada.kth.se)
7798:
7799: * mpz_divmod_ui: New function.
7800:
7801: * sdiv: Make the sign of the remainder correct.
7802:
7803: Thu May 23 15:28:24 1991 Torbjorn Granlund (tege@zevs.sics.se)
7804:
7805: * Alpha-release 0.94.
7806:
7807: * mpz_mul_ui: Include longlong.h.
7808:
7809: * mpz_perfsqr.c (mpz_perfect_square_p): Call _mpz_impl_sqrt instead
7810: of msqrt.
7811:
7812: * mpz_impl_sqrt: Don't call "move", inline its functionality.
7813:
7814: * mdiv: Use MPN_COPY instead of memcpy.
7815: * rpow, mpz_mul, mpz_mod_2exp: Likewise.
7816: * pow.c: Likewise, and fix bug in the size arg.
7817:
7818: * xtom: Don't use mpz_alloc, inline needed code instead. Call
7819: _mpz_set_str instead of mpz_set_str.
7820:
7821: * Makefile: Make two libraries, libmp.a and libgmp.a.
7822:
7823: Thu May 22 20:25:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
7824:
7825: * Add manual to distribution.
7826: * Fold in many missing routines descibed in the manual.
7827: * Update Makefile.
7828:
7829: Wed May 22 13:48:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
7830:
7831: * mpz_set_str: Make it handle 0x prefix OK.
7832:
7833: Sat May 18 18:31:02 1991 Torbjorn Granlund (tege@zevs.sics.se)
7834:
7835: * memory.c (_mp_default_reallocate): Swap OLD_SIZE and NEW_SIZE
7836: arguments.
7837: * mpz_realloc (_mpz_realloc): Swap in call to _mp_reallocate_func.
7838: * min: Likewise.
7839:
7840: Thu May 16 20:43:05 1991 Torbjorn Granlund (tege@zevs.sics.se)
7841:
7842: * memory.c: Make the default allocations functions global.
7843: * mp_set_fns (mp_set_memory_functions): Make a NULL pointer mean the
7844: default memory function.
7845:
7846: Wed May 8 20:02:42 1991 Torbjorn Granlund (tege@zevs.sics.se)
7847:
7848: * mpz_div: Handle DEN the same as QUOT correctly by copying DEN->D
7849: even if no normalization is needed.
7850: * mpz_div: Rework reallocation scheme, to avoid excess copying.
7851:
7852: * mpz_sub_ui.c, mpz_add_ui.c: New files.
7853:
7854: * mpz_cmp.c, mpz_cmp_ui.c: New files.
7855:
7856: * mpz_mul_2exp: Handle zero input MINT correctly.
7857:
7858: * mpn_rshiftci: Don't handle shift counts > BITS_PER_MP_DIGIT.
7859:
7860: * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.
7861:
7862: Tue May 7 15:44:58 1991 Torbjorn Granlund (tege@zevs.sics.se)
7863:
7864: * mpn_rshift: Don't handle shift counts > BITS_PER_MP_DIGIT.
7865: * mpz_div_2exp: Don't call _mpn_rshift with cnt > BITS_PER_MP_DIGIT.
7866: * gcd, mpz_gcd: Likewise.
7867:
7868: * gcd, mpz_gcd: Handle common 2 factors correctly.
7869:
7870: Mon May 6 20:22:59 1991 Torbjorn Granlund (tege@zevs.sics.se)
7871:
7872: * gmp-impl.h (MPN_COPY): Inline a loop instead of calling memcpy.
7873:
7874: * gmp-impl.h, mpz_get_str, rpow: Swap DST and SRC in TMPCOPY* macros.
7875:
7876: Sun May 5 15:16:23 1991 Torbjorn Granlund (tege@zevs.sics.se)
7877:
7878: * mpz_div: Remove test for QUOT == 0.
7879:
7880: Sun Apr 28 20:21:04 1991 Torbjorn Granlund (tege@zevs.sics.se)
7881:
7882: * pow: Don't make MOD normalization in place, as it's a bad idea to
7883: write on an input parameter.
7884: * pow: Reduce BASE if it's > MOD.
7885: * pow, mult, mpz_mul: Simplify realloc code.
7886:
7887: Sat Apr 27 21:03:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
7888:
7889: * Install multplication using Karatsuba's algorithm as default.
7890:
7891: Fri Apr 26 01:03:57 1991 Torbjorn Granlund (tege@zevs.sics.se)
7892:
7893: * msqrt: Store in ROOT even for U==0, to make msqrt(0) defined.
7894:
7895: * mpz_div_2exp.c, mpz_mul_2exp.c: New files for shifting right and
7896: left, respectively.
7897: * gmp.h: Add definitions for mpz_div_2exp and mpz_mul_2exp.
7898:
7899: * mlshift.c, mrshift.c: Remove.
7900:
7901: Wed Apr 24 21:39:22 1991 Torbjorn Granlund (tege@zevs.sics.se)
7902:
7903: * mpn_mul: Check only for m2_size == 0 in function header.
7904:
7905: Mon Apr 22 01:31:57 1991 Torbjorn Granlund (tege@zevs.sics.se)
7906:
7907: * karatsuba.c: New file for Karatsuba's multplication algorithm.
7908:
7909: * mpz_random, mpz_init, mpz_mod_2exp: New files and functions.
7910:
7911: * mpn_cmp: Fix header comment.
7912:
7913: Sun Apr 21 00:10:44 1991 Torbjorn Granlund (tege@zevs.sics.se)
7914:
7915: * pow: Switch off initial base reduction.
7916:
7917: Sat Apr 20 22:06:05 1991 Torbjorn Granlund (tege@echnaton.sics.se)
7918:
7919: * mpz_get_str: Don't generate initial zeros for initial word.
7920: Used to write outside of allocated storage.
7921:
7922: Mon Apr 15 15:48:08 1991 Torbjorn Granlund (tege@zevs.sics.se)
7923:
7924: * _mpz_realloc: Make it accept size in number of mp_digits.
7925: * Most functions: Use new _mpz_realloc definition.
7926:
7927: * mpz_set_str: Remove calls _mp_free_func.
7928:
7929: * Most functions: Rename mpn_* to _mpn_*. Rename mpz_realloc to
7930: _mpz_realloc.
7931: * mpn_lshift: Redefine _mpn_lshift to only handle small shifts.
7932: * mdiv, mpz_div, ...: Changes for new definition of _mpn_lshift.
7933: * msqrt, mp*_*shift*: Define cnt as unsigned (for speed).
7934:
7935: Sat Apr 6 14:05:16 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
7936:
7937: * mpn_mul: Multiply by the first digit in M2 in a special
7938: loop instead of zeroing the product area.
7939:
7940: * mpz_abs.c: New file.
7941:
7942: * sdiv: Implement as mpz_div_si for speed.
7943:
7944: * mpn_add: Make it work for second source operand == 0.
7945:
7946: * msub: Negate the correct operand, i.e. V before swapping, not
7947: the smaller of U and V!
7948: * madd, msub: Update abs_* when swapping operands, and not after
7949: (optimization).
7950:
7951: Fri Apr 5 00:19:36 1991 Torbjorn Granlund (tege@black.nada.kth.se)
7952:
7953: * mpn_sub: Make it work for subtrahend == 0.
7954:
7955: * madd, msub: Rewrite to minimize mpn_cmp calls. Ensure
7956: mpn_cmp is called with positive sizes (used to be called
7957: incorrectly with negative sizes sometimes).
7958:
7959: * msqrt: Make it divide by zero if fed with a negative number.
7960: * Remove if statement at end of precision calculation that was
7961: never true.
7962:
7963: * itom, mp.h: The argument is of type short, not int.
7964:
7965: * mpz_realloc, gmp.h: Make mpz_realloc return the new digit pointer.
7966:
7967: * mpz_get_str.c, mpz_set_str.c, mpz_new_str.c: Don't include mp.h.
7968:
7969: * Add COPYING to distribution.
7970:
7971: * mpz_div_ui.c, mpz_div_si.c, mpz_new_ui.c, mpz_new_si.c: New files.
7972:
7973: Fri Mar 15 00:26:29 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
7974:
7975: * Add Copyleft headers to all files.
7976:
7977: * mpn_mul.c, mpn_div.c: Add header comments.
7978: * mult.c, mdiv.c: Update header comments.
7979:
7980: * mpq_add.c, mpq_sub.c, mpq_div.c, mpq_new.c, mpq_new_ui.c,
7981: mpq_free.c: New files for rational arithmetics.
7982:
7983: * mpn_lshift.c: Avoid writing the most significant word if it is 0.
7984:
7985: * mdiv.c: Call mpn_lshift for the normalization.
7986: * mdiv.c: Remove #ifdefs.
7987:
7988: * Makefile: Add ChangeLog to DISTFILES.
7989:
7990: * mpn_div.c: Make the add_back code work (by removing abort()).
7991: * mpn_div.c: Make it return if the quotient is size as compared
7992: with the difference NSIZE - DSIZE. If the stored quotient is
7993: larger than that, return 1, otherwise 0.
7994: * gmp.h: Fix mpn_div declaration.
7995: * mdiv.c: Adopt call to mpn_div.
7996: * mpz_div.c: New file (developed from mdiv.c).
7997:
7998: * README: Update routine names.
7999:
8000: Thu Mar 14 18:45:28 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
8001:
8002: * mpq_mul.c: New file for rational multplication.
8003:
8004: * gmp.h: Add definitions for rational arithmetics.
8005:
8006: * mpn_div: Kludge the case where the high numerator digit > the
8007: high denominator digit. (This code is going to be optimized later.)
8008:
8009: * New files: gmp.h for GNU specific functions, gmp-common.h for
8010: definitions common for mp.h and gmp.h.
8011:
8012: * Ensure mp.h just defines what BSD mp.h defines.
8013:
8014: * pow.c: Fix typo for bp allocation.
8015:
8016: * Rename natural number functions to mpn_*, integer functions to
8017: mpz_*.
8018:
8019: Tue Mar 5 18:47:04 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
8020:
8021: * mdiv.c (_mp_divide, case 2): Change test for estimate of Q from
8022: "n0 >= r" to "n0 > r".
8023:
8024: * msqrt: Tune the increasing precision scheme, to do fewer steps.
8025:
8026: Tue Mar 3 18:50:10 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
8027:
8028: * msqrt: Use the low level routines. Use low precision in the
8029: beginning, and increase the precision as the result converges.
8030: (This optimization gave a 6-fold speedup.)
8031:
8032: Local Variables:
8033: mode: indented-text
8034: left-margin: 8
8035: fill-column: 75
8036: version-control: never
8037: End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>