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