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

Annotation of OpenXM_contrib/gmp/ChangeLog, Revision 1.1.1.3

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>