[BACK]Return to ChangeLog CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp

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>