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

Annotation of OpenXM_contrib/gmp/ChangeLog, Revision 1.1.1.4

1.1.1.4 ! ohara       1: Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 2000, 2001, 2002
        !             2: Free Software Foundation, Inc.
        !             3: .
        !             4: This file is part of the GNU MP Library.
        !             5: .
        !             6: The GNU MP Library is free software; you can redistribute it and/or modify
        !             7: it under the terms of the GNU Lesser General Public License as published by
        !             8: the Free Software Foundation; either version 2.1 of the License, or (at your
        !             9: option) any later version.
        !            10: .
        !            11: The GNU MP Library is distributed in the hope that it will be useful, but
        !            12: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            13: or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
        !            14: License for more details.
        !            15: .
        !            16: You should have received a copy of the GNU Lesser General Public License
        !            17: along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
        !            18: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
        !            19: MA 02111-1307, USA.
1.1.1.3   maekawa    20:
                     21:
1.1.1.4 ! ohara      22: 2002-12-24  Kevin Ryde  <kevin@swox.se>
1.1.1.3   maekawa    23:
1.1.1.4 ! ohara      24:        * Version 4.1.2 released.
        !            25:
        !            26:        * tests/devel/try.c (mprotect_maybe, malloc_region): Don't use
        !            27:        strerror, need to check it exists first.
        !            28:
        !            29: 2002-12-22  Torbjorn Granlund  <tege@swox.com>
        !            30:
        !            31:        * configure.in (hppa2.0*-*-*): Pass +O2 instead of +O3 to work around
        !            32:        compiler bug with mpfr/tests/tdiv.
        !            33:
        !            34:        * gmp-impl.h (union ieee_double_extract): Test for __sparc_v9 and
        !            35:        __sparc_v9__.
        !            36:
        !            37: 2002-12-20  Torbjorn Granlund  <tege@swox.com>
        !            38:
        !            39:        * mpn/generic/rootrem.c: In Newton loop, pad qp with leading zero.
        !            40:
        !            41: 2002-12-19  Torbjorn Granlund  <tege@swox.com>
        !            42:
        !            43:        * mpn/generic/rootrem.c: Allocate 1.585 (log2(3)) times more space
        !            44:        for pp temporary to allow for worst case overestimate of root.
        !            45:        Add some asserts.
        !            46:
        !            47:        * tests/mpz/t-root.c: Generalize and speed up.
        !            48:
        !            49: 2002-12-19  Kevin Ryde  <kevin@swox.se>
        !            50:
        !            51:        * gmp.texi (Build Options): Mention MS Interix, reported by Paul
        !            52:        Leyland.
        !            53:        (Notes for Particular Systems): Compaq C++ must be used in "standard"
        !            54:        iostream mode.  Add Sparc app regs.
        !            55:        (Debugging): Note gcc -fstack options to detect overflow.
        !            56:        (Formatted Output Strings, Formatted Input Strings): Format strings
        !            57:        are not multibyte.
        !            58:
        !            59: 2002-12-18  Kevin Ryde  <kevin@swox.se>
        !            60:
        !            61:        * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.2.
        !            62:        * Makefile.am (LIBGMP_LT_REVISION, LIBGMPXX_LT_REVISION,
        !            63:        LIBMP_LT_REVISION): Increment.
        !            64:
        !            65: 2002-12-18  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
        !            66:
        !            67:        * mpfr/pow.c: Fixed bug (infinite loop) for exact powers.
        !            68:
        !            69:        * mpfr/sub.c: Fixed wrong inexact flag for a - b where a and b are of
        !            70:        different signs and EXP(a) < EXP(b).
        !            71:
        !            72: 2002-12-17  Torbjorn Granlund  <tege@swox.com>
        !            73:
        !            74:        * printf/printffuns.c (gmp_fprintf_reps): Make it actually work
        !            75:        for padding > 256.
        !            76:
        !            77: 2002-12-17  Kevin Ryde  <kevin@swox.se>
        !            78:
        !            79:        * gmp.texi (Formatted Output Strings): %a and %A are C99 not glibc.
        !            80:        (Formatted Input Strings): Type "l" is for double too.
        !            81:
        !            82: 2002-12-13  Kevin Ryde  <kevin@swox.se>
        !            83:
        !            84:        * gmp.texi (Debugging): Add maximum debuggability config options.
        !            85:         (Language Bindings): Add Arithmos, reported by Johan Vervloet.
        !            86:        (Formatted Output Strings): 128 bits is about 40 digits, ll is only
        !            87:        for long long not long double.
        !            88:        (Formatted Input Strings): ll is only for long long not long double.
        !            89:
        !            90: 2002-12-08  Torbjorn Granlund  <tege@swox.com>
        !            91:
        !            92:        * gmp-impl.h (USE_LEADING_REGPARM): Disable for PIC code generation.
        !            93:
        !            94: 2002-12-04  Torbjorn Granlund  <tege@swox.com>
        !            95:
        !            96:        * gmp-impl.h (union ieee_double_extract): Amend test for ia64 with hpux
        !            97:        test.
        !            98:
        !            99: 2002-12-04  Kevin Ryde  <kevin@swox.se>
        !           100:
        !           101:        * gmp.texi (Floating-point Functions): Note the mantissa is binary and
        !           102:        decimal fractions cannot be represented exactly.  Suggested by Serge
        !           103:        Winitzki.
        !           104:        (Known Build Problems): Note libtool stripping options when linking.
        !           105:        Reported by Vincent Lefevre.
        !           106:
        !           107: 2002-12-03  Kevin Ryde  <kevin@swox.se>
        !           108:
        !           109:        * INSTALL: Use return rather than exit in the example programs.
        !           110:        Suggested by Richard Dawe.
        !           111:
        !           112:        * longlong.h (count_leading_zeros, count_trailing_zeros) [ev67, ev68]:
        !           113:        Restrict __asm__ ctlz and cttz to __GNUC__.
        !           114:
        !           115: 2002-11-25  Kevin Ryde  <kevin@swox.se>
        !           116:
        !           117:        * Version 4.1.1 released.
        !           118:
        !           119: 2002-11-25  Torbjorn Granlund  <tege@swox.com>
        !           120:
        !           121:        * mpfr/tests/tdiv.c: Decrease number of performed tests.
        !           122:
        !           123: 2002-11-23  Kevin Ryde  <kevin@swox.se>
        !           124:
        !           125:        * tests/misc/t-printf.c, tests/misc/t-scanf.c (check_misc): Suppress
        !           126:        %zd test on glibc prior to 2.1, it's not supported.
        !           127:
        !           128: 2002-11-19  Kevin Ryde  <kevin@swox.se>
        !           129:
        !           130:        * gmpxx.h (__gmp_randinit_lc_2exp_size_t): Return type is int.
        !           131:
        !           132: 2002-11-17  Torbjorn Granlund  <tege@swox.com>
        !           133:
        !           134:        * mpn/ia64/addmul_1.asm: Don't clobber callee-saves register f16.
        !           135:        * mpn/ia64/mul_1.asm: Likewise.
        !           136:
        !           137:        * mpn/ia64/addmul_1.asm: Add pred.rel declarations.  Resolve RAW
        !           138:        hazards for condition code registers, duplicating code as needed.  Add
        !           139:        prediction to all branches.
        !           140:        * mpn/ia64/mul_1.asm: Likewise.
        !           141:        * mpn/ia64/add_n.asm: Likewise.
        !           142:        * mpn/ia64/sub_n.asm: Likewise.
        !           143:        * mpn/ia64/copyi.asm: Likewise.
        !           144:        * mpn/ia64/copyd.asm: Likewise
        !           145:
        !           146: 2002-11-16  Kevin Ryde  <kevin@swox.se>
        !           147:
        !           148:        * configure.in, gmp.texi: Remove powerpc64 ABI=32L, doesn't work and
        !           149:        is unlikely to ever do so.
        !           150:        * configure.in: Allow ABI=32 for powerpc64.
        !           151:        Reported by David Edelsohn.
        !           152:
        !           153: 2002-11-14  Kevin Ryde  <kevin@swox.se>
        !           154:
        !           155:        * gmp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT) [__GNUC__]:
        !           156:        Use __dllexport__ and __dllimport__ to keep out of application
        !           157:        namespace.
        !           158:
        !           159:        * Makefile.am (LIBGMPXX_LT_REVISION): Bump for istream changes.
        !           160:
        !           161: 2002-11-14  Gerardo Ballabio <gerardo.ballabio@unimib.it>
        !           162:
        !           163:        * gmpxx.h (__gmp_randinit_default_t, __gmp_randinit_lc_2exp_t,
        !           164:        __gmp_randinit_lc_2exp_size_t): Use extern "C" { typedef ... }, for
        !           165:        the benefit of g++ prior to 3.2.
        !           166:
        !           167: 2002-11-12  Kevin Ryde  <kevin@swox.se>
        !           168:
        !           169:        * mpn/generic/tdiv_qr.c: Add <stdlib.h> for abort().
        !           170:
        !           171:        * gmpxx.h (gmp_randclass constructors): Patch from Roberto Bagnara to
        !           172:        use extern "C" on C function pointer arguments.
        !           173:
        !           174: 2002-11-07  Gerardo Ballabio <gerardo.ballabio@unimib.it>
        !           175:
        !           176:        * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: Don't skip whitespace
        !           177:        without ios::skipws.
        !           178:
        !           179: 2002-11-06  Torbjorn Granlund  <tege@swox.com>
        !           180:
        !           181:        * mpn/generic/tdiv_qr.c: Remove a bogus assert.
        !           182:
        !           183: 2002-11-04  Kevin Ryde  <kevin@swox.se>
        !           184:
        !           185:        * mpn/generic/mode1o.c, mpn/alpha/ev5/mode1o.c: Correction to ASSERTs.
        !           186:        Reported by Christoph Ludwig.
        !           187:
        !           188: 2002-11-02  Kevin Ryde  <kevin@swox.se>
        !           189:
        !           190:        * gmp.texi (ABI and ISA): Add powerpc620 and powerpc630 to powerpc64.
        !           191:
        !           192: 2002-11-01  Kevin Ryde  <kevin@swox.se>
        !           193:
        !           194:        * longlong.h: Test __x86_64__ not __x86_64.  Reported by Andreas
        !           195:        Jaeger.
        !           196:
        !           197:        * mpf/urandomb.c: Truncate nbits to precision of rop.
        !           198:
        !           199:        * gmp.texi (Known Build Problems): Add MacOS X C++ shared libraries.
        !           200:
        !           201: 2002-10-29  Torbjorn Granlund  <tege@swox.com>
        !           202:
        !           203:        * configure.in (*-cray-unicos*): Pass -hnofastmd again.
        !           204:
        !           205: 2002-10-28  Kevin Ryde  <kevin@swox.se>
        !           206:
        !           207:        * gmp-impl.h (union ieee_double_extract): IEEE little endian for
        !           208:        x86_64.  Reported by Andreas Jaeger.
        !           209:
        !           210: 2002-10-25  Torbjorn Granlund  <tege@swox.com>
        !           211:
        !           212:        * tests/tadd.c: Disable test of denorms.
        !           213:
        !           214: 2002-10-23  Linus Nordberg  <linus@swox.se>
        !           215:
        !           216:        * gmp.texi (Introduction to GMP): Update section about mailing
        !           217:        lists.
        !           218:
        !           219: 2002-10-21  Torbjorn Granlund  <tege@swox.com>
        !           220:
        !           221:        * configure.in (*-cray-unicos*): Remove -hscalar0, it causes too much
        !           222:        performance loss.  Let's trust Cray to fix their compilers.
        !           223:
        !           224:        * mpn/cray/ieee/addmul_1.c: Handle overlap as in mul_1.c.
        !           225:        * mpn/cray/ieee/submul_1.c: Likewise.
        !           226:
        !           227: 2002-10-20  Kevin Ryde  <kevin@swox.se>
        !           228:
        !           229:        * mpz/import.c, mpz/export.c: Use char* subtract from NULL to get
        !           230:        pointer alignment, for the benefit of Cray vector systems.
        !           231:
        !           232: 2002-10-19  Kevin Ryde  <kevin@swox.se>
        !           233:
        !           234:        * configure.in (sparc v9 *bsd*): Add NetBSD and OpenBSD sparc64.
        !           235:        (x86 openbsd*): Extra underscore for _GLOBAL_OFFSET_TABLE_.
        !           236:
        !           237:        * demos/calc/calc.y: Change ={ to {, needed for bison 1.50.
        !           238:
        !           239:        * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]:
        !           240:        Should be UDItype.
        !           241:
        !           242: 2002-10-19  Torbjorn Granlund  <tege@swox.com>
        !           243:
        !           244:        * mpn/generic/rootrem.c: Avoid overflow in xnb calculation.
        !           245:        * mpz/root.c: Avoid overflow in rootnb calculation.
        !           246:
        !           247: 2002-09-20  Gerardo Ballabio <gerardo.ballabio@unimib.it>
        !           248:
        !           249:        * gmpxx.h (__gmp_binary_equal, __gmp_binary_not_equal): Fix broken
        !           250:        mpq/double functions.
        !           251:
        !           252: 2002-09-16  Kevin Ryde  <kevin@swox.se>
        !           253:
        !           254:        * gmp.texi (Notes for Particular Systems): Note cl /MD is required for
        !           255:        Microsoft C and MINGW to cooperate on I/O.
        !           256:        (Language Bindings): Add linbox.
        !           257:
        !           258: 2002-09-14  Kevin Ryde  <kevin@swox.se>
        !           259:
        !           260:        * configure.in (GMP_C_RESTRICT): Remove this, currently unused, and
        !           261:        #define restrict causes problems for MS Visual C on win64.  Reported
        !           262:        by David Librik.
        !           263:
        !           264: 2002-09-08  Kevin Ryde  <kevin@swox.se>
        !           265:
        !           266:        * acinclude.m4 (GMP_GCC_WA_MCPU): New macro.
        !           267:        * configure.in (alpha*-*-*): Use it to avoid -Wa,-mev67 if gas isn't
        !           268:        new enough to know ev67.  Reported by David Bremner.
        !           269:
        !           270: 2002-09-07  Kevin Ryde  <kevin@swox.se>
        !           271:
        !           272:        * gmp.texi (Demonstration Programs): New section, expanding on what
        !           273:        was under "Build Options".
        !           274:        (Converting Floats): Don't need \ for _ in @var within @math.
        !           275:
        !           276:        * longlong.h: Define COUNT_LEADING_ZEROS_NEED_CLZ_TAB for all alphas,
        !           277:        since mpn/alpha/cntlz.asm always goes into libgmp.so, even for ev67
        !           278:        and ev68 which don't need it.  Reported by David Bremner.
        !           279:
        !           280: 2002-09-02  Kevin Ryde  <kevin@swox.se>
        !           281:
        !           282:        * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.1.
        !           283:        * Makefile.am (LIBGMP_LT_REVISION, LIBMP_LT_REVISION): Increment.
        !           284:
        !           285: 2002-08-26  Torbjorn Granlund  <tege@swox.com>
        !           286:
        !           287:        * gmp.texi (Converting Floats): Fix typo in mpf_get_d_2exp docs,
        !           288:        reported by Paul Zimmermann.
        !           289:
        !           290: 2002-08-23  Torbjorn Granlund  <tege@swox.com>
        !           291:
        !           292:        * configure.in: Choose powerpc32/aix.m4 or powerpc64/aix.m4 based on
        !           293:        ABI, not configuration triple.
        !           294:
        !           295: 2002-08-22  Kevin Ryde  <kevin@swox.se>
        !           296:
        !           297:        * configfsf.guess: Update to 2002-08-19.
        !           298:        * configfsf.sub: Update to 2002-08-20.
        !           299:
        !           300: 2002-08-20  Kevin Ryde  <kevin@swox.se>
        !           301:
        !           302:        * gmp.texi (Known Build Problems): Binutils 2.12 is ok for libgmp.a.
        !           303:        (Notes for Particular Systems): Remove -march=pentiumpro, now ok.
        !           304:        (Emacs): New section.
        !           305:        (Language Bindings): Update MLton URL, reported by Stephen Weeks.
        !           306:
        !           307: 2002-08-16  Torbjorn Granlund  <tege@swox.com>
        !           308:
        !           309:        * mpn/m68k/lshift.asm: Fix typo in !scale_available_p code.
        !           310:        * mpn/m68k/rshift.asm: Likewise.
        !           311:
        !           312: 2002-08-09  Kevin Ryde  <kevin@swox.se>
        !           313:
        !           314:        * mpn/ia64/add_n.asm, mpn/ia64/sub_n.asm: Add .body.
        !           315:        * mpn/ia64/add_n.asm, mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm,
        !           316:        mpn/ia64/sub_n.asm: Position .save ar.lc just before relevant
        !           317:        instruction.
        !           318:        * mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm: Add .save ar.pfs and pr.
        !           319:        * mpn/ia64/copyd.asm, mpn/ia64/copyi.asm: Correction to .body position.
        !           320:        * mpn/ia64/lorrshift.asm: Add .prologue stuff.
        !           321:
        !           322:        * mpn/ia64/*.asm [hpux ABI=32]: Extend 32-bit operands to 64-bits, not
        !           323:        optimal and might not be sufficient, but seems to work.
        !           324:
        !           325: 2002-08-07  Kevin Ryde  <kevin@swox.se>
        !           326:
        !           327:        * mpz/remove.c: Make src==0 return 0, not do DIVIDE_BY_ZERO.
        !           328:
        !           329: 2002-08-05  Kevin Ryde  <kevin@swox.se>
        !           330:
        !           331:        * Makefile.am (libgmpxx_la_DEPENDENCIES): libgmp.la should be here,
        !           332:        not libgmpxx_la_LIBADD, for the benefit of "make -j2".
        !           333:
        !           334: 2002-07-30  Kevin Ryde  <kevin@swox.se>
        !           335:
        !           336:        * gmp.texi (Known Build Problems): An easier workaround for DESTDIR,
        !           337:        using LD_LIBRARY_PATH.
        !           338:
        !           339: 2002-07-27  Kevin Ryde  <kevin@swox.se>
        !           340:
        !           341:        * configure.in: Establish CONFIG_SHELL to avoid a problem with
        !           342:        AC_LIBTOOL_SYS_MAX_CMD_LEN, in particular with ia64-*-hpux*.
        !           343:
        !           344:        * tune/speed.h (SPEED_ROUTINE_MPN_GCD_FINDA): Don't let calls to
        !           345:        mpn_gcd_finda go dead.
        !           346:
        !           347: 2002-07-21  Kevin Ryde  <kevin@swox.se>
        !           348:
        !           349:        * Makefile.am (DISTCLEANFILES): Add configure.lineno.
        !           350:
        !           351:        * tests/mpz/t-jac.c (try_si_zi): Correction to "a" parameter type.
        !           352:
        !           353: 2002-07-17  Kevin Ryde  <kevin@swox.se>
        !           354:
        !           355:        * gmp.texi (Random State Initialization): Typo in m2exp described for
        !           356:        gmp_randinit_lc_2exp_size.
        !           357:        (Formatted Input Strings): Typo in %n summary.
        !           358:
        !           359:        * mpfr/acinclude.m4 (MPFR_CONFIGS): Patch by Vincent for an apparent
        !           360:        float rounding gremlin on powerpc.
        !           361:
        !           362: 2002-07-15  Kevin Ryde  <kevin@swox.se>
        !           363:
        !           364:        * Makefile.am (PRINTF_OBJECTS): Avoid ending in a backslash, some hpux
        !           365:        makes don't like that.
        !           366:
        !           367:        * gmp-impl.h (ieee_double_extract): Test __sparc__, used by gcc 3.1.
        !           368:        Reported by nix@esperi.demon.co.uk.
        !           369:        * mpfr/mpfr-math.h (_MPFR_NAN_BYTES etc): Ditto.
        !           370:
        !           371: 2002-07-13  Kevin Ryde  <kevin@swox.se>
        !           372:
        !           373:        * gmp-h.in (__GMP_EXTERN_INLINE): Don't use this during configure,
        !           374:        ie. __GMP_WITHIN_CONFIGURE, to avoid needing dependent routines.
        !           375:        * acinclude.m4 (GMP_H_EXTERN_INLINE): Consequent changes.
        !           376:
        !           377:        * gmp.texi (Number Theoretic Functions): Clarify return value.
        !           378:        Reported by Peter Keller.
        !           379:
        !           380: 2002-07-10  Kevin Ryde  <kevin@swox.se>
        !           381:
        !           382:        * gmp-impl.h (DItype): Use HAVE_LONG_LONG to choose long long,
        !           383:        avoiding _LONGLONG which is in gcc but means something unrelated in MS
        !           384:        Visual C 7.0.  Reported by David Librik.
        !           385:
        !           386: 2002-07-06  Kevin Ryde  <kevin@swox.se>
        !           387:
        !           388:        * gmp.texi (Low-level Functions): mpn_set_str takes "unsigned char *",
        !           389:        reported by Mark Sofroniou.
        !           390:        (C++ Interface General): Describe linking with libgmpxx and libgmp.
        !           391:
        !           392: 2002-07-01  Kevin Ryde  <kevin@swox.se>
        !           393:
        !           394:        * gmp-h.in (mpz_export): Remove a spurious parameter name.
        !           395:
        !           396: 2002-06-29  Kevin Ryde  <kevin@swox.se>
        !           397:
        !           398:        * mpf/inp_str.c: Fix returned count of chars read, reported by Paul
        !           399:        Zimmermann.  Also fix a memory leak for invalid input.
        !           400:
        !           401: 2002-06-25  Kevin Ryde  <kevin@swox.se>
        !           402:
        !           403:        * configure.in (x86-*-*): Remove -march=pentiumpro check, seems ok
        !           404:        with current code.
        !           405:
        !           406: 2002-06-23  Kevin Ryde  <kevin@swox.se>
        !           407:
        !           408:        * acinclude.m4 (GMP_GCC_ARM_UMODSI): Match bad "gcc --version" output
        !           409:        exactly, rather than parsing it with GMP_GCC_VERSION_GE.
        !           410:
        !           411: 2002-06-22  Kevin Ryde  <kevin@swox.se>
        !           412:
        !           413:        * gmp-impl.h (const, signed): Move to near top of file, fixes
        !           414:        --enable-alloca=debug on K&R.
        !           415:
        !           416: 2002-06-20  Kevin Ryde  <kevin@swox.se>
        !           417:
        !           418:        * mpn/ia64/submul_1.c: Add missing TMP_DECL, TMP_MARK, TMP_FREE.
        !           419:        Reported by Paul Zimmermann.
        !           420:
        !           421: 2002-06-20  Gerardo Ballabio <gerardo.ballabio@unimib.it>
        !           422:
        !           423:        * gmpxx.h, mpfrxx.h: Remove mpz_classref, let mpq_class::get_num and
        !           424:        mpq_class::get_den return mpz_class& as per the documentation.
        !           425:        Reported by Roberto Bagnara.
        !           426:
        !           427: 2002-06-15  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
        !           428:
        !           429:        * mpfr/set_q.c: Allow for 1 bit numerator or denominator.
        !           430:
        !           431: 2002-06-14  Kevin Ryde  <kevin@swox.se>
        !           432:
        !           433:        * tests/misc/t-scanf.c: (fromstring_gmp_fscanf): Add missing va_end.
        !           434:        Don't mix varargs and fixed args functions, not good on x86_64.
        !           435:        Reported by Marcus Meissner.
        !           436:
        !           437:        * tests/mpz/t-cmp_d.c (check_one_2exp): Use volatile to force to
        !           438:        double, fixes gcc 3.1 with -O4.  Reported by Michael Lee.
        !           439:        * configure.in (AC_C_VOLATILE): New macro.
        !           440:
        !           441: 2002-06-09  Kevin Ryde  <kevin@swox.se>
        !           442:
        !           443:        * mpfr/tests/tadd.c, mpfr/tests/tmul.c (check): Apply a hack to the
        !           444:        parameter order to make sparc gcc 2.95.2 happy.
        !           445:
        !           446:        * gmp.texi (Known Build Problems): Notes on MacOS and GCC.
        !           447:        (Low-level Functions): mpn_get_str accepts base==256.
        !           448:
        !           449: 2002-06-09  Torbjorn Granlund  <tege@swox.com>
        !           450:
        !           451:        * randraw.c (lc): Remove broken ASSERT_ALWAYS.
        !           452:
        !           453: 2002-06-08  Kevin Ryde  <kevin@swox.se>
        !           454:
        !           455:        * configure.in (alphev56): Fix to use ev5 path.
        !           456:
        !           457:        * mpfr/tests/tsqrt.c, mpfr/tests/tsqrt_ui.c: Suppress tests if sqrt is
        !           458:        not affected by mpfr_set_machine_rnd_mode.
        !           459:
        !           460:        * mpfr/mul_2si.c: Workaround a mips gcc 2.95.3 bug under -O2 -mabi=n32.
        !           461:
        !           462: 2002-06-06  Kevin Ryde  <kevin@swox.se>
        !           463:
        !           464:        * configure.in, mpfr/tests/Makefile.am: Add $LIBM to $LIBS for
        !           465:        MPFR_CONFIGS so it detects fesetround, and let it go through to
        !           466:        $MPFR_LIBS.
        !           467:        * mpfr/rnd_mode.c: Use gmp-impl.h to get MPFR_HAVE_FESETROUND.
        !           468:
        !           469:        * tests/mpz/t-sizeinbase.c: Disable fake bits test, such pointer
        !           470:        setups are bogus and have been seen failing on hppa.
        !           471:
        !           472: 2002-06-03  Kevin Ryde  <kevin@swox.se>
        !           473:
        !           474:        * mpn/sparc32/sparc-defs.m4: New file.
        !           475:        * configure.in (sparc*-*-*): Use it.
        !           476:        * acinclude.m4 (GMP_ASM_SPARC_REGISTER): New macro.
        !           477:        * configure.in (sparc64): Use it.  Also, use -Wc,-m64 for linking.
        !           478:        * mpn/sparc64/add_n.asm, mpn/sparc64/addmul_1.asm,
        !           479:        mpn/sparc64/copyd.asm, mpn/sparc64/copyi.asm, mpn/sparc64/lshift.asm,
        !           480:        mpn/sparc64/mul_1.asm, mpn/sparc64/rshift.asm,
        !           481:        mpn/sparc64/sqr_diagonal.asm, mpn/sparc64/sub_n.asm,
        !           482:        mpn/sparc64/submul_1.asm: Use REGISTER for .register.
        !           483:
        !           484: 2002-06-01  Kevin Ryde  <kevin@swox.se>
        !           485:
        !           486:        * mpz/powm_ui.c: Fix for result range in certain circumstances.
        !           487:
        !           488: 2002-05-23  Torbjorn Granlund  <tege@swox.com>
        !           489:
        !           490:        * Version 4.1 released.
        !           491:
        !           492:        * mpn/alpha/ev6/nails/gmp-mparam.h: New file.
        !           493:
        !           494:        * tests/devel/add_n.c (refmpn_add_n): Nailify.
        !           495:        * tests/devel/sub_n.c (refmpn_sub_n): Nailify.
        !           496:        * tests/devel/addmul_1.c (refmpn_addmul_1): Nailify.
        !           497:        * tests/devel/submul_1.c (refmpn_submul_1): Nailify.
        !           498:
        !           499:        * mpn/alpha/ev6/nails/add_n.asm: New file.
        !           500:        * mpn/alpha/ev6/nails/sub_n.asm: New file.
        !           501:        * mpn/alpha/ev6/nails/mul_1.asm: New file.
        !           502:        * mpn/alpha/ev6/nails/submul_1.asm: New file.
        !           503:
        !           504: 2002-05-22  Torbjorn Granlund  <tege@swox.com>
        !           505:
        !           506:        * mpn/alpha/ev6/nails/addmul_1.asm: New file.
        !           507:
        !           508:        * mpz/inp_str.c (mpz_inp_str_nowhite): Nailify.
        !           509:
        !           510:        * mpn/generic/mul_basecase.c: Update pointers before conditional
        !           511:        MAX_LEFT break statements.
        !           512:
        !           513: 2002-05-21  Torbjorn Granlund  <tege@swox.com>
        !           514:
        !           515:        * tests/mpz/t-gcd.c: Test mpz_gcd_ui.
        !           516:
        !           517:        * mpz/lcm_ui.c: Nailify.
        !           518:
        !           519:        * mpz/gcd_ui.c: Nailify.  Make it work as documented, allowing
        !           520:        NULL to be passed for result parameter.  Fix gcd(0,0) case.
        !           521:
        !           522:        * mpz/set_str.c: Nailify.
        !           523:
        !           524:        * randlc2x.c (gmp_randinit_lc_2exp): Nailify.
        !           525:
        !           526:        From Jakub Jelinek:
        !           527:        * longlong.h (add_ssaaaa,sub_ddmmss) [64-bit sparc]:
        !           528:        Make it actually work.
        !           529:
        !           530: 2002-05-18  Torbjorn Granlund  <tege@swox.com>
        !           531:
        !           532:        * mpf/ui_div.c: Shut up compiler warning.
        !           533:
        !           534:        * mpn/generic/mul_basecase.c: Use mpn_addmul_2, mpn_addmul_3, and
        !           535:        mpn_addmul_4, as available.
        !           536:
        !           537:        * mpn/alpha/ev6/nails/addmul_2.asm: Adjust NAILS_SUPPORT decls.
        !           538:        * mpn/alpha/ev6/nails/addmul_3.asm: Likewise
        !           539:        * mpn/alpha/ev6/nails/addmul_4.asm: Likewise.
        !           540:
        !           541:        * configure.in (*-cray-unicos*): Back again to -hscalar0.
        !           542:        (gmp_mpn_functions_optional): Add mul_3, mul_4, addmul_2, addmul_3,
        !           543:        and addmul_4.
        !           544:        * acconfig.h: Add #undefs for new optional mpn functions.
        !           545:
        !           546: 2002-05-18  Kevin Ryde  <kevin@swox.se>
        !           547:
        !           548:        * gmp.texi (Integer Import and Export): Mention Cray unfilled words.
        !           549:
        !           550:        * mpz/set_d.c, mpq/set_d.c: Use LIMBS_PER_DOUBLE for the output of
        !           551:        __gmp_extract_double.  Reported by Henrik Johansson.
        !           552:
        !           553: 2002-05-17  Torbjorn Granlund  <tege@swox.com>
        !           554:
        !           555:        * mpn/alpha/ev6/nails/addmul_2.asm: New file.
        !           556:        * mpn/alpha/ev6/nails/addmul_3.asm: New file.
        !           557:        * mpn/alpha/ev6/nails/addmul_4.asm: New file.
        !           558:
        !           559:        * mpn/generic/dump.c: Rewrite and nailify.
        !           560:
        !           561: 2002-05-16  Kevin Ryde  <kevin@swox.se>
        !           562:
        !           563:        * mpfr/Makefile.am (EXTRA_DIST): Add BUGS file.
        !           564:
        !           565: 2002-05-15  Torbjorn Granlund  <tege@swox.com>
        !           566:
        !           567:        * configure.in (*-cray-unicos*): Remove -hscalar0, add -hnofastmd
        !           568:        as workaround for compiler bug.
        !           569:        (mips64*-*-*): Pass just -O1 to cc, to work around compiler bug.
        !           570:
        !           571: 2002-05-14  Torbjorn Granlund  <tege@swox.com>
        !           572:
        !           573:        * configure.in (*-cray-unicos*): Pass -hscalar0 to work around
        !           574:        compiler bug for mpz/import.c.
        !           575:
        !           576: 2002-05-11  Torbjorn Granlund  <tege@swox.com>
        !           577:
        !           578:        * mpz/import.c: Cast pointer via `unsigned long' when checking
        !           579:        alignment to avoid compiler warnings.
        !           580:
        !           581:        * mpn/generic/rootrem.c: Adjust allocation of qp temporary area.
        !           582:
        !           583: 2002-05-09  Kevin Ryde  <kevin@swox.se>
        !           584:
        !           585:        * mpz/import.c: Corrections to size store, special case tests, and
        !           586:        general case ACCUMULATE.
        !           587:        * tests/mpz/t-import.c, tests/mpz/t-export.c: More test data.
        !           588:
        !           589: 2002-05-09  Torbjorn Granlund  <tege@swox.com>
        !           590:
        !           591:        * mpn/generic/rootrem.c: Use temp space for root, copy value in place
        !           592:        before returning.
        !           593:        * mpz/root.c: Don't allocate extra limb for root value.
        !           594:        * mpz/perfpow.c: Undo last change.
        !           595:
        !           596: 2002-05-08  Torbjorn Granlund  <tege@swox.com>
        !           597:
        !           598:        * gmp-impl.h (powerpc BSWAP_LIMB_FETCH): Rename local variable to make
        !           599:        it not clash with caller.
        !           600:
        !           601:        * mpn/generic/rootrem.c: New file.
        !           602:        * configure.in (gmp_mpn_functions): Add rootrem and pow_1.
        !           603:        * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add rootrem.c and
        !           604:        pow_1.c
        !           605:        * gmp-impl.h (mpn_rootrem): Add declaration.
        !           606:        * mpz/perfpow.c: Amend allocations for mpn_rootrem requirements.
        !           607:        * mpz/root.c: Rewrite to use mpn_rootrem.
        !           608:
        !           609: 2002-05-08  Kevin Ryde  <kevin@swox.se>
        !           610:
        !           611:        * gmp-impl.h (MUL_KARATSUBA_THRESHOLD etc): Remove forced nail values.
        !           612:
        !           613:        * mpf/fits_u.h, mpf/fits_s.h, tests/mpf/t-fits.c: Ignore fraction
        !           614:        part, making the code match the documentation.
        !           615:
        !           616:        * gmpxx.h (struct __gmp_binary_minus): Use mpz_ui_sub.
        !           617:
        !           618: 2002-05-07  Kevin Ryde  <kevin@swox.se>
        !           619:
        !           620:        * mpn/powerpc32/README: New file.
        !           621:
        !           622:        * mpz/root.c: Use unsigned long with mpz_sub_ui not mp_limb_t.
        !           623:
        !           624:        * tune/README: Misc updates including sparc32/v9 smoothness, low res
        !           625:        timebase, and mpn_add_n operand overlaps.
        !           626:        * tune/many.pl: Add udiv.asm support.
        !           627:
        !           628:        * gmp.texi (Build Options): A couple of --build better as --host.
        !           629:        (Known Build Problems, Notes for Package Builds): Add DESTDIR problem.
        !           630:        (Compatibility with older versions): Compatible with 4.x versions.
        !           631:        (Converting Integers): Remove mpz_get_ui + mpz_tdiv_q_2exp decompose.
        !           632:        (Integer Import and Export): New section.
        !           633:        (Miscellaneous Integer Functions): Clarify mpz_sizeinbase returns 1
        !           634:        for operand of 0.
        !           635:        (Language Bindings): Add GNU Pascal.
        !           636:        (Low-level Functions): Add GMP_NUMB_MAX.
        !           637:
        !           638:        * tests/mpz/t-import.c, tests/mpz/t-export.c, tests/mpz/t-get_d.c:
        !           639:        New tests.
        !           640:        * tests/mpz/Makefile.am: Add them.
        !           641:
        !           642:        * mpz/import.c, mpz/export.c: New files.
        !           643:        * Makefile.am, mpz/Makefile.am, gmp-h.in: Add them.
        !           644:
        !           645:        * gmp-h.in, gmp-impl.h (GMP_NUMB_MAX): Move to gmp.h.
        !           646:        * gmp-impl.h (CNST_LIMB): Add cast to mp_limb_t to ensure unsigned.
        !           647:        (CRAY_Pragma, MPN_REVERSE, MPN_BSWAP, MPN_BSWAP_REVERSE,
        !           648:        ASSERT_ALWAYS_LIMB, ASSERT_ALWAYS_MPN): New macros.
        !           649:        (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS_MPN.
        !           650:
        !           651: 2002-05-07  Torbjorn Granlund  <tege@swox.com>
        !           652:
        !           653:        * mpz/aors_ui.h: Nailify.
        !           654:
        !           655:        * tests/mpz/t-addsub.c: New file.
        !           656:        * tests/mpz/Makefile.am (check_PROGRAMS): Add t-addsub.
        !           657:
        !           658:        * mpz/ui_sub.c: New file.
        !           659:        * mpz/Makefile.am (libmpz_la_SOURCES): Add ui_sub.c.
        !           660:        * Makefile.am (MPZ_OBJECTS): Ditto.
        !           661:        * gmp-h.in (mpz_ui_sub): Add declaration.
        !           662:
        !           663:        * gmp-impl.h (MPZ_REALLOC): Rewrite to allow the use of _mpz_realloc
        !           664:        return value.
        !           665:
        !           666:        * gmp-h.in (mpn_pow_1): Add declaration.
        !           667:
        !           668:        * mpn/generic/pow_1.c: Handle exp <= 1.  Reverse rp/tp parity scheme
        !           669:        for bn == 1 arm.
        !           670:
        !           671:        * Rename MP_LIMB_T_HIGHBIT => GMP_LIMB_HIGHBIT.
        !           672:
        !           673: 2002-05-06  Torbjorn Granlund  <tege@swox.com>
        !           674:
        !           675:        * demos/pexpr.c (main): Don't call mpz_sizeinbase with negative base.
        !           676:
        !           677:        * randraw.c (lc): Remove an unused variable.
        !           678:
        !           679:        * mpn/generic/get_str.c: Clarify an algorithm description.
        !           680:
        !           681:        * tests/mpf/t-trunc.c: Nailify.
        !           682:        * tests/mpf/t-set_si.c: Disable for nails.
        !           683:
        !           684:        * mpf/cmp_si.c: Nailify.
        !           685:        * mpf/cmp_ui.c: Nailify.
        !           686:        * mpf/div.c: Nailify.
        !           687:        * mpf/div_2exp.c: Nailify.
        !           688:        * mpf/div_ui.c: Nailify.
        !           689:        * mpf/eq.c: Nailify.
        !           690:        * mpf/get_d.c: Nailify.
        !           691:        * mpf/get_d_2exp.c: Nailify.
        !           692:        * mpf/get_si.c: Nailify.
        !           693:        * mpf/get_str.c: Nailify.
        !           694:        * mpf/get_ui.c: Nailify.
        !           695:        * mpf/mul_2exp.c: Nailify.
        !           696:        * mpf/random2.c: Nailify.
        !           697:        * mpf/set_q.c: Nailify.
        !           698:        * mpf/set_si.c: Nailify.
        !           699:        * mpf/set_str.c: Nailify.
        !           700:        * mpf/set_ui.c: Nailify.
        !           701:        * mpf/sub.c: Nailify.
        !           702:        * mpf/ui_div.c: Nailify.
        !           703:        * mpf/ui_sub.c: Nailify.
        !           704:        * mpf/urandomb.c: Nailify.
        !           705:
        !           706:        * gmp-impl.h (__GMPF_BITS_TO_PREC, __GMPF_PREC_TO_BITS): Nailify.
        !           707:
        !           708:        * mpz/get_si.c: Misc variable name changes.
        !           709:
        !           710:        * mpf/fits_u.h: Rewrite - nailify.
        !           711:        * mpf/fits_s.h: Likewise.
        !           712:
        !           713:        * mpz/mod.c: Disambiguate if-statament with extra {}.
        !           714:
        !           715:        * mpf/int_p.c: Fix type of size variables.
        !           716:        * mpf/get_ui: Likewise.
        !           717:        * mpf/get_si: Likewise.
        !           718:        * mpq/equal.c: Likewise.
        !           719:        * mpq/get_d.c: Likewise.
        !           720:        * mpz/cmp_d.c: Likewise.
        !           721:        * mpz/cmpabs_d.c: Likewise.
        !           722:        * mpz/divis_2exp.c: Likewise.
        !           723:        * mpz/kronuz.c: Likewise.
        !           724:        * mpz/kronzu.c: Likewise.
        !           725:        * mpz/kronzs.c: Likewise.
        !           726:        * mpz/kronsz.c: Likewise.
        !           727:        * mpz/scan0.c: Likewise.
        !           728:        * mpz/scan1.c: Likewise.
        !           729:        * mpz/tstbit.c: Likewise.
        !           730:        * mpz/cong_2exp.c: Likewise.
        !           731:        * mpz/divis.c: Likewise.
        !           732:
        !           733: 2002-05-04  Torbjorn Granlund  <tege@swox.com>
        !           734:
        !           735:        * mpn/generic/gcd.c: Additional nailify changes.
        !           736:
        !           737: 2002-05-04  Kevin Ryde  <kevin@swox.se>
        !           738:
        !           739:        * gmp-h.in (__GNU_MP_VERSION): Set to 4.1.
        !           740:        * Makefile.am (-version-info): Bump for new release.
        !           741:
        !           742: 2002-04-30  Torbjorn Granlund  <tege@swox.com>
        !           743:
        !           744:        * mpn/generic/divrem_1.c: Additional nailify changes.
        !           745:        * mpn/generic/mod_1.c: Likewise.
        !           746:
        !           747:        * tests/mpq/t-get_d.c: Print floats with all 16 digits.
        !           748:
        !           749:        * mpq/get_d.c: Nailify.
        !           750:
        !           751:        * tests/mpq/t-set_f.c: Disable for nails.
        !           752:
        !           753:        * mpz/get_d.c: Nailify.
        !           754:
        !           755:        * gmp-impl.h (LIMBS_PER_DOUBLE, MP_BASE_AS_DOUBLE): Nailify.
        !           756:
        !           757:        * gmp-h.in (__GMPZ_FITS_UTYPE_P): Cast maxval to before shifting it.
        !           758:
        !           759:        * extract-dbl.c: Nailify.
        !           760:
        !           761: 2002-04-29  Torbjorn Granlund  <tege@swox.com>
        !           762:
        !           763:        * mpq/md_2exp.c (mord_2exp): Nailify.
        !           764:
        !           765:        * mpq/cmp_ui.c: Nailify.
        !           766:
        !           767:        * mpq/cmp.c (mpq_cmp): Nailify.
        !           768:
        !           769:        * mpn/generic/gcd.c: Nailify.  GNUify code layout.
        !           770:
        !           771:        * mpn/generic/gcdext.c: Nailify.  Misc changes.
        !           772:
        !           773:        * tests/mpz/t-sqrtrem.c: Let argv[1] mean # of repetitions.
        !           774:        * tests/mpz/t-gcd.c: Likewise.
        !           775:
        !           776:        * mpz/gcd.c: Nailify.
        !           777:
        !           778:        * mpn/generic/random.c: Nailify.
        !           779:
        !           780:        * gmp-impl.h (modlimb_invert): Nailify.
        !           781:
        !           782: 2002-04-27  Torbjorn Granlund  <tege@swox.com>
        !           783:
        !           784:        * mpn/generic/gcdext.c (div2): Remove qh parameter.
        !           785:        (mpn_gcdext): Streamline double-limb code.
        !           786:        Move GCDEXT_THRESHOLD check to after initial division.
        !           787:
        !           788: 2002-04-27  Kevin Ryde  <kevin@swox.se>
        !           789:
        !           790:        * gmp-impl.h (JACOBI_MOD_OR_MODEXACT_1_ODD): Allow for odd
        !           791:        GMP_NUMB_BITS.
        !           792:
        !           793:        * tune/time.c (sgi_works_p): Allow for 64-bit counter, and fix
        !           794:        SGI_CYCLECNTR_SIZE handling.
        !           795:
        !           796:        * demos/expr/exprfr.c: Add nan and inf constants.
        !           797:        * demos/expr/t-expr.c: Exercise them.
        !           798:
        !           799: 2002-04-26  Torbjorn Granlund  <tege@swox.com>
        !           800:
        !           801:        * mpz/cmp_ui.c: Fix overflow conditions for nails.
        !           802:
        !           803:        * gmp-h.in (mpz_get_ui): Fix typo from last change.
        !           804:
        !           805:        * mpz/n_pow_ui.c: Adjust allocation for nails.
        !           806:        (GMP_NUMB_HALFMAX): Renamed from MP_LIMB_T_HALFMAX.
        !           807:        Fix umul_ppmm invocation for for nails.
        !           808:
        !           809: 2002-04-24  Torbjorn Granlund  <tege@swox.com>
        !           810:
        !           811:        * mpn/generic/gcdext.c: Simplify by using mpn_tdiv_qr instead of
        !           812:        mpn_divmod.
        !           813:
        !           814: 2002-04-24  Kevin Ryde  <kevin@swox.se>
        !           815:
        !           816:        * configure.in (*-*-cygwin*): Give a sensible default command line
        !           817:        limit, to avoid blowups reported by Jim Fougeron on windows 9x.
        !           818:        (--enable-nails): Make the default 2, since mp_bases has data for that.
        !           819:
        !           820:        * mpfr/mpfr-math.h (__mpfr_nan): Use a "double" for the bytes, to
        !           821:        avoid a mis-conversion on alpha gcc 3.0.2.
        !           822:        (_MPFR_INFP_BYTES, _MPFR_INFM_BYTES): Should be a zero mantissa.
        !           823:
        !           824: 2002-04-23  Torbjorn Granlund  <tege@swox.com>
        !           825:
        !           826:        * mpz/dive_ui.c: Fix typo.
        !           827:
        !           828:        * mpz/fits_s.h: Rewrite.
        !           829:
        !           830:        * mpz/jacobi.c: Nailify.
        !           831:        * mpz/kronuz.c: Additional nailify changes.
        !           832:        * mpz/kronsz.c: Likewise.
        !           833:
        !           834: 2002-04-23  Kevin Ryde  <kevin@swox.se>
        !           835:
        !           836:        * demos/expr/Makefile.am (LDADD): Add $(LIBM) for the benefit of mpfr.
        !           837:
        !           838:        * mpz/divis_ui.c, mpz/cong_ui.c: Nailify.
        !           839:        * mpn/generic/bdivmod.c, mpz/divexact.c, mpz/dive_ui.c: Nailify.
        !           840:        * mpn/generic/sb_divrem_mn.c, mpn/generic/divrem.c,
        !           841:        mpn/generic/divrem_2.c: Nailify ASSERTs.
        !           842:        * mpn/x86/k6/mmx/logops_n.asm, mpn/x86/k6/mmx/com_n.asm: Nailify.
        !           843:        * mpz/inp_raw.c, mpz/out_raw.c: Nailify.
        !           844:        * mpz/kronzu.c, mpz/kronuz.c, mpz/kronzs.c, mpz/kronsz.c: Nailify.
        !           845:        * mpn/generic/divis.c, mpz/cong.c, mpz/cong_2exp.c: Nailify.
        !           846:        * gmp-impl.h (NEG_MOD): Nailify.
        !           847:
        !           848:        * gmp-impl.h, mpn/mp_bases.c: Add back GMP_NUMB_BITS==30 bases data.
        !           849:
        !           850:        * mpfr/get_d.c: Patch from Paul to avoid problem with constant folding
        !           851:        in gcc on OSF.
        !           852:
        !           853:        * mpn/lisp/gmpasm-mode.el: Remove mention of defunct LF macro.
        !           854:
        !           855: 2002-04-22  Torbjorn Granlund  <tege@swox.com>
        !           856:
        !           857:        * demos/pexpr.c: Handle "binomial" operator.
        !           858:
        !           859:        * mpz/cmp_ui.c: Move assignments of `up' out of conditionals.
        !           860:
        !           861:        * mpn/generic/gcdext.c: Fix fencepost error in STAT code.
        !           862:
        !           863:        * gmp-impl.h (mpn_com_n): Nailify.
        !           864:
        !           865:        * tests/mpz/t-cdiv_ui.c: New file.
        !           866:        * tests/mpz/Makefile.am (check_PROGRAMS): Add t-cdiv_ui.
        !           867:        * mpz/cdiv_qr_ui.c: Nailify.
        !           868:        * mpz/cdiv_q_ui.c: Nailify.
        !           869:        * mpz/cdiv_r_ui.c: Nailify.
        !           870:        * mpz/cdiv_ui.c: Nailify.
        !           871:
        !           872:        * tests/misc/t-printf.c (CHECK_N): Add cast to allow `char' to be an
        !           873:        unsigned type.
        !           874:        * tests/misc/t-scanf.c: Likewise.
        !           875:
        !           876:        * mpz/mul_i.h: Rework nails code to handle parameter overlap.
        !           877:
        !           878:        * tests/mpz/t-set_f.c: Disable for nails.
        !           879:
        !           880: 2002-04-21  Torbjorn Granlund  <tege@swox.com>
        !           881:
        !           882:        * mpz/set_si.c: Add cast to support LONG_LONG_LIMB.
        !           883:        * mpz/iset_si.c: Likewise.
        !           884:
        !           885:        * mpz/bin_ui.c: Nailify.
        !           886:        * mpz/bin_uiui.c: Nailify.
        !           887:
        !           888:        * mpz/cmpabs_ui.c: Nailify.
        !           889:
        !           890:        * tests/mpz/t-aorsmul.c: Nailify.
        !           891:        * mpz/aorsmul_i.c (mpz_addmul_ui, mpz_submul_ui): Nailify better.
        !           892:
        !           893: 2002-04-20  Torbjorn Granlund  <tege@swox.com>
        !           894:
        !           895:        * tests/mpz/t-fdiv_ui.c: Check mpz_fdiv_ui.
        !           896:        * tests/mpz/t-tdiv_ui.c: Check mpz_tdiv_ui.
        !           897:
        !           898:        * mpz/tdiv_ui.c: Rewrite nails code.
        !           899:        * mpz/fdiv_ui.c: Nailify.
        !           900:
        !           901:        * tests/mpz/t-tdiv_ui.c: Check returned remainders.
        !           902:        * tests/mpz/t-fdiv_ui.c: Merge in recent t-tdiv_ui changes.
        !           903:
        !           904:        * mpz/tdiv_q_ui.c: Remove spurious TMP_* calls.
        !           905:
        !           906:        * mpz/fdiv_qr_ui.c: Nailify.
        !           907:        * mpz/fdiv_q_ui.c: Nailify.
        !           908:        * mpz/fdiv_r_ui.c: Nailify.
        !           909:
        !           910:        * mpz/get_si.c: Misc nailify changes to shut up compiler warnings.
        !           911:
        !           912:        * mpz/ui_pow_ui.c: Fix typo in last change.
        !           913:
        !           914: 2002-04-20  Kevin Ryde  <kevin@swox.se>
        !           915:
        !           916:        * tests/misc/t-printf.c, tests/misc/t-scanf.c: Check all %n types.
        !           917:
        !           918:        * mpn/x86/k7/mmx/divrem_1.asm, mpn/x86/p6/mmx/divrem_1.asm
        !           919:        (mpn_preinv_divrem_1): New entrypoint.
        !           920:        (mpn_divrem_1): Avoid a branch when testing high<divisor.
        !           921:        * mpn/asm-defs.m4: Add define_mpn(preinv_divrem_1).
        !           922:        * configure.in: Allow divrem_1.asm to provide mpn_preinv_divrem_1.
        !           923:
        !           924:        * gmp-impl.h [nails]: Add #undefs of MUL_KARATSUBA_THRESHOLD etc, to
        !           925:        override CPU gmp-mparam.h.  Remove JACOBI_BASE_METHOD override since
        !           926:        it's nails-neutral.
        !           927:
        !           928:        * tests/mpn/t-mp_bases.c: New file.
        !           929:        * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
        !           930:        * tests/t-constants.c: Move MP_BASES constants checks to it.
        !           931:
        !           932:        * mpn/mp_bases.c: Fix big_base_inverted values for nails.
        !           933:        * gmp-impl.h (MP_BASES_BIG_BASE_INVERTED_10,
        !           934:        MP_BASES_NORMALIZATION_STEPS_10): Fix nails values.
        !           935:        (MP_BASES_*): Remove GMP_NUMB_BITS == 30 data.
        !           936:
        !           937:        * mpn/x86/pentium/com_n.asm, mpn/x86/pentium/logops_n.asm: Add
        !           938:        NAILS_SUPPORT indicators.
        !           939:
        !           940:        * configure.in: Grep for NAILS_SUPPORT in cpu-specific code, and look
        !           941:        in "nails" subdirectories, print path used.
        !           942:        * mpn/asm-defs.m4 (NAILS_SUPPORT): New macro.
        !           943:
        !           944:        * mpfr/mpfr-test.h: Include config.h, for the benefit of test programs
        !           945:        not using gmp-impl.h.
        !           946:
        !           947: 2002-04-19  Torbjorn Granlund  <tege@swox.com>
        !           948:
        !           949:        * tests/mpz/t-scan.c: Nailify.
        !           950:
        !           951:        * mpz/tdiv_qr_ui.c: Nailify.
        !           952:        * mpz/tdiv_q_ui.c: Nailify.
        !           953:        * mpz/tdiv_r_ui.c: Nailify.
        !           954:        * mpz/tdiv_ui.c: Nailify.
        !           955:
        !           956:        * mpz/cmp_ui.c: Nailify.
        !           957:
        !           958:        * mpz/ui_pow_ui.c: Misc nailify changes to shut up compiler warnings.
        !           959:
        !           960:        * mpz/scan0.c: Nailify.
        !           961:        * mpz/scan1.c: Nailify.
        !           962:
        !           963:        * tests/mpz/t-sizeinbase.c (mpz_fake_bits): Nailify.
        !           964:
        !           965: 2002-04-18  Torbjorn Granlund  <tege@swox.com>
        !           966:
        !           967:        * mpz/aorsmul_i.c: Nailify.
        !           968:
        !           969:        * mpz/cmp_si.c: Nailify (botched).
        !           970:
        !           971:        * mpz/ui_pow_ui.c: Nailify.
        !           972:
        !           973:        * gmp-h.in (__GMPZ_FITS_UTYPE_P): Nailify.
        !           974:
        !           975:        * mpz/fits_s.h: Nailify.
        !           976:
        !           977:        * tests/mpz/bit.c (check_tstbit): Nailify.
        !           978:
        !           979:        From Paul Zimmermann:
        !           980:        * mpn/generic/sqrtrem.c: Nailify.
        !           981:
        !           982:        * mpz/n_pow_ui.c: Nailify.
        !           983:
        !           984:        * mpz/cfdiv_r_2exp.c: Nailify.
        !           985:
        !           986:        * randraw.c (lc): Undo: Let mpn_rshift put result in place to avoid
        !           987:        extra MPN_COPY.
        !           988:
        !           989: 2002-04-17  Torbjorn Granlund  <tege@swox.com>
        !           990:
        !           991:        * mpz/clrbit.c: Add two GMP_NUMB_MASK masks after addition.
        !           992:
        !           993:        * mpn/generic/random2.c (LOGBITS_PER_BLOCK): Decrease to 4.
        !           994:
        !           995:        * gmp-impl.h (nail DIV_DC_THRESHOLD): Decrease to 50 to allow fast
        !           996:        division.
        !           997:
        !           998:        * mpn/generic/random2.c: Nailify.
        !           999:
        !          1000:        * mpz/fac_ui.c: Nailify.
        !          1001:
        !          1002:        * mpz/mul_i.h: #if ... #endif code block to shut up gcc warnings.
        !          1003:
        !          1004:        * mpn/generic/sqrtrem.c: Adopt to GNU coding standards.
        !          1005:        (mpn_dc_sqrtrem): New name for mpn_dq_sqrtrem.
        !          1006:        Partial nailification.
        !          1007:
        !          1008:        * configure.in: As a temporary hack, clear extra_functions for nails
        !          1009:        builds.
        !          1010:
        !          1011:        * gmp-h.in (mpz_get_ui): #if ... #endif else code block to shut up gcc
        !          1012:        warnings.
        !          1013:
        !          1014: 2002-04-17  Kevin Ryde  <kevin@swox.se>
        !          1015:
        !          1016:        * texinfo.tex: Update to 2002-03-26.08 per texinfo 4.2.
        !          1017:        * gmp.texi: Must have @top in @ifnottex (or @contents doesn't come out
        !          1018:        in one run).
        !          1019:
        !          1020:        * mpn/generic/scan0.c, mpn/generic/scan1.c: Nailify.
        !          1021:
        !          1022:        * tests/mpn/t-scan.c: New file.
        !          1023:        * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
        !          1024:
        !          1025:        * tests/refmpn.c, tests/tests.h (refmpn_tstbit): Use unsigned long for
        !          1026:        bit index.
        !          1027:        (refmpn_setbit, refmpn_clrbit, refmpn_scan0, refmpn_scan1): New
        !          1028:        functions.
        !          1029:
        !          1030:        * mpfr/cmp_ui.c (mpfr_cmp_si_2exp): Fix b==0 i!=0 case.
        !          1031:
        !          1032: 2002-04-17  Gerardo Ballabio <gerardo.ballabio@unimib.it>
        !          1033:
        !          1034:        * gmpxx.h, mpfrxx.h: Remove mpfr_class bool combinations, remove
        !          1035:        mpfr_class::get_str2, use mp_rnd_t for rounding modes, use
        !          1036:        8*sizeof(double) for mpfr_t's holding doubles.
        !          1037:
        !          1038: 2002-04-17  Torbjorn Granlund  <tege@swox.com>
        !          1039:
        !          1040:        * mpz/powm.c: Nailify.
        !          1041:        * mpz/powm_ui.c: Nailify.
        !          1042:
        !          1043: 2002-04-16  Torbjorn Granlund  <tege@swox.com>
        !          1044:
        !          1045:        * mpz/hamdist.c: Nailify.
        !          1046:        * tests/misc.c (urandom): Nailify.
        !          1047:
        !          1048:        * mpz/get_si.c: Nailify.
        !          1049:        * gmp-h.in (mpz_get_ui): Nailify.  Streamline (and probably upset
        !          1050:        memory checkers).
        !          1051:
        !          1052:        * gmp-impl.h (mp_bases[10] values): Add versions for GMP_NUMB_BITS
        !          1053:        being 28, 60, and 63.
        !          1054:        * mpn/mp_bases.c: Add tables for GMP_NUMB_BITS being 28, 60, and 63.
        !          1055:
        !          1056:        * mpz/iset_si.c: Nailify.
        !          1057:        * mpz/iset_ui.c: Nailify
        !          1058:
        !          1059:        * tests/mpz/convert.c (main): Print test number in error message.
        !          1060:
        !          1061:        * mpn/generic/get_str.c (mpn_sb_get_str): Shift up `frac' into nails
        !          1062:        field after bignum division.
        !          1063:
        !          1064: 2002-04-16  Kevin Ryde  <kevin@swox.se>
        !          1065:
        !          1066:        * gmp-h.in, gmp-impl.h (GMP_NAIL_MASK): Move to gmp.h.
        !          1067:
        !          1068:        * gmp.texi: Use @documentdescription and @copying, per texinfo 4.2.
        !          1069:        (Low-level Functions): Clarify mpn_gcd overlap requirements, rewrite
        !          1070:        mpn_set_str description, add nails section.
        !          1071:        (C++ Interface General): Remove bool from types that mix with classes.
        !          1072:        (Language Bindings): Add STklos, GNU Smalltalk, Regina.
        !          1073:        (Binary to Radix, Radix to Binary): Describe new code.
        !          1074:        (Assembler Cache Handling): More notes, mostly by Torbjorn.
        !          1075:
        !          1076:        * macos/configure (%vars): Remove __GMP from substitutions, per change
        !          1077:        to main configure.
        !          1078:
        !          1079:        * mpn/generic/dive_1.c: Nailify.
        !          1080:        * mpn/generic/mode1o.c: Nailify, remove bogus ASSERT in commented-out
        !          1081:        alternate implementation.
        !          1082:        * gmp-impl.h (SUBC_LIMB): New macro.
        !          1083:
        !          1084:        * tests/devel/try.c (validate_divexact_1): Correction to compare.
        !          1085:        (udiv_qrnnd): New testing.
        !          1086:        (SHIFT_LIMIT): Nailify.
        !          1087:        (-b): New option, remove spurious "H" from getopt string.
        !          1088:
        !          1089:        * mpz/clrbit.c: Nailify.
        !          1090:        * tests/mpz/t-hamdist.c: Nailify.
        !          1091:        * gmp-impl.h (MPN_FIB2_SIZE): Nailify.
        !          1092:        (PP): Nailify conditionals.
        !          1093:        * tests/mpz/t-fib_ui.c (MPZ_FIB_SIZE_FLOAT): Nailify.
        !          1094:
        !          1095:        * configure.in, acinclude.m4: Establish GMP_NAIL_BITS and
        !          1096:        GMP_LIMB_BITS for gmp-h.in configure tests.
        !          1097:
        !          1098:        * mpfr/*, configure.in: Update to final mpfr 2.0.1.
        !          1099:        * mpfr/acinclude.m4 (MPFR_CONFIGS): Use $host, not uname stuff.
        !          1100:        * mpfr/tests/tout_str.c: Patch from Paul for denorm fprintf tests.
        !          1101:
        !          1102: 2002-04-15  Torbjorn Granlund  <tege@swox.com>
        !          1103:
        !          1104:        * mpn/generic/divrem_1.c (EXTRACT): Remove.
        !          1105:
        !          1106:        * tests/mpz/t-tdiv_ui.c (dump_abort): Accept argument for error string.
        !          1107:
        !          1108:        * mpz/rrandomb.c: Nailify.  Needs further work.
        !          1109:
        !          1110:        * mpn/generic/mod_1.c: Nailify.
        !          1111:
        !          1112:        * gmp-impl.h: Set various *_THRESHOLD values to be used for nails to
        !          1113:        avoid not yet qualified algorithms.
        !          1114:        (MPZ_CHECK_FORMAT): Check that nail part is zero.
        !          1115:
        !          1116:        * tests/mpz/t-mul.c (main): Test squaring even for huge operands.
        !          1117:        (base_mul): Nailify.
        !          1118:        (dump_abort): Accept argument for error string.  Print product
        !          1119:        difference.
        !          1120:
        !          1121:        * mpn/generic/set_str.c: Nailify.
        !          1122:
        !          1123:        * gmp-h.in (__GMPN_ADD, __GMPN_SUB): Nailify.
        !          1124:
        !          1125: 2002-04-14  Torbjorn Granlund  <tege@swox.com>
        !          1126:
        !          1127:        * randraw.c (lc): Return non-nonsense return value for seed=0 case.
        !          1128:        Check for m2exp being non-zero early; remove all other tests of m2exp.
        !          1129:        Remove redundant MPN_ZERO call.
        !          1130:        Let mpn_rshift put result in place to avoid extra MPN_COPY.
        !          1131:        Remove confusing comment before function `lc' describing BBS algorithm.
        !          1132:        Misc simplification and cleanups.
        !          1133:        Nailify.  Needs further work.
        !          1134:
        !          1135:        * mpz/set_si.c: Nailify.
        !          1136:        * mpz/set_ui.c: Nailify.
        !          1137:        * mpz/mul_i.h: Nailify.
        !          1138:
        !          1139:        * tests/mpz/t-mul_i.c: Actually test _ui routines.  Add some more test
        !          1140:        values.
        !          1141:
        !          1142:        * mpn/generic/mul_n.c: Finish nailifying toom3 code.
        !          1143:
        !          1144: 2002-04-13  Kevin Ryde  <kevin@swox.se>
        !          1145:
        !          1146:        * mpfr/*: Update to another new mpfr 2.0.1.
        !          1147:        * configure.in, Makefile.am, mpfr/Makefile.am, mpfr/tests/Makefile.am:
        !          1148:        Use MPFR_CONFIGS macro, establish separate MPFR_CFLAGS for mpfr build.
        !          1149:
        !          1150:        * mpfr/tests/Makefile.am: Correction to convenience rule for libmpfr.a.
        !          1151:
        !          1152: 2002-04-11  Kevin Ryde  <kevin@swox.se>
        !          1153:
        !          1154:        * mpfr/set_q.c: gmp-impl.h before mpfr.h to avoid _PROTO redefine.
        !          1155:
        !          1156:        * mpfr/*, configure.in: Update to new mpfr 2.0.1.
        !          1157:
        !          1158:        * tests/refmpn.c (refmpn_udiv_qrnnd, refmpn_divmod_1c_workaround):
        !          1159:        Fixes for nails.
        !          1160:
        !          1161:        * tests/t-constants.c (MODLIMB_INVERSE_3): Nailify tests.
        !          1162:        (MP_BASES_BIG_BASE_INVERTED_10, MP_BASES_NORMALIZATION_STEPS_10): Only
        !          1163:        check these under USE_PREINV_DIVREM_1.
        !          1164:        * tests/t-modlinv.c: Nailify tests.
        !          1165:
        !          1166: 2002-04-11  Gerardo Ballabio <gerardo.ballabio@unimib.it>
        !          1167:
        !          1168:        * gmpxx.h: Remove bool combinations, remove mpf_class::get_str2, only
        !          1169:        need <iosfwd> now.
        !          1170:
        !          1171: 2002-04-11  Torbjorn Granlund  <tege@swox.com>
        !          1172:
        !          1173:        * mpn/generic/diveby3.c: Nailify.
        !          1174:        * gmp-impl.h (MODLIMB_INVERSE_3): Nailify.
        !          1175:
        !          1176:        * mpn/generic/mul_n.c: Nailify Toom3 code.
        !          1177:
        !          1178: 2002-04-10  Kevin Ryde  <kevin@swox.se>
        !          1179:
        !          1180:        * gmp-impl.h (MPN_KARA_MUL_N_MINSIZE, MPN_KARA_SQR_N_MINSIZE): Set to
        !          1181:        3, as needed by nails case.
        !          1182:
        !          1183:        * mpn/generic/addmul_1.c, mpn/generic/submul_1.c [nails]: Fix vl
        !          1184:        assert, add rp,n and up,n asserts.
        !          1185:
        !          1186:        * mpfr/Makefile.am: Add new mpfr-math.h, install mpf2mpfr.h.
        !          1187:
        !          1188: 2002-04-10  Torbjorn Granlund  <tege@swox.com>
        !          1189:
        !          1190:        * mpn/generic/divrem_1.c: Nailify.  Update mp_size_t variables to use
        !          1191:        `n' suffix instead of `size' suffix.
        !          1192:        * mpn/generic/divrem_2.c: Likewise.
        !          1193:        * mpn/generic/sb_divrem_mn.c: Nailify.
        !          1194:        * mpn/generic/tdiv_qr.c: Nailify.
        !          1195:        (SHL): Remove silly macro.
        !          1196:
        !          1197:        * mpn/generic/mul_n.c (mpn_kara_mul_n): Replace open-coded increment by
        !          1198:        mpn_incr_u call.  Handle nails in ws[n] increment.
        !          1199:        * mpn/generic/mul_n.c (mpn_kara_sqr_n): Likewise.
        !          1200:
        !          1201:        * gmp-h.in (GMP_NUMB_MASK): New #define.
        !          1202:        (__GMPN_AORS_1): Add version for nails.
        !          1203:
        !          1204:        * gmp-impl.h (GMP_NUMB_MASK): Comment out, now in gmp.h.
        !          1205:        (mpn_incr_u): Don't assume `incr' is non-zero.
        !          1206:        (mpn_decr_u): Similarly.
        !          1207:
        !          1208: 2002-04-09  Kevin Ryde  <kevin@swox.se>
        !          1209:
        !          1210:        * mpfr/*, configure.in: Update to mpfr 2.0.1.
        !          1211:
        !          1212:        * tests/refmpn.c (refmpn_mul_1c, lshift_make): Corrections for nails.
        !          1213:        * tssts/refmpn.c, tests/tests.h (refmpn_cmp_allowzero): New function.
        !          1214:
        !          1215:        * mpn/generic/mul_1.c [nails]: Fix vl assert, add {up,n} assert.
        !          1216:
        !          1217:        * mpn/pa32/hppa1_1/pa7100/addmul_1.asm,
        !          1218:        mpn/pa32/hppa1_1/pa7100/submul_1.asm: Rename "size" define, to avoid
        !          1219:        ELF .size directive.  Reported by LaMont Jones.
        !          1220:
        !          1221:        * tests/mpz/t-set_si.c: Add nails support.
        !          1222:
        !          1223: 2002-04-05  Torbjorn Granlund  <tege@swox.com>
        !          1224:
        !          1225:        * gmp-impl.h: Replace nail mpn_incr_u, mpn_decr_u with faster versions.
        !          1226:        (mp_bases[10] values): Check GMP_NUMB_BITS instead of BITS_PER_MP_LIMB.
        !          1227:        Add GMP_NUMB_BITS == 30 version.
        !          1228:        (__gmp_doprnt, etc): Remove parameter names.
        !          1229:
        !          1230:        * mpn/generic/mul_n.c: Nailify Karatsuba code.
        !          1231:        * mpn/generic/get_str.c: Nailify.
        !          1232:        * mpn/generic/sqr_basecase.c: Nailify.
        !          1233:        * mpn/generic/lshift.c: Nailify.
        !          1234:        * mpn/generic/rshift.c: Likewise.
        !          1235:        * mpn/generic/add_n.c: Nailify.  Revamp non-nail code.
        !          1236:        * mpn/generic/sub_n.c: Likewise.
        !          1237:        * mpn/generic/mul_1.c: Likewise.
        !          1238:        * mpn/generic/addmul_1.c: Likewise.
        !          1239:        * mpn/generic/submul_1.c: Likewise.
        !          1240:
        !          1241: 2002-04-02  Kevin Ryde  <kevin@swox.se>
        !          1242:
        !          1243:        * gmp-impl.h (BSWAP_LIMB_FETCH, BSWAP_LIMB_STORE) [powerpc]:
        !          1244:        Corrections to constraints, and restrict to bigendian.
        !          1245:
        !          1246: 2002-03-31  Kevin Ryde  <kevin@swox.se>
        !          1247:
        !          1248:        * tests/mpz/dive.c: Better diagnostics.
        !          1249:
        !          1250:        * tests/devel/try.c (mpn_get_str, mpn_umul_ppmm_r): New tests.
        !          1251:
        !          1252:        * tests/misc.c, tests/tests.h (byte_diff_lowest, byte_diff_highest):
        !          1253:        New functions.
        !          1254:
        !          1255:        * tests/t-bswap.c: New file.
        !          1256:        * tests/Makefile.am (check_PROGRAMS): Add it.
        !          1257:
        !          1258:        * tests/mpn/t-aors_1.c, tests/mpn/t-iord_u.c: Add nails support.
        !          1259:
        !          1260:        * gmp-impl.h (MPN_IORD_U) [x86]: Eliminate unnecessary jiord and iord,
        !          1261:        rename "n" to incr per generic versions, restrict to nails==0.
        !          1262:        (mpn_incr_u, mpn_decr_u): Add nails support.
        !          1263:        (GMP_NAIL_LOWBIT, GMP_NUMB_MAX): New macros.
        !          1264:
        !          1265:        * tests/trace.c, tests/tests.h (byte_trace, byte_tracen): New
        !          1266:        functions.
        !          1267:        * tests/trace.c: Handle NULL operands.
        !          1268:
        !          1269:        * tests/refmpn.c, tests/devel/try.c, tune/speed.c: Add preliminary
        !          1270:        nail support.
        !          1271:
        !          1272:        * tests/refmpn.c, test/tests.h (byte_overlap_p, refmpn_equal_anynail,
        !          1273:        refmpn_umul_ppmm_r, refmpn_udiv_qrnnd_r, refmpn_get_str,
        !          1274:        refmpn_bswap_limb, refmpn_random, refmpn_random2, refmpn_bswap_limb):
        !          1275:        New functions.
        !          1276:
        !          1277:        * gmp-impl.h, tests/refmpn.c (ASSERT_LIMB): Renamed from
        !          1278:        ASSERT_MP_LIMB_T.
        !          1279:
        !          1280:        * mpn/x86/*/*.asm, mpn/powerpc32/*/*.asm, mpn/powerpc64/*/*.asm: Put
        !          1281:        speeds after the copyright notice, so as to keep that clear.
        !          1282:
        !          1283: 2002-03-29  Kevin Ryde  <kevin@swox.se>
        !          1284:
        !          1285:        * configure.in (powerpc*-*-aix*): Correction to xlc -qarch selection,
        !          1286:        for 32-bit mode.
        !          1287:
        !          1288: 2002-03-28  Torbjorn Granlund  <tege@swox.com>
        !          1289:
        !          1290:        * mpn: Fix spacing in many files.
        !          1291:
        !          1292:        * mpn/generic/aorsmul_1.c: Split into addmul_1.c and submul_1.c.
        !          1293:        * mpn/generic/aors_n.c: Split into add_n.c and sub_n.c.
        !          1294:
        !          1295:        * mpn/pa64/add_n.asm: Trim another 0.125 cycle/limb.  Fix a comment.
        !          1296:        * mpn/pa64/sub_n.asm: Likewise.
        !          1297:
        !          1298:        * mpn/pa64/mul_1.asm: Change comclr, comb to proper forms cmpclr, cmpb.
        !          1299:        * mpn/pa64/addmul_1.asm: Likewise.
        !          1300:        * mpn/pa64/submul_1.asm: Likewise.
        !          1301:
        !          1302: 2002-03-28  Kevin Ryde  <kevin@swox.se>
        !          1303:
        !          1304:        * gmp.texi (Converting Integers): Fix type of exp in mpz_get_d_2exp,
        !          1305:        reported by epl@unimelb.edu.au.
        !          1306:        (References): Update Burnikel and Ziegler URL, reported by Keith
        !          1307:        Briggs.
        !          1308:
        !          1309:        * gmp-h.in, mp-h.in, configure.in, acinclude.m4: Remove __GMP from
        !          1310:        AC_SUBSTs, since autoconf says leading "_" in makefile variables is
        !          1311:        not portable.
        !          1312:
        !          1313:        * demos/expr/run-expr.c: Declare optarg, optind, opterr if necessary.
        !          1314:        * configure.in, demos/expr/expr-config-h.in: Configs for this.
        !          1315:
        !          1316: 2002-03-27  Torbjorn Granlund  <tege@swox.com>
        !          1317:
        !          1318:        * mpn/Makefile.am (TARG_DIST): Remove pa64w and hppa, add pa32.
        !          1319:
        !          1320:        * configure.in (path_20w): Remove pa64w.
        !          1321:
        !          1322:        * mpn/pa64/udiv_qrnnd.asm: Tweak for PA8000 performance comparative to
        !          1323:        that on PA8500.
        !          1324:
        !          1325: 2002-03-26  Torbjorn Granlund  <tege@swox.com>
        !          1326:
        !          1327:        * mpn/pa32: New name for mpn/hppa.
        !          1328:        * configure.in: Corresponding changes.
        !          1329:
        !          1330:        * mpn/pa64/umul_ppmm.asm: New file, generalized for both 2.0N and 2.0W.
        !          1331:        * mpn/pa64/umul_ppmm.S: Remove.
        !          1332:
        !          1333:        * mpn/pa64/udiv_qrnnd.asm: Generalize for both 2.0N and 2.0W.
        !          1334:        * mpn/pa64w/udiv_qrnnd.asm: Remove.
        !          1335:
        !          1336: 2002-03-26  Kevin Ryde  <kevin@swox.se>
        !          1337:
        !          1338:        * mpfr/tests/tdiv.c, mpfr/tests/tui_div.c: Don't depend on nan and inf
        !          1339:        handling in "double", for the benefit of alpha.
        !          1340:
        !          1341:        * configure (hppa2.0w): Set path to "pa64w pa64".
        !          1342:
        !          1343:        * acinclude.m4, configure.in (GMP_C_INLINE): New macro.
        !          1344:        * acinclude.m4 (GMP_H_EXTERN_INLINE): Use it, and fix "yes" handling.
        !          1345:
        !          1346: 2002-03-25  Torbjorn Granlund  <tege@swox.com>
        !          1347:
        !          1348:        * mpn/pa64w/add_n.s: Remove.
        !          1349:        * mpn/pa64w/sub_n.s: Remove.
        !          1350:        * mpn/pa64w/lshift.s: Remove.
        !          1351:        * mpn/pa64w/rshift.s: Remove.
        !          1352:        * mpn/pa64w/mul_1.S: Remove.
        !          1353:        * mpn/pa64w/addmul_1.S: Remove.
        !          1354:        * mpn/pa64w/submul_1.S: Remove.
        !          1355:        * mpn/pa64w/sqr_diagonal.asm: Remove.
        !          1356:
        !          1357:        * mpn/pa64/mul_1.asm: New file with twice faster code; generalized
        !          1358:        for both 2.0N and 2.0W.
        !          1359:        * mpn/pa64/submul_1.asm: Likewise.
        !          1360:        * mpn/pa64/mul_1.S: Remove.
        !          1361:        * mpn/pa64/submul_1.S: Remove.
        !          1362:
        !          1363:        * mpn/pa64/sqr_diagonal.asm: Generalize for both 2.0N and 2.0W.
        !          1364:
        !          1365:        * mpn/pa64/add_n.asm: New file, generalized for both 2.0N and 2.0W.
        !          1366:        * mpn/pa64/sub_n.asm: Likewise.
        !          1367:        * mpn/pa64/lshift.asm: Likewise.
        !          1368:        * mpn/pa64/rshift.asm: Likewise.
        !          1369:        * mpn/pa64/add_n.s: Remove.
        !          1370:        * mpn/pa64/sub_n.s: Remove.
        !          1371:        * mpn/pa64/lshift.s: Remove.
        !          1372:        * mpn/pa64/rshift.s: Remove.
        !          1373:
        !          1374: 2002-03-24  Kevin Ryde  <kevin@swox.se>
        !          1375:
        !          1376:        * gmp-impl.h (BSWAP_LIMB_FETCH, BSWAP_LIMB_STORE): New macros.
        !          1377:        * mpz/inp_raw.c, mpz/out_raw.c: Use them.
        !          1378:        * acconfig.h (HAVE_HOST_CPU): Add some powerpc types.
        !          1379:
        !          1380:        * mpn/powerpc32/750/com_n.asm: New file.
        !          1381:
        !          1382:        * mpfr/tests/tout_str.c: Disable random tests, since they fail on
        !          1383:        alphaev56-unknown-freebsd4.1 and do nothing by default.
        !          1384:
        !          1385:        * mpfr/tests/tsqrt.c: Don't depend on nan, inf or -0 in "double", for
        !          1386:        the benefit of alpha.
        !          1387:        * mpfr/sqrt.c: Clear nan flag on -0.
        !          1388:
        !          1389:        * demos/factorize.c: Use mpn_random() instead of random(), to avoid
        !          1390:        portability problems.
        !          1391:
        !          1392:        * demos/isprime.c (print_usage_and_exit): Declare as "void" to avoid
        !          1393:        warnings.
        !          1394:
        !          1395:        * demos/pexpr.c (setup_error_handler): Corrections to sigstack code.
        !          1396:
        !          1397:        * demos/calc/calc.y: Add some `;'s to make bison 1.34 happy.
        !          1398:
        !          1399: 2002-03-23  Torbjorn Granlund  <tege@swox.com>
        !          1400:
        !          1401:        * mpn/pa64/addmul_1.asm: New file with twice faster code; generalized
        !          1402:        for both 2.0N and 2.0W.
        !          1403:
        !          1404: 2002-03-22  Kevin Ryde  <kevin@swox.se>
        !          1405:
        !          1406:        * tune/time.c: Add SGI hardware counter measuring method, change some
        !          1407:        abort()s into ASSERT_FAIL()s.
        !          1408:
        !          1409:        * configure.in (AC_CHECK_HEADERS): Add fcntl.h and sys/syssgi.h.
        !          1410:        (AC_CHECK_FUNCS): Add syssgi.
        !          1411:
        !          1412:        * configure.in, mpfr/Makefile.am, mpfr/tests/Makefile.am: Use
        !          1413:        -mieee-with-inexact or -ieee_with_inexact for mpfr on alpha, so
        !          1414:        denorms work.
        !          1415:
        !          1416:        * mpfr/isinteger.c: Fix a memory leak.
        !          1417:
        !          1418: 2002-03-21  Torbjorn Granlund  <tege@swox.com>
        !          1419:
        !          1420:        * tune/speed.c (struct choice_t): Make `r' an mp_limb_t.
        !          1421:
        !          1422: 2002-03-21  Kevin Ryde  <kevin@swox.se>
        !          1423:
        !          1424:        * configure.in (HAVE_LIMB_BIG_ENDIAN, HAVE_LIMB_LITTLE_ENDIAN): Use an
        !          1425:        AH_VERBATIM and better explanation.
        !          1426:        * acinclude.m4 (GMP_C_DOUBLE_FORMAT): Similarly for the HAVE_DOUBLE
        !          1427:        constants.
        !          1428:
        !          1429:        * gmp.texi (Number Theoretic Functions): Clarify sign of GCD returned
        !          1430:        by mpz_gcdext.
        !          1431:
        !          1432:        * demos/pexpr.c, demos/pexpr-config-h.in, configure.in: Use an
        !          1433:        autoconf test for stack_t.
        !          1434:
        !          1435:        * configure.in, gmp-h.in, mp-h.in, macos/configure, tests/mpz/reuse.c,
        !          1436:        tests/mpf/reuse.c: Use __GMP_LIBGMP_DLL to enable windows declspec,
        !          1437:        don't require _WIN32 (etc), remove __GMP_LIBGMP_SHARED and
        !          1438:        __GMP_LIBGMP_STATIC.
        !          1439:
        !          1440:        * gmp-impl.h (mp_bases): Add __GMP_DECLSPEC, for the benefit of
        !          1441:        tests/t-constants.c.
        !          1442:
        !          1443:        * tune/many.pl, tune/speed.h: Remove suffix hack for back.asm.
        !          1444:
        !          1445: 2002-03-21  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
        !          1446:
        !          1447:        * mpfr/sin_cos.c (mpfr_sin_cos): New file.
        !          1448:        * mpfr/mpfr.h, mpfr/mpfr.texi, mpfr/Makefile.am: Add it.
        !          1449:        * mpfr/tan.c: Fix sign in 2nd and 4th quadrants.
        !          1450:
        !          1451:        * mpfr/log10.c: Fix hangs on certain inputs.
        !          1452:
        !          1453: 2002-03-20  Torbjorn Granlund  <tege@swox.com>
        !          1454:
        !          1455:        * demos/pexpr.c (setup_error_handler): Declare `s', the first
        !          1456:        sigaltstack parameter, using `stack_t' just on AIX.
        !          1457:
        !          1458: 2002-03-19  Torbjorn Granlund  <tege@swox.com>
        !          1459:
        !          1460:        * mpn/powerpc32/mul_1.asm: Use free caller-saves registers instead
        !          1461:        of the callee-saves r30 and r31.
        !          1462:
        !          1463: 2002-03-19  Kevin Ryde  <kevin@swox.se>
        !          1464:
        !          1465:        * tune/freq.c (freq_proc_cpuinfo): Recognise powerpc "clock", where
        !          1466:        previously got the wrong result from "bogomips".
        !          1467:
        !          1468:        * mpn/powerpc32/add_n.asm, mpn/powerpc32/sub_n.asm: Rewrite, faster on
        !          1469:        750, and smaller too.
        !          1470:        * mpn/powerpc32/*.asm: Use L(), add some measured speeds.
        !          1471:
        !          1472:        * longlong.h (count_trailing_zeros) [vax]: Add a version using ffs,
        !          1473:        but commented out.
        !          1474:
        !          1475: 2002-03-17  Kevin Ryde  <kevin@swox.se>
        !          1476:
        !          1477:        * tune/speed.c, tune/speed.h, tune/common.c, many.pl: Use optional
        !          1478:        ".r" to specify operand overlaps for mpn_add_n, mpn_sub_n and logops.
        !          1479:        Remove mpn_add_n_inplace and mpn_add_n_self.
        !          1480:        * tune/many.pl: Fix MULFUNC_PROLOGUE parsing.
        !          1481:
        !          1482:        * gmp.texi (Known Build Problems): Note `make' problem with long
        !          1483:        libgmp.la dependencies list.
        !          1484:
        !          1485:        * printf/doprnt.c, scanf/doscan.c (%zn): Remove test of non-existant
        !          1486:        HAVE_SIZE_T, just use size_t unconditionally.
        !          1487:        * printf/doprnt.c (%zd etc): Fix 'z' type parsing.
        !          1488:        * tests/misc/t-printf.c, tests/misc/t-scanf.c: More tests.
        !          1489:
        !          1490:        * configure.in: Use AC_COPYRIGHT.
        !          1491:        Add m4_pattern_allow(GMP_MPARAM_H_SUGGEST).
        !          1492:
        !          1493:        * tune/Makefile.am (libdummy.la): Remove this, sqr_basecase.c already
        !          1494:        gets an ansi2knr rule from nodist_tuneup_SOURCES.
        !          1495:
        !          1496:        * longlong.h (count_leading_zeros) [pentiumpro gcc<3]: Test
        !          1497:        HAVE_HOST_CPU_i686 too.
        !          1498:
        !          1499:        * mpz/out_raw.c (HTON_LIMB_STORE): Fix a typo in big endian #if.
        !          1500:
        !          1501: 2002-03-14  Kevin Ryde  <kevin@swox.se>
        !          1502:
        !          1503:        * mpn/x86/pentium/com_n.asm, mpn/x86/pentium/logops_n.asm,
        !          1504:        mpn/x86/k6/mmx/com_n.asm: Add nails support.
        !          1505:
        !          1506:        * texinfo.tex: Update to 2002-03-01.06 (per texinfo 4.1).
        !          1507:        * gmp.texi (@ma): Remove, @math does this now.
        !          1508:
        !          1509:        * mpfr/tests/reuse.c: Clear op1 and op2 flags only in their respective
        !          1510:        outer loops.
        !          1511:
        !          1512:        * configure.in (--enable-cxx): Correction to the default stated in the
        !          1513:        help string.
        !          1514:        (power*-*-aix*, not powerpc): Use aix.m4, don't run
        !          1515:        GMP_ASM_POWERPC_R_REGISTERS or use powerpc-defs.m4.
        !          1516:
        !          1517: 2002-03-13  Torbjorn Granlund  <tege@swox.com>
        !          1518:
        !          1519:        * mpn/sparc32/gmp-mparam.h: New file.
        !          1520:
        !          1521: 2002-03-13  Kevin Ryde  <kevin@swox.se>
        !          1522:
        !          1523:        * demos/expr/exprfr.c: More mpfr functions, corrections to agm, cos,
        !          1524:        sin, rename log2 constant to loge2 to make room for log2 function.
        !          1525:        * demos/expr/t-expr.c: More tests.
        !          1526:
        !          1527:        * mpz/inp_raw.c (NTOH_LIMB_FETCH) [generic 16bit]: Remove spurious "+".
        !          1528:
        !          1529:        * mpfr/acos.c: Avoid a memory leak for certain operands.
        !          1530:
        !          1531:        * acinclude.m4, configure.in (GMP_C_DOUBLE_FORMAT): New macro.
        !          1532:
        !          1533:        * acinclude.m4 (GMP_HPC_HPPA_2_0, GMP_ASM_UNDERSCORE,
        !          1534:        GMP_ASM_ALIGN_LOG, GMP_ASM_LSYM_PREFIX, GMP_ASM_W32, GMP_ASM_X86_MMX):
        !          1535:        Change ac_objext to OBJEXT, which is the documented variable.
        !          1536:
        !          1537:        * config.guess (powerpc*-*-*): Use #ifdef on constants POWER_630 etc
        !          1538:        in the AIX test, since old versions don't have them all.
        !          1539:
        !          1540: 2002-03-11  Kevin Ryde  <kevin@swox.se>
        !          1541:
        !          1542:        * configure.in (LIBC211): New AC_DEFINE, for mpfr.
        !          1543:
        !          1544:        * configure.in (mips*-*-*): Support ABI=o32 on irix 6, allow gcc 2.7.2
        !          1545:        to fall back on it, but detect it doesn't work with gcc 2.95.  Use
        !          1546:        single mips-defs.m4 for both mips32 and mips64.
        !          1547:        * acinclude.m4 (GMP_GCC_MIPS_O32): New macro.
        !          1548:        * mpn/mips32/mips-defs.m4: Renamed from mips.m4.
        !          1549:        * mpn/mips64/mips.m4: Remove (was a copy of mips32/mips.m4).
        !          1550:
        !          1551:        * mpn/powerpc32/750: New directory.
        !          1552:        * configure.in (powerpc740, powerpc750, powerpc7400): Use it.
        !          1553:        * mpn/powerpc32/750/gmp-mparam.h: New file.
        !          1554:
        !          1555:        * config.sub, gmp.texi (ultrasparc1): Remove this, just use plain
        !          1556:        "ultrasparc".
        !          1557:
        !          1558: 2002-03-10  Kevin Ryde  <kevin@swox.se>
        !          1559:
        !          1560:        * mpfr: Update to 20020301, except internal_ceil_exp2.c,
        !          1561:        internal_ceil_log2.c, internal_floor_log2.c renamed to i_ceil_exp2.c,
        !          1562:        i_ceil_log2.c, i_floor_log2.c to be unique in DOS 8.3.  And sqrtrem.c
        !          1563:        removed since no longer required.
        !          1564:        * mpfr/mpfr.texi: Fix some formatting.
        !          1565:        * mpfr/tests/reuse.c: Patch by Paul to fix test4 variable handling.
        !          1566:        * mpfr/sinh.c: Patch by Paul to fix err calculation when t==0.
        !          1567:        * mpfr/tests/tget_d.c: Disable until portability of rnd_mode.c can be
        !          1568:        sorted out.
        !          1569:
        !          1570:        * configure.in (powerpc*-*-*): Separate gcc and xlc cpu flags setups
        !          1571:        for clarity.
        !          1572:
        !          1573:        * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]: New
        !          1574:        macros.
        !          1575:
        !          1576: 2002-03-07  Kevin Ryde  <kevin@swox.se>
        !          1577:
        !          1578:        * gmp.texi (Build Options): Note all the ultrasparcs accepted.
        !          1579:        (Language Bindings): Add Math::BigInt::GMP.
        !          1580:
        !          1581:        * config.sub (ultrasparc2i): New cpu type.
        !          1582:        * config.guess (sparc-*-*, sparc64-*-*): Add some exact CPU detection.
        !          1583:
        !          1584: 2002-03-05  Kevin Ryde  <kevin@swox.se>
        !          1585:
        !          1586:        * longlong.h (count_leading_zeros, count_trailing_zeros) [alphaev67,
        !          1587:        alphaev68]: Use ctlz and cttz insns (as per gcc longlong.h).
        !          1588:        (count_leading_zeros) [sparclite]: Fix parameter order (as per gcc
        !          1589:        longlong.h).
        !          1590:        * acconfig.h (HAVE_HOST_CPU_alphaev68): New define.
        !          1591:
        !          1592:        * config.guess [i?86-*-*]: Suppress error messages if compiler not
        !          1593:        found or test program won't run.
        !          1594:        [rs6000-*-*, powerpc-*-*]: Force code alignment for mfpvr test.
        !          1595:
        !          1596: 2002-03-04  Torbjorn Granlund  <tege@swox.com>
        !          1597:
        !          1598:        * mpn/generic/pow_1.c: New file.
        !          1599:
        !          1600: 2002-03-03  Kevin Ryde  <kevin@swox.se>
        !          1601:
        !          1602:        * gmp.texi (Build Options): Note compiler must be able to fully link,
        !          1603:        add alphapca57 and alphaev68, give a clearer example of MPN_PATH
        !          1604:        (Debugging): Add notes on valgrind.
        !          1605:        (C++ Formatted Output): Clarify mpf showbase handling, in particular
        !          1606:        note "00.4" in octal.
        !          1607:
        !          1608:        * printf/doprntf.c: Do a showbase on octal float fractions, for
        !          1609:        instance "00.4" where previously it gave "0.4".
        !          1610:        * tests/cxx/t-ostream.cc: Update.
        !          1611:
        !          1612:        * gmp-h.in, mp-h.in (__GMP_DECLSPEC, __GMP_DECLSPEC_XX): Test
        !          1613:        __WIN32__ for Borland C, reported by "delta trinity".
        !          1614:
        !          1615:        * gmp-h.in, mp-h.in: Use <cstddef> for size_t under C++, suggested by
        !          1616:        Hans Aberg some time ago.
        !          1617:        * gmp-h.in (<iosfwd>): Move to top of file for clarity.
        !          1618:
        !          1619:        * Makefile.am (libgmpxx_la_SOURCES): Use dummy.cc to force C++.
        !          1620:        (CXX_OBJECTS): Add osfuns$U.lo.
        !          1621:        * dummy.cc: New file.
        !          1622:        * cxx/Makefile.am (INCLUDES): Use __GMP_WITHIN_GMPXX.
        !          1623:        (libcxx_la_SOURCES): Add osfuns.cc.
        !          1624:        * gmp-h.in (__GMP_DECLSPEC_XX): New define, use it on libgmpxx funs.
        !          1625:        * gmp-impl.h: Add __GMP_DECLSPEC to libgmp functions used by libgmpxx.
        !          1626:
        !          1627:        * longlong.h (COUNT_TRAILING_ZEROS_TIME): Remove, no longer used.
        !          1628:
        !          1629:        * gmp-impl.h (MPN_SIZEINBASE, MPN_SIZEINBASE_16): Correction to
        !          1630:        __totbits for nails.
        !          1631:
        !          1632:        * gmp-impl.h (JACOBI_LS0): Test size before limb, to pacify valgrind.
        !          1633:        (JACOBI_0LS): Ditto, and fix parens around arguments.
        !          1634:
        !          1635:        * mpn/x86/x86-defs.m4 (call_mcount): Add a counter to make data labels
        !          1636:        unique, since simplified L() scheme no longer gives that effect.
        !          1637:        (notl_or_xorl_GMP_NUMB_MASK): New macro.
        !          1638:        Add m4_assert_numargs in a few places.
        !          1639:
        !          1640:        * configure.in (*sparc*): Fix cycle counter setups for ABI=64.
        !          1641:
        !          1642: 2002-02-28  Torbjorn Granlund  <tege@swox.com>
        !          1643:
        !          1644:        * mpn/vax/gmp-mparam.h: New file.
        !          1645:
        !          1646: 2002-02-28  Kevin Ryde  <kevin@swox.se>
        !          1647:
        !          1648:        * gmp-h.in (gmp_errno, gmp_version): Move into extern "C" block,
        !          1649:        reported by librik@panix.com.
        !          1650:
        !          1651:        * gmp-h.in, mp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT):
        !          1652:        Use __declspec(dllexport) and __declspec(dllimport) on Borland.
        !          1653:        * gmp-h.in (_GMP_H_HAVE_FILE): Test __STDIO_H for Borland.
        !          1654:        Reported by "delta trinity".
        !          1655:
        !          1656:        * gmp-impl.h (va_copy): Fall back on memcpy, not "=".
        !          1657:
        !          1658:        * mpn/generic/pre_mod_1.c: Add a comment about obsolescence.
        !          1659:
        !          1660:        * tune/time.c (MICROSECONDS_P): Don't trust time differences of 1
        !          1661:        microsecond.
        !          1662:
        !          1663:        * tests/cxx/t-ostream.cc: Use "const char *" not just "char *" for
        !          1664:        test data strings, avoids warnings on Sun CC.
        !          1665:
        !          1666: 2002-02-27  Torbjorn Granlund  <tege@swox.com>
        !          1667:
        !          1668:        * configure.in: For sparc under solaris2.[7-9], pass -fsimple=1 to
        !          1669:        disable some crazy -fast optimizations.
        !          1670:
        !          1671: 2002-02-25  Torbjorn Granlund  <tege@swox.com>
        !          1672:
        !          1673:        * configure.in: For sparc under solaris2.[7-9], pass -fns=no to enable
        !          1674:        denorm handling under -fast.
        !          1675:
        !          1676: 2002-02-25  Kevin Ryde  <kevin@swox.se>
        !          1677:
        !          1678:        * configure.in (alpha*-*-*): Rearrange -mcpu selection for gcc,
        !          1679:        provide an ev67 -> ev6 fallback.  Fix -arch,-tune selection for DEC C.
        !          1680:        Allow ~ for space in optional options lists.
        !          1681:
        !          1682:        * tune/tuneup.c (tune_preinv_divrem_1): Compare against an assembler
        !          1683:        mpn_divrem_1 if it exists, not the generic C mpn_divrem_1_div.
        !          1684:        (tune_preinv_mod_1): Ditto with mpn_mod_1.
        !          1685:
        !          1686:        * tune/time.c (DIFF_SECS_ROUTINE): Eliminate the unused "type"
        !          1687:        parameter, try to make the code a bit clearer.
        !          1688:
        !          1689:        * tune/freq.c: Reduce the period measured for cycles versus
        !          1690:        gettimeofday, add cycles versus microsecond getrusage.
        !          1691:
        !          1692:        * mpz/array_init.c: "i" should be mp_size_t, noticed by E. Khong.
        !          1693:
        !          1694: 2002-02-24  Torbjorn Granlund  <tege@swox.com>
        !          1695:
        !          1696:        * configure.in: For sparc under solaris2.[7-9], pass -fast instead of
        !          1697:        other optimization options.
        !          1698:
        !          1699: 2002-02-23  Kevin Ryde  <kevin@swox.se>
        !          1700:
        !          1701:        * mpn/asm-defs.m4 (GMP_NUMB_MASK): New macro.
        !          1702:        (PROLOGUE, EPILOGUE): Relax quoting for the benefit of tune/many.pl
        !          1703:        when GSYM_PREFIX non-empty.
        !          1704:
        !          1705:        * tune/time.c, tune/speed.h (speed_time_init): Include clock tick
        !          1706:        period in speed_time_string.
        !          1707:        * tune/time.c, configure.in (clock_gettime): New measuring method.
        !          1708:
        !          1709:        * tune/many.pl: Add -DHAVE_NATIVE_mpn_foo to C objects, to avoid
        !          1710:        conflicts with a macro version in gmp-impl.h, eg. mpn_com_n.
        !          1711:
        !          1712: 2002-02-22  Torbjorn Granlund  <tege@swox.com>
        !          1713:
        !          1714:        * demos/pexpr.c: Increase RLIMIT_STACK to 4Mibyte.
        !          1715:
        !          1716: 2002-02-22  Kevin Ryde  <kevin@swox.se>
        !          1717:
        !          1718:        * tune/tuneup.c: Don't confuse gcc with mipspro cc in diagnostic.
        !          1719:
        !          1720: 2002-02-20  Torbjorn Granlund  <tege@swox.com>
        !          1721:
        !          1722:        * configure.in (mips*-*-irix[6789]*]): Set `extra_functions_n32', not
        !          1723:        `extra_functions'.
        !          1724:
        !          1725:        * printf/doprnt.c: Conditionally include inttypes.h.
        !          1726:        * printf/repl-vsnprintf.c: Likewise.
        !          1727:        * scanf/doscan.c: Likewise.
        !          1728:
        !          1729: 2002-02-20  Kevin Ryde  <kevin@swox.se>
        !          1730:
        !          1731:        * mpn/x86/k7/mmx/com_n.asm: New file.
        !          1732:
        !          1733:        * mpz/n_pow_ui.c (SWAP_RP_TP): Use ASSERT_CODE on ralloc and talloc,
        !          1734:        to ensure they needn't live past the initial allocs in a normal build.
        !          1735:
        !          1736:        * mpn/generic/mod_34lsub1.c: Note this is for internal use.
        !          1737:
        !          1738: 2002-02-19  Torbjorn Granlund  <tege@swox.com>
        !          1739:
        !          1740:        * Clean up *_THRESHOLD names.  Many files affected.
        !          1741:
        !          1742:        * mpn/mips32: Asm-ify 32-bit mips code.
        !          1743:        Move files from `mips2' to `mips32' directory.
        !          1744:        * mpn/mips64: Move files from `mips3' to `mips64' directory.
        !          1745:        * configure.in: Change `mips2' => `mips32' and `mips3' => `mips64'.
        !          1746:
        !          1747: 2002-02-19  Kevin Ryde  <kevin@swox.se>
        !          1748:
        !          1749:        * acinclude.m4, configure.in (GMP_PROG_LEX): New macro.
        !          1750:
        !          1751:        * tune/tuneup.c (one): Start next threshold at a max of previous ones,
        !          1752:        in order to get a good starting point for TOOM3_SQR_THRESHOLD if
        !          1753:        KARATSUBA_SQR_THRESHOLD is 0 (ie. using mpn_mul_basecase only).
        !          1754:
        !          1755:        * configure.in, tune/tuneup.c (GMP_MPARAM_H_SUGGEST): New AC_DEFINE
        !          1756:        replacing GMP_MPARAM_H_FILENAME.  Suggest a new file in a cpu specific
        !          1757:        subdirectory rather than mpn/generic.
        !          1758:
        !          1759:        * acinclude.m4 (POWERPC64_PATTERN): New macro.
        !          1760:        * configure.in (powerpc*-*-*): Use it.
        !          1761:        (powerpc*-*-*): Use umul in 32L and aix64.
        !          1762:        (mips*-*-*): Use umul, 32 and 64 bit versions.
        !          1763:
        !          1764: 2002-02-18  Torbjorn Granlund  <tege@swox.com>
        !          1765:
        !          1766:        * longlong.h: Add basic x86-64 support.
        !          1767:
        !          1768: 2002-02-17  Torbjorn Granlund  <tege@swox.com>
        !          1769:
        !          1770:        * demos/pexpr.c: Support `-X' for upper case hex, make `-x' output
        !          1771:        lower case hex.
        !          1772:
        !          1773:        * mpn/mips2/umul.s: Make it actually work.
        !          1774:        * mpn/mips3/umul.asm: New file.
        !          1775:
        !          1776:        * mpn/mips2/gmp-mparam.h: New file.
        !          1777:
        !          1778: 2002-02-16  Torbjorn Granlund  <tege@swox.com>
        !          1779:
        !          1780:        * mpn/generic/get_str.c (mpn_sb_get_str): Round frac upwards after
        !          1781:        umul_ppmm calls.
        !          1782:
        !          1783: 2002-02-16  Kevin Ryde  <kevin@swox.se>
        !          1784:
        !          1785:        * config.guess (alpha-*-*): Do alpha exact cpu probes on any system,
        !          1786:        and only if configfsf.guess gives a plain "alpha".
        !          1787:
        !          1788:        * acinclude.m4 (GMP_PROG_CC_WORKS): Detect a gcc 3.0.3 powerpc64
        !          1789:        linker invocation problem.
        !          1790:
        !          1791: 2002-02-15  Torbjorn Granlund  <tege@swox.com>
        !          1792:
        !          1793:        * mpn/generic/get_str.c (mpn_sb_get_str): For base 10, develop initial
        !          1794:        digits using umul_ppmm, then switch to plain multiplication.
        !          1795:
        !          1796:        * config.guess: Rewrite Alpha subtype detection code for *bsd systems.
        !          1797:
        !          1798: 2002-02-15  Kevin Ryde  <kevin@swox.se>
        !          1799:
        !          1800:        * gmp.texi (Build Options): Note powerpc exact cpu types.
        !          1801:        (Debugging): Advertise DEBUG in memory.c.
        !          1802:
        !          1803:        * config.sub, config.guess: Add some powerpc exact cpus.
        !          1804:        * configure.in: Add configs for them.
        !          1805:
        !          1806:        * memory.c [__NeXT__]: Remove unused #define of "static".
        !          1807:        (__gmp_default_allocate, __gmp_default_reallocate): Print size if
        !          1808:        allocation fails, don't use perror.
        !          1809:
        !          1810:        * gmp-h.in: g++ 3 demands __GMP_NOTHROW is before other attributes.
        !          1811:
        !          1812: 2002-02-14  Torbjorn Granlund  <tege@swox.com>
        !          1813:
        !          1814:        * mpn/alpha/mul_1.asm: Fix typo preventing build on T3E systems.
        !          1815:
        !          1816: 2002-02-14  Kevin Ryde  <kevin@swox.se>
        !          1817:
        !          1818:        * tune/tuneup.c (tune_set_str): Increase max_size, for the benefit of
        !          1819:        alpha.
        !          1820:
        !          1821:        * macos/README: Bug reports to bug-gmp@gnu.org, clarify MacOS X a bit.
        !          1822:
        !          1823:        * mpn/generic/gcdext.c [WANT_GCDEXT_ONE_STEP]: Add missing TMP_FREE.
        !          1824:
        !          1825:        * tune/speed.c, tune/tuneup.c: Allow for speed_cycletime of 0.0 in
        !          1826:        some diagnostic printouts.
        !          1827:        * tune/time.c (speed_cycletime): Note can be 0.0.
        !          1828:
        !          1829: 2002-02-12  Torbjorn Granlund  <tege@swox.com>
        !          1830:
        !          1831:        * mpn/alpha/mul_1.asm: Add mpn_mul_1c entry.
        !          1832:
        !          1833:        * mpn/pa64w/sqr_diagonal.asm: Use L() for labels.
        !          1834:
        !          1835: 2002-02-11  Torbjorn Granlund  <tege@swox.com>
        !          1836:
        !          1837:        * mpn/generic/get_str.c (mpn_sb_get_str): Change declaration of rp to
        !          1838:        accommodate tuneup compiles.
        !          1839:
        !          1840: 2002-02-11  Kevin Ryde  <kevin@swox.se>
        !          1841:
        !          1842:        * mpn/alpha/default.m4, mpn/alpha/unicos.m4 (PROLOGUE_cpu): Add
        !          1843:        noalign option.
        !          1844:        * mpn/alpha/default.m4 (PROLOGUE_cpu): use ALIGN instead of ".align".
        !          1845:
        !          1846:        * gmp.texi (Debugging): Notes on Checker.
        !          1847:        (Other Multiplication): Move note on float FFTs to here.
        !          1848:        (Assembler Floating Point): New text and revisions by Torbjorn,
        !          1849:        picture formatting by me.
        !          1850:        Simplify tex pictures elsewhere a bit, share heights, eliminate some
        !          1851:        gaps at line joins.
        !          1852:
        !          1853: 2002-02-11  Torbjorn Granlund  <tege@swox.com>
        !          1854:
        !          1855:        * mpn/generic/get_str.c (mpn_sb_get_str): Rewrite to generate fraction
        !          1856:        limbs and use multiplication for digit development.  Trim allocation of
        !          1857:        buf.  Get rid of code for !USE_MULTILIMB.
        !          1858:
        !          1859: 2002-02-10  Torbjorn Granlund  <tege@swox.com>
        !          1860:
        !          1861:        * mpn/generic/set_str.c (mpn_set_str): Undo this:
        !          1862:        Change invocations of mpn_add_1 to instead use mpn_incr_u.
        !          1863:
        !          1864:        * tests/mpz/convert.c: Free str only after it is used in error message.
        !          1865:
        !          1866:        * mpn/generic/get_str.c (mpn_sb_get_str): Combine tail code for base 10
        !          1867:        and generic bases.
        !          1868:
        !          1869:        * mpn/mp_bases.c: Add entries for base 256.  Remove __ prefix from
        !          1870:        table name.
        !          1871:        * gmp-impl.h (__mp_bases): Remove superflous `mp_' part of name, making
        !          1872:        it __gmpn_bases instead of __gmpn_mp_bases.
        !          1873:        (mp_bases): New #define.
        !          1874:        * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Allow bases up to 256.
        !          1875:        (SPEED_ROUTINE_MPN_GET_STR): Likewise.
        !          1876:
        !          1877: 2002-02-09  Torbjorn Granlund  <tege@swox.com>
        !          1878:
        !          1879:        * mpn/generic/set_str.c (mpn_set_str): Use mpn_mul_1c if available.
        !          1880:        Change invocations of mpn_add_1 to instead use mpn_incr_u.
        !          1881:
        !          1882: 2002-02-09  Kevin Ryde  <kevin@swox.se>
        !          1883:
        !          1884:        * mpz/array_init.c, mpz/cfdiv_q_2exp.c, mpz/cfdiv_r_2exp.c,
        !          1885:        mpz/cong_2exp.c, mpz/divis_2exp.c, mpz/hamdist.c, mpz/init2.c,
        !          1886:        mpz/mul_2exp.c, mpz/realloc2.c, mpz/scan0.c, mpz/scan1.c,
        !          1887:        mpz/setbit.c, mpz/tdiv_q_2exp.c, mpz/tdiv_r_2exp.c, mpz/tstbit.c,
        !          1888:        mpz/urandomb.c: Use GMP_NUMB_BITS.
        !          1889:
        !          1890:        * mpz/iset_str.c [__CHECKER__]: Store a dummy value to the low limb to
        !          1891:        stop it appearing uninitialized.
        !          1892:
        !          1893:        * gmp-h.in (__GMP_NOTHROW): New macro.
        !          1894:        (mp_set_memory_functions, mpz_cmp, mpz_cmp_si, mpz_cmp_ui, mpz_cmpabs,
        !          1895:        mpz_cmpabs_ui, mpz_congruent_2exp_p, mpz_divisible_2exp_p,
        !          1896:        mpz_fits_sint_p, mpz_fits_slong_p, mpz_fits_sshort_p, mpz_fits_uint_p,
        !          1897:        mpz_fits_ulong_p, mpz_fits_ushort_p, mpz_get_si, mpz_get_ui,
        !          1898:        mpz_getlimbn, mpz_hamdist, mpz_popcount, mpz_scan0, mpz_scan1,
        !          1899:        mpz_size, mpz_sizeinbase, mpz_swap, mpz_tstbit, mpq_equal, mpq_swap,
        !          1900:        mpf_cmp, mpf_cmp_si, mpf_cmp_ui, mpf_fits_sint_p, mpf_fits_slong_p,
        !          1901:        mpf_fits_sshort_p, mpf_fits_uint_p, mpf_fits_ulong_p,
        !          1902:        mpf_fits_ushort_p, mpf_get_default_prec, mpf_get_prec, mpf_get_si,
        !          1903:        mpf_get_ui, mpf_integer_p, mpf_set_default_prec, mpf_set_prec_raw,
        !          1904:        mpf_size, mpf_swap, mpn_add_1, mpn_cmp, mpn_hamdist, mpn_popcount,
        !          1905:        mpn_sub_1): Use it.
        !          1906:
        !          1907:        * gmp-impl.h (MPN_SIZEINBASE, MPN_SIZEINBASE_16): New macros from
        !          1908:        mpn_sizeinbase, and use GMP_NUMB_BITS.
        !          1909:        * mpz/get_str.c, mpz/sizeinbase.c, mpbsd/mout.c, tune/speed.h: Use
        !          1910:        MPN_SIZEINBASE.
        !          1911:        * mpbsd/mtox.c: Use MPN_SIZEINBASE_16.
        !          1912:
        !          1913:        * configure.in, mpn/Makefile.am, gmp-impl.h (mpn_sizeinbase): Remove.
        !          1914:        * mpn/generic/sizeinbase.c: Remove file.
        !          1915:
        !          1916:        * gmp-impl.h (MPN_GET_STR_SIZE): Remove.
        !          1917:        * tests/mpn/t-g_str_size.c: Remove file.
        !          1918:        * tests/mpn/Makefile.am: Update.
        !          1919:
        !          1920:        * Makefile.am (dist-hook): Don't distribute cvs merge ".#" files.
        !          1921:
        !          1922: 2002-02-08  Torbjorn Granlund  <tege@swox.com>
        !          1923:
        !          1924:        * configure.in: Override extra_functions for all sparcv8 systems, not
        !          1925:        just supersparc.
        !          1926:
        !          1927: 2002-02-06  Kevin Ryde  <kevin@swox.se>
        !          1928:
        !          1929:        * tune/tuneup.c (tune_mul, tune_sqr): Disable FFTs until tuned.
        !          1930:        * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Fix memory clobber in
        !          1931:        destination cache priming.
        !          1932:
        !          1933:        * printf/doprnt.c: Fix parsing of %s and %p conversions.
        !          1934:        * tests/misc/t-printf.c (check_misc): Add some tests.
        !          1935:
        !          1936: 2002-02-03  Torbjorn Granlund  <tege@swox.com>
        !          1937:
        !          1938:        * mpn/sparc32/v8/udiv.asm: New file, from v8/supersparc.
        !          1939:
        !          1940:        * mpn/generic/set_str.c: Rename indigits_per_limb => chars_per_limb.
        !          1941:        Remove redundant chars_per_limb.  Reverse 4 loops in basecase code for
        !          1942:        speed.  Use MP_BASES_CHARS_PER_LIMB_10.
        !          1943:
        !          1944: 2002-02-03  Kevin Ryde  <kevin@swox.se>
        !          1945:
        !          1946:        * acinclude.m4 (GMP_PROG_NM): Ensure -B or -p get used when doing a
        !          1947:        cross compile with the native nm, helps OSF for instance.
        !          1948:        (GMP_ASM_LSYM_PREFIX): Remove ".byte 0" for the benefit of irix 6,
        !          1949:        allow "N" from nm for OSF, allow for "t" for other systems, but prefer
        !          1950:        no mention of the symbol at all.
        !          1951:
        !          1952:        * tune/tuneup.c (print_define_remark): New function.
        !          1953:        Turn some "#if"s into plain "if"s.
        !          1954:
        !          1955:        * tune/tuneup.c, gmp-impl.h, tune/Makefile.am
        !          1956:        (GET_STR_BASECASE_THRESHOLD, GET_STR_PRECOMPUTE_THRESHOLD): Tune these.
        !          1957:        * mpn/generic/get_str.c [TUNE_PROGRAM_BUILD]: Cope with non-constant
        !          1958:        GET_STR_PRECOMPUTE_THRESHOLD.
        !          1959:
        !          1960: 2002-02-02  Torbjorn Granlund  <tege@swox.com>
        !          1961:
        !          1962:        * mpn/generic/get_str.c (mpn_get_str): Fix typo in a declaration.
        !          1963:
        !          1964: 2002-02-02  Kevin Ryde  <kevin@swox.se>
        !          1965:
        !          1966:        * mpn/generic/set_str.c: Use MP_PTR_SWAP and POW2_P, add __GMP_PROTO
        !          1967:        to convert_blocks prototype, disable SET_STR_BLOCK_SIZE sanity check.
        !          1968:
        !          1969:        * tune/set_strb.c, tune/set_strs.c: New files.
        !          1970:        * tune/speed.h, tune/speed.c, tune/common.c,tune/Makefile.am: Add them.
        !          1971:        * tune/tuneup.c: Tune SET_STR_THRESHOLD.
        !          1972:        (DEFAULT_MAX_SIZE): Renamed from MAX_SIZE, allow any param.max_size[].
        !          1973:
        !          1974: 2002-02-01  Torbjorn Granlund  <tege@swox.com>
        !          1975:
        !          1976:        * tests/mpz/convert.c: Increase operand size.  Add (yet disabled) code
        !          1977:        for testing with random strings.
        !          1978:
        !          1979:        * mpn/generic/get_str.c (mpn_get_str): Rewrite to become sub-quadratic.
        !          1980:        (mpn_dc_get_str, mpn_sb_get_str): New functions.
        !          1981:
        !          1982: 2002-01-31  Kevin Ryde  <kevin@swox.se>
        !          1983:
        !          1984:        * gmpxx.h (cmp): Renamed from "compare".
        !          1985:
        !          1986:        * configure.in (AC_C_BIGENDIAN): Don't abort when cross compiling.
        !          1987:        (PROLOGUE): Allow new style optional second parameter when grepping.
        !          1988:
        !          1989:        * acinclude.m4 (GMP_HPC_HPPA_2_0, GMP_ASM_UNDERSCORE,
        !          1990:        GMP_ASM_ALIGN_LOG, GMP_ASM_LSYM_PREFIX, GMP_ASM_W32, GMP_ASM_X86_MMX):
        !          1991:        Use $ac_objext for object filenames.
        !          1992:        (GMP_ASM_UNDERSCORE): Use CCAS to assemble.
        !          1993:
        !          1994:        * demos/pexpr-config-h.in: New file.
        !          1995:        * configure.in: Generate demos/pexpr-config.h.
        !          1996:        (AC_CHECK_FUNCS): Add clock, cputime, setrlimit, sigaction,
        !          1997:        sigaltstack, sigstack.
        !          1998:        * acinclude.m4 (GMP_SUBST_CHECK_FUNCS, GMP_SUBST_CHECK_HEADERS): New
        !          1999:        macros.
        !          2000:        * demos/pexpr.c: Use pexpr-config.h, not various #ifdefs.
        !          2001:        (setup_error_handler): Use signal if sigaction not available, allow
        !          2002:        for SIGBUS missing on mingw.
        !          2003:        (main): Use time() for random seed if gettimeofday not available.
        !          2004:        (cleanup_and_exit): Move SIGFPE out of LIMIT_RESOURCE_USAGE.
        !          2005:
        !          2006: 2002-01-30  Torbjorn Granlund  <tege@swox.com>
        !          2007:
        !          2008:        * mpn/generic/set_str.c: Rewrite to become sub-quadratic.
        !          2009:        (convert_blocks): New function.
        !          2010:
        !          2011: 2002-01-30  Kevin Ryde  <kevin@swox.se>
        !          2012:
        !          2013:        * gmp-impl.h (GMP_NUMB_MASK, GMP_NAIL_MASK, GMP_NUMB_HIGHBIT,
        !          2014:        ASSERT_MPN, ASSERT_MP_LIMB_T): New macros.
        !          2015:
        !          2016:        * mpn/generic/fib2_ui.c: Use GMP_NUMB_BITS, simplify the data
        !          2017:        generator program, share __gmp_fib_table initializers between bit
        !          2018:        sizes, cope with bit sizes other than those specifically setup.
        !          2019:        * gmp-impl.h (FIB_TABLE_LIMIT, FIB_TABLE_LUCNUM_LIMIT): Corresponding
        !          2020:        rearrangement of conditionals.
        !          2021:        * tests/mpz/t-fib_ui.c (check_fib_table): New test.
        !          2022:
        !          2023: 2002-01-28  Kevin Ryde  <kevin@swox.se>
        !          2024:
        !          2025:        * mpz/set_si.c, mpz/iset_si.c: Store to _mp_d[0] unconditionally, use
        !          2026:        an expression for _mp_size.
        !          2027:
        !          2028:        * mpz/init.c, mpz/init2.c, mpz/iset.c, mpq/init.c [__CHECKER__]: Store
        !          2029:        dummy values to low limbs to stop them appearing uninitialized.
        !          2030:
        !          2031: 2002-01-26  Kevin Ryde  <kevin@swox.se>
        !          2032:
        !          2033:        * mpfr/mpfr-test.h (MAX, MIN, ABS): Use instead a patch from Paul and
        !          2034:        Vincent.
        !          2035:
        !          2036: 2002-01-24  Kevin Ryde  <kevin@swox.se>
        !          2037:
        !          2038:        * configure.in: Extra quoting to get argument help messages right.
        !          2039:
        !          2040:        * gmp.texi (Efficiency): Suggest hex or octal for input and output.
        !          2041:        (Formatted Output Strings): Mention "*" for width and precision.
        !          2042:
        !          2043:        * mpn/generic/sizeinbase.c: New file, adapted from mpz/sizeinbase.c.
        !          2044:        Use POW2_P, use __mp_bases[base].big_base for log2(base).
        !          2045:        * configure.in, mpn/Makefile.am: Add it.
        !          2046:        * gmp-impl.h: Add prototype.
        !          2047:        * mpz/sizeinbase.c, tune/speed.h, mpn/generic/get_str.c,
        !          2048:        mpz/get_str.c, mpbsd/mout.c, mpbsd/mtox.c: Use it.
        !          2049:        * mpz/get_str.c: Write directly to user buffer, skip at most one
        !          2050:        leading zero, eliminate special case for x==0.
        !          2051:        * mpbsd/mtox.c: Allocate exact result space at the start, eliminate
        !          2052:        special case for x==0.
        !          2053:        * mpbsd/mout.c: Only need to skip one high zero with mpn_sizeinbase.
        !          2054:
        !          2055:        * configure.in (--enable-nails): New option.
        !          2056:        (GMP_NAIL_BITS, GMP_LIMB_BITS, GMP_NUMB_BITS): New defines for gmp.h
        !          2057:        and config.m4.
        !          2058:        * gmp-h.in: Add templates.
        !          2059:
        !          2060:        * mpfr/mpfr-test.h (MAX, MIN, ABS): Use #ifndef to avoid a redefine
        !          2061:        error on AIX xlc.
        !          2062:
        !          2063: 2002-01-23  Torbjorn Granlund  <tege@swox.com>
        !          2064:
        !          2065:        * mpn/generic/get_str.c: Correct type of `out_len'.
        !          2066:
        !          2067: 2002-01-22  Kevin Ryde  <kevin@swox.se>
        !          2068:
        !          2069:        * mpn/generic/pre_divrem_1.c: Corrections to some ASSERTs.
        !          2070:
        !          2071:        * mpfr/mul_ui.c: Don't call mpn_lshift with 0 shift.
        !          2072:
        !          2073:        * mpfr/mpz_set_fr.c: Produce correct mpz_t for f==0.
        !          2074:
        !          2075: 2002-01-21  Torbjorn Granlund  <tege@swox.com>
        !          2076:
        !          2077:        * longlong.h (32-bit powerpc add_ssaaaa): Remove spurious commutative
        !          2078:        declaration.
        !          2079:        (64-bit powerpc add_ssaaaa): Likewise.
        !          2080:
        !          2081: 2002-01-20  Kevin Ryde  <kevin@swox.se>
        !          2082:
        !          2083:        * acinclude.m4 (GMP_FUNC_VSNPRINTF): Use %n to better detect sparc
        !          2084:        solaris 2.7 problems.
        !          2085:
        !          2086: 2002-01-19  Torbjorn Granlund  <tege@swox.com>
        !          2087:
        !          2088:        * demos/pexpr.c (mpz_eval_expr): Optimize s^rhs for -1 <= s <= 1.
        !          2089:        (cleanup_and_exit): Improve error message wording.
        !          2090:
        !          2091: 2002-01-19  Kevin Ryde  <kevin@swox.se>
        !          2092:
        !          2093:        * mpfr/mpfr.h (_PROTO): Use __GMP_PROTO, for compatibility with
        !          2094:        gmp-impl.h.
        !          2095:
        !          2096: 2002-01-17  Torbjorn Granlund  <tege@swox.com>
        !          2097:
        !          2098:        * mpfr/mpfr-test.h: Test "__hpux", not "hpux".  Mask off mrand48
        !          2099:        return value to 31 bits to work around sloppy mpfr #include practices.
        !          2100:
        !          2101:        * mpfr/tests/*.c: Use #include "", not <>, for gmp.h and mpfr.h.
        !          2102:        Make sure to #include mpfr-test.h from all files that use random().
        !          2103:
        !          2104: 2002-01-17  Kevin Ryde  <kevin@swox.se>
        !          2105:
        !          2106:        * gmp-impl.h (__GMP_REALLOCATE_FUNC_MAYBE_TYPE): New macro.
        !          2107:        * gmp-impl.h, mpz/get_str.c, mpz/out_raw.c, mpq/get_str.c,
        !          2108:        mpq/set_str.c, mpf/get_str.c, printf/asprntffuns.c, printf/doprnt.c,
        !          2109:        printf/repl-vsnprintf.c, printf/snprntffuns.c, scanf/doscan.c,
        !          2110:        mpbsd/mtox.c: Some fixes to compile as C++.
        !          2111:
        !          2112:        * mpn/generic/jacbase.c (JACOBI_BASE_METHOD): New tuned parameter,
        !          2113:        replacing COUNT_TRAILING_ZEROS_TIME test.  Add a third method too.
        !          2114:        * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Add
        !          2115:        measuring of mpn_jacobi_base methods.
        !          2116:        * tune/jacbase1.c, tune/jacbase2.c, tune/jacbase3.c: New files.
        !          2117:        * tune/tuneup.c (JACOBI_BASE_METHOD): Tune this.
        !          2118:        * mpn/x86/*/gmp-mparam.h (COUNT_TRAILING_ZEROS_TIME): Remove macro.
        !          2119:
        !          2120:        * gmp-h.in: Use __gmp prefix on variables in inlines.
        !          2121:
        !          2122:        * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Remove __i, unused.
        !          2123:
        !          2124:        * mpn/generic/mul_fft.c: Use HAVE_NATIVE_mpn_addsub_n, not ADDSUB.
        !          2125:        Use CNST_LIMB for some constants.
        !          2126:
        !          2127: 2002-01-15  Kevin Ryde  <kevin@swox.se>
        !          2128:
        !          2129:        * tests/mpbsd/Makefile.am: Add a convenience rule for ../libtests.la.
        !          2130:
        !          2131:        * printf/Makefile.am: libdummy.la should be in EXTRA_LTLIBRARIES.
        !          2132:
        !          2133:        * mpf/out_str.c: Use MPF_SIGNIFICANT_DIGITS, so mpf_out_str and
        !          2134:        mpf_get_str give the same for ndigits==0.
        !          2135:
        !          2136:        * mpfr/exceptions.c (mpfr_set_emin, mpfr_set_emax): Work around a
        !          2137:        powerpc64 gcc 3.0 -O2 bug.
        !          2138:
        !          2139:        * tests/memory.c, tests/tests.h (tests_memory_validate): New function.
        !          2140:
        !          2141: 2002-01-14  Kevin Ryde  <kevin@swox.se>
        !          2142:
        !          2143:        * mpn/generic/sb_divrem_mn.c, mpn/generic/divrem_1.c,
        !          2144:        mpn/generic/divrem_2.c, mpn/generic/mod_1.c: Don't use UMUL_TIME and
        !          2145:        UDIV_TIME, just default to preinv.
        !          2146:        * gmp-impl.h (USE_PREINV_DIVREM_1, USE_PREINV_MOD_1): Ditto.
        !          2147:        (DIVEXACT_1_THRESHOLD, MODEXACT_1_ODD_THRESHOLD): Don't use UMUL_TIME
        !          2148:        and UDIV_TIME, make default thresholds 0.
        !          2149:        (UDIV_NORM_PREINV_TIME, UDIV_UNNORM_PREINV_TIME): Remove macros.
        !          2150:        * mpn/x86/*/gmp-mparam.h (UMUL_TIME, UDIV_TIME,
        !          2151:        UDIV_NORM_PREINV_TIME): Remove macros.
        !          2152:
        !          2153:        * gmp.texi (Headers and Libraries): New section, being the header
        !          2154:        notes from "GMP Basics" and some new stuff.
        !          2155:        (Parameter Conventions): Notes on "const" parameters.
        !          2156:        (Formatted Output Strings): Add type N, tweak some wording.
        !          2157:
        !          2158:        * tests/refmpn.c (refmpn_divmod_1c): Avoid a bug in i386 gcc 3.0.
        !          2159:
        !          2160: 2002-01-12  Kevin Ryde  <kevin@swox.se>
        !          2161:
        !          2162:        * mpz/root.c: Add <stdlib.h>, for abort().
        !          2163:
        !          2164:        * mpfr/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
        !          2165:        * mpfr/mpfr.h, mpfr/mpfr-tests.h, reuse.c, tadd.c, tadd_ui.c, tagm.c,
        !          2166:        tatan.c, tcmp2.c, tcos.c, tdiv.c, tdiv_ui.c, teq.c, texp.c,
        !          2167:        tget_str.c, thyperbolic.c, tlog.c, tmul.c, tout_str.c, tpow.c,
        !          2168:        trandom.c, tset_z.c, tsin.c, tsqrt.c, tsqrt_ui.c, tsub_ui.c, ttan.c,
        !          2169:        tui_div.c: Fixes for K&R.
        !          2170:
        !          2171:        * tests/misc/t-scanf.c (check_misc, check_misc):
        !          2172:
        !          2173:        * tests/mpz/t-inp_str.c, tests/mpq/t-inp_str.c, tests/misc/t-scanf.c:
        !          2174:        Avoid strings in ASSERT, not enjoyed by K&R.
        !          2175:        * gmp-impl.h (ASSERT): Note this.
        !          2176:
        !          2177:        * tests/tests.h (refmpn_mod_34lsub1): Add __GMP_PROTO.
        !          2178:
        !          2179:        * mpbsd/Makefile.am: Avoid an automake problem with ansi2knr and
        !          2180:        sources in a different directory.
        !          2181:
        !          2182:        * printf/repl-vsnprintf.c: Test HAVE_LONG_DOUBLE for long double.
        !          2183:
        !          2184:        * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add mod_34lsub1.c,
        !          2185:        mul_2.c, pre_divrem_1.c.
        !          2186:
        !          2187:        * gmp-h.in, gmp-impl.h (mpn_add_nc, mpn_addmul_1c, mpn_addsub_n,
        !          2188:        mpn_addsub_nc, mpn_divrem_1c, mpn_dump, mpn_mod_1c, mpn_mul_1c,
        !          2189:        mpn_mul_basecase, mpn_sqr_n, mpn_sqr_basecase, mpn_sub_nc,
        !          2190:        mpn_submul_1c): Move to gmp-impl.h, since they're undocumented.
        !          2191:
        !          2192:        * gmp-impl.h (mpn_reciprocal): Remove, unused.
        !          2193:
        !          2194:        * tune/many.pl (cntlz, cnttz): Use new SPEED_ROUTINE_COUNT_ZEROS.
        !          2195:
        !          2196: 2002-01-11  Kevin Ryde  <kevin@swox.se>
        !          2197:
        !          2198:        * mpn/hppa/*.asm, mpn/pa64/*.asm, mpn/pa64w/*.asm: Use L().
        !          2199:
        !          2200: 2002-01-08  Kevin Ryde  <kevin@swox.se>
        !          2201:
        !          2202:        * mpn/asm-defs.m4 (PROLOGUE, EPILOGUE): New scheme, optional function
        !          2203:        name to EPILOGUE, check for missing or wrong function name EPILOGUE.
        !          2204:        * mpn/alpha/unicos.m4, mpn/alpha/default.m4, mpn/m68k/m68k-defs.m4,
        !          2205:        mpn/mips3/mips.m4, mpn/ia64/default.m4, mpn/powerpc32/aix.m4,
        !          2206:        mpn/powerpc64/aix.m4, mpn/x86/x86-defs.m4: Consequent updates, add a
        !          2207:        few more asserts.
        !          2208:        * mpn/alpha/unicos.m4, mpn/alpha/default.m4, mpn/alpha/cntlz.asm,
        !          2209:        mpn/alpha/invert_limb.asm (PROLOGUE_GP): Change to an optional "gp"
        !          2210:        parameter on plain PROLOGUE.
        !          2211:
        !          2212:        * gmp.texi (Low-level Functions): mpn_get_str doesn't clobber an extra
        !          2213:        limb, and doesn't clobber at all for power of 2 bases.
        !          2214:        (Language Bindings): Add python gmpy.
        !          2215:
        !          2216:        * mpz/get_str.c: Determine realloc size arithmetically.
        !          2217:
        !          2218:        * mpbsd/mtox.c: Size memory block returned to actual space needed.
        !          2219:        * gmp.texi (BSD Compatible Functions): Describe this.
        !          2220:
        !          2221:        * mpz/get_str.c: Don't copy mpn_get_str input for power of 2 bases.
        !          2222:        * mpbsd/mtox.c: Ditto, and as a side effect avoid a memory leak from a
        !          2223:        missing TMP_FREE.
        !          2224:
        !          2225:        * mpz/get_str.c, mpbsd/mout.c: No longer need for +1 limb for
        !          2226:        mpn_get_str clobber.
        !          2227:
        !          2228:        * gmp-impl.h (MPN_GET_STR_SIZE): New macro.
        !          2229:        * mpn/generic/get_str.c, mpz/get_str.c, mpbsd/mout.c, mpbsd/mtox.c,
        !          2230:        tune/speed.h: Use it.
        !          2231:        * tests/mpn/t-g_str_size.c: New test.
        !          2232:        * tests/mpn/Makefile.am: Add it.
        !          2233:
        !          2234:        * gmp-impl.h (POW2_P): New macro.
        !          2235:        * mpn/generic/get_str.c, tests/misc.c: Use it.
        !          2236:
        !          2237:        * printf/doprnt.c: Add "N" for mpn, share some code between N, Q and Z.
        !          2238:        * tests/misc/t-printf.c: Add tests.
        !          2239:        * gmp-impl.h (ASSERT_CODE): New macro.
        !          2240:
        !          2241:        * tests/mpbsd/t-mtox.c: New test.
        !          2242:        * tests/mpbsd/Makefile.am: Add it.
        !          2243:        (allfuns_LDADD): Don't link against libgmp when testing everything in
        !          2244:        libmp can link.
        !          2245:
        !          2246: 2002-01-07  Torbjorn Granlund  <tege@swox.com>
        !          2247:
        !          2248:        * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Rewrite generic versions.
        !          2249:
        !          2250: 2002-01-06  Kevin Ryde  <kevin@swox.se>
        !          2251:
        !          2252:        * mpn/generic/pre_divrem_1.c: Don't support size==0.
        !          2253:        * tests/devel/try.c: Update.
        !          2254:
        !          2255:        * mpn/generic/get_str.c: Add special case for base==10.
        !          2256:        * gmp-impl.h (MP_BASES_CHARS_PER_LIMB_10, MP_BASES_BIG_BASE_10,
        !          2257:        MP_BASES_BIG_BASE_INVERTED_10, MP_BASES_NORMALIZATION_STEPS_10): New
        !          2258:        constants.
        !          2259:        * tests/t-constants.c: Add checks.
        !          2260:        * mpn/mp_bases.c [GENERATE_TABLE]: Print defines for gmp-impl.h, print
        !          2261:        all standard bits-per-limb by default.
        !          2262:
        !          2263:        * demos/pexpr.c, demos/expr/expr.h, demos/expr/expr-impl.h: Use
        !          2264:        __GMP_PROTO.
        !          2265:
        !          2266:        * gmp-h.in (mpn_divexact_by3c): Remove variables from prototype, to
        !          2267:        keep out of application namespace.
        !          2268:
        !          2269: 2002-01-04  Torbjorn Granlund  <tege@swox.com>
        !          2270:
        !          2271:        * gmp-impl.h: Move _PROTO declaration to before its first usages.
        !          2272:
        !          2273: 2002-01-04  Kevin Ryde  <kevin@swox.se>
        !          2274:
        !          2275:        * gmp-h.in, mp-h.in, tests/tests.h: Rename _PROTO to __GMP_PROTO, and
        !          2276:        don't use #ifndef just define it ourselves.
        !          2277:        * gmp-impl.h: Provide _PROTO as an alias for __GMP_PROTO, to avoid big
        !          2278:        edits internally, for the moment.
        !          2279:
        !          2280: 2002-01-03  Torbjorn Granlund  <tege@swox.com>
        !          2281:
        !          2282:        * tune/speed.c (usage): Insert "\n\" into a string.
        !          2283:
        !          2284: 2001-12-30  Torbjorn Granlund  <tege@swox.com>
        !          2285:
        !          2286:        * mpn/pa64/udiv_qrnnd.c: Remove file.
        !          2287:        * mpn/pa64w/udiv_qrnnd.c: Remove file.
        !          2288:
        !          2289:        * gmp-impl.h (MPN_IORD_U): Change formatting (labels in pos 0, insns
        !          2290:        indented by tab).
        !          2291:        (MPN_INCR_U): Use "addl $1,foo; jc", not "incl foo; jz".
        !          2292:
        !          2293:        * gmp-impl.h (udiv_qrnnd_preinv): Use plain subtract, not sub_ddmmss,
        !          2294:        in one more case.
        !          2295:
        !          2296: 2001-12-30  Kevin Ryde  <kevin@swox.se>
        !          2297:
        !          2298:        * mpn/generic/get_str.c (udiv_qrnd_unnorm): New macro.
        !          2299:        Use "do while" for dig_per_u loop since it's non-zero.
        !          2300:        * acconfig.h (HAVE_HOST_CPU_m68k etc): Add templates.
        !          2301:
        !          2302:        * mpn/generic/mul_basecase.c, mpz/mul.c, mpz/n_pow_ui.c,
        !          2303:        mpn/x86/pentium/mul_2.asm, tests/devel/try.c, tests/tests.h,
        !          2304:        tests/refmpn.c, tune/speed.c, tune/speed.h, tune/common.c,
        !          2305:        tune/many.pl (mpn_mul_2): New parameter style.
        !          2306:        * gmp-impl.h (mpn_mul_2): Add prototype.
        !          2307:        * configure.in (gmp_mpn_functions_optional): Add mul_2.
        !          2308:
        !          2309:        * longlong.h (__vxworks__): Remove from powerpc tests, not correct,
        !          2310:        not on its own at least.
        !          2311:
        !          2312:        * tune/speed.c: Add "aas" to specify 0xAA..AA data.
        !          2313:
        !          2314:        * tune/tuneup.c (print_define_end): Indicate "never" and "always".
        !          2315:
        !          2316: 2001-12-29  Torbjorn Granlund  <tege@swox.com>
        !          2317:
        !          2318:        * mpq/set_d.c: ANSI-fy.
        !          2319:        * mpz/invert.c: Use PTR and SIZ (cosmetic change).
        !          2320:
        !          2321:        * mpz/cong.c: Rename `xor' to `sign' to avoid C++ reserved word.
        !          2322:
        !          2323: 2001-12-28  Torbjorn Granlund  <tege@swox.com>
        !          2324:
        !          2325:        * mpn/sparc64/sqr_diagonal.asm: New file.
        !          2326:
        !          2327: 2001-12-28  Kevin Ryde  <kevin@swox.se>
        !          2328:
        !          2329:        * mpn/generic/get_str.c: Avoid one mpn_divrem_1 by running main loop
        !          2330:        only until msize==1.
        !          2331:
        !          2332:        * tune/tuneup.c: Break up all() for clarity.
        !          2333:        (USE_PREINV_DIVREM_1, USE_PREINV_MOD_1): Compare against plain
        !          2334:        division udiv_qrnnd, not the tuned and possibly preinv version.
        !          2335:
        !          2336:        * tune/freq.c: Split sysctl and sysctlbyname probes into separate
        !          2337:        functions, shorten some identifiers, put descriptions inside
        !          2338:        functions, define functions unconditionally and do nothing if
        !          2339:        requisites not available.
        !          2340:
        !          2341:        * mpz/inp_raw.c: Avoid a gcc 3.0 powerpc64 bug on AIX.
        !          2342:
        !          2343:        * acinclude.m4, configure.in (GMP_C_RESTRICT): New macro.
        !          2344:
        !          2345:        * mpfr/sin.c: Patch from Paul to fix sign of sin(3pi/2).
        !          2346:
        !          2347:        * demos/calc/calc.y: Improve some error messages.
        !          2348:
        !          2349: 2001-12-28  Torbjorn Granlund  <tege@swox.com>
        !          2350:
        !          2351:        * mpn/sparc64/mul_1.asm: Rename r72 -> r80.
        !          2352:        * mpn/sparc64/addmul_1.asm: Likewise.
        !          2353:
        !          2354: 2001-12-27  Torbjorn Granlund  <tege@swox.com>
        !          2355:
        !          2356:        * mpn/generic/tdiv_qr.c: Misc formatting cleanups.
        !          2357:        For switch case 2, replace `dn' with its value (2).
        !          2358:
        !          2359: 2001-12-25  Torbjorn Granlund  <tege@swox.com>
        !          2360:
        !          2361:        * tests/devel/mul_1.c: Add FIXED_XLIMB.
        !          2362:        * tests/devel/addmul_1.c: Likewise.
        !          2363:        * tests/devel/submul_1.c: Likewise.
        !          2364:
        !          2365:        * tests/devel/add_n.c: Improve error message.
        !          2366:        Accept command line argument for # of tests.
        !          2367:        * tests/devel/sub_n.c: Likewise.
        !          2368:
        !          2369:        * tests/devel/: Remove CLOCK settings.
        !          2370:
        !          2371:        * mpn/sparc32/v9/mul_1.asm: Rewrite.
        !          2372:        * mpn/sparc32/v9/addmul_1.asm: Rewrite.
        !          2373:        * mpn/sparc32/v9/submul_1.asm: Rewrite.
        !          2374:
        !          2375: 2001-12-24  Torbjorn Granlund  <tege@swox.com>
        !          2376:
        !          2377:        * mpn/sparc64/mul_1.asm: Get rid of global constant 0.0 (L(noll)).
        !          2378:        * mpn/sparc64/addmul_1.asm: Likewise.
        !          2379:
        !          2380: 2001-12-23  Torbjorn Granlund  <tege@swox.com>
        !          2381:
        !          2382:        * mpn/generic/get_str.c: Move final ASSERT to just before zero fill
        !          2383:        loop.
        !          2384:
        !          2385: 2001-12-22  Torbjorn Granlund  <tege@swox.com>
        !          2386:
        !          2387:        * mpn/generic/get_str.c: Move ASSERTs out of loops.  Split digit
        !          2388:        generation code into two loops, saving a test of msize in the loop.
        !          2389:
        !          2390: 2001-12-22  Kevin Ryde  <kevin@swox.se>
        !          2391:
        !          2392:        * mpn/x86/x86-defs.m4, mpn/x86/*/*.asm: Remove L / LF scheme putting
        !          2393:        function name in local labels.
        !          2394:
        !          2395:        * mpn/generic/get_str.c: Use mpn_preinv_divrem_1, add a couple of
        !          2396:        ASSERTs.
        !          2397:
        !          2398:        * mpn/generic/pre_divrem_1.c: New file.
        !          2399:        * configure.in (gmp_mpn_functions): Add it.
        !          2400:        * gmp-impl.h (mpn_preinv_divrem_1): Add prototype.
        !          2401:        (USE_PREINV_DIVREM_1, MPN_DIVREM_OR_PREINV_DIVREM_1): New macros.
        !          2402:        * tests/devel/try.c, tune/speed.c, tune/speed.h, tune/common.c,
        !          2403:        tune/many.pl, tune/Makefile.am (mpn_preinv_divrem_1): Add testing and
        !          2404:        measuring.
        !          2405:        * tune/tuneup.c: Determine USE_PREINV_DIVREM_1.
        !          2406:        * tune/pre_divrem_1.c: New file.
        !          2407:        * tests/refmpn.c, tests/tests.h (refmpn_preinv_divrem_1): New function.
        !          2408:
        !          2409:        * tests/mpz/t-io_raw.c: New file.
        !          2410:        * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
        !          2411:
        !          2412:        * mpz/inp_raw.c, mpz/out_raw.c: Rewrite.
        !          2413:        * acinclude.m4, configure.in (AC_C_BIGENDIAN): New test.
        !          2414:        * gmp-impl.h (BSWAP_LIMB): New macro.
        !          2415:
        !          2416:        * acinclude.m4 (GMP_PROG_CC_WORKS): For a native compile, demand
        !          2417:        executables will run, per AC_PROG_CC.  This detects ABI=64 is unusable
        !          2418:        in a native sparc solaris 7 build with the kernel in 32-bit mode.
        !          2419:        * gmp.texi (ABI and ISA): Add notes on this, add an example configure
        !          2420:        setting an ABI.
        !          2421:
        !          2422:        * tune/tuneup.c, configure.in: Print the gmp-mparam.h filename.
        !          2423:        * tune/tuneup.c: Print the CPU frequency.
        !          2424:
        !          2425:        * tune/time.c, tune/speed.h: Add s390 "stck" method, flatten
        !          2426:        conditionals in speed_time_init a bit, use have_* variables to let
        !          2427:        some code go dead in speed_starttime and speed_endtime.
        !          2428:
        !          2429:        * tune/freq.c (speed_cpu_frequency_irix_hinv): New function.
        !          2430:
        !          2431:        * Makefile.am, configure.in: Restore mpfr.
        !          2432:
        !          2433:        * configure.in: Add --with-readline, AC_PROG_YACC and AM_PROG_LEX.
        !          2434:        * demos/calc/calc.y, demos/calc/calclex.l: Add readline support, add
        !          2435:        lucnum function.
        !          2436:        * demos/calc/Makefile.am: Add calcread.c, calc-common.h, use $(YACC),
        !          2437:        $(LEX) and $(LEXLIB).
        !          2438:        * demos/calc/calcread.c, demos/calc/calc-common.h,
        !          2439:        demos/calc/calc-config-h.in, demos/calc/README: New files.
        !          2440:
        !          2441:        * configure.in: Put demos/expr configs in expr-config.h.
        !          2442:        * demos/expr/expr-config-h.in: New file.
        !          2443:        * demos/expr/expr-impl.h: Renamed from expr-impl-h.in, get configs
        !          2444:        from expr-config.h.
        !          2445:        * demos/expr/Makefile.am: Update.
        !          2446:
        !          2447:        * demos/expr/exprfr.c: Use mpfr_sin and mpfr_cos, remove some spurious
        !          2448:        returns.
        !          2449:
        !          2450: 2001-12-20  Torbjorn Granlund  <tege@swox.com>
        !          2451:
        !          2452:        * mpn/sparc64/mul_1.asm: Trim an instruction.
        !          2453:        * mpn/sparc64/addmul_1.asm: Likewise.
        !          2454:
        !          2455:        * mpn/ia64/add_n.asm: Rewrite.
        !          2456:        * mpn/ia64/sub_n.asm: Rewrite.
        !          2457:
        !          2458: 2001-12-19  Torbjorn Granlund  <tege@swox.com>
        !          2459:
        !          2460:        * mpn/ia64/mul_1.asm: Rewrite.
        !          2461:        * mpn/ia64/addmul_1.asm: Rewrite.
        !          2462:        * mpn/ia64/submul_1.c: Use TMP_ALLOC_LIMBS.
        !          2463:
        !          2464:        * tests/devel/mul_1.c: Improve error message.
        !          2465:        Accept command line argument for # of tests.
        !          2466:        * tests/devel/addmul_1.c: Likewise.
        !          2467:        * tests/devel/submul_1.c: Likewise.
        !          2468:
        !          2469: 2001-12-18  Torbjorn Granlund  <tege@swox.com>
        !          2470:
        !          2471:        * mpn/mips3/mul_1.asm: Add NOPs to save a cycle on R1x000.
        !          2472:
        !          2473: 2001-12-18  Kevin Ryde  <kevin@swox.se>
        !          2474:
        !          2475:        * gmpxx.h (gmp_randclass): Don't allow copy constructors or "=",
        !          2476:        implementation by Gerardo.
        !          2477:
        !          2478:        * gmp-h.in (operator<<, operator>>): Remove parameter names from
        !          2479:        prototypes, to keep out of user namespace.
        !          2480:
        !          2481:        * acinclude.m4 (GMP_FUNC_VSNPRINTF): Let the test program work as C++.
        !          2482:
        !          2483: 2001-12-16  Torbjorn Granlund  <tege@swox.com>
        !          2484:
        !          2485:        * mpn/sparc64/mul_1.asm: Rewrite.
        !          2486:        * mpn/sparc64/addmul_1.asm: Rewrite.
        !          2487:        * mpn/sparc64/submul_1.asm: Rewrite.
        !          2488:
        !          2489:        * mpn/sparc64/addmul1h.asm: Remove.
        !          2490:        * mpn/sparc64/submul1h.asm: Remove.
        !          2491:        * mpn/sparc64/mul1h.asm: Remove.
        !          2492:
        !          2493: 2001-12-15  Kevin Ryde  <kevin@swox.se>
        !          2494:
        !          2495:        * gmp-h.in (mpn_add, mpn_add_1, mpn_cmp, mpn_sub, mpn_sub_1): Follow
        !          2496:        __GMP_INLINE_PROTOTYPES for whether to give prototype with inline.
        !          2497:
        !          2498:        * configure.in (i686*-*-*, pentiumpro-*-*, pentium[23]-*-*,
        !          2499:        athlon-*-*, pentium4-*-*): Fall back on -march=pentium if
        !          2500:        -march=pentiumpro or higher is not good (eg. solaris cmov).
        !          2501:
        !          2502: 2001-12-12  Torbjorn Granlund  <tege@swox.com>
        !          2503:
        !          2504:        * gmp-impl.h (MPN_ZERO): Rewrite generic version to be similar to
        !          2505:        powerpc version.
        !          2506:
        !          2507: 2001-12-12  Kevin Ryde  <kevin@swox.se>
        !          2508:
        !          2509:        * acinclude.m4 (GMP_PROG_CC_WORKS): Detect cmov problems with gcc
        !          2510:        -march=pentiumpro on solaris 2.8.
        !          2511:
        !          2512:        * tune/common.c, tune/speed.h: Allow for commas in count_leading_zeros
        !          2513:        and count_trailing_zeros macros.
        !          2514:
        !          2515:        * demos/expr/Makefile.am: Distribute exprfr.c and exprfra.c.
        !          2516:
        !          2517:        * tune/Makefile.am (speed_ext_SOURCES): Should be speed-ext.c.
        !          2518:
        !          2519: 2001-12-10  Torbjorn Granlund  <tege@swox.com>
        !          2520:
        !          2521:        * mpn/s390/addmul_1.asm: New file.
        !          2522:        * mpn/s390/submul_1.asm: New file.
        !          2523:        * mpn/s390/mul_1.asm: New file.
        !          2524:        * mpn/s390/gmp-mparam.h: Update.
        !          2525:
        !          2526: 2001-12-07  Kevin Ryde  <kevin@swox.se>
        !          2527:
        !          2528:        * gmp-h.in, mp-h.in, gmp-impl.h: __GMP_DECLSPEC at start of
        !          2529:        prototypes, for the benefit of Microsoft C.
        !          2530:
        !          2531:        * gmp.texi (Introduction to GMP): Mention ABI and ISA section.
        !          2532:        (Known Build Problems): Recommend GNU sed on solaris 2.6.
        !          2533:        (Assigning Integers): Direct feedback to bug-gmp.
        !          2534:        (References): Typo Knuth vol 2 is from 1998.
        !          2535:
        !          2536:        * gmpxx.h (gmp_randclass): Add initializers for gmp_randinit_default
        !          2537:        and gmp_randinit_lc_2exp_size.
        !          2538:        gmp.texi (C++ Interface Random Numbers): Describe them.
        !          2539:
        !          2540:        * tests/misc/t-locale.c, tests/cxx/t-locale.cc: Ensure mpf_clear is
        !          2541:        done when the localconv override doesn't work.  Reported by Mike
        !          2542:        Jetzer.
        !          2543:
        !          2544:        * printf/doprnti.c: Don't showbase on a zero mpq denominator.
        !          2545:        * tests/misc/t-printf.c, tests/cxx/t-ostream.c: Add test cases.
        !          2546:
        !          2547: 2001-12-04  Kevin Ryde  <kevin@swox.se>
        !          2548:
        !          2549:        * gmp.texi (Known Build Problems): Update to gmp_randinit_lc_2exp_size
        !          2550:        for the sparc solaris 2.7 problem.
        !          2551:        (Reentrancy): SCO ctype.h affects all text-based input functions.
        !          2552:        (Formatted Output Strings): Correction to the mpf example.
        !          2553:        (Single Limb Division): Correction, should be q-1 not q+1.
        !          2554:        (Extended GCD): Clarify why single-limb is inferior.
        !          2555:        (Raw Output Internals): Clarify size is twos complement, note limb
        !          2556:        order means _mp_d doesn't get directly read or written.
        !          2557:        (Contributors): Clarify mpz_jacobi.
        !          2558:        And a couple of formatting tweaks elsewhere.
        !          2559:
        !          2560:        * tests/cxx/t-headers.cc: New file.
        !          2561:        * tests/cxx/Makefile.am: Add it.
        !          2562:
        !          2563:        * gmpxx.h: Add <strstream>, needed by mpf_class::get_str2.
        !          2564:
        !          2565:        * gmp-h.in (mpq_inp_str, mpn_hamdist): Add __GMP_DECLSPEC.
        !          2566:
        !          2567: 2001-12-01  Torbjorn Granlund  <tege@swox.com>
        !          2568:
        !          2569:        * Version 4.0 released.
        !          2570:
        !          2571:        * mpfr/README: Replace contents with explanation of why mpfr is gone.
        !          2572:
        !          2573: 2001-12-01  Kevin Ryde  <kevin@swox.se>
        !          2574:
        !          2575:        * Makefile.am, configure.in: Temporarily remove mpfr, just leave a
        !          2576:        README.
        !          2577:
        !          2578:        * mpn/Makefile.am (EXTRA_DIST): Add Makeasm.am.
        !          2579:
        !          2580: 2001-11-30  Gerardo Ballabio  <ballabio@sissa.it>
        !          2581:
        !          2582:        * tests/cxx/t-constr.cc, tests/cxx/t-expr.cc: New files.
        !          2583:        * tests/cxx/Makefile.am (check_PROGRAMS): Add them.
        !          2584:
        !          2585: 2001-11-30  Kevin Ryde  <kevin@swox.se>
        !          2586:
        !          2587:        * mpfr: Update to 2001-11-16.  Patch TMP handling of agm.c and sqrt.c,
        !          2588:        use plain mpn_sqrtrem in sqrt.c, separate .c files for floor and ceil,
        !          2589:        disable an expression style assert in add1.c.
        !          2590:
        !          2591:        * mpn/s370: Rename to s390.
        !          2592:        * configure.in (s3[6-9]0*-*-*): Update.
        !          2593:        * mpn/Makefile.am (TARG_DIST): Add s390.
        !          2594:
        !          2595:        * mpz/fits_s.c, mpf/fits_s.c, mpf/fits_u.c: Remove files, unused since
        !          2596:        change to .h style.
        !          2597:
        !          2598: 2001-11-29  Torbjorn Granlund  <tege@swox.com>
        !          2599:
        !          2600:        * gmp-h.in: Declare mpz_get_d_2exp and mpf_get_d_2exp.
        !          2601:        * Makefile.am: Add mpz/get_d_2exp$U.lo and mpf/get_d_2exp$U.lo.
        !          2602:        * mpf/Makefile.am: Add get_d_2exp.c.
        !          2603:        * mpz/Makefile.am: Add get_d_2exp.c.
        !          2604:
        !          2605: 2001-11-29  Kevin Ryde  <kevin@swox.se>
        !          2606:
        !          2607:        * mpn/*/gmp-mparam.h: Update measured thresholds.
        !          2608:        * mpn/s370/gmp-mparam.h: New file.
        !          2609:
        !          2610:        * mpz/millerrabin.c: Mark for internal use only, for now.
        !          2611:        * gmp.texi (Number Theoretic Functions): Remove documentation.
        !          2612:
        !          2613: 2001-11-28  Torbjorn Granlund  <tege@swox.com>
        !          2614:
        !          2615:        * mpf/get_d_2exp.c: New file.
        !          2616:        * mpz/get_d_2exp.c: New file.
        !          2617:
        !          2618:        * mpz/realloc2.c: Fix typo.  Make more similar to mpz_realloc.
        !          2619:        * mpz/realloc.c: Use __GMP_REALLOCATE_FUNC_LIMBS.
        !          2620:
        !          2621: 2001-11-27  Gerardo Ballabio  <ballabio@sissa.it>
        !          2622:
        !          2623:        * gmpxx.h, mpfrxx.h: Various updates and improvements.
        !          2624:
        !          2625: 2001-11-27  Kevin Ryde  <kevin@swox.se>
        !          2626:
        !          2627:        * gmp.texi (Useful Macros and Constants): Add gmp_version, add @findex
        !          2628:        for mp_bits_per_limb.
        !          2629:
        !          2630:        * demos/perl/GMP.pm, demos/perl/GMP.xs: Use new style gmp_randinit's.
        !          2631:        * demos/perl/test.pl: Update for this, and for mpz_perfect_power_p
        !          2632:        handling of 0 and 1.
        !          2633:
        !          2634: 2001-11-26  Torbjorn Granlund  <tege@swox.com>
        !          2635:
        !          2636:        * mpz/realloc.c: Clear variable when decreasing allocation to less than
        !          2637:        needed.  Misc updates.
        !          2638:
        !          2639: 2001-11-25  Kevin Ryde  <kevin@swox.se>
        !          2640:
        !          2641:        * tests/misc/t-locale.c: Avoid printf in the normal case, since the
        !          2642:        replacement localeconv breaks it on SunOS 4.
        !          2643:
        !          2644:        * gmp.texi (Build Options, Notes for Package Builds): Note libgmpxx
        !          2645:        depends on libgmp from same GMP version.
        !          2646:
        !          2647:        * acinclude.m4, configure.in (GMP_FUNC_SSCANF_WRITABLE_INPUT): New
        !          2648:        test.
        !          2649:        * scanf/sscanf.c, scanf/vsscanf.c: Use it to ensure sscanf input is
        !          2650:        writable, if necessary.
        !          2651:
        !          2652:        * tests/misc/t-scanf.c: Ensure sscanf arguments are writable, always.
        !          2653:        * configure.in (AC_CHECK_DECLS): Remove sscanf, no longer required.
        !          2654:
        !          2655:        * configure.in (none-*-*): Fix default CFLAGS setups.
        !          2656:
        !          2657:        * doc/configuration: Misc updates.
        !          2658:
        !          2659: 2001-11-23  Kevin Ryde  <kevin@swox.se>
        !          2660:
        !          2661:        * mpz/init2.c, mpz/realloc2.c: New files.
        !          2662:        * Makefile.am, mpz/Makefile.am: Add them.
        !          2663:        * gmp-h.in: Add prototypes.
        !          2664:        * gmp.texi (Efficiency): Mention these instead of _mpz_realloc.
        !          2665:        (Initializing Integers): Add documentation, reword other parts.
        !          2666:
        !          2667: 2001-11-22  Torbjorn Granlund  <tege@swox.com>
        !          2668:
        !          2669:        * mpn/cray/ieee/addmul_1.c: Fix logic for more_carries scalar loop.
        !          2670:        * mpn/cray/ieee/submul_1.c: Likewise.
        !          2671:
        !          2672: 2001-11-20  Kevin Ryde  <kevin@swox.se>
        !          2673:
        !          2674:        * gmp.texi (Known Build Problems): Note an out of memory on DJGPP.
        !          2675:        (Function Classes): Update function counts.
        !          2676:        Misc tweaks elsewhere.
        !          2677:
        !          2678:        * configure.in (AC_CHECK_DECLS): Add sscanf.
        !          2679:        * tests/misc/t-scanf.c: Use it, for the benefit of SunOS 4.
        !          2680:
        !          2681:        * tal-debug.c, gmp-impl.h: More checks of TMP_DECL/TMP_MARK/TMP_FREE
        !          2682:        consistency.
        !          2683:
        !          2684:        * mpfr/Makefile.am (AR): Explicit AR=@AR@ to override automake
        !          2685:        default, necessary for powerpc64 ABI=aix64.
        !          2686:
        !          2687: 2001-11-18  Torbjorn Granlund  <tege@swox.com>
        !          2688:
        !          2689:        * mpz/powm.c: Move TMP_MARK to before any TMP_ALLOCs.
        !          2690:
        !          2691: 2001-11-18  Kevin Ryde  <kevin@swox.se>
        !          2692:
        !          2693:        * configure.in (--enable-fft): Make this the default.
        !          2694:        * gmp.texi (Build Options): Update.
        !          2695:
        !          2696:        * Makefile.am (libmp_la_DEPENDENCIES): Revise mpz objects needed by
        !          2697:        new mpz/powm.c.
        !          2698:
        !          2699:        * gmp.texi (Random State Initialization): Add gmp_randinit_default and
        !          2700:        gmp_randinit_lc_2exp_size, mark gmp_randinit as obsolete.
        !          2701:        (Random State Seeding): New section, taken from "Random State
        !          2702:        Initialization" and "Random Number Functions".
        !          2703:
        !          2704:        * configure.in (AC_CHECK_DECLS): Add fgetc, fscanf, ungetc.
        !          2705:        * scanf/fscanffuns.c: Use these, for the benefit of SunOS 4.
        !          2706:
        !          2707:        * gmp-impl.h, gmp-h.in (__gmp_default_fp_limb_precision): Move back to
        !          2708:        gmp-impl.h now not required for inlined mpf.
        !          2709:
        !          2710:        * randlc2s.c (gmp_randinit_lc_2exp_size): New file, the size-based LC
        !          2711:        selection from rand.c.
        !          2712:        * rand.c (gmp_randinit): Use it.
        !          2713:        * randdef.c (gmp_randinit_default): New file.
        !          2714:        * gmp-impl.h (RANDS): Use it.
        !          2715:        (ASSERT_CARRY): New macro.
        !          2716:        * gmp-h.in (gmp_randinit_default, gmp_randinit_lc_2exp_size: Add
        !          2717:        prototypes.
        !          2718:        * Makefile.am (libgmp_la_SOURCES): Add randdef.c and randlc2s.c.
        !          2719:
        !          2720:        * printf/asprntffuns.c: Include config.h before using its defines.
        !          2721:
        !          2722:        * gmp-impl.h: Move C++ <string> to top of file to avoid the memset
        !          2723:        redefine upsetting configure tests.  Remove <iostream> since <iosfwd>
        !          2724:        in gmp.h suffices.
        !          2725:
        !          2726: 2001-11-16  Kevin Ryde  <kevin@swox.se>
        !          2727:
        !          2728:        * gmp.texi (Integer Exponentiation): mpz_powm supports negative
        !          2729:        exponents.
        !          2730:        (Assigning Floats, I/O of Floats, C++ Formatted Output, C++ Formatted
        !          2731:        Input): Decimal point follows locale.
        !          2732:        (Formatted Output Strings): %n accepts any type.
        !          2733:        (Formatted Input Strings): New section.
        !          2734:        (Formatted Input Functions): New section.
        !          2735:        (C++ Class Interface): Corrections and clarifications suggested by
        !          2736:        Gerardo.
        !          2737:
        !          2738:        * scanf/doscan.c, scanf/fscanf.c, scanf/fscanffuns.c, scanf/scanf.c,
        !          2739:        scanf/sscanf.c, scanf/sscanffuns.c, scanf/vfscanf.c, scanf/vscanf.c,
        !          2740:        scanf/vsscanf.c, scanf/Makefile.am, tests/misc/t-scanf.c: New files.
        !          2741:        * gmp-h.in, gmp-impl.h, Makefile.am, configure.in: Consequent
        !          2742:        additions.
        !          2743:
        !          2744:        * tests/misc: New directory.
        !          2745:        * tests/misc/Makefile.am: New file.
        !          2746:        * tests/misc/t-locale.c: New file.
        !          2747:        * tests/misc/t-printf.c: Moved from tests/printf.
        !          2748:        * tests/printf: Remove directory.
        !          2749:        * configure.in, tests/Makefile.am: Update.
        !          2750:
        !          2751:        * tests/cxx/t-locale.cc: New file.
        !          2752:        * tests/cxx/Makefile.am: Add it.
        !          2753:
        !          2754:        * mpf/set_str.c, cxx/ismpf.cc: Use localeconv for the decimal point.
        !          2755:
        !          2756:        * acinclude.m4 (GMP_ASM_X86_MCOUNT): Update to $lt_prog_compiler_pic
        !          2757:        for current libtool, recognise non-PIC style mcount in windows DLLs.
        !          2758:
        !          2759:        * gmp-impl.h (__gmp_replacement_vsnprintf): Add prototype.
        !          2760:
        !          2761:        * gmp-impl.h (__gmp_rands, __gmp_rands_initialized,
        !          2762:        modlimb_invert_table): Add __GMP_DECLSPEC for the benefit of test
        !          2763:        programs using them from a windows DLL.
        !          2764:        * longlong.h (__clz_tab): Ditto.
        !          2765:
        !          2766:        * mpn/x86/t-zdisp2.pl: New file.
        !          2767:
        !          2768:        * mpn/x86/pentium4/README: New file.
        !          2769:
        !          2770: 2001-11-15  Torbjorn Granlund  <tege@swox.com>
        !          2771:
        !          2772:        * mpz/powm.c (HANDLE_NEGATIVE_EXPONENT): #define to 1.
        !          2773:        * tests/mpz/reuse.c (main): Use mpz_invert to avoid undefined mpz_powm
        !          2774:        cases.
        !          2775:
        !          2776: 2001-11-14  Torbjorn Granlund  <tege@swox.com>
        !          2777:
        !          2778:        * mpz/powm_ui.c: Rewrite along the lines of mpz/powm.c (except still no
        !          2779:        redc).
        !          2780:        * mpz/powm.c: Adjust for negative b, after exponentiation done.  Add
        !          2781:        (still disabled) code for handling negative exponents.  Misc cleanups.
        !          2782:
        !          2783: 2001-11-14  Kevin Ryde  <kevin@swox.se>
        !          2784:
        !          2785:        * mpf/out_str.c: Use localeconv for the decimal point.
        !          2786:
        !          2787:        * tests/misc.c (tests_rand_end): Use time() if gettimeofday() not
        !          2788:        available (eg. on mingw).
        !          2789:
        !          2790: 2001-11-11  Kevin Ryde  <kevin@swox.se>
        !          2791:
        !          2792:        * gmp-h.in: Remove parameter names from prototypes, to keep out of
        !          2793:        application namespace.
        !          2794:
        !          2795: 2001-11-08  Kevin Ryde  <kevin@swox.se>
        !          2796:
        !          2797:        * acinclude.m4 (GMP_GCC_VERSION_GE): Fix sed regexps to work on
        !          2798:        Solaris 8.
        !          2799:
        !          2800:        * printf/doprnt.c: Support %n of all types, per glibc.
        !          2801:
        !          2802:        * gmp-h.in, gmp-impl.h, mpf/abs.c, mpf/neg.c, mpf/get_prc.c,
        !          2803:        mpf/get_dfl_prec.c, mpf/set_dfl_prec.c, mpf/set_prc_raw.c,
        !          2804:        mpf/set_si.c, mpf/set_ui.c, mpf/size.c: Revert mpf inlining, in order
        !          2805:        to leave open the possibility of keeping binary compatibility if mpf
        !          2806:        becomes mpfr.
        !          2807:
        !          2808:        * mpn/x86/k7/mmx/lshift.asm, mpn/x86/k7/mmx/rshift.asm: Use Zdisp to
        !          2809:        force code size for computed jumps.
        !          2810:        * mpn/x86/k6/mod_34lsub1.asm, mpn/x86/k6/k62mmx/copyd.asm: Use Zdisp
        !          2811:        to force good code alignment.
        !          2812:        * mpn/x86/x86-defs.m4 (Zdisp): More instructions.
        !          2813:
        !          2814:        * mpn/x86/pentium/sqr_basecase.asm, mpn/x86/k7/mmx/mod_1.asm,
        !          2815:        mpn/x86/k7/mmx/popham.asm: Remove some unnecessary "0" address offsets.
        !          2816:
        !          2817:        * mpq/set_si.c, mpq/set_ui.c: Set _mp_den._mp_size correctly if den==0.
        !          2818:
        !          2819: 2001-11-07  Torbjorn Granlund  <tege@swox.com>
        !          2820:
        !          2821:        * mpn/hppa/hppa1_1/udiv_qrnnd.asm: Work around gas bug.
        !          2822:
        !          2823:        * mpn/asm-defs.m4 (PROLOGUE): Change alignment to 8 (probably a good
        !          2824:        idea in general; required for hppa/hppa1_1/udiv_qrnnd.asm).
        !          2825:
        !          2826: 2001-11-06  Torbjorn Granlund  <tege@swox.com>
        !          2827:
        !          2828:        * gmp-impl.h (MPN_COPY_INCR): Prepend local variable by `__'.
        !          2829:        (MPN_COPY_DECR): Likewise.
        !          2830:
        !          2831: 2001-11-05  Torbjorn Granlund  <tege@swox.com>
        !          2832:
        !          2833:        * mpz/powm.c: Call mpn functions, not mpz functions, for computation
        !          2834:        mod m.  Streamline allocations to use a mixture of stack allocation and
        !          2835:        heap allocation.  Add currently disabled phi(m) exponent reduction
        !          2836:        code.  Misc optimizations and cleanups.
        !          2837:
        !          2838: 2001-11-05  Kevin Ryde  <kevin@swox.se>
        !          2839:
        !          2840:        * mpq/inp_str.c: Remove unused variable "ret".
        !          2841:
        !          2842:        * mpn/x86/k7/sqr_basecase.asm: Fix a 0(%edi) to use Zdisp, so the
        !          2843:        computed jumps hit the right spot on old gas.
        !          2844:
        !          2845:        * mpq/canonicalize.c: DIVIDE_BY_ZERO if denominator is zero.
        !          2846:
        !          2847:        * mpn/lisp/gmpasm-mode.el (comment-start-skip): Correction to the way
        !          2848:        the first \( \) pair is setup.
        !          2849:        (gmpasm-font-lock-keywords): Don't fontify the space before a "#" etc.
        !          2850:        Misc tweaks to some comments.
        !          2851:
        !          2852: 2001-11-03  Torbjorn Granlund  <tege@swox.com>
        !          2853:
        !          2854:        * tests/refmpn.c (refmpn_overlap_p): Reverse return values.
        !          2855:
        !          2856: 2001-11-02  Kevin Ryde  <kevin@swox.se>
        !          2857:
        !          2858:        * tune/many.pl: Setup CFLAGS_PIC and ASMFLAGS_PIC, since that's no
        !          2859:        longer done by configure.
        !          2860:
        !          2861:        * mpn/x86/pentium4/mmx/popham.asm: New file.
        !          2862:
        !          2863:        * mpn/x86/x86-defs.m4 (psadbw): New macro.
        !          2864:        * mpn/x86/k7/mmx/popham.asm: Use it.
        !          2865:
        !          2866:        * tests/refmpn.c (refmpn_overlap_p): New function, independent of
        !          2867:        MPN_OVERLAP_P.
        !          2868:
        !          2869: 2001-10-31  Torbjorn Granlund  <tege@swox.com>
        !          2870:
        !          2871:        * tests/mpz/t-powm.c: Print proper error message when finding
        !          2872:        discrepancy.
        !          2873:
        !          2874: 2001-10-31  Kevin Ryde  <kevin@swox.se>
        !          2875:
        !          2876:        * mpn/x86/pentium/mod_34lsub1.asm: New file.
        !          2877:        * mpn/x86/k7/mod_34lsub1.asm: New file.
        !          2878:        * mpn/x86/mod_34lsub1.asm: New file.
        !          2879:
        !          2880: 2001-10-30  Kevin Ryde  <kevin@swox.se>
        !          2881:
        !          2882:        * tests/printf/t-printf.c (check_misc): Add checks from the glibc docs.
        !          2883:        (check_vasprintf, check_vsnprintf): Run these unconditionally.
        !          2884:
        !          2885:        * gmp-impl.h (ASSERT_MPQ_CANONICAL): New macro.
        !          2886:        * mpq/cmp.c, mpq/cmp_si.c, mpq/cmp_ui.c, mpq/equal.c: Add ASSERTs for
        !          2887:        canonical inputs, where correctness depends on it.
        !          2888:
        !          2889:        * mpn/lisp/gmpasm-mode.el (comment-start-skip): Add "dnl".
        !          2890:
        !          2891: 2001-10-27  Torbjorn Granlund  <tege@swox.com>
        !          2892:
        !          2893:        * demos/pexpr.c: Remove some unused variables.
        !          2894:        (main): Allocate more buffer space to accommodate minus sign.
        !          2895:
        !          2896: 2001-10-27  Kevin Ryde  <kevin@swox.se>
        !          2897:
        !          2898:        * gmp-impl.h, mpn/asm-defs.m4, configure.in, tune/speed.h,
        !          2899:        tune/speed.c, tune/common.c, tune/many.pl, tests/devel/try.c: Add
        !          2900:        mpn_mod_34lsub1.
        !          2901:        * tests/refmpn.c, tests/tests.h (refmpn_mod_34lsub1): New function.
        !          2902:
        !          2903:        * mpn/generic/mod_34lsub1.c: New file.
        !          2904:        * mpn/x86/k6/mod_34lsub1.asm: New file.
        !          2905:        * mpn/x86/pentium4/sse2/mod_34lsub1.asm: New file.
        !          2906:        * mpn/x86/x86-defs.m4 (Zdisp): Add another instruction.
        !          2907:
        !          2908:        * gmp-h.in, gmpxx.h: Use <iosfwd> not whole <iostream>.
        !          2909:
        !          2910:        * gmp.texi (Known Build Problems): Add note on test programs with
        !          2911:        Windows DLLs.
        !          2912:
        !          2913: 2001-10-26  Kevin Ryde  <kevin@swox.se>
        !          2914:
        !          2915:        * tests/mpq/t-get_d.c: Limit the size of "eps" for vax.
        !          2916:
        !          2917:        * gmp.texi (maybepagebreak): New macro, use it in a few places.
        !          2918:        (Notes for Particular Systems): C++ Windows DLLs are not supported.
        !          2919:        (Known Build Problems): Note sparc solaris 2.7 gcc 2.95.2 shared
        !          2920:        library problems.
        !          2921:        (Autoconf): Tweak version numbers shown.
        !          2922:        (Integer Roots): mpz_perfect_square_p and mpz_perfect_power_p consider
        !          2923:        0 and 1 perfect powers, mpz_perfect_power_p accepts negatives.
        !          2924:        (Number Theoretic Functions): Add mpz_millerrabin, combined with a
        !          2925:        reworded mpz_probab_prime_p.
        !          2926:        (Formatted Output Strings): Misc clarifications.
        !          2927:        (Formatted Output Functions): gmp_asprintf, gmp_vasprintf,
        !          2928:        gmp_snprintf, gmp_vsnprintf always available.
        !          2929:        (C++ Formatted Output): Misc rewordings.
        !          2930:        (Formatted Input): New chapter.
        !          2931:        (C++ Class Interface): New chapter, by Gerardo and me.
        !          2932:        (Language Bindings): Update GMP++ now in GMP.
        !          2933:        (C++ Interface Internals): New section, by Gerardo and me.
        !          2934:
        !          2935:        * printf/repl-vsnprintf.c: New file.
        !          2936:        * configure.in, acinclude.m4, Makefile.am, printf/Makefile.am: Use it
        !          2937:        if libc vsnprintf missing or bad.
        !          2938:        * configure.in (AC_CHECK_FUNCS): Add strnlen.
        !          2939:
        !          2940:        * printf/snprntffuns.c, printf/vasprintf.c: Use
        !          2941:        __gmp_replacement_vsnprintf if libc vsnprintf not available.
        !          2942:        * printf/asprintf.c, printf/snprintf.c, printf/vasprintf.c,
        !          2943:        printf/vsnprintf.c: Provide these functions unconditionally.
        !          2944:        * acinclude.m4 (GMP_FUNC_VSNPRINTF): Remove warning about omissions
        !          2945:        when vsnprintf not available.
        !          2946:
        !          2947: 2001-10-24  Kevin Ryde  <kevin@swox.se>
        !          2948:
        !          2949:        * configure, aclocal.m4: Regenerate with a libtool patch for a stray
        !          2950:        quote in AC_LIBTOOL_PROG_LD_SHLIBS under mingw and cygwin.
        !          2951:
        !          2952:        * gmp-impl.h (modlimb_invert): More comments.
        !          2953:
        !          2954:        * printf/doprnt.c, printf/doprnti.c: Use the precision field to print
        !          2955:        leading zeros.
        !          2956:        * tests/printf/t-printf.c: Test this.
        !          2957:        * cxx/osdoprnti.cc, gmp-impl.h: Ignore precision in operator<<.
        !          2958:
        !          2959:        * tune/speed.c, tune/speed.h, tune/common.c: Add mpn_mul_1_inplace.
        !          2960:
        !          2961: 2001-10-23  Torbjorn Granlund  <tege@swox.com>
        !          2962:
        !          2963:        * mpz/pprime_p.c (mpz_millerrabin): Remove function and its descendant.
        !          2964:
        !          2965:        * mpz/millerrabin.c: New file with code from pprime.c.
        !          2966:        * mpz/Makefile.am: Compile millerrabin.c.
        !          2967:        * Makefile.am (MPZ_OBJECTS): Ditto.
        !          2968:        * gmp-h.in: Declare mpz_millerrabin.
        !          2969:
        !          2970: 2001-10-22  Torbjorn Granlund  <tege@swox.com>
        !          2971:
        !          2972:        * tests/mpz/t-perfsqr.c: New file.
        !          2973:        * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
        !          2974:
        !          2975:        * demos/factorize.c (factor): Check for number to factor == 0.
        !          2976:        (main): When invoked without arguments, read from stdin.
        !          2977:
        !          2978:        * mpz/perfpow.c: Add code to handle negative perfect powers ((-b)^odd).
        !          2979:        Treat 0 and 1 as perfect powers.
        !          2980:
        !          2981:        * mpn/sparc32/v9/sqr_diagonal.asm: Jump past .align.
        !          2982:
        !          2983: 2001-10-21  Torbjorn Granlund  <tege@swox.com>
        !          2984:
        !          2985:        * mpn/generic/perfsqr.c (sq_res_0x100): Remove bogus final `,'.
        !          2986:        (mpn_perfect_square_p): Suppress superfluous `&1' in sq_res_0x100 test.
        !          2987:        (mpn_perfect_square_p, O(n) test): Improve comments.  Combine remainder
        !          2988:        tests for some small primes.  Don't share code for different limb
        !          2989:        sizes.  Use single `if' with many `||' for better code density.
        !          2990:
        !          2991: 2001-10-22  Kevin Ryde  <kevin@swox.se>
        !          2992:
        !          2993:        * demos/perl/GMP.xs (mutate_mpz, tmp_mpf_grow): Make these "static".
        !          2994:
        !          2995:        * mpn/x86/pentium/popcount.asm, mpn/x86/pentium/hamdist.asm
        !          2996:        (mpn_popcount_table): Use GSYM_PREFIX.
        !          2997:
        !          2998: 2001-10-19  Kevin Ryde  <kevin@swox.se>
        !          2999:
        !          3000:        * mpn/x86/*.asm: Add some measured speeds on various x86s.
        !          3001:
        !          3002:        * tests/mpz/reuse.c, tests/mpf/reuse.c: Disable tests when using a
        !          3003:        windows DLL, because certain global variable usages won't compile.
        !          3004:
        !          3005:        * configure.in (AC_CHECK_FUNCS): Add alarm.
        !          3006:        * tests/spinner.c: Conditionalize alarm and SIGALRM availability, for
        !          3007:        the benefit of mingw32.
        !          3008:
        !          3009:        * acinclude.m4 (GMP_ASM_TYPE, GMP_ASM_SIZE): Suppress .type and .size
        !          3010:        on COFF.
        !          3011:
        !          3012:        * acinclude.m4 (GMP_PROG_HOST_CC): New macro.
        !          3013:        * configure.in: Use it for windows DLL cross-compiles.
        !          3014:        * aclocal.m4, configure: Regenerate with libtool patch to hold HOST_CC
        !          3015:        in the generated libtool script.
        !          3016:
        !          3017:        * aclocal.m4, configure: Regenerate with libtool patch to suppress
        !          3018:        warnings when probing command line limit on FreeBSD.
        !          3019:
        !          3020:        * demos/qcn.c (M_PI): Define if not already provided, helps mingw32.
        !          3021:
        !          3022: 2001-10-17  Kevin Ryde  <kevin@swox.se>
        !          3023:
        !          3024:        * printf/doprnt.c: Use <stdint.h> for intmax_t.
        !          3025:
        !          3026:        * longlong.h: Recognise __sparcv8 for gcc on Solaris.  Reported by
        !          3027:        Mark Mentovai <mark@mentovai.com>.
        !          3028:
        !          3029:        * gmp-impl.h (gmp_allocated_string): No need for inline on member funs.
        !          3030:
        !          3031: 2001-10-16  Kevin Ryde  <kevin@swox.se>
        !          3032:
        !          3033:        * gmp.texi (Debugging): Add mpatrol.
        !          3034:        (Integer Comparisons, Comparing Rationals, Float Comparison): Index
        !          3035:        entries for sign tests.
        !          3036:        (I/O of Floats): Clarify mpf_out_str exponent is in decimal.
        !          3037:        (C++ Formatted Output): mpf_t operator<< exponent now in decimal.
        !          3038:        (FFT Multiplication): Use an ascii art sigma.
        !          3039:        (Contributors): Add Gerardo Ballabio.
        !          3040:
        !          3041:        * cxx/osfuns.cc (__gmp_doprnt_params_from_ios): Always give mpf_t
        !          3042:        exponent in decimal, irrespective of ios::hex or ios::oct.
        !          3043:        * tests/cxx/t-ostream.cc (check_mpf): Update.
        !          3044:
        !          3045:        * printf/doprnt.c: Support %lln and %hhn.
        !          3046:
        !          3047:        * mpn/x86/pentium4/sse2/submul_1.asm: Use a psubq to negate the
        !          3048:        initial carry (helps the submul_1c case), and improve the comments.
        !          3049:
        !          3050: 2001-10-11  Kevin Ryde  <kevin@swox.se>
        !          3051:
        !          3052:        * acinclude.m4, configure.in (GMP_IMPL_H_IEEE_FLOATS): New macro.
        !          3053:
        !          3054:        * ltmain.sh: Send some rm errors to /dev/null, helps during compiles
        !          3055:        on Solaris 2.7 and HP-UX 10.
        !          3056:
        !          3057:        * tal-notreent.c: Renamed from stack-alloc.c.
        !          3058:        * Makefile.am, acinclude.m4, gmp-impl.h: Update.
        !          3059:
        !          3060:        * gmp-h.in: Don't give both prototypes and inlines, except on gcc.
        !          3061:
        !          3062:        * gmp-h.in, gmp-impl.h: Use #includes to get necessary standard
        !          3063:        classes, add std:: to prototypes.
        !          3064:        * cxx/*.cc, tests/cxx/t-ostream.cc: Add "use namespace std".
        !          3065:        * acinclude.m4 (GMP_PROG_CXX_WORKS): Ditto.
        !          3066:
        !          3067:        * tests/*/Makefile.in, mpfr/tests/Makefile.in: Regenerate with
        !          3068:        automake patch to avoid Ultrix problem with empty $(TESTS).
        !          3069:
        !          3070:        * */Makefile.in: Regenerate with automake patch to only rm *_.c in
        !          3071:        "make clean" when ansi2knr actually in use, helps DOS 8.3.
        !          3072:
        !          3073:        * Makefile.in: Regenerate with automake patch to fix stamp-h
        !          3074:        numbering, avoiding an unnecessary config.status run.
        !          3075:
        !          3076: 2001-10-09  Torbjorn Granlund  <tege@swox.com>
        !          3077:
        !          3078:        * mpn/hppa/hppa1_1/udiv_qrnnd.asm: Use L macros for labels.
        !          3079:        Quote L reloc operator.
        !          3080:
        !          3081:        * gmp-impl.h: Declare class string.
        !          3082:
        !          3083:        * mpn/asm-defs.m4 (INT32, INT64): Quote $1 to prevent further
        !          3084:        expansion.
        !          3085:
        !          3086:        * mpn/alpha/ev6/mul_1.asm: New file.
        !          3087:
        !          3088: 2001-10-09  Kevin Ryde  <kevin@swox.se>
        !          3089:
        !          3090:        * gmp.texi (Introduction to GMP): Add pentium 4 to optimized CPUs.
        !          3091:        (Build Options): Note macos directory.
        !          3092:        (Notes for Package Builds): GMP 4 series binary compatible with 3.
        !          3093:        (Known Build Problems): Remove $* and ansi2knr note, now fixed, except
        !          3094:        possibly under --host=none.
        !          3095:        (Formatted Output Strings): Remove -1 prec for all digits.
        !          3096:
        !          3097:        * mpz/add.c, mpz/sub.c: Don't use mpz path on #include (helps macos).
        !          3098:        * mpbsd/Makefile.am (INCLUDES): Add -I$(top_srcdir)/mpz.
        !          3099:
        !          3100:        * printf/doprnt.c, tests/printf/t-printf.c: Remove support for %.*Fe
        !          3101:        prec -1 meaning all digits.
        !          3102:
        !          3103:        * acinclude.m4 (GMP_PROG_AR): Override libtool, use AR_FLAGS="cq".
        !          3104:        (GMP_HPC_HPPA_2_0): Print version string to config.log.
        !          3105:
        !          3106:        * Makefile.am (AUTOMAKE_OPTIONS): Remove check-news (permission notice
        !          3107:        in NEWS file is too big).
        !          3108:        (dist-hook): Don't distribute numbered or unnumbered emacs backups.
        !          3109:
        !          3110:        * Makefile.am, cxx/Makefile.am: Updates for Gerardo's stuff.
        !          3111:
        !          3112: 2001-10-09  Gerardo Ballabio  <ballabio@sissa.it>
        !          3113:
        !          3114:        * cxx/isfuns.cc: New file.
        !          3115:        * gmp-impl.h: Add prototypes.
        !          3116:        * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: New files.
        !          3117:        * gmp-h.in: Add prototypes.
        !          3118:        * gmpxx.h, mpfrxx.h: New files.
        !          3119:
        !          3120: 2001-10-08  Kevin Ryde  <kevin@swox.se>
        !          3121:
        !          3122:        * configure.in (with_tags): Establish a default based on --enable-cxx.
        !          3123:
        !          3124:        * aclocal.m4: Regenerate with libtool patches for sed char range to
        !          3125:        help Cray, LTCC quotes and +Z warnings grep to help HP-UX.
        !          3126:
        !          3127:        * gmp-impl.h (doprnt_format_t, doprnt_memory_t, doprnt_reps_t,
        !          3128:        doprnt_final_t): Use _PROTO.
        !          3129:
        !          3130: 2001-10-05  Torbjorn Granlund  <tege@swox.com>
        !          3131:
        !          3132:        * mpn/asm-defs.m4 (INT32, INT64): Use LABEL_SUFFIX.
        !          3133:
        !          3134:        * mpn/hppa: Convert files to `.asm'.
        !          3135:
        !          3136: 2001-10-05  Kevin Ryde  <kevin@swox.se>
        !          3137:
        !          3138:        * mpn/Makeasm.am (.S files): Revert to separate CPP and CCAS, use
        !          3139:        cpp-ccas, and only pass CPPFLAGS to CPP, not whole CFLAGS.
        !          3140:        * mpn/cpp-ccas: New file.
        !          3141:        * mpn/Makefile.am (EXTRA_DIST): Add it.
        !          3142:
        !          3143:        * tune/common.c, tune/speed.h: Change SPEED_ROUTINE_MPN_COPY_CALL uses
        !          3144:        to SPEED_ROUTINE_MPN_COPY or new SPEED_ROUTINE_MPN_COPY_BYTES.  Avoids
        !          3145:        macro expansion problems on Cray.
        !          3146:
        !          3147:        * configure.in (AC_PROG_CXXCPP): Add this, to make libtool happier.
        !          3148:
        !          3149: 2001-10-04  Torbjorn Granlund  <tege@swox.com>
        !          3150:
        !          3151:        * mpz/rrandomb.c (gmp_rrandomb): Change bit_pos to be 0-based (was
        !          3152:        1-based); shift 2 (was 1) when making bit mask.  These two changes
        !          3153:        avoid undefined shift counts.
        !          3154:        (gmp_rrandomb): Avoid most calls to _gmp_rand by caching random values.
        !          3155:
        !          3156:        * mpn/generic/random2.c: Changes for mirroring mpz/rrandomb.c.
        !          3157:
        !          3158: 2001-10-04  Kevin Ryde  <kevin@swox.se>
        !          3159:
        !          3160:        * gmp.texi (Build Options): Add --enable-cxx.
        !          3161:        (Notes for Particular Systems): Mention pentium4 performance and SSE2.
        !          3162:        (Known Build Problems): Remove vax jsobgtr note, no longer needed.
        !          3163:        (Converting Floats): Tweak mpf_get_str description.
        !          3164:        (Low-level Functions): Correction to mpn_gcdext destination space
        !          3165:        requirements.
        !          3166:        (C++ Formatted Output): New section.
        !          3167:        (Language Bindings): Add ALP
        !          3168:        (Contributors): Add Paul Zimmermann's square root, update my things.
        !          3169:
        !          3170:        * acinclude.m4 (GMP_PROG_CC_IS_GNU, GMP_PROG_CXX_WORKS): Send compiler
        !          3171:        errors to config.log.
        !          3172:
        !          3173:        * mpq/Makefile.am (INCLUDES): Remove -DOPERATION_$*, not needed.
        !          3174:
        !          3175:        * mpn/x86/*.asm: Change references to old README.family to just README.
        !          3176:
        !          3177:        * mpz/README: Remove file, now adequately covered in the manual.
        !          3178:
        !          3179: 2001-10-03  Torbjorn Granlund  <tege@swox.com>
        !          3180:
        !          3181:        * mpn/x86/pentium4/copyi.asm: New file.
        !          3182:        * mpn/x86/pentium4/copyd.asm: New file.
        !          3183:
        !          3184:        * gmp-impl.h: Implement separate MPN_COPY_INCR and MPN_COPY_DECR
        !          3185:        macros for CRAY systems.
        !          3186:        (CRAY _MPN_COPY): Delete.
        !          3187:
        !          3188: 2001-10-02  Kevin Ryde  <kevin@swox.se>
        !          3189:
        !          3190:        * tests/mpz/t-popcount.c (check_data): Use "~ (unsigned long) 0" to
        !          3191:        avoid compiler warnings on sco.
        !          3192:
        !          3193:        * mpbsd/Makefile.am: Compile mpz files directly, no copying.
        !          3194:        Use mpz/add.c and mpz/sub.c rather than mpz/aors.c.
        !          3195:        (INCLUDES): Remove -DOPERATION_$*, no longer needed (by mpz).
        !          3196:
        !          3197:        * mpz/aors.h: Renamed from mpz/aors.c.
        !          3198:        * mpz/add.c, mpz/sub.c: New files, using mpz/aors.h.
        !          3199:        * mpz/aors_ui.h: Renamed from mpz/aors_ui.c.
        !          3200:        * mpz/add_ui.c, mpz/sub_ui.c: New files, using mpz/aors_ui.h.
        !          3201:        * mpz/fits_s.h: Renamed and adapted from mpz/fits_s.c.
        !          3202:        * mpz/fits_sshort.c, mpz/fits_sint.c, mpz/fits_slong.c: New files.
        !          3203:        * mpz/mul_i.h: Renamed from mpz/mul_siui.c.
        !          3204:        * mpz/mul_ui.c, mpz/mul_ui.c: New files, using mpz/mul_i.h.
        !          3205:        * mpz/Makefile.am: Consequent updates.
        !          3206:        (INCLUDES): Remove -DOPERATION_$*.
        !          3207:
        !          3208:        * mpf/fits_s.h: Renamed and adapted from mpf/fits_s.c.
        !          3209:        * mpf/fits_sshort.c, mpf/fits_sint.c, mpf/fits_slong.c: New files.
        !          3210:        * mpf/fits_u.h: Renamed and adapted from mpf/fits_u.c.
        !          3211:        * mpf/fits_ushort.c, mpf/fits_uint.c, mpf/fits_ulong.c: New files.
        !          3212:        * mpf/Makefile.am: Consequent updates.
        !          3213:        (INCLUDES): Remove -DOPERATION_$*.
        !          3214:
        !          3215:        * cxx/osfuns.cc (__gmp_doprnt_params_from_ios): Don't use ios::hex etc
        !          3216:        as cases in a switch, they're not constant in g++ 3.0.
        !          3217:
        !          3218:        * mpn/Makeasm.am (.s.o, .s.obj, .S.o, .S.obj, .asm.o, .asm.obj):
        !          3219:        Locate source file with test -f the same as automake.
        !          3220:        (.S): Let CCAS do the preprocessing, and run libtool for .S.lo.
        !          3221:        (.asm.lo): Run libtool via m4-ccas to get new style foo.lo right.
        !          3222:        (COMPILE_FLAGS): Add $(DEFAULT_INCLUDES), per new automake.
        !          3223:        * mpn/m4-ccas: New file.
        !          3224:        * mpn/Makefile.am (EXTRA_DIST): Add it.
        !          3225:        * mpn/asm-defs.m4: Add m4_not_for_expansion(`DLL_EXPORT').
        !          3226:        * mpn/x86/x86-defs.m4: Undefine PIC if DLL_EXPORT is set.
        !          3227:        * configure.in (CFLAGS_PIC, ASMFLAGS_PIC): Remove, no longer needed.
        !          3228:
        !          3229:        * acinclude.m4 (GMP_FUNC_VSNPRINTF): Warn what's omitted when
        !          3230:        vsnprintf not available.
        !          3231:
        !          3232:        * mpn/underscore.h: Remove file, not used since m68k converted to asm.
        !          3233:        * mpn/Makefile.am (EXTRA_DIST): Remove it.
        !          3234:
        !          3235:        * tests/refmpz.c: Add <stdlib.h>, for free().
        !          3236:
        !          3237: 2001-10-01  Torbjorn Granlund  <tege@swox.com>
        !          3238:
        !          3239:        * mpn/x86/pentium4/sse2/submul_1.asm: Apply some algebraic
        !          3240:        simplifications.
        !          3241:        * mpn/x86/pentium4/sse2/addmul_1.asm: Comment.
        !          3242:
        !          3243: 2001-10-01  Kevin Ryde  <kevin@swox.se>
        !          3244:
        !          3245:        * configure.in (--enable-cxx): New option for C++ support.
        !          3246:        Add cxx and tests/cxx subdirectories.
        !          3247:        * ltmain.sh, aclocal.m4: Update to libtool 2001-09-30.
        !          3248:
        !          3249:        * cxx/Makefile.am, cxx/Makefile.in, cxx/osdoprnti.cc, cxx/osfuns.cc,
        !          3250:        cxx/osmpf.cc, cxx/osmpq.cc, cxx/osmpz.cc: New files.
        !          3251:        * Makefile.am: Add them, in new libgmpxx.
        !          3252:        * gmp-h.in, gmp-impl.h: Prototypes and support.
        !          3253:        * tests/cxx/Makefile.am, tests/cxx/Makefile.in,
        !          3254:        tests/cxx/t-ostream.cc: New files.
        !          3255:
        !          3256:        * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL,
        !          3257:        SPEED_ROUTINE_MPN_GCDEXT_ONE): mpn_gcdext needs size+1 for
        !          3258:        destinations.  Found by Torbjorn.
        !          3259:
        !          3260:        * gmp-h.in (__GNU_MP__, __GNU_MP_VERSION): Bump to 4.0.
        !          3261:        * mp-h.in (__GNU_MP__): Ditto.
        !          3262:        * gmp.texi, Makefile.am, compat.c: Amend version 3.2 to 4.0.
        !          3263:
        !          3264:        * acinclude.m4 (GMP_PROG_CXX_WORKS): New macro.
        !          3265:        (GMP_PROG_CC_WORKS): Write "conftest" test program, not a.out.
        !          3266:
        !          3267:        * gmp-impl.h (struct gmp_asprintf_t): Moved from printf/vasprintf.c.
        !          3268:        (GMP_ASPRINTF_T_INIT): New macro.
        !          3269:        (GMP_ASPRINTF_T_NEED): New macro, adapted from vasprintf.c NEED().
        !          3270:        * printf/vasprintf.c: Use these.
        !          3271:
        !          3272:        * printf/asprntffuns.c: New file.
        !          3273:        * printf/Makefile.am, Makefile.am: Add it.
        !          3274:        * printf/asprntffuns.c, printf/vasprintf.c, gmp-impl.h
        !          3275:        (__gmp_asprintf_memory, __gmp_asprintf_reps, __gmp_asprintf_final):
        !          3276:        Move to asprntffuns.c, rename to __gmp and make global, remove
        !          3277:        spurious formal parameters from __gmp_asprintf_final.
        !          3278:
        !          3279:        * configure.in (j90-*-*, sv1-*-*): Don't duplicate $path in $add_path.
        !          3280:        (*-*-mingw*): Don't assemble with -DPIC (as per cygwin).
        !          3281:
        !          3282:        * printf/snprntffuns.c (gmp_snprintf_final): Remove spurious formal
        !          3283:        parameters.
        !          3284:
        !          3285:        * tune/tuneup.c (POWM_THRESHOLD): Reduce stop_factor to 1.1 to help
        !          3286:        Cray vector systems.
        !          3287:
        !          3288:        * tests/misc.c (tests_rand_start): Print GMP_CHECK_RANDOMIZE=NN to
        !          3289:        facilitate cut and paste when re-running.
        !          3290:        * tests/mpz/t-inp_str.c (check_data): Add more diagnostic prints.
        !          3291:
        !          3292: 2001-09-30  Kent Boortz  <kent@swox.com>
        !          3293:
        !          3294:        * macos/configure, macos/Makefile.in, macos/README: Updates for gmp 4.
        !          3295:        * gmp-h.in (_GMP_H_HAVE_FILE): Recognise Apple MPW.
        !          3296:
        !          3297: 2001-09-30  Torbjorn Granlund  <tege@swox.com>
        !          3298:
        !          3299:        * mpn/cray/ieee/submul_1.c: Rewrite.  Streamline multiplications;
        !          3300:        use `majority' logic.
        !          3301:
        !          3302: 2001-09-27  Torbjorn Granlund  <tege@swox.com>
        !          3303:
        !          3304:        * gmp-h.in (__GMPN_AORS_1): Rewrite to work around Cray compiler bug.
        !          3305:
        !          3306: 2001-09-26  Torbjorn Granlund  <tege@swox.com>
        !          3307:
        !          3308:        * mpn/x86/pentium4/sse2/gmp-mparam.h: New file.
        !          3309:
        !          3310: 2001-09-26  Kevin Ryde  <kevin@swox.se>
        !          3311:
        !          3312:        * mpn/x86/pentium4/sse2/dive_1.asm: New file.
        !          3313:        * mpn/x86/pentium4/sse2/submul_1.asm: New file.
        !          3314:        * mpn/x86/pentium4/sse2/sqr_basecase.asm: New file.
        !          3315:
        !          3316:        * mpn/x86/pentium/copyi.asm: New file, based on past work by Torbjorn.
        !          3317:        * mpn/x86/pentium/copyi.asm: New file, ditto.
        !          3318:        * mpn/x86/pentium/com_n.asm: Rewrite, ditto.
        !          3319:
        !          3320:        * printf/snprntffuns.c (gmp_snprintf_format): Copy va_list in case
        !          3321:        vsnprintf trashes it.
        !          3322:        * printf/vasprintf.c (gmp_asprintf_format): Ditto.
        !          3323:        * gmp-impl.h, doprnt.c (va_copy): Move to gmp-impl.h.
        !          3324:
        !          3325:        * tests/mpz/t-cmp_d.c (check_low_z_one): Patch by Torbjorn for vax
        !          3326:        limited float range.
        !          3327:
        !          3328: 2001-09-23  Torbjorn Granlund  <tege@swox.com>
        !          3329:
        !          3330:        * mpn/vax/lshift.s: Change `jsob*' to `sob*'.
        !          3331:        * mpn/vax/rshift.s: Likewise.
        !          3332:
        !          3333: 2001-09-23  Kevin Ryde  <kevin@swox.se>
        !          3334:
        !          3335:        * mpn/x86/pentium4/sse2/mul_basecase.asm: Some simple but real code.
        !          3336:
        !          3337:        * printf/doprnt.c: Use va_copy for va_list variables, copy function
        !          3338:        parameter in case it's call-by-reference.
        !          3339:
        !          3340:        * tune/freq.c (speed_cpu_frequency_bsd_dmesg): New function.
        !          3341:        (speed_cpu_frequency_table): Use it.
        !          3342:
        !          3343:        * tune/many.pl (popcount, hamdist): Fix declared return value.
        !          3344:        (sb_divrem_mn): Remove a spurious duplicate entry.
        !          3345:        (CLEAN): Add tmp-$objbase.c when using that for .h files.
        !          3346:        (macro_speed): Give a default for .h files.
        !          3347:        Add ATTRIBUTE_CONST or __GMP_ATTRIBUTE_PURE as appropriate.
        !          3348:
        !          3349:        * tune/speed.h (SPEED_ROUTINE_MPN_MOD_CALL,
        !          3350:        SPEED_ROUTINE_MPN_PREINV_MOD_1, SPEED_ROUTINE_MPN_POPCOUNT,
        !          3351:        SPEED_ROUTINE_MPN_HAMDIST, SPEED_ROUTINE_MPN_GCD_1N,
        !          3352:        SPEED_ROUTINE_MPN_GCD_1_CALL, SPEED_ROUTINE_MPZ_JACOBI): Use return
        !          3353:        values so gcc 3 won't discard calls to pure or const functions.
        !          3354:        (mpn_mod_1_div, mpn_mod_1_inv): Add __GMP_ATTRIBUTE_PURE.
        !          3355:
        !          3356: 2001-09-22  Torbjorn Granlund  <tege@swox.com>
        !          3357:
        !          3358:        * mpn/x86/pentium4/sse2/mul_basecase.asm: New file, placeholder
        !          3359:        for real code, hiding the default x86 mul_basecase.asm.
        !          3360:
        !          3361: 2001-09-22  Kevin Ryde  <kevin@swox.se>
        !          3362:
        !          3363:        * configure.in (AC_PREREQ): Bump to 2.52.
        !          3364:        (m4_pattern_forbid, m4_pattern_allow): New calls, forbid GMP_.
        !          3365:        (AC_CHECK_HEADERS): Remove sys/types.h, already done by autoconf.
        !          3366:        * acinclude.m4, configure.in (GMP_GCC_NO_CPP_PRECOMP): New macro.
        !          3367:
        !          3368:        * tests/devel/try.c (TYPE_PREINV_MOD_1): Don't run size==0.
        !          3369:        (malloc_region): Need fd=-1 for mmap MAP_ANON on BSD.
        !          3370:
        !          3371: 2001-09-20  Torbjorn Granlund  <tege@swox.com>
        !          3372:
        !          3373:        * mpz/cong.c (mpz_congruent_p): Fix one-limb c<d test.
        !          3374:
        !          3375:        * longlong.h: Rewrite __i370__ smul_ppmm; enable also for __s390__.
        !          3376:
        !          3377:        * configure.in: Add support for IBM 360, 370, 390 families.
        !          3378:
        !          3379: 2001-09-20  Kevin Ryde  <kevin@swox.se>
        !          3380:
        !          3381:        * mpn/x86/pentium4/sse2/diveby3.asm: New file.
        !          3382:        * mpn/x86/pentium4/sse2/mode1o.asm: New file.
        !          3383:
        !          3384: 2001-09-16  Kevin Ryde  <kevin@swox.se>
        !          3385:
        !          3386:        * printf/doprnt.c: '#' means showpoint and showtrailing for %e, %f, %g.
        !          3387:        * tests/printf/t-printf.c (check_f): More test cases.
        !          3388:
        !          3389: 2001-09-15  Torbjorn Granlund  <tege@swox.com>
        !          3390:
        !          3391:        * gmp-h.in (__GMPN_AORS_1): Remove param TEST, add OP and CB.
        !          3392:        Postpone zeroing of (cout).
        !          3393:        (__GMPN_ADD_1, __GMPN_SUB_1): Corresponding changes.
        !          3394:
        !          3395: 2001-09-14  Kevin Ryde  <kevin@swox.se>
        !          3396:
        !          3397:        * ChangeLog: Merge in tests/rand/ChangeLog.
        !          3398:        * tests/rand/ChangeLog: Remove file.
        !          3399:
        !          3400:        * printf/doprnt.c: Fix handling of a plain format after a GMP one; no
        !          3401:        need to protect against negative precision internally.
        !          3402:        * tests/printf/t-printf.c (check_misc): More checks.
        !          3403:
        !          3404: 2001-09-12  Torbjorn Granlund  <tege@swox.com>
        !          3405:
        !          3406:        * mpn/cray/ieee/invert_limb.c: Add a PROLOGUE in a comment to have
        !          3407:        HAVE_NATIVE_... defined.
        !          3408:
        !          3409: 2001-09-11  Kevin Ryde  <kevin@swox.se>
        !          3410:
        !          3411:        * configure.in, gmp-h.in (__GMP_HAVE_HOST_CPU_FAMILY_power,
        !          3412:        __GMP_HAVE_HOST_CPU_FAMILY_powerpc): New AC_SUBSTs.
        !          3413:        * gmp-h.in (__GMPN_COPY_INCR): Use them to select the power/powerpc
        !          3414:        code, rather than preprocessor defines.
        !          3415:
        !          3416:        * acinclude.m4, configure.in (GMP_H_ANSI): New macro.
        !          3417:
        !          3418:        * gmp-h.in (__GMP_EXTERN_INLINE): Add a definition for SCO 8 cc.
        !          3419:
        !          3420:        * gmp-h.in, version.c (gmp_version): Make the pointer "const" as well
        !          3421:        as the string.
        !          3422:
        !          3423:        * acinclude.m4, configure.in (GMP_PROG_CC_IS_XLC): Recognise xlc when
        !          3424:        invoked under another name (cc, xlc128, etc).
        !          3425:        * acinclude.m4 (GMP_PROG_CC_IS_GCC): Print a message when recognised.
        !          3426:
        !          3427: 2001-09-11  Torbjorn Granlund  <tege@swox.com>
        !          3428:
        !          3429:        * gmp-h.in: Let __DECC mean __GMP_HAVE_CONST, etc.
        !          3430:        * mp-h.in: Likewise.
        !          3431:
        !          3432: 2001-09-10  Torbjorn Granlund  <tege@swox.com>
        !          3433:
        !          3434:        * mpn/x86/pentium4/mmx/lshift.asm: New file.
        !          3435:        * mpn/x86/pentium4/mmx/rshift.asm: New file.
        !          3436:
        !          3437:        * tests/mpn/t-iord_u.c (check_incr_data): Work around HP compiler bug.
        !          3438:        (check_decr_data): Likewise.
        !          3439:
        !          3440: 2001-09-08  Kevin Ryde  <kevin@swox.se>
        !          3441:
        !          3442:        * gmp.texi (Integer Logic and Bit Fiddling): Update mpz_hamdist
        !          3443:        behaviour, clarify mpz_popcount a touch.
        !          3444:        (Language Bindings): Add mlton, fix alphabetical order.
        !          3445:        (Single Limb Division): Describe 2 or 1/2 limbs at a time style.
        !          3446:
        !          3447:        * configure.in (AC_CHECK_FUNCS): Add mmap.
        !          3448:        * tests/devel/try.c (malloc_region): Use mmap if available.
        !          3449:
        !          3450:        * tests/refmpz.c, tests/tests.h (refmpz_hamdist): New function.
        !          3451:        * tests/mpz/t-hamdist.c: New file.
        !          3452:        * tests/mpz/Makefile.am: Add it.
        !          3453:
        !          3454:        * mpz/hamdist.c: Support neg/neg operands.
        !          3455:
        !          3456:        * macos/Makefile.in: Remove dual compile of mpq/aors.c and
        !          3457:        mpn/generic/popham.c.
        !          3458:
        !          3459:        * gmp-impl.h (popc_limb): New macro, adapted from mpn/generic/popham.c.
        !          3460:        For 64-bits reuse 0x33...33 constant.
        !          3461:        * mpn/generic/popcount.c, mpn/generic/hamdist.c: Split from popham.c,
        !          3462:        use popc_limb macro, remove unused "i", don't bother with "register"
        !          3463:        qualifiers.
        !          3464:        * mpn/generic/popham.c: Remove file.
        !          3465:
        !          3466:        * ltmain.sh, configure, aclocal.m4: Update to libtool 1.4.1, with one
        !          3467:        ltdll.c generation patch.
        !          3468:        * doc/configuration: Misc updates, note libtool patch used.
        !          3469:
        !          3470:        * mpn/x86/pentium4/sse2/mul_1.asm: Use pointer increments not indexed
        !          3471:        addressing, to get 4.0 c/l flat.
        !          3472:
        !          3473:        * tests/mpq/t-cmp_si.c (check_data): Use ULONG_MAX for denominators.
        !          3474:
        !          3475:        * tests/misc.c (mpz_negrandom): Use given rstate, not RANDS.
        !          3476:
        !          3477: 2001-09-07  Torbjorn Granlund  <tege@swox.com>
        !          3478:
        !          3479:        * mpn/x86/pentium4/sse2/addmul_1.asm: New file.
        !          3480:
        !          3481: 2001-09-04  Kevin Ryde  <kevin@swox.se>
        !          3482:
        !          3483:        * tune/freq.c: Define a HAVE for each speed_cpu_frequency routine to
        !          3484:        avoid duplicating conditionals.
        !          3485:        (speed_cpu_frequency_sco_etchw): New function.
        !          3486:        (speed_cpu_frequency_table): Use it.
        !          3487:        * tune/README: Mention SCO openunix 8 /etc/hw.
        !          3488:
        !          3489:        * mpz/fib_ui.c: Use ?: to avoid a gcc 3 bug on powerpc64.
        !          3490:        Store back a carry for limb<long.
        !          3491:
        !          3492:        * mpn/x86/k7/mmx/divrem_1.asm, mpn/x86/k7/mmx/mod_1.asm,
        !          3493:        mpn/x86/p6/mmx/divrem_1.asm: Fix a couple of comments.
        !          3494:
        !          3495:        * config.guess: Give m68020 for 68020 or better, not m68k.
        !          3496:        * configfsf.guess: Update to 2001-09-04.
        !          3497:
        !          3498: 2001-09-02  Kevin Ryde  <kevin@swox.se>
        !          3499:
        !          3500:        * configure.in (m68k-*-*): Let m68k mean 68000, not 68020.
        !          3501:        * gmp.texi (Notes for Particular Systems): Update.
        !          3502:
        !          3503:        * gmp-impl.h (union ieee_double_extract) [m68k]: Use longs, since int
        !          3504:        might be only 16 bits.
        !          3505:
        !          3506:        * tests/mpq/t-aors.c: New file.
        !          3507:        * tests/mpq/Makefile.am: Add it.
        !          3508:
        !          3509:        * tests/refmpq.c: New file.
        !          3510:        * tests/Makefile.am: Add it.
        !          3511:        * tests/tests.h: Add prototypes.
        !          3512:
        !          3513:        * mpq/aors.c: Share object code for mpq_add and mpq_sub.
        !          3514:        * Makefile.am, mpq/Makefile.am: Single mpq/aors.lo now.
        !          3515:
        !          3516:        * tests/devel/try.c (TYPE_SUBMUL_1): Use correct reference routine.
        !          3517:
        !          3518: 2001-08-30  Kevin Ryde  <kevin@swox.se>
        !          3519:
        !          3520:        * mpn/x86/x86-defs.m4 (cmov_available_p): Add pentium4.
        !          3521:
        !          3522:        * gmp-h.in: Put #define renamings with prototypes.
        !          3523:        Remove commented out #defines of gmp-impl.h things.
        !          3524:        (mpn_invert_limb): Remove #define, already in gmp-impl.h.
        !          3525:        (mpn_lshiftc, mpn_rshiftc): Remove #defines, unused.
        !          3526:        (mpn_addsub_nc): Add prototype to #define.
        !          3527:
        !          3528: 2001-08-28  Kevin Ryde  <kevin@swox.se>
        !          3529:
        !          3530:        * gmp.texi: Switch to GFDL.
        !          3531:        (Top): Arrange copyright and conditions to appear here too.  For
        !          3532:        clarity have all this before the miscellaneous macro definitions.
        !          3533:        (Copying): Refer to COPYING.LIB file, mention plain GPL2 in demo
        !          3534:        programs.
        !          3535:        (Contributors, References): Use @appendix rather than @unnumbered.
        !          3536:        (GNU Free Documentation License): New appendix.
        !          3537:        (@contents): Move to start of document, use only for tex (not html).
        !          3538:        (Debugging): Add leakbug.
        !          3539:        (Build Options): Add pentium4.
        !          3540:        (I/O of Rationals): Add mpq_inp_str.
        !          3541:
        !          3542:        * fdl.texi: New file, with two @appendix directive tweaks.
        !          3543:        * Makefile.am (gmp_TEXINFOS): Add it.
        !          3544:
        !          3545:        * tests/mpz/io.c: Check mpz_inp_str return against ftell, send error
        !          3546:        messages just to stdout.
        !          3547:
        !          3548:        * mpz/inp_str.c, gmp-impl.h (__gmpz_inp_str_nowhite): New function,
        !          3549:        and share a __gmp_free_func call.
        !          3550:        * mpq/inp_str.c: New file.
        !          3551:        * Makefile.am, mpq/Makefile.am: Add it.
        !          3552:        * tests/mpq/t-inp_str.c: New file.
        !          3553:        * tests/mpq/Makefile.am (check_PROGRAMS): Add it.
        !          3554:
        !          3555:        * configure.in, acconfig.h (HAVE_HOST_CPU_FAMILY_power,
        !          3556:        HAVE_HOST_CPU_FAMILY_powerpc, HAVE_HOST_CPU_FAMILY_x86): AC_DEFINEs
        !          3557:        for processor families.
        !          3558:        * gmp-impl.h: Use them, rather than cpp defines.
        !          3559:
        !          3560:        * demos/Makefile.am (primes_LDADD): Use $(LIBM), for log().
        !          3561:
        !          3562:        * tune/many.pl, tune/Makefile.am: Fix some from clean and distclean.
        !          3563:
        !          3564: 2001-08-26  Kevin Ryde  <kevin@swox.se>
        !          3565:
        !          3566:        * tests/devel/try.c (ARRAY_ITERATION): Make types match on "?:" legs.
        !          3567:        (TYPE_MPZ_JACOBI, TYPE_MPZ_KRONECKER): Remove some superseded code.
        !          3568:
        !          3569:        * tests/printf/t-printf.c (check_plain): Don't compare "all digits"
        !          3570:        precision against plain printf.
        !          3571:
        !          3572:        * tune/Makefile.am: Eliminate empty TUNE_MPZ_SRCS.
        !          3573:
        !          3574:        * configure, config.in, INSTALL.autoconf: Update to autoconf 2.52.
        !          3575:        * */Makefile.in, mdate-sh, missing, aclocal.m4, configure: Update to
        !          3576:        automake 1.5.
        !          3577:        * configfsf.guess, configfsf.sub: Update to 2001-08-23.
        !          3578:
        !          3579: 2001-08-24  Torbjorn Granlund  <tege@swox.com>
        !          3580:
        !          3581:        * demos/primes.c: Complete rewrite.
        !          3582:
        !          3583: 2001-08-24  Kevin Ryde  <kevin@swox.se>
        !          3584:
        !          3585:        * longlong.h: Test __ppc__ for apple darwin cc, reported by Jon
        !          3586:        Becker.  Also test __POWERPC__, PPC and __vxworks__.
        !          3587:
        !          3588:        * tune/speed.h (speed_cyclecounter) [x86]: Don't clobber ebx in PIC.
        !          3589:
        !          3590: 2001-08-22  Kevin Ryde  <kevin@swox.se>
        !          3591:
        !          3592:        * configure.in (x86 mmx): Correction to mmx path stripping.
        !          3593:
        !          3594: 2001-08-17  Kevin Ryde  <kevin@swox.se>
        !          3595:
        !          3596:        * configure.in, acinclude.m4, Makefile.am, printf/Makefile.am,
        !          3597:        tests/printf/Makefile.am, gmp-h.in, gmp-impl.h, gmp.texi: Remove C++
        !          3598:        support, for the time being.
        !          3599:        * printf/doprntfx.cc, doprntix.cc, osfuns.cc, osmpf.cc, osmpq.cc,
        !          3600:        osmpz.cc, tests/printf/t-ostream.cc: Remove files.
        !          3601:
        !          3602:        * printf/doprnt.c, printf/doprntf.c, gmp-impl.h: Use a single
        !          3603:        __gmp_doprnt_mpf, rather than a separate ndigits calculation.
        !          3604:        * printf/doprnt.c, printf/doprntf.c, gmp-impl.h, gmp.texi,
        !          3605:        tests/printf/t-printf.c: Let empty or -1 prec mean all digits for mpf.
        !          3606:        * printf/doprnt.c, tests/printf/t-printf.c: Accept h or l in %n; let
        !          3607:        negative "*" style width mean left justify.
        !          3608:
        !          3609:        * gmp-impl.h, mpf/get_str.c (MPF_SIGNIFICANT_DIGITS): New macro,
        !          3610:        extracted from mpf/get_str.c.
        !          3611:
        !          3612:        * libmp.sym: New file.
        !          3613:        * Makefile.am (libmp_la_LDFLAGS): Use it.
        !          3614:        (DISTCLEANFILES): Remove asm-syntax.h, no longer generated.
        !          3615:        Remove some comments about "make check".
        !          3616:
        !          3617:        * demos/perl/GMP.pm, GMP.xs, GMP/Mpf.pm: Add printf and sprintf,
        !          3618:        change get_str to string/exponent for floats, remove separate
        !          3619:        mpf_get_str.
        !          3620:        * demos/perl/GMP/Mpf.pm (overload_string): Use $# (default "%.g").
        !          3621:        * demos/perl/typemap: Fix some duplicate string entries.
        !          3622:        * demos/perl/test.pl: Update tests, split overloaded constants into ...
        !          3623:        * demos/perl/test2.pl: ... this new file.
        !          3624:        * demos/perl/Makefile.PL (clean): Add test.tmp.
        !          3625:
        !          3626: 2001-08-16  Kevin Ryde  <kevin@swox.se>
        !          3627:
        !          3628:        * printf/snprntffuns.c (gmp_snprintf_format): Correction to bufsize-1
        !          3629:        return value handling.
        !          3630:
        !          3631:        * demos/calc/calc.y: Reposition "%{" so copyright notice gets into
        !          3632:        generated files.
        !          3633:
        !          3634:        * INSTALL: Use gmp_printf.
        !          3635:
        !          3636: 2001-08-14  Kevin Ryde  <kevin@swox.se>
        !          3637:
        !          3638:        * mpz/inp_str.c: Fix return value (was 1 too big).
        !          3639:        * tests/mpz/t-inp_str.c: New file.
        !          3640:        * tests/mpz/Makefile.am: Add it.
        !          3641:
        !          3642:        * mpn/x86/pentium4/sse2/add_n.asm: New file.
        !          3643:        * mpn/x86/pentium4/sse2/sub_n.asm: New file.
        !          3644:        * mpn/x86/pentium4/sse2/mul_1.asm: New file.
        !          3645:
        !          3646: 2001-08-12  Kevin Ryde  <kevin@swox.se>
        !          3647:
        !          3648:        * printf/sprintffuns.c, printf/doprntf.c: Don't use sprintf return
        !          3649:        value (it's a pointer on SunOS 4).
        !          3650:
        !          3651:        * acinclude.m4 (GMP_ASM_X86_SSE2, GMP_STRIP_PATH): New macros.
        !          3652:        * configure.in: Add pentium4 support.
        !          3653:        * mpn/x86/pentium4, mpn/x86/pentium4/mmx, mpn/x86/pentium4/sse2: New
        !          3654:        directories.
        !          3655:        * mpn/x86/README: Update.
        !          3656:
        !          3657: 2001-08-10  Torbjorn Granlund  <tege@swox.com>
        !          3658:
        !          3659:        * demos/pexpr.c (setup_error_handler): Catch also SIGABRT.
        !          3660:
        !          3661: 2001-07-31  Kevin Ryde  <kevin@swox.se>
        !          3662:
        !          3663:        * tests/refmpn.c (refmpn_mul_1c): Allow low to high overlaps.
        !          3664:
        !          3665:        * gmp-h.in, gmp-impl.h (_gmp_rand): Move prototype to gmp-impl.h.
        !          3666:
        !          3667:        * tune/Makefile.am (EXTRA_DIST): Add many.pl.
        !          3668:
        !          3669: 2001-07-28  Kevin Ryde  <kevin@swox.se>
        !          3670:
        !          3671:        * gmp.texi (Random Number Functions): Old rand functions no longer use
        !          3672:        the C library.
        !          3673:
        !          3674:        * configure.in, acinclude.m4 (GMP_FUNC_VSNPRINTF): New macro.
        !          3675:
        !          3676:        * mpn/generic/get_str.c: Add an ASSERT for high limb non-zero.
        !          3677:
        !          3678: 2001-07-24  Kevin Ryde  <kevin@swox.se>
        !          3679:
        !          3680:        * gmp.texi (Build Options): Add --enable-cxx.
        !          3681:        (Converting Floats): Note mpf_get_str only generates accurately
        !          3682:        representable digits.
        !          3683:        (Low-level Functions): Note mpn_get_str requires non-zero high limb.
        !          3684:        (Formatted Output): New chapter.
        !          3685:        (Multiplication Algorithms): Use @quotation with @multitable.
        !          3686:        (Toom-Cook 3-Way Multiplication): Ditto.
        !          3687:
        !          3688:        * tests/memory.c (tests_free_nosize): New function.
        !          3689:        * tests/tests.h (tests_allocate etc): Add prototypes.
        !          3690:
        !          3691:        * tests/printf: New directory.
        !          3692:        * tests/printf/Makefile.am, t-printf.c, t-ostream.cc: New files.
        !          3693:        * configure.in, tests/Makefile.am: Add them.
        !          3694:
        !          3695:        * configure.in, acinclude.m4 (GMP_PROG_CXX): New macro.
        !          3696:        * configure.in (--enable-cxx): New option.
        !          3697:        (AC_CHECK_HEADERS): Add locale.h and sys/types.h, remove unistd.h.
        !          3698:        (AC_CHECK_TYPES): Add intmax_t, long double, long long, ptrdiff_t,
        !          3699:        quad_t.
        !          3700:        (AC_CHECK_FUNCS): Add localeconv, memset, obstack_vprintf, snprintf,
        !          3701:        strchr, vsnprintf.
        !          3702:        (AC_CHECK_DECLS): Add vfprintf.
        !          3703:
        !          3704:        * gmp-h.in, gmp-impl.h: Additions for gmp_printf etc.
        !          3705:
        !          3706:        * printf: New directory.
        !          3707:        * printf/Makefile.am, asprintf.c, doprnt.c, doprntf.c, doprntfx.cc,
        !          3708:        doprnti.c, doprntix.cc, fprintf.c, obprintf.c, obprntffuns.c,
        !          3709:        obvprintf.c, osfuns.cc, osmpf.cc, osmpq.cc, osmpz.cc, printf.c,
        !          3710:        printffuns.c, snprintf.c, snprntffuns.c, sprintf.c, sprintffuns.c,
        !          3711:        vasprintf.c, vfprintf.c, vprintf.c, vsnprintf.c, vsprintf.c: New
        !          3712:        files.
        !          3713:        * configure.in, Makefile.am: Add them.
        !          3714:
        !          3715:        * configure.in (HAVE_INLINE): Remove AC_DEFINE, unused.
        !          3716:        (AC_CHECK_TYPES): Don't test for void, assume it always exists.
        !          3717:
        !          3718:        * gmp-impl.h (__GMP_REALLOCATE_FUNC_MAYBE): New macro.
        !          3719:        * mpz/get_str.c, mpq/get_str.c, mpf/get_str.c: Use it.
        !          3720:
        !          3721:        * gmp-impl.h (mpn_fib2_ui): Use __MPN.
        !          3722:        (MPN_COPY_DECR): Fix an ASSERT.
        !          3723:        (CAST_TO_VOID): Remove macro.
        !          3724:
        !          3725:        * gmp-h.in (mpq_out_str): Give #define even without prototype.
        !          3726:        (mpz_cmp_d, mpz_cmpabs_d): Corrections to #defines.
        !          3727:
        !          3728:        * tests/devel/try.c: Add mpn_add and mpn_sub, don't use CAST_TO_VOID.
        !          3729:
        !          3730: 2001-07-23  Torbjorn Granlund  <tege@swox.com>
        !          3731:
        !          3732:        * config.guess: Recognize pentium4.
        !          3733:        * config.sub: Recognize pentium4.
        !          3734:
        !          3735: 2001-07-17  Kevin Ryde  <kevin@swox.se>
        !          3736:
        !          3737:        * gmp-h.in (__GMPN_AORS_1): Remove x86 and gcc versions, leave just
        !          3738:        one version.
        !          3739:        (__GMPN_ADD, __GMPN_SUB): New macros, rewrite of mpn_add and mpn_sub.
        !          3740:        (mpn_add, mpn_sub): Use them.
        !          3741:        (__GMPN_COPY_REST): New macro.
        !          3742:
        !          3743:        * gmp-h.in, gmp-impl.h, acinclude.m4: Remove __GMP_ASM_L and
        !          3744:        __GMP_LSYM_PREFIX, revert to ASM_L in gmp-impl.h and AC_DEFINE of
        !          3745:        LSYM_PREFIX.
        !          3746:
        !          3747: 2001-07-11  Kevin Ryde  <kevin@swox.se>
        !          3748:
        !          3749:        * gmp-h.in (__GMPN_ADD_1 etc) [x86]: Don't use this on egcs 2.91.
        !          3750:
        !          3751:        * mpz/fits_uint.c, fits_ulong.c, mpz/fits_ushort.c: Split up fits_u.c.
        !          3752:        * mpz/fits_u.c: Remove file.
        !          3753:        * mpz/Makefile.am, macos/Makefile.in: Update.
        !          3754:
        !          3755:        * tests/refmpn.c,tests.h (refmpn_copy): New function.
        !          3756:        * tests/devel/try.c (TYPE_ZERO): No return value from call.
        !          3757:        (TYPE_MODEXACT_1_ODD, TYPE_MODEXACT_1C_ODD): Share call with
        !          3758:        TYPE_MOD_1 and TYPE_MOD_1C.
        !          3759:        (MPN_COPY, __GMPN_COPY, __GMPN_COPY_INCR): Add testing.
        !          3760:
        !          3761: 2001-07-10  Kevin Ryde  <kevin@swox.se>
        !          3762:
        !          3763:        * gmp-h.in (__GMPN_COPY): Add form to help gcc on power and powerpc.
        !          3764:        * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR, MPN_ZERO): Ditto.
        !          3765:        * mpn/powerpc64/copyi.asm, mpn/powerpc64/copyd.asm: Remove files.
        !          3766:
        !          3767:        * mpz/tdiv_ui.c: Eliminate some local variables (seems to save code on
        !          3768:        i386 gcc 2.95.x), remove a bogus comment about quotient.
        !          3769:
        !          3770:        * errno.c, gmp-impl.h (__gmp_exception, __gmp_divide_by_zero,
        !          3771:        __gmp_sqrt_of_negative): New functions.
        !          3772:        * gmp-impl.h (GMP_ERROR, DIVIDE_BY_ZERO, SQRT_OF_NEGATIVE): Use them.
        !          3773:
        !          3774:        * randclr.c, randraw.c: Use ASSERT(0) for unrecognised algorithms.
        !          3775:
        !          3776: 2001-07-07  Kevin Ryde  <kevin@swox.se>
        !          3777:
        !          3778:        * configure.in (powerpc*-*-*): Use -no-cpp-precomp for Darwin.
        !          3779:
        !          3780:        * tests/mpbsd/t-itom.c: Renamed from t-misc.c.
        !          3781:        * tests/mpbsd/t-misc.c: Remove file.
        !          3782:        * tests/mpbsd/Makefile.am: Update.
        !          3783:
        !          3784:        * tests/mpf/t-set_si.c,t-cmp_si.c,t-gsprec.c: Split from t-misc.c.
        !          3785:        * tests/mpf/t-misc.c: Remove file.
        !          3786:        * tests/mpf/Makefile.am: Update.
        !          3787:
        !          3788:        * tests/mpz/t-oddeven.c,t-set_si.c,t-cmp_si.c: Split from t-misc.c.
        !          3789:        * tests/mpz/t-misc.c: Remove file.
        !          3790:        * tests/mpz/Makefile.am: Update.
        !          3791:
        !          3792:        * stack-alloc.c: Add some alignment ASSERTs.
        !          3793:
        !          3794:        * gmp-impl.h (MPN_NORMALIZE): Add notes on x86 repe/scasl slow.
        !          3795:
        !          3796:        * tests/devel/try.c (MPN_ZERO): Add testing.
        !          3797:        * tune/speed.c,speed.h,common.c,many.pl (MPN_ZERO): Add measuring.
        !          3798:
        !          3799:        * mpn/x86/divrem_1.asm: Update a remark about gcc and "loop".
        !          3800:
        !          3801:        * tests/mpq/t-cmp_si.c: New file.
        !          3802:        * tests/mpq/Makefile.am: Add it.
        !          3803:
        !          3804:        * tests/misc.c,tests.h (mpq_set_str_or_abort): New function.
        !          3805:
        !          3806:        * mpq/cmp_si.c: New file.
        !          3807:        * Makefile.am, mpq/Makefile.am: Add it.
        !          3808:        * gmp-h.in (mpq_cmp_si): Add prototype.
        !          3809:        * gmp.texi (Comparing Rationals): Add doco.
        !          3810:
        !          3811:        * gmp-h.in (_GMP_H_HAVE_FILE): Add _FILE_DEFINED for microsoft, add
        !          3812:        notes on what symbols are for what systems.
        !          3813:
        !          3814: 2001-07-06  Torbjorn Granlund  <tege@swox.com>
        !          3815:
        !          3816:        * longlong.h (ibm032 umul_ppmm): Fix typo.
        !          3817:        * longlong.h (sparclite sdiv_qrnnd): Fix typo.
        !          3818:
        !          3819: 2001-07-03  Kevin Ryde  <kevin@swox.se>
        !          3820:
        !          3821:        * mpz/bin_ui.c (DIVIDE): Use MPN_DIVREM_OR_DIVEXACT_1.
        !          3822:        * mpz/bin_uiui.c (MULDIV): Ditto, and use local variables for size and
        !          3823:        pointer.
        !          3824:
        !          3825:        * acinclude.m4 (GMP_INCLUDE_GMP_H): New macro, use it everywhere gmp.h
        !          3826:        is wanted at configure time.
        !          3827:        * acinclude.m4, configure.in (GMP_H_EXTERN_INLINE, GMP_H_HAVE_FILE):
        !          3828:        New macros.
        !          3829:
        !          3830:        * gmp-h.in (__GMP_EXTERN_INLINE): Set to "inline" for C++.
        !          3831:        (mpn_add, mpn_sub): Use new style __GMP_EXTERN_INLINE.
        !          3832:        * gmp-h.in, mp-h.in, gmp-impl.h (_EXTERN_INLINE): Remove, unused.
        !          3833:        * mpn/generic/add.c, mpn/generic/sub.c: New files.
        !          3834:        * mpn/generic/inlines.c: Remove file.
        !          3835:        * configure.in, mpn/Makefile.am: Update.
        !          3836:
        !          3837:        * gmp.texi (GMP Basics): Note the need for stdio.h to get FILE
        !          3838:        prototypes.
        !          3839:
        !          3840: 2001-07-01  Kevin Ryde  <kevin@swox.se>
        !          3841:
        !          3842:        * gmp.texi (Build Options, Reentrancy): Updates for new
        !          3843:        --enable-alloca behaviour.
        !          3844:        (Debugging): Describe --enable-alloca=debug.
        !          3845:        (Miscellaneous Integer Functions): Note mpz_sizeinbase ignores signs.
        !          3846:        (Low-level Functions): Give a formula for mpn_gcdext cofactor.
        !          3847:        (Factorial Algorithm): New section.
        !          3848:        (Binomial Coefficients Algorithm): New section.
        !          3849:        Misc tweaks elsewhere.
        !          3850:
        !          3851:        * mpf/set_prc.c: Merge the two truncation conditionals, misc cleanups,
        !          3852:        no functional changes.
        !          3853:
        !          3854:        * mpn/*/gmp-mparam.h (DIVEXACT_1_THRESHOLD): Add tuned values.
        !          3855:        * gmp-impl.h (DIVEXACT_1_THRESHOLD): Make the default 0 when
        !          3856:        2*UMUL_TIME < UDIV_TIME.
        !          3857:
        !          3858:        * mpn/x86/p6/dive_1.asm: New file.
        !          3859:
        !          3860:        * mpn/x86/dive_1.asm: New file.
        !          3861:        * mpn/x86/gmp-mparam.h (DIVEXACT_1_THRESHOLD): Use it always.
        !          3862:
        !          3863:        * tests/refmpn.c, tests.h (refmpn_zero): New function.
        !          3864:        * tests/devel/try.c: Use it.
        !          3865:
        !          3866:        * tests/refmpn.c (refmpn_sb_divrem_mn): Use refmpn_cmp, not mpn_cmp.
        !          3867:
        !          3868:        * tests/mpf/t-get_d.c (main): Use || not |.
        !          3869:
        !          3870:        * tests/misc.c, tests/t-modlinv.c, tests/mpq/t-get_str.c,
        !          3871:        tests/mpf/reuse.c: Add string.h.
        !          3872:
        !          3873: 2001-06-29  Kevin Ryde  <kevin@swox.se>
        !          3874:
        !          3875:        * tune/speed.h (SPEED_ROUTINE_MPN_FIB2_UI,
        !          3876:        SPEED_ROUTINE_COUNT_ZEROS_C): Corrections to TMP block handling.
        !          3877:
        !          3878:        * gmp-impl.h (MPN_TOOM3_MUL_N_MINSIZE, MPN_TOOM3_SQR_N_MINSIZE):
        !          3879:        Corrections to these to account for adding tD into E.
        !          3880:        (MPN_INCR_U, MPN_DECR_U) [WANT_ASSERT]: Add size
        !          3881:        assertions, since mpn_add_1 and mpn_sub_1 from gmp.h don't get them.
        !          3882:        (MPN_DIVREM_OR_DIVEXACT_1): Add an assert of no remainder.
        !          3883:
        !          3884:        * assert.c: Add stdlib.h for abort prototype.
        !          3885:        * tests/spinner.c, trace.c, t-constants.c, t-count_zeros.c,
        !          3886:        t-gmpmax.c, t-modlinv.c: Ditto.
        !          3887:        * tests/mpz/t-bin.c, t-cmp.c, t-get_si.c, t-misc.c, t-popcount.c,
        !          3888:        t-set_str.c, t-sizeinbase.c: Ditto.
        !          3889:        * tests/mpq/t-equal.c, t-get_str.c, t-set_f.c, t-set_str.c: Ditto.
        !          3890:        * tests/mpf/t-fits.c, t-get_d.c, t-get_si.c, t-int_p.c, t-misc.c,
        !          3891:        t-trunc.c: Ditto.
        !          3892:        * tests/mpbsd/allfuns.c, t-misc.c: Ditto.
        !          3893:
        !          3894:        * mpn/generic/mul_n.c, mpz/cfdiv_r_2exp.c: Use MPN_INCR_U rather than
        !          3895:        mpn_incr_u.
        !          3896:
        !          3897:        * tests/devel/try.c (TYPE_SB_DIVREM_MN): More fixes for calling method.
        !          3898:
        !          3899:        * mpn/x86/k6/cross.pl: More insn exceptions.
        !          3900:
        !          3901: 2001-06-23  Kevin Ryde  <kevin@swox.se>
        !          3902:
        !          3903:        * gmp-h.in (__GMPN_ADD_1, __GMPN_SUB_1) [i386]: Fix some asm output
        !          3904:        constraints.
        !          3905:
        !          3906:        * gmp-impl.h (modlimb_invert): Mask after shifting, so mask constant
        !          3907:        fits a signed byte.
        !          3908:
        !          3909:        * tests/devel/try.c (TYPE_SB_DIVREM_MN): Fix initial fill of quotient
        !          3910:        with garbage.
        !          3911:
        !          3912: 2001-06-20  Kevin Ryde  <kevin@swox.se>
        !          3913:
        !          3914:        * config.guess (rs6000-*-aix4* | powerpc-*-aix4*): Suppress error
        !          3915:        messages if $CC_FOR_BUILD or program don't work.
        !          3916:
        !          3917:        * mpz/sqrt.c,sqrtrem.c: Special case for op==0, to avoid TMP_ALLOC(0).
        !          3918:        * tests/refmpf.c (refmpf_add, refmpf_sub): Avoid TMP_ALLOC(0).
        !          3919:
        !          3920:        * tests/mpn/t-aors_1.c: New file.
        !          3921:        * tests/mpn/Makefile.am: Add it.
        !          3922:
        !          3923:        * gmp-h.in (__GMPN_ADD_1, __GMPN_SUB_1): New macros, rewrite of
        !          3924:        mpn_add_1 and mpn_sub_1, better code for src==dst and/or n==1,
        !          3925:        separate versions for gcc x86, gcc generic, and non-gcc.
        !          3926:        (mpn_add_1, mpn_sub_1): Use them.
        !          3927:        (mpn_add, mpn_sub): Ditto, to get inlines on all compilers.
        !          3928:        (extern "C") [__cplusplus]: Let this encompass the extern inlines too.
        !          3929:        * mpn/generic/add_1.c,sub_1.c: New files, force code from gmp.h.
        !          3930:        * configure.in, mpn/Makefile.am: Add them.
        !          3931:
        !          3932:        * acinclude.m4 (GMP_ASM_LSYM_PREFIX): AC_SUBST __GMP_LSYM_PREFIX
        !          3933:        rather than AC_DEFINE LSYM_PREFIX.
        !          3934:        * gmp-h.in (__GMP_LSYM_PREFIX): New substitution.
        !          3935:        (__GMP_ASM_L): New macro.
        !          3936:        * gmp-impl.h (ASM_L): Use it.
        !          3937:
        !          3938:        * acinclude.m4, configure.in (GMP_C_ATTRIBUTE_MALLOC): New macro.
        !          3939:        * gmp-impl.h: Use it for all the malloc based TMP_ALLOCs.
        !          3940:
        !          3941:        * stack-alloc.h: Remove file.
        !          3942:        * tal-reent.c: New file.
        !          3943:        * Makefile.am: Update.
        !          3944:
        !          3945:        * acinclude.m4, configure.in (GMP_OPTION_ALLOCA): New macro, add
        !          3946:        malloc-reentrant method, use stack-alloc.c as malloc-notreentrant,
        !          3947:        make "reentrant" the default.
        !          3948:        * gmp-impl.h (__TMP_ALIGN): Moved from stack-alloc.c, use a union to
        !          3949:        determine the value, and demand only 4 bytes align on 32-bit systems.
        !          3950:        * gmp-impl.h (WANT_TMP_NOTREENTRANT): Move global parts of
        !          3951:        stack-alloc.h to here, allow non power-of-2 __TMP_ALIGN in TMP_ALLOC.
        !          3952:        * gmp-impl.h: Extend extern "C" to TMP_ALLOC declarations.
        !          3953:        * stack-alloc.c (tmp_stack): Move private parts of stack-alloc.h to
        !          3954:        here, use gmp-impl.h.
        !          3955:
        !          3956:        * gmp-impl.h (TMP_ALLOC_LIMBS_2): New macro.
        !          3957:        * mpz/fib_ui.c, mpz/jacobi.c, mpq/cmp.c, mpn/generic/fib2_ui.c: Use it.
        !          3958:
        !          3959:        * mpfr/exp2.c: Patch by Paul to match TMP_MARK and TMP_FREE in loop.
        !          3960:        * mpfr/sqrt.c: Scope nested TMP_DECL into nested { } block, patch by
        !          3961:        Paul, tweaked by me.
        !          3962:        * mpfr/agm.c: Ditto, and add a final TMP_FREE(marker2).
        !          3963:
        !          3964:        * gmp-h.in (mpn_cmp): Add __GMP_ATTRIBUTE_PURE.
        !          3965:
        !          3966:        * INSTALL: Clarify "make install", tweak formatting a bit.
        !          3967:
        !          3968: 2001-06-17  Kevin Ryde  <kevin@swox.se>
        !          3969:
        !          3970:        * configure.in, Makefile.am, gmp-impl.h: Add a debugging TMP_ALLOC,
        !          3971:        selected with --enable-alloca=debug.
        !          3972:        * tal-debug.c: New file.
        !          3973:        * configure.in, Makefile.am: Compile stack-alloc.c only for
        !          3974:        --disable-alloca.
        !          3975:        * assert.c (__gmp_assert_header): New function, split from
        !          3976:        __gmp_assert_fail.
        !          3977:
        !          3978:        * mpz/lcm.c: Don't TMP_MARK and then just return. Remove unnecessary
        !          3979:        _mpz_realloc prototype.
        !          3980:
        !          3981:        * mpn/generic/mul.c (mpn_sqr_n): Use __gmp_allocate_func for toom3
        !          3982:        temporary workspace.
        !          3983:
        !          3984: 2001-06-15  Kevin Ryde  <kevin@swox.se>
        !          3985:
        !          3986:        * tests/mpz/t-set_f.c: New file.
        !          3987:        * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
        !          3988:
        !          3989:        * mpz/set_f.c: Share MPN_COPY between pad and trunc cases, do exp<=0
        !          3990:        test earlier, store SIZ(w) earlier.
        !          3991:
        !          3992:        * tests/t-count_zeros.c: New file.
        !          3993:        * tests/t-gmpmax.c: New file.
        !          3994:        * tests/Makefile.am (check_PROGRAMS): Add them.
        !          3995:
        !          3996:        * mp_clz_tab.c: Compile the table only if longlong.h says it's needed;
        !          3997:        add an internal-use-only comment.
        !          3998:        * tune/common.c: Force a __clz_tab for convenience when testing.
        !          3999:
        !          4000:        * mpn/x86/pentium/gmp-mparam.h, mpn/x86/pentium/mmx/gmp-mparam.h: Add
        !          4001:        COUNT_LEADING_ZEROS_NEED_CLZ_TAB, for mod_1.asm.
        !          4002:
        !          4003:        * longlong.h (count_leading_zeros) [pentium]: Decide to go with float
        !          4004:        method for p54.
        !          4005:        (count_leading_zeros) [alpha]: Add COUNT_LEADING_ZEROS_NEED_CLZ_TAB.
        !          4006:        (__clz_tab): Provide a prototype only if it's needed.
        !          4007:
        !          4008:        * tests/trace.c (mpz_trace): Don't use = on structures.
        !          4009:        (mpn_trace): Set _mp_alloc when creating mpz.
        !          4010:
        !          4011: 2001-06-12  Kevin Ryde  <kevin@swox.se>
        !          4012:
        !          4013:        * mpn/x86/divrem_1.asm: Amend some comments about P5 speed.
        !          4014:
        !          4015:        * tune/README: Clarify reconfigure on gmp-mparam.h update.
        !          4016:
        !          4017:        * mpn/x86/p6/copyd.asm: New file.
        !          4018:        * mpn/x86/p6/README: Update copyd and mod_1.
        !          4019:        * mpn/x86/copyd.asm: Amend some comments.
        !          4020:
        !          4021:        * gmp-impl.h (__builtin_constant_p): Add dummy for non-gcc.
        !          4022:        (mpn_incr_u, mpn_decr_u): Recognise incr==1 at compile time in the
        !          4023:        generic code on gcc.
        !          4024:
        !          4025:        * gmp-impl.h (ASSERT_ZERO_P, ASSERT_MPN_NONZERO_P): New macros.
        !          4026:        * mpn/generic/gcd_1.c, mpn/generic/mul_fft.c: Use them.
        !          4027:        * mpz/get_d.c: Add a private mpn_zero_p.
        !          4028:        * mpfr/trunc.c: Use own mpn_zero_p.
        !          4029:        * tune/speed.h (SPEED_ROUTINE_MPN_GCD_1N): Use refmpn_zero_p.
        !          4030:        * gmp-impl.h (mpn_zero_p): Remove, no longer needed.
        !          4031:
        !          4032:        * gmp-h.in, gmp-impl.h: Move MPN_CMP to gmp.h as __GMPN_CMP, leave an
        !          4033:        MPN_CMP alias in gmp-impl.h.
        !          4034:        * gmp-h.in (mpn_cmp): Add an inline version.
        !          4035:        * mpn/generic/cmp.c: Use __GMP_FORCE_mpn_cmp to get code from gmp.h.
        !          4036:
        !          4037:        * acinclude.m4 (GMP_C_ATTRIBUTE_MODE): New macro.
        !          4038:        * configure.in: Call it.
        !          4039:        * gmp-impl.h (SItype etc): Use it.
        !          4040:
        !          4041:        * randraw.c (lc): Change mpn_mul_basecase->mpn_mul,
        !          4042:        mpn_incr_u->MPN_INCR_U, abort->ASSERT_ALWAYS(0).
        !          4043:
        !          4044:        * longlong.h (count_leading_zeros) [pentiumpro]: Work around a partial
        !          4045:        register stall on gcc < 3.
        !          4046:
        !          4047:        * gmp.texi (Introduction to GMP): Add IA-64.
        !          4048:        (Notes for Particular Systems): i386 means generic x86.
        !          4049:
        !          4050:        * tests/t-modlinv.c: Use tests_start and tests_end.
        !          4051:
        !          4052: 2001-06-10  Kevin Ryde  <kevin@swox.se>
        !          4053:
        !          4054:        * gmp.texi (Number Theoretic Functions): mpz_jacobi only defined for b
        !          4055:        odd.  Separate the jacobi/legendre/kronecker descriptions.
        !          4056:        (Low-level Functions): Document mpn_mul_1 "incr" overlaps.
        !          4057:        (Language Bindings): New chapter.
        !          4058:
        !          4059:        * mpz/jacobi.c: Don't retaining old behaviour of mpz_jacobi on even b
        !          4060:        (it wasn't documented in 3.1.1).
        !          4061:        * mpz/jacobi.c, gmp-h.in (mpz_kronecker, mpz_legendre): Remove
        !          4062:        separate entrypoints, just #define to mpz_jacobi.
        !          4063:        * compat.c (__gmpz_legendre): Add compatibility entrypoint.
        !          4064:
        !          4065:        * mpn/generic/mul_1.c: Allow "incr" style overlaps.
        !          4066:        * tests/devel/try.c (param_init): Test this.
        !          4067:
        !          4068:        * mpf/mul_ui.c: Do size==0 test earlier.
        !          4069:
        !          4070: 2001-06-08  Kevin Ryde  <kevin@swox.se>
        !          4071:
        !          4072:        * gmp-impl.h (ULONG_HIGHBIT, UINT_HIGHBIT, USHRT_HIGHBIT): Cast
        !          4073:        ULONG_MAX etc to unsigned long etc before attempting to right shift.
        !          4074:
        !          4075:        * acinclude.m4 (GMP_ASM_LSYM_PREFIX): Add an AC_DEFINE of LSYM_PREFIX.
        !          4076:        * gmp-impl.h (ASM_L): New macro.
        !          4077:        (mpn_incr_u, mpn_decr_u, MPN_INCR_U, MPN_DECR_U): Add i386 optimized
        !          4078:        versions.
        !          4079:
        !          4080:        * mpn/hppa/*.s,S,asm: Use .label so the code works with gas on hppa
        !          4081:        GNU/Linux too, reported by LaMont Jones <lamont@smallone.fc.hp.com>.
        !          4082:        * mpn/hppa/README: Add some notes on this.
        !          4083:        * acinclude.m4 (GMP_ASM_LABEL_SUFFIX): Ditto.
        !          4084:
        !          4085:        * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add dive_1.c,
        !          4086:        fib2_ui.c.
        !          4087:
        !          4088:        * tests/mpn/t-iord_u.c: New file.
        !          4089:        * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
        !          4090:
        !          4091:        * configure.in (mips*-*-irix[6789]*): Make ABI=n32 the default, same
        !          4092:        as in gmp 3.1.
        !          4093:        * gmp.texi (ABI and ISA): Update.
        !          4094:
        !          4095:        * gmp.texi (Build Options): Misc tweaks.
        !          4096:        (Notes for Particular Systems): Describe windows DLL handling.
        !          4097:        (Known Build Problems): DJGPP needs bash 2.04.
        !          4098:        (Number Theoretic Functions): mpz_invert returns 0<=r<modulus; add
        !          4099:        mpz_fib2_ui, mpz_lucnum_ui, mpz_lucnum2_ui.
        !          4100:        (Fibonacci Numbers Algorithm): Update for new formulas used.
        !          4101:        (Lucas Numbers Algorithm): New section.
        !          4102:
        !          4103:        * tune/speed.c,speed.h,common.c,many.pl: Add mpn_fib2_ui, mpz_fib2_ui,
        !          4104:        mpz_lucnum_ui, mpz_lucnum2_ui.
        !          4105:        * demos/expr/exprz.c,README: Add lucnum.
        !          4106:        * demos/perl/GMP.pm,GMP.xs,GMP/Mpz.pm,test.pl: Add fib2, lucnum,
        !          4107:        lucnum2.
        !          4108:
        !          4109:        * tests/mpz/t-lucnum_ui.c: New file.
        !          4110:        * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
        !          4111:        * tests/mpz/t-fib_ui.c: Check mpz_fib2_ui too, updates for new style
        !          4112:        MPN_FIB2_SIZE.
        !          4113:
        !          4114:        * tune/tuneup.c, tune/Makefile.am, gmp-impl.h, mpn/*/gmp-mparam.h:
        !          4115:        Remove FIB_THRESHOLD, no longer required.
        !          4116:
        !          4117:        * mpz/fib2_ui.c, mpz/lucnum_ui.c mpz/lucnum2_ui.c: New files.
        !          4118:        * Makefile.am, mpz/Makefile.am: Add them.
        !          4119:        * gmp-h.in (mpz_fib2_ui, mpz_lucnum_ui, mpz_lucnum2_ui): Add
        !          4120:        prototypes.
        !          4121:
        !          4122:        * mpn/generic/fib2_ui.c: New file.
        !          4123:        * configure.in (gmp_mpn_functions): Add it.
        !          4124:        * gmp-impl.h (mpn_fib2_ui, FIB_TABLE, etc): Add these.
        !          4125:        * mpz/fib_ui.c: Rewrite.
        !          4126:
        !          4127:        * acinclude.m4 (GMP_C_SIZES): Fix _LONG_LONG_LIMB define for mp_limb_t
        !          4128:        size test.
        !          4129:        (GMP_FUNC_ALLOCA): Add dummy __GMP_BITS_PER_MP_LIMB for gmp-h.in work.
        !          4130:
        !          4131:        * configure.in (CPPFLAGS): Remove -D__GMP_WITHIN_GMP, don't want it
        !          4132:        everywhere.
        !          4133:        * Makefile.am, mpn/Makefile.am, mpz/Makefile.am, mpq/Makefile.am,
        !          4134:        mpf/Makefile.am, mpbsd/Makefile.am (INCLUDES): Set -D__GMP_WITHIN_GMP.
        !          4135:
        !          4136:        * configure.in (*-*-msdosdjgpp*): Forcibly disable shared libraries,
        !          4137:        to make libtests.la work.
        !          4138:
        !          4139:        * acconfig.h (_LONG_LONG_LIMB, HAVE_MPFR): Remove dummy defines, no
        !          4140:        longer needed.
        !          4141:
        !          4142:        * mpz/set_ui.c: Store to _mp_d[0] unconditionally.
        !          4143:
        !          4144: 2001-05-27  Kevin Ryde  <kevin@swox.se>
        !          4145:
        !          4146:        * configure.in, gmp-h.in, mp-h.in: Add support for windows DLLs.
        !          4147:
        !          4148: 2001-05-26  Kevin Ryde  <kevin@swox.se>
        !          4149:
        !          4150:        * gmp.texi (ABI and ISA, Reentrancy): Minor tweaks
        !          4151:        (Notes for Package Builds): Note gmp.h is a generated file.
        !          4152:        (Notes for Particular Systems): -march=pentiumpro is used for gcc
        !          4153:        2.95.4 and up.
        !          4154:        (Assembler Loop Unrolling): Mention non power-of-2 unrolling.
        !          4155:        (Internals): New chapter.
        !          4156:        * mpf/README: Remove file.
        !          4157:
        !          4158:        * demos/expr/README: Miscellaneous rewordings.
        !          4159:
        !          4160:        * demos/perl: New directory.
        !          4161:        * demos/Makefile.am: Add it.
        !          4162:        * demos/perl/INSTALL, Makefile.PL, GMP.pm, GMP.xs, typemap,
        !          4163:        GMP/Mpz.pm, GMP/Mpq.pm, GMP/mpf.pm, GMP/Rand.pm, sample.pl, test.pl:
        !          4164:        New files.
        !          4165:
        !          4166:        * configure, aclocal.m4: Update to autoconf 2.50.
        !          4167:
        !          4168:        * configure, aclocal.m4, ltmain.sh: Update to libtool 1.4.
        !          4169:
        !          4170:        * configure, aclocal.m4, missing, ansi2knr.c, */Makefile.in: Update to
        !          4171:        automake 1.4f.
        !          4172:        * Makefile.am: Conditionalize mpfr in $(SUBDIRS) to handle mpfr.info.
        !          4173:        * mpfr/Makefile.am (INFO_DEPS): Remove previous mpfr.info handling.
        !          4174:        * mpn/Makefile.am (GENERIC_SOURCES): Remove this, just put mp_bases.c
        !          4175:        in libmpn_la_SOURCES.
        !          4176:        * tests/Makefile.am (tests.h): Move from EXTRA_HEADERS to
        !          4177:        libtests_la_SOURCES.
        !          4178:        * ltconfig: Remove file, no longer needed.
        !          4179:
        !          4180:        * Makefile.am (gmp-impl.h, longlong.h, stack-alloc.h): Move from
        !          4181:        EXTRA_DIST to libgmp_la_SOURCES, so they get included in TAGS.
        !          4182:        * tests/rand/Makefile.am (gmpstat.h): Move to libstat_la_SOURCES
        !          4183:        similarly.
        !          4184:
        !          4185:        * config.guess (68k-*-*): Use $SHELL not "sh", tweak some comments.
        !          4186:
        !          4187:        * mpfr/mpfr.texi (Introduction to MPFR): Tweak table formatting, note
        !          4188:        non-free programs must be able to be re-linked.
        !          4189:
        !          4190: 2001-05-20  Kevin Ryde  <kevin@swox.se>
        !          4191:
        !          4192:        * mpn/powerpc64/addmul_1.asm,mul_1.asm,submul_1.asm: Add carry-in
        !          4193:        entrypoints.
        !          4194:
        !          4195: 2001-05-17  Kevin Ryde  <kevin@swox.se>
        !          4196:
        !          4197:        * gmp.texi (ge): Fix definition for info.
        !          4198:        (Notes for Particular Systems): Mention 68k dragonball and cpu32.
        !          4199:        (Efficiency): Add static linking, more about in-place operations,
        !          4200:        describe mpq+/-integer using addmul.
        !          4201:        (Reporting Bugs): A couple of words about self-contained reports.
        !          4202:        (Floating-point Functions): Note exponent limitations of mpf_get_str
        !          4203:        and mpf_set_str.
        !          4204:        (Initializing Floats): Clarify mpf_get_prec, mpf_set_prec and
        !          4205:        mpf_set_prec_raw a bit.
        !          4206:        (Float Comparison): Note current mpf_eq deficiencies.
        !          4207:
        !          4208:        * gmp-h.in (__GMP_HAVE_CONST, __GMP_HAVE_PROTOTYPES,
        !          4209:        __GMP_HAVE_TOKEN_PASTE): Merge GNU ansidecl.h tests for ANSI compilers.
        !          4210:        * demos/expr/expr-impl-h.in: Ditto.
        !          4211:
        !          4212:        * gmp-impl.h (BITS_PER_MP_LIMB): Define from __GMP_BITS_PER_MP_LIMB if
        !          4213:        not already in gmp-mparam.h.
        !          4214:        * tests/t-constants.c (BITS_PER_MP_LIMB, __GMP_BITS_PER_MP_LIMB):
        !          4215:        Check these are the same.
        !          4216:
        !          4217:        * gmp-h.in (mpf_get_default_prec, mpf_get_prec, mpf_set_default_prec,
        !          4218:        mpf_set_prec_raw): Provide "extern inline" versions, use __GMPF on the
        !          4219:        macros.
        !          4220:        * mpf/get_dfl_prc.c, mpf/get_prc.c, mpf/set_dfl_prc.c,
        !          4221:        mpf/set_prc_raw.c: Get code from gmp.h using __GMP_FORCE.
        !          4222:
        !          4223:        * gmp-h.in, gmp-impl.h (__gmp_default_fp_limb_precision): Move from
        !          4224:        gmp-impl.h to gmp-h.in.
        !          4225:        (__GMPF_BITS_TO_PREC, __GMPF_PREC_TO_BITS): Ditto, and use __GMPF
        !          4226:        prefix and add a couple of casts.
        !          4227:        * gmp-h.in (__GMP_MAX): New macro.
        !          4228:        * mpf/init2.c mpf/set_prc.c: Update for __GMPF prefix.
        !          4229:
        !          4230:        * gmp-h.in (__GMP_BITS_PER_MP_LIMB): New templated define.
        !          4231:        * acinclude.m4 (GMP_C_SIZES): Add AC_SUBST __GMP_BITS_PER_MP_LIMB,
        !          4232:        remove AC_DEFINE BITS_PER_MP_LIMB.
        !          4233:
        !          4234: 2001-05-13  Kevin Ryde  <kevin@swox.se>
        !          4235:
        !          4236:        * gmp-h.in, gmp.texi, Makefile.am, mpz/Makefile.am, tests/mpz/t-pow.c:
        !          4237:        Remove mpz_si_pow_ui, pending full si support.
        !          4238:        * mpz/si_pow_ui.c: Remove file.
        !          4239:
        !          4240: 2001-05-11  Kevin Ryde  <kevin@swox.se>
        !          4241:
        !          4242:        * mpn/x86/pentium/dive_1.asm: New file.
        !          4243:
        !          4244:        * mpn/powerpc32/umul.asm: Use r on registers.
        !          4245:        * mpn/powerpc64/umul.asm: New file.
        !          4246:        * configure.in (powerpc*-*-*): Enable umul in extra_functions.
        !          4247:
        !          4248:        * tests/refmpn.c, tests/tests.h (refmpn_umul_ppmm): Use same arguments
        !          4249:        as normal mpn_umul_ppmm.
        !          4250:        (refmpn_mul_1c): Update.
        !          4251:        * tests/devel/try.c, tune/many.pl: Add some umul_ppmm testing support.
        !          4252:
        !          4253:        * mpn/x86/k6/mmx/popham.asm, mpn/x86/k7/mmx/popham.asm: Don't support
        !          4254:        size==0.
        !          4255:        * mpn/x86/pentium/popcount.asm, mpn/x86/pentium/hamdist.asm: Ditto,
        !          4256:        and shave a couple of cycles from the PIC entry code.
        !          4257:
        !          4258:        * mpz/mul.c: Use mpn_mul_1 for size==1 and mpn_mul_2 (if available)
        !          4259:        for size==2, to avoid copying; do vsize==0 test earlier.
        !          4260:
        !          4261:        * mpf/sub.c: Test r!=u before calling mpf_set.
        !          4262:        * mpf/add.c: Ditto, and share mpf_set between usize==0 and vsize==0.
        !          4263:
        !          4264:        * mpn/generic/tdiv_qr.c, mpq/get_d.c, mpf/div.c, mpf/set_q.c,
        !          4265:        mpf/set_str.c, mpf/ui_div.c: Test for high bit set, not for
        !          4266:        count_leading_zeros zero.
        !          4267:
        !          4268:        * acinclude.m4 (GMP_PROG_AR, GMP_PROG_NM): Print a message if extra
        !          4269:        flags are added.
        !          4270:
        !          4271:        * tests/mpz/t-mul_i.c: New file.
        !          4272:        * tests/mpz/Makefile.am: Add it.
        !          4273:
        !          4274:        * mpz/mul_siui.c (mpz_mul_si): Fix for -0x80..00 on long long limb.
        !          4275:
        !          4276:        * gmp-h.in (mpf_set_si, mpf_set_ui): Revert last change, set exp to 0
        !          4277:        when n==0.
        !          4278:        * mpf/ceilfloor.c, mpf/trunc.c: Fix exp to 0 when setting r to 0.
        !          4279:        * gmp-impl.h (MPF_CHECK_FORMAT): Check exp==0 when size==0.
        !          4280:
        !          4281: 2001-05-07  Kevin Ryde  <kevin@swox.se>
        !          4282:
        !          4283:        * gmp-h.in (mpf_set_si, mpf_set_ui): Don't bother setting _mp_exp to 0
        !          4284:        when n==0 (use 1 unconditionally).
        !          4285:        * tests/mpf/t-misc.c (check_mpf_set_si): Don't demand anything of
        !          4286:        _mp_exp when _mp_size is zero.
        !          4287:
        !          4288:        * mpn/x86/README: Note gas _GLOBAL_OFFSET_TABLE_ with leal problem.
        !          4289:
        !          4290:        * gmp-h.in (mpz_fits_uint_p, mpz_fits_ulong_p, mpz_fits_ushort_p):
        !          4291:        Provide these as "extern inline"s.
        !          4292:        (__GMP_UINT_MAX, __GMP_ULONG_MAX, __GMP_USHRT_MAX): New macros.
        !          4293:        (mpz_popcount): Use __GMP_ULONG_MAX.
        !          4294:        * gmp-impl.h (UINT_MAX, ULONG_MAX, USHRT_MAX): Use __GMP_U*_MAX, if
        !          4295:        not already defined.
        !          4296:        * mpz/fits_u.c: Use the code from gmp.h.
        !          4297:
        !          4298: 2001-05-06  Kevin Ryde  <kevin@swox.se>
        !          4299:
        !          4300:        * mpn/x86/k7/dive_1.asm: New file.
        !          4301:        * mpn/x86/k7/gcd_1.asm: New file.
        !          4302:        * mpn/asm-defs.m4 (m4_count_trailing_zeros): New macro.
        !          4303:
        !          4304:        * gmp-h.in (mpz_get_ui, mpz_getlimbn, mpz_set_q, mpz_perfect_square_p,
        !          4305:        mpz_popcount, mpz_size, mpf_set_ui, mpf_set_si, mpf_size): Provide
        !          4306:        these as "extern inlines".
        !          4307:        Use just one big extern "C" block.
        !          4308:        * mpz/getlimbn.c, mpz/get_ui.c, mpz/perfsqr.c, mpz/popcount.c
        !          4309:        mpz/set_q.c, mpz/size.c, mpf/set_si.c, mpf/set_ui.c, mpf/size.c: Use
        !          4310:        __GMP_FORCE to get code from gmp.h.
        !          4311:
        !          4312: 2001-05-03  Kevin Ryde  <kevin@swox.se>
        !          4313:
        !          4314:        * extract-dbl.c: Add ASSERT d>=0.
        !          4315:
        !          4316:        * gmp.texi (Efficiency): Add mpz_addmul etc for mpz+=integer, add
        !          4317:        mpz_neg etc in-place.
        !          4318:        (Integer Arithmetic): Add mpz_addmul, mpz_submul, mpz_submul_ui.
        !          4319:        (Initializing Rationals): Add mpq_set_str.
        !          4320:        (Low-level Functions): mpn_set_str requires strsize >= 1.
        !          4321:
        !          4322:        * gmp-h.in (__GMP_EXTERN_INLINE, __GMP_ABS): New macros.
        !          4323:        (mpz_abs, mpq_abs, mpf_abs, mpz_neg, mpq_neg, mpf_neg): Provide inline
        !          4324:        versions.
        !          4325:        * mpz/abs.c, mpq/abs.c, mpf/abs.c, mpz/neg.c, mpq/neg.c, mpf/neg.c:
        !          4326:        Add suitable __GMP_FORCE to turn off inline versions.
        !          4327:
        !          4328:        * tests/mpz/t-aorsmul.c,t-cmp_d.c,t-popcount,t-set_str.c: New files.
        !          4329:        * tests/mpz/Makefile.am: Add them.
        !          4330:
        !          4331:        * mpz/aorsmul_i.c: New file, rewrite of addmul_ui.c.  Add
        !          4332:        mpz_submul_ui entrypoint, share more code between some of the
        !          4333:        conditionals, use mpn_mul_1c if available.
        !          4334:        * mpz/addmul_ui.c: Remove file.
        !          4335:        * mpz/aorsmul.c: New file.
        !          4336:        * Makefile.am, mpz/Makefile.am: Update.
        !          4337:        * gmp-h.in (mpz_addmul, mpz_submul, mpz_submul_ui): Add prototypes.
        !          4338:        * gmp-impl.h (mpz_aorsmul_1): Add prototype.
        !          4339:
        !          4340:        * tests/mpq/t-set_str.c: New file.
        !          4341:        * tests/mpq/Makefile.am: Add it.
        !          4342:
        !          4343:        * mpq/set_str.c: New file.
        !          4344:        * Makefile.am, mpq/Makefile.am: Add it.
        !          4345:        * gmp-h.in (mpq_set_str): Add prototype.
        !          4346:
        !          4347:        * mpz/set_str.c: Fix for trailing white space on zero, eg. "0 ".
        !          4348:        * mpn/generic/set_str.c: Add ASSERT str_len >= 1.
        !          4349:
        !          4350:        * gmp-h.in, gmp-impl.h (mpn_incr_u, mpn_decr_u): Move to gmp-impl.h.
        !          4351:        * gmp-impl.h (MPN_INCR_U, MPN_DECR_U): New macros.
        !          4352:
        !          4353: 2001-04-30  Kevin Ryde  <kevin@swox.se>
        !          4354:
        !          4355:        * tests/mpz/t-lcm.c: New file.
        !          4356:        * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
        !          4357:
        !          4358:        * mpz/lcm.c: Add one limb special case.
        !          4359:
        !          4360:        * mpz/lcm_ui.c: New file.
        !          4361:        * Makefile.am, mpz/Makefile.am: Add it.
        !          4362:        * gmp-h.in (mpz_lcm_ui): Add prototype.
        !          4363:        * gmp.texi (Number Theoretic Functions): Add mpz_lcm_ui, document lcm
        !          4364:        now always positive.
        !          4365:
        !          4366:        * mp-h.in (mp_size_t, mp_exp_t): Fix typedefs to match gmp-h.in.
        !          4367:
        !          4368:        * gmp-h.in (mpn_add_1, mpn_add, mpn_sub_1, mpn_sub): Remove K&R
        !          4369:        function defines (ansi2knr will handle mpn/inline.c, and just ansi is
        !          4370:        enough for gcc extern inline).
        !          4371:
        !          4372:        * gmp-h.in (__GMP_HAVE_TOKEN_PASTE): New macro.
        !          4373:        (__MPN): Use it.
        !          4374:        * gmp-impl.h (CNST_LIMB): Ditto.
        !          4375:
        !          4376:        * gmp-h.in, mp-h.in (__gmp_const, __gmp_signed, _PROTO, __MPN): Use
        !          4377:        ANSI forms on Microsoft C.
        !          4378:        (__GMP_HAVE_CONST): New define.
        !          4379:        * gmp-impl.h (const, signed): Use it.
        !          4380:
        !          4381:        * demos/expr/expr-impl-h.in (<stdarg.h>): Use this with Microsoft C.
        !          4382:        (HAVE_STDARG): New define.
        !          4383:        * demos/expr/expr.c,exprz.c,exprq.c,exprf.c,exprfr.c: Use it.
        !          4384:
        !          4385:        * acinclude.m4 (GMP_C_STDARG): New macro.
        !          4386:        * configure.in: Call it.
        !          4387:        * rand.c: Use it.
        !          4388:
        !          4389:        * configure.in (AC_PROG_CC_STDC): New test.
        !          4390:
        !          4391: 2001-04-25  Kevin Ryde  <kevin@swox.se>
        !          4392:
        !          4393:        * mpn/x86/k6/mmx/dive_1.asm: New file.
        !          4394:        * mpn/x86/x86-defs.m4 (Zdisp): Two more insns.
        !          4395:
        !          4396:        * mpn/x86/pentium/mul_2.asm: New file.
        !          4397:        * mpn/asm-defs.m4: Add define_mpn(mul_2).
        !          4398:        * acconfig.h (HAVE_NATIVE_mpn_divexact_1, mul_2): Add templates.
        !          4399:
        !          4400:        * configure.in (ABI): Use AC_ARG_VAR.
        !          4401:
        !          4402:        * tests/devel/try.c: Run reference function when validate fails.
        !          4403:
        !          4404:        * mpq/get_str.c: Fixes for negative bases.
        !          4405:        * tests/mpq/t-get_str.c: Check negative bases.
        !          4406:        * tests/misc.c,tests.h (__gmp_allocate_strdup, strtoupper): New
        !          4407:        functions.
        !          4408:
        !          4409: 2001-04-24  Torbjorn Granlund  <tege@swox.com>
        !          4410:
        !          4411:        * mpz/lcm.c (mpz_lcm): Make result always positive.
        !          4412:
        !          4413:        * gmp-h.in (mpz_inp_binary, mpz_out_binary): Remove declarations.
        !          4414:
        !          4415: 2001-04-22  Kevin Ryde  <kevin@swox.se>
        !          4416:
        !          4417:        * mpn/powerpc64/addsub_n.asm: Use config.m4 not asm-syntax.m4.
        !          4418:
        !          4419:        * mpz/cmp_d.c, mpz/cmpabs_d.c: New files.
        !          4420:        * Makefile.am, mpz/Makefile.am: Add them.
        !          4421:        * mpf/cmp_d.c, mpf/get_dfl_prec.c: New files.
        !          4422:        * Makefile.am, mpf/Makefile.am: Add them.
        !          4423:        * gmp-h.in (mpz_cmp_d, mpz_cmpabs_d, mpf_cmp_d, mpf_get_default_prec):
        !          4424:        Add prototypes.
        !          4425:        * gmp.texi: Add documentation.
        !          4426:
        !          4427:        * mpf/set_prc.c: Avoid a realloc call if already the right precision.
        !          4428:
        !          4429:        * gmp-impl.h (MPF_BITS_TO_PREC, MPF_PREC_TO_BITS): New macros.
        !          4430:        * mpf/get_prc.c, init2.c, set_dfl_prec.c, set_prc.c, set_prc_raw.c:
        !          4431:        Use them.
        !          4432:
        !          4433: 2001-04-20  Kevin Ryde  <kevin@swox.se>
        !          4434:
        !          4435:        * tests/devel/try.c: Don't test size==0 on mpn_popcount and
        !          4436:        mpn_hamdist; add testing for mpn_divexact_1; print some limb values
        !          4437:        with mpn_trace not printf.
        !          4438:
        !          4439:        * mpz/popcount.c, mpz/hamdist.c: Don't pass size==0 to mpn_popcount
        !          4440:        and mpn_hamdist.
        !          4441:        * mpn/generic/popham.c: Don't support size==0.
        !          4442:
        !          4443:        * config.guess (m68k-*-*): Detect m68010, return m68360 for cpu32,
        !          4444:        cleanup the nesting a bit.
        !          4445:
        !          4446:        * gmp.texi (Integer Division): Fix mpz_congruent_2exp_p "c" type.
        !          4447:        (Integer Division): Add mpz_divexact_ui.
        !          4448:        (Number Theoretic Functions): Fix mpz_nextprime return type.
        !          4449:        (Exact Remainder): Divisibility tests now implemented.
        !          4450:        And more index entries in a few places.
        !          4451:
        !          4452:        * tests/mpz/dive_ui.c: New file.
        !          4453:        * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
        !          4454:
        !          4455:        * mpz/dive_ui.c: New file.
        !          4456:        * Makefile.am, mpz/Makefile.am: Add it.
        !          4457:        * gmp-h.in (mpz_divexact_ui): Add prototype.
        !          4458:
        !          4459:        * tune/many.pl, tune/speed.h: Add special mpn_back_to_back for
        !          4460:        development.
        !          4461:
        !          4462:        * gmp-impl.h (MPN_DIVREM_OR_DIVEXACT_1): New macro.
        !          4463:        * mpz/divexact.c: Use it.
        !          4464:
        !          4465:        * gmp-impl.h (DIVEXACT_1_THRESHOLD): New threshold.
        !          4466:        * tune/tuneup.c: Tune it.
        !          4467:
        !          4468:        * tune/speed.c,speed.h,common.c,many.pl: Add measuring of
        !          4469:        mpn_divexact_1, mpn_copyi, mpn_copyd.
        !          4470:
        !          4471:        * mpn/generic/dive_1.c: New file.
        !          4472:        * configure.in (gmp_mpn_functions): Add it.
        !          4473:        * gmp-impl.h (mpn_divexact_1): Add prototype.
        !          4474:        * mpn/asm-defs.m4: Add define_mpn(divexact_1).
        !          4475:
        !          4476:        * tests/mpn: New directory.
        !          4477:        * tests/Makefile.am: Add it.
        !          4478:        * tests/mpn/Makefile.am: New file.
        !          4479:        * configure.in (AC_OUTPUT): Add it.
        !          4480:        * tests/mpn/t-asmtype.c: New file.
        !          4481:
        !          4482:        * configure, config.in: Update to autoconf 2.49d.
        !          4483:
        !          4484:        * configure.in, gmp-h.in, mp-h.in, demos/expr/expr-impl-h.in: Revert
        !          4485:        to generating gmp.h, mp.h and expr-impl.h with AC_OUTPUT and AC_SUBST.
        !          4486:
        !          4487:        * configure.in (m68*-*-*): Oops, m683?2 is 68000, m68360 is cpu32.
        !          4488:        * mpn/m68k/m68k-defs.m4 (scale_available_p): Ditto.
        !          4489:
        !          4490:        * configure.in (underscore, asm_align): Remove these variables, unused.
        !          4491:        (GMP_ASM_*): Sort by AC_REQUIREs, to avoid duplication.
        !          4492:        * acinclude.m4 (GMP_ASM_UNDERSCORE, GMP_ASM_ALIGN_LOG): Remove support
        !          4493:        for actions, no longer needed.
        !          4494:
        !          4495: 2001-04-17  Kevin Ryde  <kevin@swox.se>
        !          4496:
        !          4497:        * config.guess (m68k-*-*): Look for cpu in linux kernel /proc/cpuinfo.
        !          4498:
        !          4499:        * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): The -mpentiumpro problem is
        !          4500:        fixed in 2.95.4, so test for that.
        !          4501:        (GMP_ASM_TYPE): Amend some comments.
        !          4502:
        !          4503:        * tune/freq.c (speed_cpu_frequency_sysctl): Avoid having unused
        !          4504:        variables on GNU/Linux.
        !          4505:
        !          4506:        * mpn/asm-defs.m4 (m4_instruction_wrapper): Fix a quoting problem if
        !          4507:        the name of the file is a macro.
        !          4508:
        !          4509: 2001-04-15  Kevin Ryde  <kevin@swox.se>
        !          4510:
        !          4511:        * mpn/powerpc64/*.asm: Add speeds on ppc630.
        !          4512:
        !          4513:        * acconfig.h: Add dummy templates for _LONG_LONG_LIMB and HAVE_MPFR.
        !          4514:        * configure.in: Ensure config.in is the last AM_CONFIG_HEADER,
        !          4515:        which autoheader requires.
        !          4516:
        !          4517:        * mpn/x86/pentium/popcount.asm: New file.
        !          4518:        * mpn/x86/pentium/hamdist.asm: New file.
        !          4519:
        !          4520:        * mpn/asm-defs.m4: (m4_popcount): New macro.
        !          4521:        Amend a few comments elsewhere.
        !          4522:
        !          4523:        * acinclude.m4 (GMP_ASM_RODATA): If possible, grep compiler output for
        !          4524:        the right directive.
        !          4525:
        !          4526:        * tune/speed.c: Print clock speed in MHz, not cycle time.
        !          4527:
        !          4528:        * configure.in (AC_CHECK_HEADERS): Check for sys/processor.h.
        !          4529:        * tune/freq.c (speed_cpu_frequency_processor_info): Require
        !          4530:        <sys/processor.h> to exist, to differentiate the different
        !          4531:        processor_info on Darwin.
        !          4532:        (speed_cpu_frequency_sysctlbyname): Remove hw.model test which is in
        !          4533:        speed_cpu_frequency_sysctl.
        !          4534:        (speed_cpu_frequency_sysctl): Add hw.cpufrequency for Darwin.
        !          4535:
        !          4536:        * gmp-impl.h (MPN_LOGOPS_N_INLINE, mpn_and_n ... mpn_xnor_n): Use a
        !          4537:        single expression argument for the different operations, necessary for
        !          4538:        the Darwin "smart" preprocessor.
        !          4539:
        !          4540:        * mpn/m68k/t-m68k-defs.pl: Allow white space in m4_definsn and
        !          4541:        m4_defbranch.
        !          4542:
        !          4543:        * tune/many.pl: Change RM_TMP_S to RM_TMP to match mpn/Makeasm.am,
        !          4544:        avoid a possibly undefined array in a diagnostic, add more renaming to
        !          4545:        hamdist.
        !          4546:
        !          4547: 2001-04-13  Kevin Ryde  <kevin@swox.se>
        !          4548:
        !          4549:        * ltmain.sh, aclocal.m4, configure, config.in: Update to libtool 1.3d.
        !          4550:        * configure.in: Change ac_ to lt_ in lt_cv_archive_cmds_need_lc and
        !          4551:        lt_cv_proc_cc_pic.
        !          4552:
        !          4553:        * config.guess (m68*-*-*): Detect exact cpu with BSD sysctl hw.model,
        !          4554:        detect 68000/68010 with trapf, detect 68302 with bfffo.
        !          4555:
        !          4556: 2001-04-11  Kevin Ryde  <kevin@swox.se>
        !          4557:
        !          4558:        * acinclude.m4 (GMP_ASM_M68K_INSTRUCTION, GMP_ASM_M68K_ADDRESSING,
        !          4559:        GMP_ASM_M68K_BRANCHES): New macros.
        !          4560:        * configure.in: Use them, remove old 68k configs, use mc68020 udiv and
        !          4561:        umul.
        !          4562:
        !          4563:        * mpn/m68k/m68k-defs.m4: New file.
        !          4564:        * mpn/m68k/t-m68k-defs.pl: New file.
        !          4565:        * mpn/m68k/*.asm: New files, converted from .S.  Merge add_n and sub_n
        !          4566:        to aors_n, ditto mc68020 addmul_1 and submul_1 to aorsmul_1.  No
        !          4567:        object code changes (except .type and .size now used on NetBSD 1.4).
        !          4568:        * mpn/m68k/README: New file.
        !          4569:        * mpn/m68k/*.S, */*.S, syntax.h: Remove files.
        !          4570:
        !          4571:        * configure.in (m68*-*-netbsd1.4*): Pretend getrusage doesn't exist.
        !          4572:        * tune/README: Update.
        !          4573:
        !          4574:        * configure.in (powerpc*-*-*): For the benefit of Darwin 1.3, add cc
        !          4575:        to cclist, make gcc_cflags -Wa,-mppc optional.
        !          4576:
        !          4577: 2001-04-06  Kevin Ryde  <kevin@swox.se>
        !          4578:
        !          4579:        * mpn/lisp/gmpasm-mode.el (gmpasm-comment-start-regexp): Add | for 68k.
        !          4580:        (gmpasm-mode-syntax-table): Add to comments.
        !          4581:
        !          4582:        * tests/mpz/reuse.c (dsi_div_func_names): Add names for cdiv_[qr]_2exp.
        !          4583:
        !          4584: 2001-04-04  Kevin Ryde  <kevin@swox.se>
        !          4585:
        !          4586:        * acinclude.m4 (GMP_M4_M4WRAP_SPURIOUS): Fix test so as to actually
        !          4587:        detect the problem, add notes on m68k netbsd 1.4.1.
        !          4588:
        !          4589:        * gmp.texi (Compatibility with older versions): Note libmp
        !          4590:        compatibility.
        !          4591:
        !          4592: 2001-04-03  Kevin Ryde  <kevin@swox.se>
        !          4593:
        !          4594:        * tests/mpz/reuse.c: Add mpz_cdiv_q_2exp and mpz_cdiv_r_2exp.
        !          4595:
        !          4596:        * tests/mpz/t-pow.c: Drag in refmpn.o when testing mpz_pow_ui etc with
        !          4597:        refmpn_mul_2.
        !          4598:
        !          4599:        * tune/speed.c,speed.h,common.c,many.pl: Add measuring of mpn_com_n
        !          4600:        and mpn_mul_2.
        !          4601:        * tests/devel/try.c: Add testing of mpn_mul_2, and a
        !          4602:        DATA_MULTIPLE_DIVISOR attribute.
        !          4603:
        !          4604:        * gmp.texi (Build Options): List more m68k's.
        !          4605:        (Build Options): Add cross reference to tex2html.
        !          4606:        (Notes for Particular Systems): Add m68k means 68020 or up.
        !          4607:        (Rational Conversions): New section, with mpq_get_d, mpq_set_d and
        !          4608:        mpq_set_f from Miscellaneous, and new mpq_set_str.
        !          4609:        (Applying Integer Functions): Move mpq_get_num, mpq_get_den,
        !          4610:        mpq_set_num and mpq_set_den from Misc.
        !          4611:        (Miscellaneous Rational Functions): Remove section.
        !          4612:        (Custom Allocation): Partial rewrite for various clarifications.
        !          4613:        (References): Improve line breaks near URLs.
        !          4614:
        !          4615:        * acinclude.m4 (GMP_GCC_M68K_OPTIMIZE): New macro.
        !          4616:        * configure.in (m68*-*-*): Use it to run gcc 2.95.x at -O not -O2.
        !          4617:        (m680?0-*-*, m683?2-*-*, m68360-*-*): Add optional gcc -m options.
        !          4618:
        !          4619:        * tests/mpz/t-cmp.c: New file.
        !          4620:        * tests/mpz/t-sizeinbase.c: New file.
        !          4621:        * tests/mpz/Makefile.am: Add them.
        !          4622:
        !          4623:        * gmp-impl.h (MPN_CMP): New macro.
        !          4624:        * mpz/cmp.c,cmpabs.c: Use it, and minor cleanups too.
        !          4625:
        !          4626:        * tests/mpq/t-equal.c: New file.
        !          4627:        * tests/mpq/t-get_str.c: New file.
        !          4628:        * tests/mpq/Makefile.am: Add them.
        !          4629:
        !          4630:        * mpq/get_str.c: New file.
        !          4631:        * Makefile.am, mpq/Makefile.am: Add it.
        !          4632:        * gmp-h.in (mpq_get_str): Add prototype.
        !          4633:
        !          4634:        * mpq/equal.c: Rewrite using inline compare loops.
        !          4635:
        !          4636:        * tests/refmpn.c,tests.h (refmpn_mul_2): Fix parameter order.
        !          4637:        * mpz/n_pow_ui.c: Fix mpn_mul_2 calls parameter order.
        !          4638:
        !          4639: 2001-03-29  Kevin Ryde  <kevin@swox.se>
        !          4640:
        !          4641:        * tests/mpf/t-trunc.c: New file.
        !          4642:        * tests/mpf/Makefile.am (check_PROGRAMS): Add it.
        !          4643:        * gmp-impl.h (MPF_CHECK_FORMAT): New macro.
        !          4644:
        !          4645:        * mpf/trunc.c: New file, rewrite of integer.c, preserve prec+1 in
        !          4646:        copy, don't copy if unnecessary.
        !          4647:        * mpf/ceilfloor.c: New file likewise, and use common subroutine for
        !          4648:        ceil and floor.
        !          4649:        * mpf/integer.c: Remove file.
        !          4650:        * Makefile.am, mpf/Makefile.am, macos/Makefile.in: Update.
        !          4651:
        !          4652:        * acinclude.m4 (GMP_GCC_VERSION_GE): New macro.
        !          4653:        (GMP_GCC_MARCH_PENTIUMPRO): Use it, remove CCBASE parameter (don't
        !          4654:        bother checking it's gcc).
        !          4655:        (GMP_GCC_ARM_UMODSI): New macro.
        !          4656:        * configure.in (GMP_GCC_MARCH_PENTIUMPRO): Update parameters.
        !          4657:        (arm*-*-*): Use GMP_GCC_ARM_UMODSI.
        !          4658:        * gmp.texi (Notes for Particular Systems): Add arm gcc requirements.
        !          4659:
        !          4660: 2001-03-28  Kevin Ryde  <kevin@swox.se>
        !          4661:
        !          4662:        * gmp.texi (Converting Integers): Document mpz_getlimbn using absolute
        !          4663:        value and giving zero for N out of range, move to end of section.
        !          4664:
        !          4665:        * tests/refmpn.c (refmpn_tdiv_qr): Use refmpn_divmod_1 rather than
        !          4666:        refmpn_divrem_1.
        !          4667:        * tests/tests.h: Add some prototypes that were missing.
        !          4668:
        !          4669:        * mpz/tdiv_q_ui.c: Remove a comment that belonged to mpz_tdiv_r_ui.
        !          4670:
        !          4671: 2001-03-26  Torbjorn Granlund  <tege@swox.com>
        !          4672:
        !          4673:        * mpn/generic/gcdext.c: Handle carry overflow after m*n multiply code
        !          4674:        in both arms.  Partially combine multiply arms.
        !          4675:
        !          4676: 2001-03-24  Kevin Ryde  <kevin@swox.se>
        !          4677:
        !          4678:        * longlong.h: Add comments to P5 count_leading_zeros.
        !          4679:
        !          4680:        * demos/expr/exprz.c,t-expr.c,README: Add congruent_p and divisible_p.
        !          4681:
        !          4682: 2001-03-23  Kevin Ryde  <kevin@swox.se>
        !          4683:
        !          4684:        * gmp.texi (GMPceil, GMPfloor, ge, le): New macros.
        !          4685:        (Integer Division, mpn_cmp, mpn_sqrtrem, Algorithms): Use them.
        !          4686:        (mpn_bdivmod): Refer to mp_bits_per_limb, not BITS_PER_MP_LIMB, and
        !          4687:        improve formatting a bit.
        !          4688:        (mpn_lshift, mpn_rshift): Clarify the return values, and use {rp,n}
        !          4689:        for the destination.
        !          4690:        Miscellaneous minor rewordings in a few places.
        !          4691:
        !          4692:        * mpn/arm/arm-defs.m4: New file.
        !          4693:        * configure.in (arm*-*-*): Use it.
        !          4694:        * mpn/arm/*.asm: Use changecom and registers from arm-defs.m4, use L()
        !          4695:        for local labels.
        !          4696:
        !          4697:        * mpn/x86/k6/mmx/com_n.asm: Relax code alignment (same speed).
        !          4698:
        !          4699:        * gmp-h.in (__GMP_ATTRIBUTE_PURE): Use __pure__ to avoid application
        !          4700:        namespace.
        !          4701:
        !          4702:        * gmp-impl.h (ABS): Add parens around argument.
        !          4703:
        !          4704: 2001-03-20  Kevin Ryde  <kevin@swox.se>
        !          4705:
        !          4706:        * acinclude.m4 (GMP_PROG_M4): Use AC_ARG_VAR on $M4.
        !          4707:
        !          4708:        * acinclude.m4 (GMP_M4_M4WRAP_SPURIOUS): New macro.
        !          4709:        * configure.in: Use it.
        !          4710:        * mpn/asm-defs.m4: Ditto.
        !          4711:
        !          4712: 2001-03-18  Kevin Ryde  <kevin@swox.se>
        !          4713:
        !          4714:        * mpn/x86/pentium/logops_n.asm: New file.
        !          4715:
        !          4716:        * mpn/x86/k6/k62mmx/copyd.asm: Rewrite, smaller and simpler, faster on
        !          4717:        small sizes, slower on big sizes (about half the time).
        !          4718:        * mpn/x86/k6/k62mmx/copyi.asm: Remove file, in favour of generic x86.
        !          4719:        * mpn/x86/copyi.asm: Add some comments.
        !          4720:        * mpn/x86/k6/README: Update.
        !          4721:
        !          4722:        * mpn/x86/k6/gcd_1.asm: New file.
        !          4723:
        !          4724:        * gmp-impl.h (NEG_MOD): Fix type of __dnorm.
        !          4725:
        !          4726:        * acinclude.m4 (GMP_C_SIZES): Fix use of __GMP_WITHIN_CONFIGURE.
        !          4727:
        !          4728: 2001-03-15  Kevin Ryde  <kevin@swox.se>
        !          4729:
        !          4730:        * gmp.texi (GMPabs): New macro.
        !          4731:        (Float Comparison - mpf_reldiff): Use it.
        !          4732:        (Integer Comparisons - mpz_cmpabs): Ditto, puts "abs" in info.
        !          4733:        (Reentrancy): Update notes on old random functions.
        !          4734:        (Karatsuba Multiplication): Better characterize the effect of basecase
        !          4735:        speedups on the thresholds, pointed out by Torbjorn.
        !          4736:
        !          4737:        * tune/README: Notes on the 1x1 div threshold for mpn_gcd_1.
        !          4738:
        !          4739:        * tests/misc.c (mpz_pow2abs_p, mpz_flipbit, mpz_errandomb,
        !          4740:        mpz_errandomb_nonzero, mpz_negrandom): New functions.
        !          4741:        (mpz_erandomb, mpz_erandomb_nonzero): Use urandom().
        !          4742:        * tests/spinner.c (spinner_wanted, spinner_tick): Make global.
        !          4743:        * tests/tests.h: Update prototypes.
        !          4744:
        !          4745:        * tests/mpz/t-cong.c, tests/mpz/t-cong_2exp.c: New files.
        !          4746:        * tests/mpz/Makefile.am (check_PROGRAMS): Add them.
        !          4747:
        !          4748:        * mpz/cong.c, mpz/cong_2exp.c, mpz/cong_ui.c: New files.
        !          4749:        * Makefile.am, mpz/Makefile.am: Add them.
        !          4750:        * gmp-impl.h (NEG_MOD): New macro.
        !          4751:        * gmp-h.in (mpz_congruent_p, mpz_congruent_2exp_p,
        !          4752:        mpz_congruent_ui_p): Add prototypes.
        !          4753:        * gmp.texi (Integer Division, Efficiency): Add documentation.
        !          4754:
        !          4755:        * mpq/aors.c: No need for ABS on denominator sizes.
        !          4756:
        !          4757:        * gmp-impl.h (mpn_divisible_p): Use __MPN.
        !          4758:
        !          4759:        * gmp-impl.h (LOW_ZEROS_MASK): New macro.
        !          4760:        * mpz/divis_ui.c, mpn/generic/divis.c: Use it.
        !          4761:
        !          4762:        * mpz/setbit.c: Fix normalization for case of a negative ending up
        !          4763:        with a zero high limb.
        !          4764:        * tests/mpz/bit.c (check_single): New test for this problem.
        !          4765:
        !          4766:        * configure.in (none-*-*): Fix cclist for default ABI=long.
        !          4767:
        !          4768: 2001-03-10  Kevin Ryde  <kevin@swox.se>
        !          4769:
        !          4770:        * mpz/cfdiv_q_2exp.c: Don't scan for non-zero limbs if they don't
        !          4771:        matter to the rounding.
        !          4772:
        !          4773:        * mpz/get_ui.c: Fetch _mp_d[0] unconditionally, so the code can come
        !          4774:        out branch-free.
        !          4775:
        !          4776: 2001-03-08  Kevin Ryde  <kevin@swox.se>
        !          4777:
        !          4778:        * tests/devel/try.c (param_init): Fix reference functions for and_n
        !          4779:        and nand_n.
        !          4780:
        !          4781:        * tune/speed.c, tests/devel/try.c: Seed RANDS, not srandom etc.
        !          4782:        * configure.in (AC_CHECK_FUNCS): Remove srand48 and srandom.
        !          4783:        * macos/configure (coptions): Remove random/srandom, now unnecessary.
        !          4784:
        !          4785:        * configure.in (gmp.h, mp.h, demos/expr/expr-impl.h): Generate using
        !          4786:        AM_CONFIG_HEADER.
        !          4787:        (_LONG_LONG_LIMB, HAVE_MPFR): Change to AC_DEFINEs.
        !          4788:        * gmp-h.in, mp-h.in, demos/expr/expr-impl-h.in: Change to #undef's.
        !          4789:        * acinclude.m4 (GMP_FUNC_ALLOCA, GMP_C_SIZES): Use gmp-h.in, not gmp.h.
        !          4790:        * Makefile.am (EXTRA_DIST): Remove gmp-h.in and mp-h.in, now done
        !          4791:        automatically.
        !          4792:        * acinclude.m4 (GMP_FUNC_ALLOCA), gmp-impl.h: Set and use
        !          4793:        __GMP_WITHIN_CONFIGURE rather than GMP_FUNC_ALLOCA_TEST.
        !          4794:
        !          4795:        * mpf/random2.c: Use _gmp_rand and RANDS instead of random() for the
        !          4796:        exponent, ensures full range of values too.
        !          4797:
        !          4798:        * tests/mpz/t-div_2exp.c (check_various): Start with d based on i, but
        !          4799:        don't let it go negative.
        !          4800:
        !          4801:        * tune/tuneup.c (KARATSUBA_MUL_THRESHOLD): Limit probing to
        !          4802:        TOOM3_MUL_THRESHOLD_LIMIT, the size of the workspace in mul_n.c.
        !          4803:        Use a -1 with this too, so size<LIMIT not <=.
        !          4804:
        !          4805: 2001-03-07  Torbjorn Granlund  <tege@swox.com>
        !          4806:
        !          4807:        * mpn/cray/cfp/mul_1.c: Don't call mpn_add_n with size 0.
        !          4808:        * mpn/cray/cfp/addmul_1.c: Likewise.
        !          4809:        * mpn/cray/cfp/submul_1.c: Don't call mpn_sub_n with size 0.
        !          4810:
        !          4811:        * tests/mpz/t-div_2exp.c (check_various): Start 2nd d loop from 0
        !          4812:        (avoid problems with Cray compilers).
        !          4813:
        !          4814: 2001-03-06  Torbjorn Granlund  <tege@swox.com>
        !          4815:
        !          4816:        * mpn/cray/ieee/submul_1.c: Don't call mpn_sub_n with size 0.
        !          4817:
        !          4818:        * mpn/cray/ieee/mul_basecase.c: New file.
        !          4819:        * mpn/cray/ieee/sqr_basecase.c: New file, derived from mul_basecase.c.
        !          4820:
        !          4821: 2001-03-06  Kevin Ryde  <kevin@swox.se>
        !          4822:
        !          4823:        * tests/devel/try.c (pointer_setup): Allow dst_size == SIZE_SIZE2 for
        !          4824:        the benefit of mpn_tdiv_qr.
        !          4825:
        !          4826:        * tune/tuneup.c (all): Start karatsuba probing at size==4, for the
        !          4827:        benefit of cray t90 ieee which has speed oddities at size==2.
        !          4828:
        !          4829:        * gmp-impl.h (USE_LEADING_REGPARM): Use __GMP_GNUC_PREREQ.
        !          4830:        Use __GMP_ATTRIBUTE_PURE and ATTRIBUTE_CONST in a few places.
        !          4831:
        !          4832:        * gmp-h.in (__GMP_GNUC_PREREQ) New macro.
        !          4833:        (__GMP_ATTRIBUTE_PURE): New macro, use it in many places.
        !          4834:
        !          4835:        * gmp-impl.h, gmp-h.in (mpn_jacobi_base): Move prototype to
        !          4836:        gmp-impl.h, use ATTRIBUTE_CONST.
        !          4837:
        !          4838:        * tune/speed.h (speed_cyclecounter): Inline asm version for i386.
        !          4839:
        !          4840:        * mpz/cfdiv_r_2exp.c (cfdiv_r_2exp): Only reread "up" after second
        !          4841:        realloc, first is under w!=u.
        !          4842:
        !          4843: 2001-03-05  Torbjorn Granlund  <tege@swox.com>
        !          4844:
        !          4845:        * mpn/cray/sub_n.c: Rewrite using `majority' logic.
        !          4846:
        !          4847:        * mpz/cfdiv_r_2exp.c (cfdiv_r_2exp): Reread `up' after realloc of w.
        !          4848:
        !          4849:        * mpn/cray/ieee/mul_1.c: Rewrite.  Streamline multiplications;
        !          4850:        use `majority' logic.
        !          4851:        * mpn/cray/ieee/addmul_1.c: Likewise.
        !          4852:
        !          4853:        * mpn/cray/add_n.c: Rewrite using `majority' logic.
        !          4854:
        !          4855: 2001-03-04  Torbjorn Granlund  <tege@swox.com>
        !          4856:
        !          4857:        * longlong.h (CRAY udiv_qrnnd): No longer conditional on CRAYMPP.
        !          4858:        (64-bit hppa add_ssaaaa): New.
        !          4859:        (64-bit hppa sub_ddmmss): New.
        !          4860:
        !          4861:        * mpn/cray/ieee/invert_limb.c: New file.
        !          4862:
        !          4863:        * gmp-impl.h (RANDS): Add a `,0' to make it compile on more compilers.
        !          4864:
        !          4865: 2001-03-03  Kevin Ryde  <kevin@swox.se>
        !          4866:
        !          4867:        * mpz/n_pow_ui.c (ULONG_PARITY): Move to gmp-impl.h.
        !          4868:        * gmp-impl.h (ULONG_PARITY): i386 part from n_pow_ui.c, new generic
        !          4869:        form by Torbjorn.
        !          4870:
        !          4871:        * tests/mpz/t-div_2exp.c: New file, rewrite of t-2exp.c.
        !          4872:        * tests/mpz/t-2exp.c: Remove file.
        !          4873:        * tests/mpz/Makefile.am (check_PROGRAMS): Update.
        !          4874:
        !          4875:        * gmp-h.in (mpz_cdiv_q_2exp, mpz_cdiv_q_2exp): Add prototypes.
        !          4876:        * gmp.texi (Integer Division): Add mpz_cdiv_q_2exp and mpz_cdiv_q_2exp.
        !          4877:
        !          4878:        * mpz/cfdiv_q_2exp.c: New file, partial rewrite of fdiv_q_2exp.c, add
        !          4879:        mpz_cdiv_q_2exp entrypoint.
        !          4880:        * mpz/cfdiv_r_2exp.c: New file, rewrite of fdiv_r_2exp.c, use all mpn,
        !          4881:        add mpz_cdiv_r_2exp entrypoint.
        !          4882:        * mpz/fdiv_q_2exp.c, mpz/fdiv_r_2exp.c: Remove files.
        !          4883:        * mpz/Makefile.am (libmpz_la_SOURCES): Update.
        !          4884:        * Makefile.am (MPZ_OBJECTS): Ditto.
        !          4885:
        !          4886:        * gmp-impl.h (USE_LEADING_REGPARM): Use __i386__ same as longlong.h
        !          4887:        (REGPARM_2_1, REGPARM_3_1, REGPARM_ATTR): New macros.
        !          4888:        * mpz/jacobi.c (jac_or_kron): Use them.
        !          4889:
        !          4890:        * configure.in (HAVE_ABI_$ABI): Re-enable this for config.m4, with
        !          4891:        dots changed to underscores (necessary for hppa).
        !          4892:
        !          4893:        * tests/mpz/t-divis.c, tests/mpz/t-divis_2exp.c: New files.
        !          4894:        * tests/mpz/Makefile.am (check_PROGRAMS): Add them.
        !          4895:
        !          4896:        * gmp-h.in (mpz_divisible_p, mpz_divisible_ui_p,
        !          4897:        mpz_divisible_2exp_p): Add prototypes.
        !          4898:        * gmp.texi (Integer Division): Add mpz_divisible_p.
        !          4899:        (Efficiency): Add remarks about divisibility testing.
        !          4900:
        !          4901:        * mpz/divis.c, mpz/divis_ui.c, mpz/divis_2exp.c: New files.
        !          4902:        * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
        !          4903:        * Makefile.am (MPZ_OBJECTS): Ditto.
        !          4904:
        !          4905:        * mpn/generic/divis.c: New file.
        !          4906:        * configure.in (gmp_mpn_functions): Add it.
        !          4907:        * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Ditto.
        !          4908:        * gmp-impl.h (mpn_divisible_p): Add prototype.
        !          4909:
        !          4910:        * urandom.h: Remove file.
        !          4911:        * Makefile.am (EXTRA_DIST): Remove it.
        !          4912:
        !          4913:        * tests/mpz/convert.c, dive.c, io.c, logic.c, reuse.c, t-2exp.c,
        !          4914:        t-fdiv.c, t-fdiv_ui.c, t-gcd.c, t-jac.c, t-mul.c, t-pow.c,
        !          4915:        t-powm.c, t-powm_ui.c, t-root.c, t-sqrtrem.c, t-tdiv.c,
        !          4916:        t-tdiv_ui.c: Use RANDS, initialized by tests_rand_start.
        !          4917:
        !          4918:        * tests/mpz/t-pow.c: New file, being t-pow_ui renamed and with some
        !          4919:        further tests added.
        !          4920:        * tests/mpz/t-pow_ui.c: Remove file.
        !          4921:        * tests/mpz/Makefile.am (check_PROGRAMS): Update.
        !          4922:
        !          4923:        * tests/t-modlinv.c: Don't use urandom.h.
        !          4924:        * tests/mpz/bit.c, tests/mpz/t-scan.c: Ditto.
        !          4925:        * tests/mpq/t-cmp.c, tests/mpq/t-cmp_ui.c, tests/mpq/t-get_d.c: Ditto.
        !          4926:        * tests/mpf/reuse.c, t-add.c, t-conv.c, t-dm2exp.c, t-muldiv.c,
        !          4927:        t-sqrt.c, t-sub.c: Ditto.
        !          4928:
        !          4929:        * tests/misc.c (tests_rand_start, tests_rand_end): New functions.
        !          4930:        (tests_start, tests_end): Use them.
        !          4931:        (urandom): New function.
        !          4932:        * tests/tests.h: Add prototypes.
        !          4933:
        !          4934:        * mpz/random.c: Rewrite using mpz_urandomb and RANDS.
        !          4935:        * mpn/generic/random.c: Rewrite using _gmp_rand and RANDS.
        !          4936:        * mpn/generic/random2.c: Use RANDS not random() etc.
        !          4937:
        !          4938:        * gmp-impl.h (__gmp_rands, __gmp_rands_initialized): Add externs.
        !          4939:        (gmp_randstate_ptr): New typedef.
        !          4940:        (RANDS, RANDS_CLEAR): New macros.
        !          4941:
        !          4942:        * rands.c: New file.
        !          4943:        * Makefile.am (libgmp_la_SOURCES): Add it.
        !          4944:
        !          4945:        * configure.in (mpn_objs_in_libmp): New AC_SUBST.
        !          4946:        * Makefile.am (libmp_la_DEPENDENCIES): Use it.
        !          4947:
        !          4948: 2001-03-02  Torbjorn Granlund  <tege@swox.com>
        !          4949:
        !          4950:        * mpn/pa64/udiv_qrnnd.asm: New file.
        !          4951:
        !          4952: 2001-03-01  Kevin Ryde  <kevin@swox.se>
        !          4953:
        !          4954:        * mpbsd/rpow.c: New file.
        !          4955:        * mpbsd/Makefile.am (libmpbsd_la_SOURCES): Add it
        !          4956:        (nodist_libmpbsd_la_SOURCES): Remove pow_ui.c.
        !          4957:        * Makefile.am (MPBSD_OBJECTS): Add rpow.lo, remove pow_ui.lo.
        !          4958:        (libmp_la_DEPENDENCIES): Add mpz/n_pow_ui.lo.
        !          4959:
        !          4960:        * mpz/ui_pow_ui.c: Rewrite using mpz_n_pow_ui.
        !          4961:        * mpz/pow_ui.c: Ditto, and no longer provide rpow for mpbsd.
        !          4962:
        !          4963:        * mpz/n_pow_ui.c: New file, rewrite of pow_ui.c and ui_pow_ui.c.  Use
        !          4964:        less temporary memory, strip factors of 2 from the base, use mpn_mul_2
        !          4965:        if available.
        !          4966:        * mpz/si_pow_ui.c: New file.
        !          4967:        * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
        !          4968:        * Makefile.am (MPZ_OBJECTS): Ditto.
        !          4969:        * gmp-impl.h (mpz_n_pow_ui): Add prototype.
        !          4970:        * gmp-h.in (mpz_si_pow_ui): Add prototype.
        !          4971:        * gmp.texi (Integer Exponentiation): Add mpz_si_pow_ui.
        !          4972:
        !          4973:        * acinclude.m4 (GMP_C_SIZES): Add BITS_PER_ULONG.
        !          4974:        Correction to mp_limb_t working check.
        !          4975:        * configure.in (limb_chosen): New variable.
        !          4976:        * tests/t-constants.c (BITS_PER_ULONG): Check this value.
        !          4977:        Add some reminders about tests that fail on Cray.
        !          4978:
        !          4979:        * tests/refmpn.c (refmpn_mul_2): New function.
        !          4980:        * tests/refmpz.c (refmpz_pow_ui): Copied from tests/mpz/t-pow_ui.c
        !          4981:        * tests/tests.h: Add prototypes.
        !          4982:
        !          4983:        * configure.in (none-*-*): Add ABI=longlong.
        !          4984:        * doc/configuration (Long long limb testing): Describe it.
        !          4985:
        !          4986:        * gmp.texi (Low-level Functions): Move some commented out remarks ...
        !          4987:        * mpn/generic/mul_basecase.c: ... to here.
        !          4988:
        !          4989:        * mpn/x86/README: Note "%=" as an alternative to "1:" in __asm__.
        !          4990:
        !          4991:        * tests/trace.c (mp_trace_start): Print "bin" for binary.
        !          4992:
        !          4993:        * mpn/generic/dump.c: Add a couple of casts to keep gcc quiet.
        !          4994:
        !          4995:        * gmp-h.in (mpn_incr_u, mpn_decr_u): Add parens around arguments.
        !          4996:
        !          4997:        * mpbsd/mout.c, mpbsd/mtox.c (num_to_text): Remove unused variable.
        !          4998:
        !          4999:        * mpfr/set_d.c (mpfr_get_d2): Declare "q" for 64-bit limbs.
        !          5000:
        !          5001: 2001-02-28  Torbjorn Granlund  <tege@swox.com>
        !          5002:
        !          5003:        * mpn/pa64w/udiv_qrnnd.asm: Tune.
        !          5004:
        !          5005: 2001-02-27  Torbjorn Granlund  <tege@swox.com>
        !          5006:
        !          5007:        * mpn/pa64w/udiv_qrnnd.asm: New file.
        !          5008:
        !          5009: 2001-02-26  Torbjorn Granlund  <tege@swox.com>
        !          5010:
        !          5011:        * longlong.h (arm): Optimize sub_ddmmss by testing for constant
        !          5012:        operands.
        !          5013:        * mpn/arm/invert_limb.asm: New file.
        !          5014:
        !          5015: 2001-02-24  Torbjorn Granlund  <tege@swox.com>
        !          5016:
        !          5017:        * mpn/generic/lshift.c: Rewrite.
        !          5018:        * mpn/generic/rshift.c: Rewrite.
        !          5019:
        !          5020:        * longlong.h: Use UWtype for external interfaces that expect mp_limb_t.
        !          5021:
        !          5022:        * longlong.h (arm): #define invert_limb.
        !          5023:
        !          5024:        * mpn/arm: Make labels have local scope.
        !          5025:
        !          5026:        * configure.in (arm*-*-*): Set extra_functions.
        !          5027:        * longlong.h (arm): #define udiv_qrnnd.
        !          5028:        * mpn/arm/udiv.asm: New file.
        !          5029:
        !          5030: 2001-02-24  Kevin Ryde  <kevin@swox.se>
        !          5031:
        !          5032:        * tune/many.pl: Add mpn_count_leading_zeros, mpn_count_trailing_zeros
        !          5033:        and mpn_invert_limb.  Add count_leading_zeros, count_trailing_zeros
        !          5034:        from a .h file.  Correction to modexact_1_odd prototype.  Support
        !          5035:        ansi2knr.
        !          5036:        * tune/speed.h, tune/common.c: Consequent changes.
        !          5037:
        !          5038:        * demos/expr/*: Make a few more functions available in expressions,
        !          5039:        create only libexpr.a, misc minor updates.
        !          5040:
        !          5041:        * mpn/Makeasm.am: Add some comments about suffix ordering.
        !          5042:
        !          5043:        * tests/refmpn.c (rshift_make, lshift_make): No need to compare
        !          5044:        unsigned to zero.
        !          5045:
        !          5046:        * mpq/mul.c: Detect and optimize squaring.
        !          5047:
        !          5048: 2001-02-23  Torbjorn Granlund  <tege@swox.com>
        !          5049:
        !          5050:        * mpn/mips3: Convert files to `.asm'.
        !          5051:
        !          5052:        * mpn/arm: Convert files to `.asm'.  Misc cleanups.
        !          5053:        * mpn/arm/submul_1.asm: New file.
        !          5054:
        !          5055: 2001-02-21  Kevin Ryde  <kevin@swox.se>
        !          5056:
        !          5057:        * tune/tuneup.c (all): Only one compiler print should match, no need
        !          5058:        for #undef PRINTED_COMPILER.
        !          5059:
        !          5060:        * mpfr/mpfr.h (mpfr_sgn): Use mpfr_cmp_ui (patch from Paul).
        !          5061:
        !          5062:        * mpz/fib_ui.c: Update some remarks about alternative algorithms.
        !          5063:        * gmp.texi (Fibonacci Numbers Algorithm): Ditto.
        !          5064:        (Assigning Floats): Clarify mpf_swap swaps the precisions too.
        !          5065:        (Low-level Functions): Try to be clearer about negative cofactors.
        !          5066:
        !          5067: 2001-02-21  Torbjorn Granlund  <tege@swox.com>
        !          5068:
        !          5069:        * mpn/sparc64/copyi.asm: Streamline for small operands.
        !          5070:        * mpn/sparc64/add_n.asm: Likewise.
        !          5071:        * mpn/sparc64/sub_n.asm: Likewise.
        !          5072:
        !          5073:        * mpn/sparc64/copyd.asm: New file.
        !          5074:
        !          5075: 2001-02-20  Torbjorn Granlund  <tege@swox.com>
        !          5076:
        !          5077:        * mpn/sparc64/lshift.asm: Rewrite.
        !          5078:        * mpn/sparc64/rshift.asm: Rewrite.
        !          5079:
        !          5080: 2001-02-19  Torbjorn Granlund  <tege@swox.com>
        !          5081:
        !          5082:        * mpn/sparc64/add_n.asm: Rewrite using `majority' logic.
        !          5083:        * mpn/sparc64/sub_n.asm: Likewise.
        !          5084:
        !          5085:        * tune/tuneup.c (all): Recognise DECC and MIPSpro compilers.
        !          5086:
        !          5087:        * mpn/pa64/sqr_diagonal.asm: Use PROLOGUE/EPILOGUE.
        !          5088:        * mpn/pa642/sqr_diagonal.asm: Likewise.
        !          5089:
        !          5090:        * configure.in (HAVE_ABI_$abi): Disable for now.
        !          5091:
        !          5092:        * mpn/asm-defs.m4 (PROLOGUE): Use LABEL_SUFFIX.
        !          5093:
        !          5094:        * acinclude.m4 (GMP_ASM_ATTR): New check, for hppa oddities.
        !          5095:
        !          5096: 2001-02-18  Torbjorn Granlund  <tege@swox.com>
        !          5097:
        !          5098:        * mpn/hppa/hppa1_1/gmp-mparam.h: New file.
        !          5099:        * mpn/hppa/hppa2_0/gmp-mparam.h: New file.
        !          5100:
        !          5101:        * mpn/pa64/sqr_diagonal.asm: New file.
        !          5102:        * mpn/pa64w/sqr_diagonal.asm: New file.
        !          5103:        * mpn/hppa/hppa1_1/sqr_diagonal.asm: New file.
        !          5104:        * mpn/hppa/hppa2_0/sqr_diagonal.asm: New file.
        !          5105:
        !          5106:        * mpn/sparc32/v9/add_n.asm: Use `fitod' instead of `fxtod' for dummy
        !          5107:        FA-pipeline insns.
        !          5108:        * mpn/sparc32/v9/sub_n.asm: Likewise.
        !          5109:
        !          5110: 2001-02-18  Kevin Ryde  <kevin@swox.se>
        !          5111:
        !          5112:        * gmp.texi (Known Build Problems): Notes on make, $* and K&R, misc
        !          5113:        tweaks elsewhere.
        !          5114:        (Low-level Functions): Use {} notation in mpn_sqrtrem.
        !          5115:        (Basecase Multiplication): Mention BASECASE_SQR_THRESHOLD.
        !          5116:
        !          5117:        * mpfr/isnan.c (mpfr_number_p): Infinity is not a number.
        !          5118:        * mpfr/out_str.c: Pass strlen+1 for the block size to free.
        !          5119:        * mpfr/get_str.c: Correction for realloc to strlen+1.
        !          5120:
        !          5121:        * acinclude.m4 (GMP_C_SIZES): Generate an error if mp_limb_t doesn't
        !          5122:        seem to work for some reason.
        !          5123:
        !          5124: 2001-02-16  Torbjorn Granlund  <tege@swox.com>
        !          5125:
        !          5126:        * mpn/sparc32/v9/gmp-mparam.h: Retune.
        !          5127:
        !          5128:        * mpn/sparc32/v9/add_n.asm: New file.
        !          5129:        * mpn/sparc32/v9/sub_n.asm: New file.
        !          5130:
        !          5131:        * mpn/sparc32/v9/mul_1.asm: Tune function entry.
        !          5132:        * mpn/sparc32/v9/addmul_1.asm: Likewise.
        !          5133:        * mpn/sparc32/v9/submul_1.asm: Likewise.
        !          5134:
        !          5135:        * mpn/sparc32/v9/sqr_diagonal.asm: New file.
        !          5136:
        !          5137: 2001-02-16  Kevin Ryde  <kevin@swox.se>
        !          5138:
        !          5139:        * configure.in: Fix flags selection when $CC is a compiler known to us.
        !          5140:
        !          5141:        * demos/expr/exprfr.c (e_mpfr_cos, e_mpfr_sin): mpfr_sin_cos now
        !          5142:        allows NULL for one parameter.
        !          5143:
        !          5144:        * mpfr/*: Update to 20010215.
        !          5145:        * mpfr/trunc.c: Use -DOPERATION scheme, and gmp mpn_zero_p.
        !          5146:        * mpfr/sqrt.c: Use plain mpn_sqrtrem, not mpn_sqrtrem_new.
        !          5147:        * mpfr/sqrtrem.c: Remove file.
        !          5148:        * mpfr/Makefile.am (libmpfr_a_SOURCES): Add isnan.c and set_ui.c,
        !          5149:        remove sqrtrem.c and srandom.h.
        !          5150:
        !          5151:        * configfsf.guess: Update to 2001-02-13.
        !          5152:        * configfsf.sub: Update to 2001-02-16.
        !          5153:        * config.sub (j90, t90): Remove special handing, configfsf.sub now ok.
        !          5154:
        !          5155:        * Makefile.am (MPF_OBJECTS): Add a couple of missing $U's.
        !          5156:
        !          5157:        * tune/tuneup.c: Identify compiler used (GCC and Sun C so far).
        !          5158:
        !          5159: 2001-02-15  Torbjorn Granlund  <tege@swox.com>
        !          5160:
        !          5161:        * mpn/sparc32/v9/mul_1.asm: Change `ld' to `lduw' and `st' to `stw'.
        !          5162:        * mpn/sparc32/v9/addmul_1.asm: Likewise.
        !          5163:        * mpn/sparc32/v9/submul_1.asm: Likewise.
        !          5164:
        !          5165: 2001-02-14  Torbjorn Granlund  <tege@swox.com>
        !          5166:
        !          5167:        * mpn/mips3/mips.m4: New file.
        !          5168:        * configure.in (mips*-*-irix[6789]*): Use mips3/mips.m4.
        !          5169:
        !          5170:        * mpn/powerpc64/sqr_diagonal.asm: New file.
        !          5171:
        !          5172:        * mpn/mips3/sqr_diagonal.asm: New file.
        !          5173:
        !          5174: 2001-02-12  Torbjorn Granlund  <tege@swox.com>
        !          5175:
        !          5176:        * mpn/powerpc32/sqr_diagonal.asm: New file.
        !          5177:
        !          5178:        * mpn/generic/sqr_basecase.c: Remove declaration of mpn_sqr_diagonal.
        !          5179:        Fix typo in header comment.
        !          5180:
        !          5181: 2001-02-12  Kevin Ryde  <kevin@swox.se>
        !          5182:
        !          5183:        * mpn/generic/mul.c, mpn/generic/mul_n.c, gmp-impl.h: Use
        !          5184:        mpn_mul_basecase for squaring below new BASECASE_SQR_THRESHOLD.
        !          5185:        * tune/tuneup.c gmp-impl.h: Tune BASECASE_SQR_THRESHOLD.
        !          5186:
        !          5187:        * Makefile.am (libgmp.la, libmp.la): Revert change to build from
        !          5188:        mpn/libmpn.la etc, go back to explicitly listed objects.
        !          5189:
        !          5190:        * configure.in: Recognise sparc64-*-*, not just sparc64-*-linux*.
        !          5191:
        !          5192: 2001-02-11  Torbjorn Granlund  <tege@swox.com>
        !          5193:
        !          5194:        * mpn/asm-defs.m4 (sqr_diagonal): New define_mpn.
        !          5195:
        !          5196:        * mpn/alpha/sqr_diagonal.asm: New file.
        !          5197:
        !          5198: 2001-02-11  Kevin Ryde  <kevin@swox.se>
        !          5199:
        !          5200:        * gmp.texi (Low-level Functions): Note mpn_get_str clobbers its input
        !          5201:        plus 1 extra limb.
        !          5202:
        !          5203:        * mpfr/add.c,agm.c,exp2.c,exp3.c,generic.c,log2.c,pi.c,print_raw.c,
        !          5204:        set_d.c,sin_cos.c,sqrtrem.c,sub.c: Apply some tweaks for K&R.
        !          5205:        * tests/mpz/reuse.c, tests/mpq/t-md_2exp.c, demos/pexpr.c,
        !          5206:        demos/expr/t-expr.c: Ditto.
        !          5207:
        !          5208:        * configure.in (HAVE_ABI_$abi): New define in config.m4.
        !          5209:
        !          5210:        * gmp-impl.h (mpn_sqr_diagonal): Add prototype and define.
        !          5211:        * tune/speed.c,speed.h,common.c,many.pl: Add measuring of
        !          5212:        mpn_sqr_diagonal.
        !          5213:
        !          5214:        * gmp.texi, acinclude.m4: Mention x86 solaris 2.7 has the reg->reg
        !          5215:        movq bug the same as 2.6.
        !          5216:
        !          5217:        * mpfr/Makefile.am (EXTRA_DIST): Add mpfr-test.h and mpf2mpfr.h.
        !          5218:
        !          5219:        * mpn/x86/README: Merge contents of README.family.
        !          5220:        * mpn/x86/README.family: Remove file.
        !          5221:
        !          5222:        * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add mode1o, gcd_finda,
        !          5223:        invert_limb, sqr_diagonal; remove mod_1_rs; sort alphabetically.
        !          5224:
        !          5225: 2001-02-10  Torbjorn Granlund  <tege@swox.com>
        !          5226:
        !          5227:        * configure.in (gmp_mpn_functions_optional): List sqr_diagonal.
        !          5228:
        !          5229:        * mpn/powerpc32/aix.m4: Use unnamed csects.
        !          5230:        * mpn/powerpc64/aix.m4: Likewise.
        !          5231:
        !          5232:        * acconfig.h: Add #undef of mpn_sqr_diagonal.
        !          5233:        Remove lots of spacing.
        !          5234:
        !          5235:        * configure.in (syntax testing section): Match power* instead of
        !          5236:        powerpc*.
        !          5237:        * mpn/power: Convert files to `.asm'.
        !          5238:        Prefix umul_ppmm and sdiv_qrnnd.
        !          5239:        Update some comments.
        !          5240:
        !          5241: 2001-02-09  Kevin Ryde  <kevin@swox.se>
        !          5242:
        !          5243:        * acconfig.h: Add HAVE_NATIVE_mpn_modexact_1_odd and
        !          5244:        HAVE_NATIVE_mpn_modexact_1c_odd.
        !          5245:
        !          5246:        * configure.in (CCAS): Don't override a user selection.
        !          5247:
        !          5248:        * mpq/cmp_ui.c: DIVIDE_BY_ZERO if den2==0.
        !          5249:
        !          5250: 2001-02-08  Torbjorn Granlund  <tege@swox.com>
        !          5251:
        !          5252:        * mpn/generic/sqr_basecase.c: Use mpn_sqr_diagonal when appropriate.
        !          5253:
        !          5254: 2001-02-07  Kevin Ryde  <kevin@swox.se>
        !          5255:
        !          5256:        * gmp.texi (Low-level Functions): mpn_preinv_mod_1 now undocumented.
        !          5257:
        !          5258:        * mpn/generic/random2.c (myrandom): Use rand() on mingw.
        !          5259:
        !          5260:        * mpn/alpha/gmp-mparam.h: Update tuned parameters.
        !          5261:
        !          5262: 2001-02-05  Torbjorn Granlund  <tege@swox.com>
        !          5263:
        !          5264:        * mpn/alpha/ev6/gmp-mparam.h: Retune.
        !          5265:
        !          5266: 2001-02-05  Kevin Ryde  <kevin@swox.se>
        !          5267:
        !          5268:        * Makefile.am (libgmp, libmp): Construct from mpn/libmpn.la etc rather
        !          5269:        than explicitly listed objects.
        !          5270:
        !          5271:        * urandom.h: Use rand() on mingw.
        !          5272:
        !          5273:        * mpn/powerpc64/lshift.asm,addsub_n.asm: Use r1 not 1.
        !          5274:
        !          5275: 2001-02-04  Torbjorn Granlund  <tege@swox.com>
        !          5276:
        !          5277:        * mpn/ia64/copyi.asm: New file.
        !          5278:        * mpn/ia64/copyd.asm: New file.
        !          5279:
        !          5280: 2001-02-04  Kevin Ryde  <kevin@swox.se>
        !          5281:
        !          5282:        * mpn/alpha/ev5/gmp-mparam.h, mpn/mips3/gmp-mparam.h,
        !          5283:        mpn/powerpc32/gmp-mparam.h, mpn/powerpc64/gmp-mparam.h,
        !          5284:        mpn/sparc64/gmp-mparam.h, mpn/x86/*/gmp-mparam.h:
        !          5285:        Update tuned parameters.
        !          5286:
        !          5287:        * mpn/x86/i486: New directory.
        !          5288:        * configure.in (i486-*-*): Use it.
        !          5289:        * mpn/x86/i486/gmp-mparam.h: New file.
        !          5290:
        !          5291:        * mpn/x86/pentium/mode1o.asm: New file.
        !          5292:        * mpn/x86/p6/mode1o.asm: New file.
        !          5293:
        !          5294:        * tune/many.pl: Use $(ASMFLAGS_PIC) and $(CFLAGS_PIC).
        !          5295:
        !          5296:        * gmp.texi (Integer Division): Another rewording of 2exp divisions.
        !          5297:
        !          5298: 2001-02-03  Torbjorn Granlund  <tege@swox.com>
        !          5299:
        !          5300:        * mpn/arm/gmp-mparam.h: Tune.
        !          5301:
        !          5302:        * mpn/ia64/popcount.asm: Put a `;;' break at end of main loop.
        !          5303:
        !          5304:        * configure.in (arm*-*-*): Set gcc_cflags in order to pass
        !          5305:        $fomit_frame_pointer.
        !          5306:
        !          5307:        * tests/mpz/t-mul.c (base_mul): Remove an unused variable.
        !          5308:
        !          5309: 2001-02-02  Torbjorn Granlund  <tege@swox.com>
        !          5310:
        !          5311:        * demos/pexpr.c (TIME): New macro.
        !          5312:        (main): Use TIME--print timing more accurately.
        !          5313:        (setup_error_handler): Increase RLIMIT_DATA to 16 Mibyte.
        !          5314:
        !          5315:        * longlong.h (arm): Add __CLOBBER_CC to add_ssaaaa and sub_ddmmss.
        !          5316:
        !          5317: 2001-02-02  Kevin Ryde  <kevin@swox.se>
        !          5318:
        !          5319:        * configure.in: Don't remove gmp-mparam.h and mpn source links under
        !          5320:        --no-create since in that case they're not re-created.
        !          5321:
        !          5322:        * demos/expr: New directory.
        !          5323:        * Makefile.am (SUBDIRS, allprogs): Add it.
        !          5324:        * demos/expr/README, Makefile.am, expr.c, exprv.c, exprz.c, exprza.c,
        !          5325:        exprq.c, exprqa.c, exprfa.c, exprf.c, exprfr.c, exprfra.c, expr.h,
        !          5326:        expr-impl-h.in, run-expr.c, t-expr.c: New files.
        !          5327:        * configure.in: Generate demos/expr/Makefile & demos/expr/expr-impl.h.
        !          5328:
        !          5329:        * Makefile.am: Remove mpfr from main libgmp.
        !          5330:        * mpfr/Makefile.am: Build and install separate libmpfr.a.
        !          5331:        * mpfr/*: Update to mpfr 2001.
        !          5332:
        !          5333:        * gmp-h.in (__GNU_MP_VERSION_MINOR): Bump to 2.
        !          5334:        * Makefile.am (libtool -version-info): Bump appropriately.
        !          5335:        * NEWS: Updates.
        !          5336:
        !          5337:        * tune/divrem1div.c, tune/divrem1inv.c, tune/divrem2div.c,
        !          5338:        tune/divrem2inv.c: Renamed from divrem_1_div.c, divrem_1_inv.c,
        !          5339:        divrem_2_div.c, divrem_2_inv.c, to be unique in DOS 8.3 filenames.
        !          5340:        * tune/Makefile.am (libspeed_la_SOURCES): Update.
        !          5341:
        !          5342:        * mpn/x86/*/README, mpn/x86/README.family: Misc updates.
        !          5343:        * tune/README: Misc updates.
        !          5344:        * doc/configuration: Misc updates.
        !          5345:
        !          5346:        * mpn/x86/pentium/mmx/gmp-mparam.h: Change UDIV_PREINV_TIME to
        !          5347:        UDIV_NORM_PREINV_TIME.
        !          5348:
        !          5349:        * mpz/pprime_p.c: Use ASSERT_ALWAYS instead of abort.
        !          5350:
        !          5351:        * rand.c (__gmp_rand_lc_scheme): Add "const".
        !          5352:        (struct __gmp_rand_lc_scheme_struct): Make astr "const char *".
        !          5353:
        !          5354:        * demos/calc/calc.y, demos/calc/calclex.l: Add kron function.
        !          5355:
        !          5356:        * tests/devel/try.c: Partial rewrite, new scheme of function types,
        !          5357:        allow result validation functions, add sqrtrem and jacobi testing.
        !          5358:        * tune/many.pl: Corresponding updates.
        !          5359:        * tests/devel/Makefile.am: Add a convenience rule for libtests.la.
        !          5360:
        !          5361:        * tests/refmpz.c: New file.
        !          5362:        * tests/Makefile.am: Add it.
        !          5363:        * tests/misc.c (mpz_erandomb, mpz_erandomb_nonzero): New functions.
        !          5364:        * tests/tests.h: Add prototypes.
        !          5365:
        !          5366:        * mpn/x86/k6/cross.pl: Add a couple more exceptions.
        !          5367:
        !          5368:        * gmp.texi: Don't use @nicode{'\0'}, it doesn't come out right in tex.
        !          5369:        (Introduction to GMP): Mention Cray vector systems.
        !          5370:        (Build Options): Describe --enable-mpfr, refer to its manual.  Add
        !          5371:        Crays under supported CPUs.
        !          5372:        (Debugging): Add notes on source file paths.
        !          5373:        (Autoconf): New section.
        !          5374:        (Assigning Integers): Note truncation by mpz_set_d, mpz_set_q and
        !          5375:        mpz_set_f.
        !          5376:        (Converting Integers): Note the size mpz_get_str allocates.
        !          5377:        (Floating-point Functions): Rewrite introduction, clarifying some
        !          5378:        points about precision handling.
        !          5379:        (Converting Floats): Note the size mpf_get_str allocates, and that it
        !          5380:        gives an empty string for zero.  Add mpf_get_si and mpf_get_ui.
        !          5381:        (Float Comparison): Give the formula mpf_reldiff calculates.
        !          5382:        (Miscellaneous Float Functions): Add mpf_integer_p and mpf_fits_*_p.
        !          5383:        (Random Number Functions): Misc rewordings for clarity.
        !          5384:        (Random State Initialization): Ditto.
        !          5385:        (Custom Allocation): Remove note on deallocate_function called with 0,
        !          5386:        misc rewording and clarifications.
        !          5387:        (Exact Remainder): New section.
        !          5388:        (Binary GCD): A few words on initial reduction using division.
        !          5389:        (Accelerated GCD): Refer to exact remainder section.
        !          5390:        (Extended GCD): Extra remarks on single versus double selection.
        !          5391:        (Jacobi Symbol): Update for mpz/jacobi.c rewrite and modexact_1_odd.
        !          5392:        (Modular Powering Algorithm): Refer to exact remainder section.
        !          5393:        (Assembler SIMD Instructions): Update remarks on MMX.
        !          5394:        (Contributors): Amend to "Divide and Conquer" division.
        !          5395:        (References): Tweak some formatting.  Add "Proof of GMP Fast Division
        !          5396:        and Square Root Implementations" by Paul Zimmermann.
        !          5397:
        !          5398: 2001-01-31  Torbjorn Granlund  <tege@swox.com>
        !          5399:
        !          5400:        * configure.in: Don't ever pass -mips3; let ABI flags imply ISA.
        !          5401:
        !          5402: 2001-01-31  Kevin Ryde  <kevin@swox.se>
        !          5403:
        !          5404:        * tune/time.c: Remove unnecessary longlong.h.
        !          5405:        (speed_endtime): Add some extra diagnostics.
        !          5406:
        !          5407:        * tests/mpz/t-fdiv_ui.c, tests/mpz/t-tdiv_ui.c: Use unsigned long for
        !          5408:        the divisor, not mp_limb_t.
        !          5409:        * tests/mpz/t-jac.c (try_base): Use %llu for long long limb.
        !          5410:        * tests/trace.c: Add <string.h> for strlen.
        !          5411:
        !          5412:        * tune/freq.c (speed_cpu_frequency_proc_cpuinfo): Ignore "cycle
        !          5413:        frequency" of 0, allow "BogoMIPS" as well as "bogomips".
        !          5414:
        !          5415:        * macos/Makefile.in: Add mpf/fits_s.c and mpf/fits_u.c objects.
        !          5416:
        !          5417: 2001-01-30  Torbjorn Granlund  <tege@swox.com>
        !          5418:
        !          5419:        * longlong.h: Add add_ssaaaa and sub_ddmmss for 64-bit sparc.
        !          5420:
        !          5421: 2001-01-29  Torbjorn Granlund  <tege@swox.com>
        !          5422:
        !          5423:        * mpn/powerpc64/addmul_1.asm: Prefix registers with an `r'.
        !          5424:        * mpn/powerpc64/submul_1.asm: Likewise.
        !          5425:        * mpn/powerpc64/mul_1.asm: Likewise.
        !          5426:
        !          5427:        * configure.in (alpha*-*-*): Amend last change to handle pca*.
        !          5428:
        !          5429: 2001-01-29  Kevin Ryde  <kevin@swox.se>
        !          5430:
        !          5431:        * tune/speed.h (SPEED_ROUTINE_INVERT_LIMB_CALL): Don't let the
        !          5432:        compiler optimize everything away.
        !          5433:
        !          5434:        * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Measure
        !          5435:        operator_div, operator_mod, mpn_divrem_2_div, mpn_divrem_2_inv,
        !          5436:        mpn_sb_divrem_m3, mpn_sb_divrem_m3_div, mpn_sb_divrem_m3_inv,
        !          5437:        mpn_dc_divrem_sb_div, mpn_dc_divrem_sb_inv.
        !          5438:        * tune/divrem_2_div.c, tune/divrem_2_inv.c, tune/sb_div.c,
        !          5439:        tune/sb_inv.c: New files.
        !          5440:
        !          5441:        * tune/tuneup.c, gmp-impl.h, tune/speed.h, tune/common.c,
        !          5442:        tune/Makefile.am: Tune SB_PREINV_THRESHOLD and DIVREM_2_THRESHOLD.
        !          5443:
        !          5444:        * mpn/generic/divrem_2.c: Use new DIVREM_2_THRESHOLD.
        !          5445:        * mpn/generic/sb_divrem_mn.c: Use new SB_PREINV_THRESHOLD.
        !          5446:
        !          5447:        * mpn/x86/p6/mmx/lshift.asm, mpn/x86/p6/mmx/rshift.asm: New files,
        !          5448:        just m4 include()ing the P55 code.
        !          5449:        * configure.in (pentium[23]-*-*): Remove x86/pentium/mmx from path.
        !          5450:
        !          5451: 2001-01-27  Kevin Ryde  <kevin@swox.se>
        !          5452:
        !          5453:        * configure.in (AC_CHECK_FUNCS): Add srand48.
        !          5454:        * tune/speed.c: Use this test.
        !          5455:
        !          5456:        * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): Allow "egcs-" prefix on gcc
        !          5457:        --version, warn if the format is unrecognised.
        !          5458:        (GMP_COMPARE_GE): Guard against empty $1 not only on last arg.
        !          5459:        (GMP_INIT, GMP_FINISH, GMP_PROG_M4): Obscure or eliminate literal
        !          5460:        "dnl"s since autoconf thinks they indicate faulty macros.
        !          5461:
        !          5462:        * mpz/get_str.c, mpf/get_str.c: Make allocated string block exactly
        !          5463:        strlen(str)+1 bytes.
        !          5464:        * mpz/dump.c, mpf/dump.c, tests/mpz/convert.c: Use this size when
        !          5465:        freeing.
        !          5466:        * tests/mpf/t-conv.c: Ditto, and ensure x==0 is exercised.
        !          5467:
        !          5468:        * tests/mpz/t-fits.c: New file.
        !          5469:        * tests/mpz/Makefile.am: Add it.
        !          5470:
        !          5471:        * tests/mpf/t-fits.c: New file.
        !          5472:        * tests/mpf/t-get_si.c: New file.
        !          5473:        * tests/mpf/t-int.c: New file.
        !          5474:        * tests/mpf/Makefile.am: Add them.
        !          5475:
        !          5476:        * mpf/fits_s.c: New file.
        !          5477:        * mpf/fits_u.c: New file.
        !          5478:        * mpf/get_si.c: New file.
        !          5479:        * mpf/get_ui.c: New file.
        !          5480:        * mpf/int_p.c: New file.
        !          5481:        * Makefile.am, mpf/Makefile.am: Add them.
        !          5482:        * gmp-h.in (mpf_fits_*_p, mpf_get_si, mpf_get_ui, mpf_integer_p): Add
        !          5483:        prototypes.
        !          5484:
        !          5485:        * tests/memory.c (tests_allocate, tests_reallocate): Guard against
        !          5486:        size==0.
        !          5487:
        !          5488:        * tests/mpz/*.c, tests/mpq/*.c, tests/mpf/*.c: Uses tests_start and
        !          5489:        tests_end.
        !          5490:
        !          5491:        * gmp-impl.h (USE_LEADING_REGPARM): Fix conditionals.
        !          5492:
        !          5493: 2001-01-23  Kevin Ryde  <kevin@swox.se>
        !          5494:
        !          5495:        * configure.in, mpn/Makeasm.am (ASMFLAGS_PIC): New substitution,
        !          5496:        allowing -DPIC to be suppressed on cygwin.
        !          5497:        (CFLAGS_PIC): New substitution, use it and $(CCAS) directly, rather
        !          5498:        than $(LIBTOOL), avoiding a problem with FreeBSD 2.2.8.
        !          5499:
        !          5500:        * mpn/x86/k6/mode1o.asm, mpn/x86/k7/mode1o.asm: Remove an unnecessary
        !          5501:        +[.-L(here)] from _GLOBAL_OFFSET_TABLE_, avoids a segv from gas 1.92.3.
        !          5502:        * mpn/x86/README.family: Add notes on the problem.
        !          5503:
        !          5504: 2001-01-20  Torbjorn Granlund  <tege@swox.com>
        !          5505:
        !          5506:        * configure.in (alpha*-*-*): Default `flavour' to ev4.
        !          5507:
        !          5508: 2001-01-19  Kevin Ryde  <kevin@swox.se>
        !          5509:
        !          5510:        * assert.c, gmp-impl.h (__gmp_assert_fail): Change return type to
        !          5511:        void, since it's no longer used in expressions.
        !          5512:
        !          5513:        * mpn/x86/addsub_n.S: Remove file, since it doesn't work and it upsets
        !          5514:        tune/many.pl.
        !          5515:
        !          5516:        * mpz/jacobi.c: Rewrite, but still binary algorithm; accept zero and
        !          5517:        negative denominators; merge mpz_jacobi and mpz_legendre, add
        !          5518:        mpz_kronecker; use mpn directly, add special cases for size==1.
        !          5519:        * gmp.texi (Number Theoretic Functions): Update.
        !          5520:        * gmp-h.in (mpz_kronecker): Add prototype.
        !          5521:        * gmp-impl.h (USE_LEADING_REGPARM): New macro.
        !          5522:        * tests/mpz/t-jac.c: Test mpz_kronecker.
        !          5523:        * mpz/legendre.c: Remove file.
        !          5524:        * Makefile.am, mpz/Makefile.am: Update.
        !          5525:
        !          5526:        * longlong.h (alpha count_leading_zeros): Use __attribute__ ((const))
        !          5527:        when possible, add parameter to prototype.
        !          5528:        (ia64 udiv_qrnnd): Use for all compilers, not just gcc.
        !          5529:        (pentium count_trailing_zeros): Use count_leading_zeros.
        !          5530:
        !          5531:        * acinclude.m4 (GMP_C_ATTRIBUTE_CONST, GMP_C_ATTRIBUTE_NORETURN): New
        !          5532:        macros.
        !          5533:        * configure.in: Use them.
        !          5534:        * gmp-impl.h (ATTRIBUTE_CONST, ATTRIBUTE_NORETURN): New macros.
        !          5535:        (mpn_invert_limb): Add ATTRIBUTE_CONST.
        !          5536:        (__gmp_assert_fail): Add ATTRIBUTE_NORETURN.
        !          5537:
        !          5538: 2001-01-18  Kevin Ryde  <kevin@swox.se>
        !          5539:
        !          5540:        * gmp-h.in, gmp-impl.h (__gmp_allocate_func, __gmp_reallocate_func,
        !          5541:        __gmp_free_func): Move prototypes from gmp-impl.h to gmp-h.in, for the
        !          5542:        benefit of gmp++.h.
        !          5543:
        !          5544:        * gmp-impl.h, tests/misc.c, tests/tests.h: Move MPZ_SET_STR_OR_ABORT
        !          5545:        and MPF_SET_STR_OR_ABORT to mpz_set_str_or_abort and
        !          5546:        mpf_set_str_or_abort in libtests.
        !          5547:        * tests/mpz/convert.c, tests/mpz/t-bin.c, tests/mpz/t-get_si.c,
        !          5548:        tests/mpz/t-jac.c, tests/mpz/t-misc.c, tests/mpq/t-md_2exp.c,
        !          5549:        tests/mpq/t-set_f.c, tests/mpf/t-conv.c, tests/mpf/t-misc.c: Update.
        !          5550:
        !          5551:        * mpn/generic/sqrtrem.c: Use MPN_COPY_INCR (for when rp==NULL).
        !          5552:
        !          5553:        * tests/mpz/reuse.c: Only run mpz_divexact_gcd on positive divisors.
        !          5554:
        !          5555: 2001-01-18  Torbjorn Granlund  <tege@swox.com>
        !          5556:
        !          5557:        * demos/pexpr.c (main): Accept -vml option.
        !          5558:        (fns): List `hamdist', `pow', `nextprime'.
        !          5559:        (mpz_eval_expr): Return -1 for `popc' of negative.
        !          5560:        (mpz_eval_expr): Handle `hamdist', `pow', `nextprime'.
        !          5561:
        !          5562: 2001-01-15  Kevin Ryde  <kevin@swox.se>
        !          5563:
        !          5564:        * mpn/alpha/ev5/mode1o.c: New file.
        !          5565:
        !          5566:        * tune/freq.c (speed_cpu_frequency_measure): Check cycles_works_p
        !          5567:        before running speed_cyclecounter.
        !          5568:        * tune/speed.h (cycles_works_p): Add prototype.
        !          5569:
        !          5570: 2001-01-13  Torbjorn Granlund  <tege@swox.com>
        !          5571:
        !          5572:        * tests/rand/t-rand.c (farr): Fix typo.
        !          5573:        (zarr): Fix typo.
        !          5574:
        !          5575: 2001-01-12  Kevin Ryde  <kevin@swox.se>
        !          5576:
        !          5577:        * mpz/kronsz.c: Don't depend on right shifting a negative.
        !          5578:
        !          5579:        * mpn/x86/gmp-mparam.h: New file.
        !          5580:
        !          5581:        * mpn/x86/pentium/mmx/mul_1.asm: New file.
        !          5582:
        !          5583: 2001-01-11  Torbjorn Granlund  <tege@swox.com>
        !          5584:
        !          5585:        * mpz/kronsz.c: Temporary workaround for Cray right shift oddities.
        !          5586:        Explicitly compare against zero in tests.
        !          5587:
        !          5588: 2001-01-10  Kevin Ryde  <kevin@swox.se>
        !          5589:
        !          5590:        * mpz/kronzs.c: Don't depend on right shifting a negative.
        !          5591:
        !          5592: 2001-01-09  Torbjorn Granlund  <tege@swox.com>
        !          5593:
        !          5594:        * tests/t-constants.c: Disable some undefined tests.
        !          5595:        (CHECK_MAX_S): Remove workaround for gcc 2.95.2 bug recently added.
        !          5596:
        !          5597: 2001-01-09  Kevin Ryde  <kevin@swox.se>
        !          5598:
        !          5599:        * tests/t-constants.c: Add more diagnostics.
        !          5600:        (CHECK_MAX_S): Fix for gcc 2.95.2 -mpowerpc64 -maix64.
        !          5601:
        !          5602:        * mpn/x86/k6/mode1o.asm: New file.
        !          5603:        * mpn/x86/k7/mode1o.asm: New file.
        !          5604:
        !          5605:        * mpn/asm-defs.m4 (modexact_1_odd, modexact_1c_odd): New define_mpn's.
        !          5606:        (__clz_tab, modlimb_invert_table, PROLOGUE, EPILOGUE): Add asserts for
        !          5607:        GSYM_PREFIX.
        !          5608:        * mpn/x86/x86-defs.m4 (Zdisp): Add a movzbl.
        !          5609:
        !          5610:        * tests/mpz/t-jac.c (check_a_zero): New test.
        !          5611:        (check_squares_zi): Fix to use (a^2/b), not (a*b/b); revert last
        !          5612:        change avoiding a,b=0, both are fine.
        !          5613:        (try_2den): Don't use mpz_kronecker_ui for the expected answer.
        !          5614:        (try_*): Call abort rather than exit.
        !          5615:
        !          5616:        * mpz/kronzu.c, mpz/kronzs.c: Fix for a=0.
        !          5617:
        !          5618:        * tune/tuneup.c (USE_PREINV_MOD_1): Fix to use new DATA_HIGH_LT_R.
        !          5619:
        !          5620: 2001-01-08  Torbjorn Granlund  <tege@swox.com>
        !          5621:
        !          5622:        * urandom.h: Amend 2000-11-21 change to also handle cygwin.
        !          5623:
        !          5624: 2001-01-08  Kevin Ryde  <kevin@swox.se>
        !          5625:
        !          5626:        * tune/many.pl: Updates for move to tests/devel, add modexact_1_odd,
        !          5627:        don't assume C files can't have carry-in entrypoints, remove
        !          5628:        $(TRY_TESTS_OBJS) now in libtests.
        !          5629:
        !          5630:        * tests/devel/try.c, tests/refmpn.c, tests/tests.h: Remove
        !          5631:        mpn_mod_1_rshift testing.
        !          5632:
        !          5633:        * tune/tuneup.c (fft_step_size): Test for overflow using the actual
        !          5634:        mp_size_t, don't use BITS_PER_INT.
        !          5635:
        !          5636:        * tune/speed.c (r_string): "r" is a limb, use BITS_PER_MP_LIMB and
        !          5637:        change LONG_ONES to LIMB_ONES.
        !          5638:        * tune/time.c (M_2POWU): Use INT_MAX rather than BITS_PER_INT.
        !          5639:
        !          5640:        * extract-dbl.c (BITS_PER_PART): Use BITS_PER_MP_LIMB not
        !          5641:        BITS_PER_LONGINT.
        !          5642:
        !          5643:        * mpz/inp_raw.c, mpz/out_raw.c: Add private defines of BITS_PER_CHAR.
        !          5644:        * mpz/fac_ui.c, tests/mpz/t-fac_ui.c: Don't use BITS_PER_LONGINT.
        !          5645:        * tests/mpz/t-get_si.c: Don't use BITS_PER_LONGINT, do the LONG_MAX
        !          5646:        tests with some explicit code.
        !          5647:
        !          5648:        * mpn/*/gmp-mparam.h, acinclude.m4, tests/t-constants.c
        !          5649:        (BITS_PER_LONGINT, BITS_PER_INT, BITS_PER_SHORTINT, BITS_PER_CHAR):
        !          5650:        Remove defines, remove probings, remove tests.
        !          5651:
        !          5652:        * tune/tuneup.c (MODEXACT_1_ODD_THRESHOLD): Add tuning.
        !          5653:
        !          5654:        * tune/speed.c,speed.h,common.c: Add measuring of mpn_modexact_1_odd,
        !          5655:        mpn_gcd_finda, and an "N" form for mpn_gcd_1.
        !          5656:
        !          5657:        * tests/mpz/t-jac.c (check_squares_zi): Ensure random a,b != 0.
        !          5658:
        !          5659: 2001-01-07  Kevin Ryde  <kevin@swox.se>
        !          5660:
        !          5661:        * configure.in (gmp_mpn_functions): Add mode1o, remove mod_1_rs.
        !          5662:
        !          5663:        * mpn/generic/mod_1_rs.c: Remove file, no longer needed.
        !          5664:        * gmp-h.in (mpn_mod_1_rshift): Remove prototype and define.
        !          5665:
        !          5666:        * mpq/set_f.c: Use MPN_STRIP_LOW_ZEROS_NOT_ZERO.
        !          5667:
        !          5668:        * mpz/kronzu.c, mpz/kronzs.c, mpz/kronuz.c, mpz/kronsz.c: Use
        !          5669:        mpn_modexact_1_odd, new style MPN_STRIP_LOW_ZEROS_NOT_ZERO, and new
        !          5670:        JACOBI macros.  Various rearrangements supporting all this.
        !          5671:
        !          5672:        * mpn/generic/gcd_1.c: Use mpn_modexact_1_odd, reduce u%v if u much
        !          5673:        bigger than v when size==1, some rearrangements supporting this.
        !          5674:
        !          5675:        * gmp-impl.h (JACOBI_*): More macros, add some casts to "int".
        !          5676:        (MPN_STRIP_LOW_ZEROS_NOT_ZERO): Add a "low" parameter.
        !          5677:        (mpn_modexact_1_odd, mpn_modexact_1c_odd): Add prototype and defines.
        !          5678:        (MODEXACT_1_ODD_THRESHOLD): New threshold.
        !          5679:        (MPN_MOD_OR_MODEXACT_1_ODD, JACOBI_MOD_OR_MODEXACT_1_ODD): New macros.
        !          5680:
        !          5681:        * mpn/generic/mode1o.c: New file.
        !          5682:
        !          5683:        * tests/mpz/reuse.c: Add testing of mpz_divexact_gcd.
        !          5684:        * tests/mpz/t-fac_ui.c: Use libtests for memory leak checking.
        !          5685:        * tests/mpz/t-fib_ui.c: Add a usage comment.
        !          5686:
        !          5687:        * tests/mpz/bit.c: Use libtests.
        !          5688:        * tests/mpz/t-scan.c: Remove unused subroutines.
        !          5689:        * tests/devel/try.c: Use libtests, define PROT_NONE if the system
        !          5690:        doesn't.
        !          5691:
        !          5692:        * tests/spinner.c, tests/x86check.c: Use tests.h.
        !          5693:        * tests/trace.c: Use tests.h, add mpf_trace.
        !          5694:        * tests/refmpn.c: Use tests.h, add refmpn_malloc_limbs_aligned,
        !          5695:        refmpn_tstbit, refmpn_neg.
        !          5696:
        !          5697:        * tune/common.c, tune/speed.h: Update for functions moved to
        !          5698:        tests/misc.c.
        !          5699:
        !          5700:        * tune/Makefile.am, tests/mpz/Makefile.am, tests/mpq/Makefile.am,
        !          5701:        tests/mpf/Makefile.am: Use tests/libtests.la.
        !          5702:
        !          5703:        * configure.in (AC_OUTPUT): Update for new directories.
        !          5704:        (x86 CALLING_CONVENTIONS_OBJS): Use .lo for libtests.la, allow
        !          5705:        ansi2knr on x86check.c.
        !          5706:
        !          5707:        * tests/Makefile.am: Establish new libtests.la convenience library,
        !          5708:        add mpz, mpq, mpf, mpbsd subdirectories.
        !          5709:        * tests/tests.h: New file.
        !          5710:        * mpn/tests/ref.h,try.h: Remove files, now in tests.h.
        !          5711:
        !          5712:        * tests/mpf/ref.c: Move to tests/refmpf.c, rename functions to refmpf.
        !          5713:        * tests/mpf/t-add.c, tests/mpf/t-sub.c: Use libtests.
        !          5714:        * tests/mpf/Makefile.am: Update.
        !          5715:
        !          5716:        * tests/memory.c: New file.
        !          5717:        * tests/misc.c: New file, a few subroutines from the test programs.
        !          5718:
        !          5719:        * mpz/tests, mpq/tests, mpf/tests, mpbsd/tests: Move directories to
        !          5720:        tests/mpz etc.
        !          5721:        * mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am, mpbsd/Makefile.am
        !          5722:        (SUBDIRS): Remove.
        !          5723:
        !          5724:        * tests/devel: New directory.
        !          5725:        * mpn/tests/*.c: Move programs to tests/devel.
        !          5726:        * mpn/tests/Makefile.am, mpn/tests/README: Move to tests/devel, update.
        !          5727:
        !          5728:        * mpn/tests/ref.c: Move to tests/refmpn.c.
        !          5729:        * mpn/tests/spinner.c,trace.c,x86call.asm,x86check.c: Move to tests
        !          5730:        directory.
        !          5731:
        !          5732:        * tests/t-constants.c: Add checks of HIGHBIT, MAX and MIN constants,
        !          5733:        simplify ANSI vs K&R stringizing, use correct printf format types, do
        !          5734:        all tests before aborting.
        !          5735:
        !          5736: 2001-01-05  Torbjorn Granlund  <tege@swox.com>
        !          5737:
        !          5738:        * mpn/cray/ieee/gmp-mparam.h: Retune.
        !          5739:
        !          5740: 2001-01-05  Kevin Ryde  <kevin@swox.se>
        !          5741:
        !          5742:        * configure.in (mp.h): Only create this under --enable-mpbsd.
        !          5743:
        !          5744:        * demos/calc: New subdirectory, move demos/calc* to it.
        !          5745:        * demos/calc/Makefile.am: New file, split from demos/Makefile.am.
        !          5746:        * demos/Makefile.am: Update.
        !          5747:        * configure.in (AC_OUTPUT): Add demos/calc/Makefile.
        !          5748:
        !          5749:        * tests/t-constants.c (CALC_BITS_PER_TYPE etc): Use a run-time test
        !          5750:        for how many bits work in a give type, don't assume bits==8*sizeof.
        !          5751:
        !          5752: 2001-01-04  Kevin Ryde  <kevin@swox.se>
        !          5753:
        !          5754:        * mpz/fits_s.c, mpz/fits_u.c: New files, split from fits.c, use plain
        !          5755:        UINT_MAX etc, not MPZ_FITS_UTYPE_SDT etc.
        !          5756:        * mpz/fits.c: Remove file.
        !          5757:        * mpz/Makefile.am, macos/Makefile.in: Update.
        !          5758:
        !          5759:        * gmp-impl.h (UNSIGNED_TYPE_MAX etc): Remove these generic forms.
        !          5760:        (MPZ_FITS_[SU]TYPE_SDT): Remove these.
        !          5761:        (UINT_MAX etc): Provide a full set of defaults.
        !          5762:        * gmp-h.in (__GMP_MP_SIZE_T_INT): New define.
        !          5763:
        !          5764:        * mpz/tests/t-scan.c: New file.
        !          5765:        * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
        !          5766:
        !          5767:        * mpz/scan0.c, mpz/scan1.c: Rewrite, don't read beyond allocated
        !          5768:        memory, support negatives, return ULONG_MAX for no bit found.
        !          5769:        * gmp.texi (Integer Logic and Bit Fiddling): Update.
        !          5770:
        !          5771: 2001-01-03  Torbjorn Granlund  <tege@swox.com>
        !          5772:
        !          5773:        * mpz/tests/dive.c: Generate test operands using new random functions.
        !          5774:        * mpz/tests/io.c: Likewise.
        !          5775:        * mpz/tests/logic.c: Likewise.
        !          5776:        * mpz/tests/t-2exp.c: Likewise.
        !          5777:
        !          5778:        * stack-alloc.c (__gmp_tmp_alloc): Round `now' to required alignment.
        !          5779:
        !          5780:        * stack-alloc.h (__TMP_ALIGN): Append `L'.
        !          5781:
        !          5782:        * gmp-impl.h: For Cray, #include limits.h.
        !          5783:        (LONG_MIN): New #define.
        !          5784:        (ULONG_HIGHBIT): #define in terms of ULONG_MAX.
        !          5785:        (LONG_HIGHBIT): #define as LONG_MIN.
        !          5786:        (USHRT_MAX): New name for USHORT_MAX.
        !          5787:        (SHRT_MAX): New name for SHORT_MAX.
        !          5788:        (SHRT_MIN): New #define.
        !          5789:        (USHORT_HIGHBIT,SHORT_HIGHBIT): Removed.
        !          5790:
        !          5791:        * mpbsd/tests/t-misc.c (check_itom [data]): *SHORT* => *SHRT*;
        !          5792:        remove code disabling a test for Cray.
        !          5793:
        !          5794:        * tests/t-constants.c (CHECK_CONSTANT): Cast parameters to long.
        !          5795:
        !          5796:        * mpn/generic/mul_n.c (mpn_kara_sqr_n): Remove unused variable `t'.
        !          5797:        (mpn_kara_mul_n): Likewise.
        !          5798:
        !          5799:        * mpz/fac_ui.c (MPZ_SET_1_NZ): Actually use `__z'.
        !          5800:
        !          5801:        * mpz/tests/t-jac.c
        !          5802:        (main, check_squares_zi): Generate test operands using new random
        !          5803:        functions.
        !          5804:
        !          5805:        All changes below on this date for enabling `make; make check'
        !          5806:        with C++ compilers:
        !          5807:
        !          5808:        * mpz/tests/t-pow_ui.c (debug_mp, ref_mpz_pow_ui): Provide prototypes.
        !          5809:
        !          5810:        * mpz/tests/t-mul.c (debug_mp, base_mul, ref_mpz_mul):
        !          5811:        Provide prototypes.
        !          5812:        (dump_abort): Provide prototype and declare properly for C++.
        !          5813:
        !          5814:        * mpz/tests/t-jac.c: #include stdlib.h and sys/time.h.
        !          5815:
        !          5816:        * mpz/tests/t-fdiv.c
        !          5817:        (dump_abort): Provide prototype and declare properly for C++.
        !          5818:        (debug_mp): Provide prototype.
        !          5819:        * mpz/tests/t-fdiv_ui.c: Likewise.
        !          5820:        * mpz/tests/t-gcd.c: Likewise.
        !          5821:        * mpz/tests/t-powm.c: Likewise.
        !          5822:        * mpz/tests/t-powm_ui.c: Likewise.
        !          5823:        * mpz/tests/t-sqrtrem.c: Likewise.
        !          5824:        * mpz/tests/t-tdiv_ui.c: Likewise.
        !          5825:        * mpz/tests/t-tdiv.c: Likewise.
        !          5826:
        !          5827:        * mpz/tests/t-2exp.c: #include stdlib.h and sys/time.h.
        !          5828:        Remove #include of longlong.h.
        !          5829:
        !          5830:        * mpz/tests/io.c: #include config.h, stdlib.h, sys/time.h, and
        !          5831:        conditionally unistd.h.
        !          5832:
        !          5833:        * mpz/tests/dive.c: #include stdlib.h and sys/time.h.
        !          5834:        (dump_abort): Provide prototype and declare properly for C++.
        !          5835:        (debug_mp): Provide prototype.
        !          5836:        * mpz/tests/logic.c: Likewise.
        !          5837:
        !          5838:        * mpz/tests/convert.c (debug_mp): Provide prototype.
        !          5839:        * mpz/tests/t-root.c (debug_mp): Likewise.
        !          5840:
        !          5841:        * mpz/tests/bit.c: #include stdlib.h and sys/time.h.
        !          5842:
        !          5843:        * mpq/tests/t-get_d.c: #include stdlib.h and sys/time.h.
        !          5844:        (dump): Provide prototype and declare properly for C++.
        !          5845:
        !          5846:        * mpq/tests/t-cmp_ui.c: #include stdio.h, stdlib.h and sys/time.h.
        !          5847:        (ref_mpq_cmp_ui): Declare properly for C++.
        !          5848:
        !          5849:        * mpq/tests/t-cmp.c: #include stdlib.h and sys/time.h.
        !          5850:        (ref_mpq_cmp): Declare properly for C++.
        !          5851:        (dump): Delete unused function.
        !          5852:
        !          5853:        * mpf/random2.c (myrandom): New function.
        !          5854:        (mpf_random2): Use it.
        !          5855:
        !          5856:        * mpn/generic/random2.c: #include stdlib.h (for random/mrand48).
        !          5857:        (myrandom): New function.
        !          5858:        (mpn_random2): Use it.
        !          5859:
        !          5860:        * mpf/tests/t-add.c: #include stdlib.h and sys/time.h.
        !          5861:        (oo): Remove unused function.
        !          5862:        * mpf/tests/t-conv.c: Likewise.
        !          5863:        * mpf/tests/t-sub.c: Likewise.
        !          5864:        * mpf/tests/t-dm2exp.c: Likewise.
        !          5865:        * mpf/tests/t-muldiv.c: Likewise.
        !          5866:        * mpf/tests/t-sqrt.c: Likewise.
        !          5867:
        !          5868:        * mpf/tests/reuse.c: #include stdlib.h and sys/time.h.
        !          5869:        Use PROTO on some typedefs.
        !          5870:        (oo): Remove function.
        !          5871:        (dump_abort): Call mpf_dump instead of oo.
        !          5872:
        !          5873:        * mpf/set_str.c: #include stdlib.h (for strtol).
        !          5874:
        !          5875:        * mpf/random2.c: #include stdlib.h (for random/mrand48).
        !          5876:        * mpn/alpha/udiv_arnnd: File deleted.
        !          5877:
        !          5878:        * Remove K&R function headers.
        !          5879:
        !          5880: 2001-01-02  Torbjorn Granlund  <tege@swox.com>
        !          5881:
        !          5882:        * mpn/generic/mul.c: Clean up spacing and indentation.
        !          5883:
        !          5884:        * mpn/generic/mul_fft.c (mpn_fft_add_modF): Use mpn_decr_u.
        !          5885:        Clean up spacing and indentation.
        !          5886:
        !          5887:        * extract-dbl.c: Generalize to handle smaller limb sizes.
        !          5888:
        !          5889: 2001-01-01  Torbjorn Granlund  <tege@swox.com>
        !          5890:
        !          5891:        * mpbsd/mout.c: Output newline after "0".
        !          5892:
        !          5893: 2000-12-31  Torbjorn Granlund  <tege@swox.com>
        !          5894:
        !          5895:        * ltmain.sh: Remove space between `#!' and `$SHELL' when generating
        !          5896:        `libtool'.
        !          5897:
        !          5898:        * mpbsd/tests/t-misc.c (check_itom): Exclude test for all Cray
        !          5899:        vector systems.  Correct comment.
        !          5900:
        !          5901: 2000-12-31  Kevin Ryde  <kevin@swox.se>
        !          5902:
        !          5903:        * gmp.texi (ABI and ISA): New enough gcc needed for mips n32 etc, gcc
        !          5904:        2.95 needed for sparc 64-bit ABI, gcc 2.8 needed for -mv8plus.
        !          5905:
        !          5906:        * configure.in ([cjt]90,sv1-cray-unicos*): Preserve user specified
        !          5907:        MPN_PATH, amend test program indenting.
        !          5908:        (none-*-*): Add -DNO_ASM to gcc to disable longlong.h asm macros in
        !          5909:        generic C.
        !          5910:
        !          5911:        * config.sub (j90, t90): Preserve these, don't let configfsf.sub turn
        !          5912:        them into c90.
        !          5913:
        !          5914:        * config.guess (m68k-*-nextstep*,m68k-*-openstep*): Don't transform
        !          5915:        m68k to m68020, since m68k is already interpreted as 68020.
        !          5916:
        !          5917: 2000-12-30  Kevin Ryde  <kevin@swox.se>
        !          5918:
        !          5919:        * mpq/neg.c: Rewrite, use mpn, avoid denominator copy if unnecessary.
        !          5920:
        !          5921:        * mpz/tstbit.c: Rewrite, slightly simplified.
        !          5922:        * mpz/tests/bit.c (check_tstbit): New test, and add a couple more
        !          5923:        diagnostics elsewhere.
        !          5924:
        !          5925:        * configure.in (x86 gcc_cflags_cpu): Add -m486 for gcc 2.7.2.
        !          5926:        (ccbase): Only use a known compiler in eval statements (avoids
        !          5927:        problems with non-symbol characters).
        !          5928:        (ccbase): Use GMP_PROG_CC_IS_GNU to identify gcc installed under a
        !          5929:        different name.
        !          5930:        (cclist): Use same style $abi as other variables.
        !          5931:
        !          5932:        * acinclude.m4 (GMP_PROG_CC_IS_GNU): New macro.
        !          5933:        (GMP_GCC_MARCH_PENTIUMPRO): Use $ccbase to identify gcc.
        !          5934:        (GMP_ASM_TYPE): Define TYPE to empty, not "dnl", when no .type needed.
        !          5935:        (GMP_ASM_SIZE): Ditto for SIZE, which ensures EPILOGUE on the last
        !          5936:        line of a file doesn't leave a tab and no newline.
        !          5937:        (GMP_ASM_UNDERSCORE): Add a prototype for C++.
        !          5938:
        !          5939:        * configure.in (sys/mman.h, mprotect): New tests.
        !          5940:        * mpn/tests/try.c: Use them, and HAVE_UNISTD_H too.
        !          5941:
        !          5942:        * configure.in (getopt.h): Remove test.
        !          5943:        * tune/speed.c, mpn/tests/try.c (getopt.h): Remove include, since
        !          5944:        plain getopt() is in <unistd.h>.
        !          5945:
        !          5946:        * configure.in, gmp-h.in (mips*-*-irix6*): Set limb_n32=longlong
        !          5947:        rather than using _ABIN32.
        !          5948:
        !          5949: 2000-12-29  Torbjorn Granlund  <tege@swox.com>
        !          5950:
        !          5951:        * mpz/tests/reuse.c: Rename dump_abort => dump.
        !          5952:        * mpz/tests/reuse.c: Generate operands using gmp_rand*.
        !          5953:        * mpz/tests/convert.c: Likewise.
        !          5954:
        !          5955:        * configure.in: Detect T90-ieee systems; move Cray path
        !          5956:        selection to after AC_PROG_CC.  Invoke AC_PROG_CPP.
        !          5957:        * mpn/cray/cfp: New directory.  Move cfp specific files here.
        !          5958:        * mpn/cray/cfp/mulwwc90.s: New file.
        !          5959:        * mpn/cray/cfp/mulwwj90.s: New file.
        !          5960:        * mpn/cray/mulww.s: Delete.
        !          5961:
        !          5962: 2000-12-27  Torbjorn Granlund  <tege@swox.com>
        !          5963:
        !          5964:        * mpn/cray/ieee/mul_1.c: New file.
        !          5965:        * mpn/cray/ieee/addmul_1.c: New file.
        !          5966:        * mpn/cray/ieee/submul_1.c: New file.
        !          5967:        * mpn/cray/ieee/gmp-mparam.h: New file.
        !          5968:
        !          5969:        * mpn/cray/gmp-mparam.h: Disable UMUL_TIME and UDIV_TIME.
        !          5970:
        !          5971:        * mpn/cray/hamdist.c: New file.
        !          5972:        * mpn/cray/popcount.c: New file.
        !          5973:        * mpn/cray/rshift.c: New file.
        !          5974:        * mpn/cray/lshift.c: New file.
        !          5975:
        !          5976:        * longlong.h: Add count_leading_zeros for _CRAY.
        !          5977:        Reorganize _CRAY stuff.
        !          5978:
        !          5979: 2000-12-24  Kevin Ryde  <kevin@swox.se>
        !          5980:
        !          5981:        * configure.in (alpha*-cray-unicos*): Disable SPEED_CYCLECOUNTER_OBJ,
        !          5982:        as tune/alpha.asm doesn't suit.
        !          5983:
        !          5984:        * mpn/generic/sqrtrem.c, mpz/pow_ui.c, mpz/powm_ui.c, mpf/get_str.c,
        !          5985:        mpf/set_str.c: Use mpn_sqr_n when applicable, not mpn_mul_n.
        !          5986:
        !          5987: 2000-12-23  Torbjorn Granlund  <tege@swox.com>
        !          5988:
        !          5989:        * mpn/generic/mul_fft.c: Reformat.
        !          5990:        (mpn_fft_neg_modF): Remove.
        !          5991:        (mpn_fft_mul_2exp_modF): Inline mpn_fft_neg_modF.
        !          5992:
        !          5993:        * mpn/cray/gmp-mparam.h: Retune.
        !          5994:
        !          5995:        * configure.in (*-cray-unicos*): Pass `-O3 -htask0'.
        !          5996:        (vax*-*-*): Fix typo.
        !          5997:
        !          5998:        * mpn/cray/mul_1.c: Use dynamic arrays, get rid of TMP_*.
        !          5999:        * mpn/cray/addmul_1.c: Likewise.
        !          6000:        * mpn/cray/submul_1.c: Likewise.
        !          6001:        * mpn/cray/add_n.c: Likewise.
        !          6002:        * mpn/cray/sub_n.c: Likewise.
        !          6003:
        !          6004:        * configure.in (default cc_cflags,cc_64_cflags): Remove -g/add -O.
        !          6005:        (mips*-*-irix[6789]*]): Remove -g from cc_*_cflags.
        !          6006:
        !          6007: 2000-12-22  Torbjorn Granlund  <tege@swox.com>
        !          6008:
        !          6009:        * mpn/generic/mul_n.c: Delete K&R function headers.
        !          6010:
        !          6011:        * mpn/generic/mul_n.c (mpn_kara_mul_n): Clean up type confusion
        !          6012:        between mp_limb_t and mp_size_t.
        !          6013:        (mpn_kara_sqr_n): Likewise.
        !          6014:
        !          6015:        * mpn/generic/mul_n.c (mpn_kara_mul_n): Use mpn_incr_u.
        !          6016:        (mpn_kara_sqr_n): Likewise.
        !          6017:
        !          6018:        * mpn/generic/mul_n.c (mpn_kara_mul_n): Change handling of `sign'
        !          6019:        to work around GCC 2.8.1 MIPS bug.
        !          6020:
        !          6021:        * configure.in (implied alpha*-cray-unicos*): Remove -g from cc_cflags.
        !          6022:
        !          6023: 2000-12-21  Torbjorn Granlund  <tege@swox.com>
        !          6024:
        !          6025:        * mpn/alpha/invert_limb.asm: Simplify a bit.
        !          6026:        Add handling of bigend systems.
        !          6027:        * mpn/alpha/unicos.m4: Define `bigend'.
        !          6028:        * mpn/alpha/default.m4: Define `bigend' (to expand to nothing).
        !          6029:
        !          6030:        * tests/t-constants.c (CHECK_CONSTANT): Print using %lx.
        !          6031:
        !          6032:        * mpn/alpha/gmp-mparam.h: Remove sizes for plain C types.
        !          6033:        * mpn/alpha/ev5/gmp-mparam.h: Likewise.
        !          6034:        * mpn/alpha/ev6/gmp-mparam.h: Likewise.
        !          6035:
        !          6036:        * mpn/alpha/unicos.m4: Define LEA.
        !          6037:        * mpn/alpha/default.m4: Likewise.
        !          6038:        * mpn/alpha/invert_limb.asm: Use LEA for loading symbolic addresses.
        !          6039:        * mpn/alpha/cntlz.asm: Likewise.
        !          6040:
        !          6041:        * mpn/alpha/cntlz.asm: Don't use `ldbu', use slightly slower
        !          6042:        `ldq_u' + `extbl' instead.
        !          6043:
        !          6044:        * mpn/alpha/unicos.m4: Define EXTERN.
        !          6045:        * mpn/alpha/default.m4: Define EXTERN (to expand to nothing).
        !          6046:        * mpn/alpha/cntlz.asm: Declare __clz_tab usign `EXTERN' (for the
        !          6047:        benefit of Unicos).
        !          6048:
        !          6049: 2000-12-21  Kevin Ryde  <kevin@swox.se>
        !          6050:
        !          6051:        * mpn/alpha/unicos.m4 (GSYM_PREFIX): Define for the benefit of
        !          6052:        __clz_tab.
        !          6053:
        !          6054: 2000-12-20  Torbjorn Granlund  <tege@swox.com>
        !          6055:
        !          6056:        * longlong.h: Add udiv_qrnnd and count_leading_zeros for _CRAYMPP
        !          6057:        systems.
        !          6058:
        !          6059: 2000-12-19  Torbjorn Granlund  <tege@swox.com>
        !          6060:
        !          6061:        * configure.in (*sparc*-*-*): Remove -g from cc_cflags and acc_cflags.
        !          6062:
        !          6063:        * mpn/generic/sqrtrem.c (mpn_sqrtrem): Separate `limb' values from
        !          6064:        `size' values.
        !          6065:
        !          6066:        * configure.in (*-cray-unicos*): Add `-Wa,-B' to cc_cflags.
        !          6067:
        !          6068:        * demos/pexpr.c (rstate): New variable.
        !          6069:        (main): Initialize rstate.
        !          6070:        (enum op_t): Add RANDOM.
        !          6071:        (fns): Add field for RANDOM.
        !          6072:        (mpz_eval_expr): Handle RANDOM.
        !          6073:
        !          6074: 2000-12-19  Kevin Ryde  <kevin@swox.se>
        !          6075:
        !          6076:        * mpn/generic/sqrtrem.c: Rewrite by Paul Zimmermann, based on his
        !          6077:        Karatsuba Square Root algorithm.
        !          6078:        * gmp.texi (Square Root Algorithm): Update.
        !          6079:
        !          6080:        * tune/many.pl: New file.
        !          6081:
        !          6082:        * mpn/tests/try.c,ref.[ch] (mpn_preinv_mod_1, mpn_sb_divrem_mn,
        !          6083:        mpn_tdiv_qr, mpn_gcd_finda, mpn_kara_mul_n, mpn_kara_sqr_n,
        !          6084:        mpn_toom3_mul_n, mpn_toom3_sqr_n): Add testing.
        !          6085:        * mpn/tests/ref.c: Cast some "0"s in function calls.
        !          6086:
        !          6087:        * mpn/x86/k7/mmx/mod_1.asm: Add preinv_mod_1 entrypoint, remove extra
        !          6088:        variable for loop termination.
        !          6089:
        !          6090:        * mpn/x86/p6/mmx/mod_1.asm: Remove file, in favour of the following.
        !          6091:        * mpn/x86/p6/mod_1.asm: New file.
        !          6092:
        !          6093:        * mpn/x86/pentium/mod_1.asm: New file.
        !          6094:
        !          6095: 2000-12-18  Torbjorn Granlund  <tege@swox.com>
        !          6096:
        !          6097:        * configure.in (mips*-*-irix[6789]*): Pass options to compiler using
        !          6098:        `-Wc'.
        !          6099:
        !          6100: 2000-12-18  Kevin Ryde  <kevin@swox.se>
        !          6101:
        !          6102:        * mpn/x86/k6/pre_mod_1.asm: New file.
        !          6103:
        !          6104:        * tune/tuneup.c (USE_PREINV_MOD_1): Tune this, rearrange mpn_divrem_1
        !          6105:        and mpn_mod_1 handling in support of it.
        !          6106:        * tune/Makefile.am: Consequent changes to divrem_1.c and mod_1.c.
        !          6107:
        !          6108:        * gmp-impl.h (USE_PREINV_MOD_1, MPN_MOD_OR_PREINV_MOD_1): New macros.
        !          6109:        * mpn/generic/perfsqr.c, mpz/pprime_p.c: Use MPN_MOD_OR_PREINV_MOD_1.
        !          6110:
        !          6111:        * configure.in: Let an asm mod_1 provide a preinv_mod_1 entrypoint.
        !          6112:
        !          6113:        * mpn/alpha/default.m4: Remove some newlines, add some asserts.
        !          6114:        (r0 etc, f0 etc): Use defreg and deflit.
        !          6115:        (PROLOGUE, PROLOGUE_GP, EPILOGUE): Use GSYM_PREFIX.
        !          6116:        * mpn/alpha/unicos.m4: Remove some newlines, add some asserts.
        !          6117:        * mpn/alpha/invert_limb.asm: Remove unused second DATASTART parameter.
        !          6118:        * mpn/alpha/cntlz.asm: Use mpn_count_leading_zeros and __clz_tab.
        !          6119:
        !          6120:        * mpn/asm-defs.m4 (changecom): Comments on portability.
        !          6121:        (__clz_tab, modlimb_invert_table): New macros, matching gmp-impl.h.
        !          6122:        (count_leading_zeros, count_trailing_zeros): New define_mpn's.
        !          6123:        (PROLOGUE etc): Comments on usage, add some asserts.
        !          6124:        (OPERATION_[lr]shift): Use m4_not_for_expansion, for the benefit of
        !          6125:        lorrshift multifunc.
        !          6126:
        !          6127:        * mpn/Makeasm.am (RM_TMP): New variable controlling tmp-*.s
        !          6128:        removal, for development purposes.
        !          6129:
        !          6130:        * mpz/fac_ui.c: Fix for long long limb by using mpn_mul_1 not
        !          6131:        mpz_mul_ui, and note some possible enhancements.
        !          6132:
        !          6133:        * mpz/tests/t-fac_ui.c: New test.
        !          6134:        * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
        !          6135:        * macos/Makefile.in: Ditto, and add t-fib_ui too.
        !          6136:
        !          6137:        * mpn/generic/[lr]shift.c: Remove some DEBUG code adequately covered
        !          6138:        by new parameter ASSERTs.
        !          6139:
        !          6140:        * longlong.h (count_trailing_zeros): Assert x!=0.
        !          6141:
        !          6142:        * doc/configuration: Updates for new configure things, add some notes
        !          6143:        on test setups.
        !          6144:
        !          6145: 2000-12-16  Torbjorn Granlund  <tege@swox.com>
        !          6146:
        !          6147:        * configure.in (*-*-aix): Pass -qmaxmem=20000 to xlc also for 64-bit
        !          6148:        compiles.
        !          6149:        * configure.in: Disable shared libs for *-*-ultrix*.
        !          6150:
        !          6151: 2000-12-15  Torbjorn Granlund  <tege@swox.com>
        !          6152:
        !          6153:        * configure.in (powerpc*-*-*): Pass -Wa,-mppc when using gcc.
        !          6154:
        !          6155:        * gmp-impl.h (_EXTERN_INLINE): #define different for GCC and other
        !          6156:        compilers.
        !          6157:
        !          6158:        * gmp-h.in (__gmp_inline): Remove.
        !          6159:        * mp-h.in: Likewise.
        !          6160:        * mpn/generic/gcd.c: Use `inline' instead of `__gmp_inline'.
        !          6161:
        !          6162:        * configure.in (mips*-*-irix[6789]*): Define *_ldflags.
        !          6163:
        !          6164: 2000-12-14  Torbjorn Granlund  <tege@swox.com>
        !          6165:
        !          6166:        * mpn/generic/pre_mod_1.c: Use proper type for udiv_qrnnd
        !          6167:        parameter `dummy'.
        !          6168:
        !          6169:        * mpn/generic/divrem_1.c: Use explicit `!= 0' in if statement.
        !          6170:        * mpn/generic/mod_1.c: Likewise.
        !          6171:
        !          6172: 2000-12-14  Kevin Ryde  <kevin@swox.se>
        !          6173:
        !          6174:        * config.guess (mips-*-irix[6789]*): Transform to mips64.
        !          6175:        (m68k-*-nextstep* | m68k-*-openstep*): Transform to m68020.
        !          6176:
        !          6177: 2000-12-13  Torbjorn Granlund  <tege@swox.com>
        !          6178:
        !          6179:        * tests/t-constants.c (main): Conditionalize use of PP_INVERTED.
        !          6180:
        !          6181:        * mpn/mp_bases.c: Handle 4-bit limbs.
        !          6182:        (main): Add code for generating tables.
        !          6183:
        !          6184:        * mpn/generic/popham.c: Handle limb bitsizes of 4, 8, 16.
        !          6185:        Suffix all 32-bit constant with `L'.
        !          6186:        Use CNST_LIMB for 64-bit constants.
        !          6187:
        !          6188: 2000-12-13  Kevin Ryde  <kevin@swox.se>
        !          6189:
        !          6190:        * gmp-impl.h (FIB_THRESHOLD): Defaults for 4,8,16 bits per limb, and
        !          6191:        an arbitrary fallback default.
        !          6192:        (modlimb_invert): Add efficient code for 8,16 (or 4) bits per limb.
        !          6193:
        !          6194:        * configure.in (mips3, mips64): Don't bother with o32 (mips2 32-bit
        !          6195:        limb) on IRIX 6.
        !          6196:
        !          6197:        * Makefile.am (SUBDIRS): Put "tests" first so tests/t-constants.c is
        !          6198:        run first, to pick up any limb size mismatch.
        !          6199:
        !          6200:        * tune/tuneup.c (DIVREM_1, MOD_1): Fix result values, were off by 1.
        !          6201:
        !          6202:        * mpz/fib_ui.c (table1, table2): Add data for 4,8,16 bits per limb.
        !          6203:
        !          6204: 2000-12-12  Torbjorn Granlund  <tege@swox.com>
        !          6205:
        !          6206:        * gmp-impl.h (LIMBS_PER_DOUBLE): Define for any limb bitsize.
        !          6207:
        !          6208: 2000-12-11  Torbjorn Granlund  <tege@swox.com>
        !          6209:
        !          6210:        * mpn/mp_bases.c: Add tables for 8-bit and 16-bit limbs.
        !          6211:        Round existing `double' values properly.
        !          6212:
        !          6213:        * gmp-h.in (__gmp_randstate_struct): Prefix field names with _mp_
        !          6214:        to keep out of user name space.
        !          6215:        (__gmp_randata_lc): Likewise.
        !          6216:        * randclr.c, randlc.c, randlc2x.c, randraw.c, randsd.c, randsdui.c:
        !          6217:        Corresponding changes.
        !          6218:
        !          6219:        * gmp-impl.h (PP): #define for machines with BITS_PER_MP_LIMB
        !          6220:        of 2, 4, 8, and 16.
        !          6221:        (PP_FIRST_OMITTED): New, define for various BITS_PER_MP_LIMB.
        !          6222:        (PP_MASK): Remove.
        !          6223:        (PP_MAXPRIME): Remove.
        !          6224:
        !          6225:        * mpn/generic/perfsqr.c: Generalize PP handling for machines with
        !          6226:        limbs of < 32 bits.  Allow PP_INVERTED to be undefined.
        !          6227:        * mpz/pprime_p.c: Likewise.
        !          6228:
        !          6229: 2000-12-10  Torbjorn Granlund  <tege@swox.com>
        !          6230:
        !          6231:        * mpn/generic/mul_1.c: Declare parameters in C89 style.
        !          6232:
        !          6233: 2000-12-10  Kevin Ryde  <kevin@swox.se>
        !          6234:
        !          6235:        * tune/Makefile.am (speed_LDFLAGS, speed_ext_LDFLAGS, tune_LDFLAGS):
        !          6236:        Don't use -all-static, as gcc 2.95.2 on i386 solaris 8 doesn't like
        !          6237:        it.
        !          6238:
        !          6239:        * configure.in (mips3,mips64): Add ABI=64, name the others ABI=n32 and
        !          6240:        ABI=o32.
        !          6241:        * mpn/mips3/gmp-mparam.h (BITS_PER_LONGINT): Remove #define and let
        !          6242:        configure determine it, since it varies with ABI=64 or ABI=n32.
        !          6243:        * gmp.texi (ABI and ISA): Update.
        !          6244:        (mpz_mod_ui): Remark that it's identical to mpz_fdiv_r_ui.
        !          6245:        (mpn_divexact_by3): Qualify a statement needing mp_bits_per_limb even.
        !          6246:
        !          6247:        * mul_fft.c (mpn_fft_mul_modF_K etc): Patch by Paul Zimmermann to fix
        !          6248:        results in certain cases of recursing into a further FFT.
        !          6249:
        !          6250: 2000-12-09  Torbjorn Granlund  <tege@swox.com>
        !          6251:
        !          6252:        * mpz/cmpabs.c: Remove unused variable.
        !          6253:        * mpz/rrandomb.c: Likewise.
        !          6254:        * mpz/xor.c: Likewise.
        !          6255:
        !          6256: 2000-12-07  Torbjorn Granlund  <tege@swox.com>
        !          6257:
        !          6258:        * mpn/generic/gcdext.c: Handle double carry when computing s1.
        !          6259:        Merge two code blocks for computing s0 and s1.
        !          6260:
        !          6261: 2000-12-07  Kevin Ryde  <kevin@swox.se>
        !          6262:
        !          6263:        * configure.in (hppa*-*-*): Remove -Aa -D_HPUX_SOURCE from
        !          6264:        cc_cflags/cppflags, and instead let AM_C_PROTOTYPES add it, or -Ae,
        !          6265:        whichever works.
        !          6266:
        !          6267:        * configure.in (*-*-aix[34]*): Disable shared by default, but let
        !          6268:        the user override that, if desired.
        !          6269:        * gmp.texi (Notes for Particular Systems): Update.
        !          6270:
        !          6271: 2000-12-06  Torbjorn Granlund  <tege@swox.com>
        !          6272:
        !          6273:        * mpq/cmp_ui.c: Streamline.
        !          6274:
        !          6275: 2000-12-06  Kevin Ryde  <kevin@swox.se>
        !          6276:
        !          6277:        * tune/divrem_1_div.c,divrem_1_inv.c,mod_1_div.c,mod_1_inv.c,
        !          6278:        gcdext_double.c: New files for measuring.
        !          6279:        * tune/Makefile.am (libspeed_la_SOURCES): Add them.
        !          6280:        * tune/speed.c,speed.h,common.c: Add measuring of them.
        !          6281:        (mpn_preinv_mod_1, mpz_jacobi, mpz_powm_ui): Add measuring.
        !          6282:
        !          6283:        * speed.c (getopt_long): Don't use this, just plain getopt.
        !          6284:        * configure.in (getopt_long): Remove test.
        !          6285:
        !          6286:        * gmp-impl.h (MPN_KARA_MUL_N_TSIZE, MPN_KARA_MUL_N_MINSIZE,
        !          6287:        MPN_TOOM3_MUL_N_TSIZE, MPN_TOOM3_MUL_N_MINSIZE): New macros, and
        !          6288:        assume toom3 square tsize was meant to be the same as the mul (both
        !          6289:        are overestimates).
        !          6290:        * tune/tuneup.c, mpn/generic/mul.c, mpn/generic/mul_n.c: Use them.
        !          6291:        * mpn/generic/mul_n.c (mpn_toom3_sqr_n): Fix an ASSERT to use
        !          6292:        TOOM3_SQR_THRESHOLD not TOOM3_MUL_THRESHOLD, add a few that might
        !          6293:        be more realistic size checks.
        !          6294:        * tune/speed.h (SPEED_ROUTINE_MPN_MUL_N_TSPACE etc): Use minsize.
        !          6295:
        !          6296:        * mpn/generic/divrem_1.c: Partial rewrite, merge fractional part
        !          6297:        calculation, skip a divide step in more cases, introduce
        !          6298:        DIVREM_1_NORM_THRESHOLD and DIVREM_1_UNNORM_THRESHOLD.
        !          6299:        * mpn/generic/mod_1.c: Partial rewrite, skip a divide step in more
        !          6300:        cases, introduce MOD_1_NORM_THRESHOLD, MOD_1_UNNORM_THRESHOLD.
        !          6301:        * longlong.h (UDIV_PREINV_ALWAYS): New define, set for alpha and ia64.
        !          6302:        * tune/tuneup.c (DIVREM_1_NORM_THRESHOLD, DIVREM_1_UNNORM_THRESHOLD,
        !          6303:        MOD_1_NORM_THRESHOLD, MOD_1_UNNORM_THRESHOLD): Tune these.
        !          6304:        * gmp-impl.h [TUNE_PROGRAM_BUILD]: Support for this.
        !          6305:        * tune/Makefile.am (TUNE_MPN_SRCS): Add divrem_1.c and mod_1.c.
        !          6306:
        !          6307:        * gmp-impl.h (UDIV_NORM_PREINV_TIME): Renamed from UDIV_PREINV_TIME.
        !          6308:        * mpn/generic/perfsqr.c, mpn/generic/sb_divrem_mn.c,
        !          6309:        mpn/x86/*/gmp-mparam.h: Ditto.
        !          6310:        * gmp-impl.h (UDIV_UNNORM_PREINV_TIME): New define.
        !          6311:
        !          6312:        * configure.in (AC_C_INLINE, HAVE_INLINE): New test and define.
        !          6313:        * gmp-impl.h (inline): Remove, use config.h.
        !          6314:        (_EXTERN_INLINE): Redefine based on HAVE_INLINE.
        !          6315:        (mpn_zero_p): Use HAVE_INLINE.
        !          6316:
        !          6317:        * acinclude.m4 (GMP_PROG_AR, GMP_PROG_NM): Don't add flags to a user
        !          6318:        selected $AR or $NM.
        !          6319:
        !          6320:        * tune/tuneup.c (all): Print how long the tuning took.
        !          6321:
        !          6322:        * configure.in (AM_C_PROTOTYPES): Use this, not GMP_ANSI2KNR.
        !          6323:        * acinclude.m4 (GMP_ANSI2KNR): Remove.
        !          6324:
        !          6325:        * Makefile.am (gmp.h, mp.h): In DISTCLEANFILES not CLEANFILES.
        !          6326:
        !          6327:        * gmp-h.in (mpn_divmod, mpn_divmod_1, mpn_divexact_by3): Cast some
        !          6328:        zeros, for the benefit of K&R if long!=int.
        !          6329:
        !          6330:        * mpn/lisp/gmpasm-mode.el (gmpasm-comment-start-regexp): Add "*" for
        !          6331:        the benefit of cray.
        !          6332:
        !          6333:        * compat.c (mpn_divexact_by3, mpn_divmod_1): Return types should be
        !          6334:        mp_limb_t, not int, and need an actual "return".
        !          6335:
        !          6336: 2000-12-05  Torbjorn Granlund  <tege@swox.com>
        !          6337:
        !          6338:        * mpn/sparc32/v8/supersparc/gmp-mparam.h: Retune.
        !          6339:        * mpn/alpha/gmp-mparam.h: Tune for 21064.
        !          6340:
        !          6341:        * longlong.h: Reformat to avoid newlines within strings.
        !          6342:
        !          6343:        * gmp-impl.h (inline): Disable if GCC has defined __STRICT_ANSI__.
        !          6344:
        !          6345:        * configure.in: Do a `mkdir tune' before creating tune/sqr_basecase.c.
        !          6346:
        !          6347:        * Makefile.am: Treat mp.h analogously to gmp.h.
        !          6348:
        !          6349:        configure.in (*-*-aix): Pass -qmaxmem=20000 to xlc.
        !          6350:
        !          6351:        * mp-h.in: Renamed from mp.h.
        !          6352:        Add #define for _LONG_LONG_LIMB.
        !          6353:        Move some other fixes from gmp-h.in.
        !          6354:        * mp.h: Removed.
        !          6355:        * configure.in: Generate mp.h from mp-h.in like we handle
        !          6356:        gmp-h.in/gmp.h.
        !          6357:
        !          6358: 2000-12-04  Torbjorn Granlund  <tege@swox.com>
        !          6359:
        !          6360:        * acinclude.m4: Fix typo testing for bad HP compiler.
        !          6361:
        !          6362: 2000-12-03  Torbjorn Granlund  <tege@swox.com>
        !          6363:
        !          6364:        * mpbsd/tests/t-misc.c (check_itom): Exclude some tests for Cray
        !          6365:        CFP systems.
        !          6366:
        !          6367:        * longlong.h (CRAYIEEE umul_ppmm): New.
        !          6368:
        !          6369:        * mpn/cray/gmp-mparam.h (BITS_PER_SHORTINT): 32 => 64.
        !          6370:        (*_THRESHOLD): Tune.
        !          6371:
        !          6372:        * configure.in: Disable shared libs for *-*-unicos*.
        !          6373:
        !          6374: 2000-12-03  Kevin Ryde  <kevin@swox.se>
        !          6375:
        !          6376:        * configure.in, tune/Makefile.am: Create tune/sqr_basecase.c during
        !          6377:        configure, and use it unconditionally in $(nodist_tuneup_SOURCES).
        !          6378:        Fixes a problem with sqr_basecase.lo under --disable-static.
        !          6379:
        !          6380: 2000-12-01  Torbjorn Granlund  <tege@swox.com>
        !          6381:
        !          6382:        * mpf/tests/t-get_d.c (LOW_BOUND,HIGH_BOUND): #define for non-IEEE
        !          6383:        Cray systems.
        !          6384:
        !          6385:        * gmp-impl.h (union ieee_double_extract): Test for _CRAYIEEE.
        !          6386:
        !          6387: 2000-11-30  Torbjorn Granlund  <tege@swox.com>
        !          6388:
        !          6389:        * mpz/tests/t-mul.c (base_mul): Fix re-evaluation problems in macro
        !          6390:        invocations.
        !          6391:        (ref_mpz_mul): New name from mpz_refmul.  Make static.
        !          6392:        (base_mul): New name for _mpn_mul_classic.
        !          6393:
        !          6394: 2000-11-30  Kevin Ryde  <kevin@swox.se>
        !          6395:
        !          6396:        * configure.in: Rewrite of CC/CFLAGS selection scheme, introduce a
        !          6397:        notion of ABI, merge compiler and mpn path selection, add flags
        !          6398:        selection for AR and NM, let CC without CFLAGS work.
        !          6399:        (AC_PROG_CC): Use this, not GMP_SELECT_CC.
        !          6400:        * acinclude.m4 (GMP_PROG_CC_WORKS): Don't use AC_TRY_COMPILE, combine
        !          6401:        cc/cflags parameter.
        !          6402:        (GMP_PROG_CC_FIND, GMP_CHECK_CC_64BIT, GMP_PROG_CC_SELECT): Remove.
        !          6403:        * gmp.texi (Installing GMP): Updates for new scheme.
        !          6404:
        !          6405:        * configure.in (AC_CANONICAL_HOST): Use this and $host, not $target.
        !          6406:        * acinclude.m4, acconfig.h, longlong.h, mpn/x86/x86-defs.m4,
        !          6407:        mpn/x86/k7/mmx/popham.asm: Ditto, renaming HAVE_TARGET_CPU to
        !          6408:        HAVE_HOST_CPU.
        !          6409:        * gmp.texi (Build Options, and elsewhere): Update.
        !          6410:
        !          6411:        * acinclude.m4 (GMP_COMPARE_GE): New macro.
        !          6412:        (GMP_GCC_MARCH_PENTIUMPRO): Use it, add CC parameter, check for GCC.
        !          6413:        (GMP_HPC_HPPA_2_0): New macro, adapted from GMP_CHECK_CC_64BIT.
        !          6414:
        !          6415:        * acinclude.m4 (GMP_PROG_AR): New macro, using AC_CHECK_TOOL, adding
        !          6416:        GMP flags.
        !          6417:        * configure.in: Use it
        !          6418:
        !          6419:        * gmp-h.in: Renamed from gmp.h.
        !          6420:        (@define_LONG_LONG_LIMB@): Placeholder for instantiation.
        !          6421:        (__GNU_MP__): Bump to 3.
        !          6422:        * acinclude.m4 (GMP_VERSION): Get version from gmp-h.in.
        !          6423:        * configure.in: Create gmp.h from gmp-h.in to set _LONG_LONG_LIMB.
        !          6424:        * gmp.texi.h (ABI and ISA): Mention this.
        !          6425:        * acconfig.h (_LONG_LONG_LIMB): Remove undef.
        !          6426:        * Makefile.am: Distribute gmp-h.in, not gmp.h.
        !          6427:
        !          6428:        * configure.in (AC_PROG_CPP, AC_PROG_INSTALL, AC_PROG_LN_S): Remove,
        !          6429:        dragged in by other macros.
        !          6430:        (gmp_asm_syntax_testing): Renamed from gmp_no_asm_syntax_testing.
        !          6431:        (AC_EXEEXT, AC_OBJEXT): Remove, done automatically by libtool.
        !          6432:        * configure.in, acinclude.m4: Remove "" from "`foo`", being
        !          6433:        unnecessary and not portable.
        !          6434:
        !          6435:        * configure.in (GMP_LDFLAGS): New AC_SUBST flags for libtool link.
        !          6436:        (powerpc64*-*-aix*): Use for -Wc,-maix to fix shared library creation,
        !          6437:        but can't build shared and static at the same time.
        !          6438:        * Makefile.am (libgmp_la_LDFLAGS, libmp_la_LDFLAGS): Use
        !          6439:        $(GMP_LDFLAGS).
        !          6440:        * gmp.texi (Notes for Particular Systems): Update AIX problem
        !          6441:
        !          6442:        * configure.in (AC_CONFIG_LINKS): Use where needed, not via gmp_links.
        !          6443:        (gmp_srclinks): Build up as needed, not via gmp_links.
        !          6444:
        !          6445:        * acinclude.m4 (GMP_INIT): Do CONFIG_TOP_SRCDIR and asm-defs.m4 here.
        !          6446:        * configure.in (asm-defs.m4): Consequent changes.
        !          6447:
        !          6448:        * acinclude.m4 (GMP_INCLUDE_MPN): Using include_mpn(), replacing
        !          6449:        GMP_INCLUDE and GMP_SINCLUDE.
        !          6450:        * configure.in (gmp_m4postinc): Remove this scheme, use
        !          6451:        GMP_INCLUDE_MPN instead.
        !          6452:
        !          6453:        * configure.in (*-*-sco3.2v5*): Force ac_cv_archive_cmds_need_lc=no,
        !          6454:        until libtool does this itself.
        !          6455:        * gmp.texi (Known Build Problems): Remove SCO -lc problem.
        !          6456:
        !          6457:        * configure, INSTALL.autoconf, etc: Update to autoconf 2000-11-29.
        !          6458:        * acinclude.m4 (GMP_C_SIZES): Use AC_CHECK_SIZEOF.
        !          6459:        * gmp.texi (Known Build Problems): Remove version.c sed/config.h
        !          6460:        problem, fixed.
        !          6461:
        !          6462:        * ltmain.sh, aclocal.m4: Update to libtool 2000-11-25.
        !          6463:        * ltconfig: No longer required, but leave an empty dummy for automake.
        !          6464:        * gmp.texi (Known Build Problems): Remove SunOS native ar ranlib
        !          6465:        problem, fixed.
        !          6466:
        !          6467:        * */Makefile.in, aclocal.m4: Update to automake 2000-11-25.
        !          6468:        * mpbsd/tests/Makefile.am, mpfr/tests/Makefile.am (check_PROGRAMS):
        !          6469:        Remove dummy, no longer required.
        !          6470:        * mpbsd/tests/dummy.c, mpfr/tests/dummy.c: Remove files.
        !          6471:        * depcomp: Remove file, no longer required (with no-dependencies).
        !          6472:
        !          6473:        * texinfo.tex: Update to 2000-11-09.
        !          6474:        * gmp.texi (Build Options): Mention PDF from gmp.texi.
        !          6475:        * Makefile.am (MOSTLYCLEANFILES): Add gmp.tmp, from new texinfo.tex.
        !          6476:
        !          6477:        * gmp.texi (Build Options): List alphaev56, alphapca56, alphaev67,
        !          6478:        hppa2.0n and power among supported CPUs.
        !          6479:
        !          6480: 2000-11-30  Torbjorn Granlund  <tege@swox.com>
        !          6481:
        !          6482:        * mpz/tests/t-mul.c: Increase max operand size from 2^17 bits
        !          6483:        to 2^19 bits.  Misc cleanups.
        !          6484:
        !          6485: 2000-11-26  Kevin Ryde  <kevin@swox.se>
        !          6486:
        !          6487:        * tune/tuneup.c (FIB_THRESHOLD): Cope better with different speeds of
        !          6488:        odd and even sizes.
        !          6489:
        !          6490:        * longlong.h (alpha): Use udiv_qrnnd and count_leading_zeros on all
        !          6491:        compilers, not just gcc.
        !          6492:
        !          6493:        * pre_mod_1.c: Use conditional subtract to always skip a division.
        !          6494:        (UMUL_TIME, UDIV_TIME): Remove defaults, now in longlong.h.
        !          6495:
        !          6496: 2000-11-22  Torbjorn Granlund  <tege@swox.com>
        !          6497:
        !          6498:        * mpn/pa64w/gmp-mparam.h: Retune.
        !          6499:        * mpn/pa64/gmp-mparam.h: Retune.
        !          6500:        * mpn/sparc64/gmp-mparam.h: Retune.
        !          6501:
        !          6502: 2000-11-22  Kevin Ryde  <kevin@swox.se>
        !          6503:
        !          6504:        * gmp-impl.h (ABOVE_THRESHOLD, BELOW_THRESHOLD): New macros.
        !          6505:        * mpn/generic/gcdext.c: Use them.
        !          6506:
        !          6507:        * mpn/generic/gcdext.c [WANT_GCDEXT_ONE_STEP]: Force only one step.
        !          6508:        * tune/gcdextos.c, tune/gcdextod.c: New files, one step gcdext, single
        !          6509:        and double.
        !          6510:        * tune/Makefile.am (libspeed_la_SOURCES): Add them.
        !          6511:        (TUNE_MPN_SRCS): Remove gcdext.c.
        !          6512:        * tune/speed.h, tune/common.c, tune/speed.c: Add measuring.
        !          6513:        * tune/tuneup.c: Use for GCDEXT_THRESHOLD, plus check if double limb
        !          6514:        is ever better.  Should be more accurate, and hopefully faster.
        !          6515:
        !          6516:        * tune/gcdext_single.c: New file, gcdext forced to single limbs.
        !          6517:        * tune/Makefile.am: Add it.
        !          6518:        * tune/speed.h, tune/common.c, tune/speed.c: Add measuring, and of
        !          6519:        invert_limb.
        !          6520:
        !          6521:        * tune/speed.h (speed_params r): Use mp_limb_t, not long.
        !          6522:        * tune/speed.h, tune/common.c: Don't "switch" on "r".
        !          6523:        * tune/speed.c (r_string): Accept limb sized constants.
        !          6524:        (choice scale): Add a scale factor (eg. "2.33*mpn_add_n").
        !          6525:        * tune/common.c (SPEED_ROUTINE_UDIV_QRNND_A): Default r to
        !          6526:        __mp_bases[10].big_base, being a full limb value.
        !          6527:
        !          6528:        * configure.in (alphapca56*-*-*): Use ev5 mpn path.
        !          6529:        (am29000*-*-*): Remove this, leave the canonical a29k.
        !          6530:        (z8k*-*-*, z8kx*-*-*): Changed from z8000, since z8k is canonical.
        !          6531:        (gmp_mpn_functions_optional): Add invert_limb, use for alpha and ia64.
        !          6532:
        !          6533:        * configure.in (alloca): Accept yes/no/detect, generate an error if
        !          6534:        "yes" but not available.
        !          6535:        * gmp.texi (Build Options): Update.
        !          6536:
        !          6537:        * acinclude.m4 (GMP_TRY_ASSEMBLE): Make conftest.out available.
        !          6538:        (GMP_ASM_ALIGN_FILL_0x90): Use it.
        !          6539:
        !          6540:        * acinclude.m4 (GMP_ASM_X86_MMX) [*-*-solaris*]: Check for solaris
        !          6541:        2.6 "as" movq bug.
        !          6542:        * gmp.texi (Notes for Particular Systems): Update x86 MMX note.
        !          6543:
        !          6544: 2000-11-21  Torbjorn Granlund  <tege@swox.com>
        !          6545:
        !          6546:        * tune/Makefile.am (EXTRA_DIST): List hppa2w.asm.
        !          6547:
        !          6548:        * tune/hppa2.asm: Change level directive to "2.0n".
        !          6549:        * tune/hppa2w.asm: New file.
        !          6550:        * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Separate out hppa2.0w.
        !          6551:
        !          6552:        * mpn/pa64/gmp-mparam.h (BITS_PER_LONGINT): 64 => 32.
        !          6553:
        !          6554: 2000-11-21  Kevin Ryde  <kevin@swox.se>
        !          6555:
        !          6556:        * urandom.h (random): No prototype if glibc stdlib.h has already
        !          6557:        provided it (avoids an int32_t/long conflict).
        !          6558:
        !          6559:        * tune/Makefile.am (LDFLAGS): Use -all-static.
        !          6560:        (speed-dynamic): Dynamic linked version of speed.c.
        !          6561:        * tune/README: Update.
        !          6562:
        !          6563:        * mpn/generic/gcd.c (find_a): Use native version if available.
        !          6564:        * acconfig.h (HAVE_NATIVE_mpn_gcd_finda): Add #undef.
        !          6565:        * gmp-impl.h (mpn_gcd_finda): Add prototype and define.
        !          6566:        * mpn/asm-defs.m4 (mpn_gcd_finda): New define_mpn.
        !          6567:        * tune/gcd_finda_gen.c: #undef any HAVE_NATIVE_mpn_gcd_finda.
        !          6568:        * configure.in (gmp_mpn_functions_optional): Add gcd_finda.
        !          6569:        * mpn/x86/k6/gcd_finda.asm: New file.
        !          6570:
        !          6571:        * tune/tuneup.c (POWM_THRESHOLD): Slightly bigger size steps.
        !          6572:
        !          6573:        * gmp-impl.h (__GMP_IMPL_H__): Protect against multiple inclusion.
        !          6574:        * tune/gcd_bin.c, tune/powm_mod.c, tune/powm_redc.c: Use #undef after
        !          6575:        gmp-impl.h to force thresholds.
        !          6576:        * tune/tuneup.c (print_define, fft): No need for #ifndefs on
        !          6577:        thresholds any more.
        !          6578:
        !          6579: 2000-11-20  Torbjorn Granlund  <tege@swox.com>
        !          6580:
        !          6581:        * mpz/tests/t-powm.c: Analogous changes as made 2000-11-12 to t-mul.c.
        !          6582:        * mpz/tests/t-powm_ui.c: Likewise.
        !          6583:        * mpz/tests/t-pow_ui.c: Likewise.
        !          6584:        * mpz/tests/t-root.c: Likewise.
        !          6585:
        !          6586:        * configure.in [compiler switch]: Pass "-Aa -D_HPUX_SOURCE" to cc for
        !          6587:        all hppa versions.
        !          6588:
        !          6589:        * mpn/hppa/hppa1_1/udiv_qrnnd.S: Reference data using PC relative
        !          6590:        addressing (was r19 relative addressing).
        !          6591:
        !          6592: 2000-11-18  Torbjorn Granlund  <tege@swox.com>
        !          6593:
        !          6594:        * rand.c: (__gmp_rand_lc_scheme): Convert strings to hexadecimal.
        !          6595:        (gmp_randinit): Expect strings in hexadecimal.
        !          6596:
        !          6597: 2000-11-18  Kevin Ryde  <kevin@swox.se>
        !          6598:
        !          6599:        * configfsf.guess, configfsf.sub: Update to 2000-11-16.
        !          6600:        * config.guess (alpha*-*-openbsd*): Do exact cpu detection.
        !          6601:
        !          6602: 2000-11-14  Torbjorn Granlund  <tege@swox.com>
        !          6603:
        !          6604:        * mpz/tests/t-fdiv.c: Analogous changes as made 2000-11-12 to t-mul.c.
        !          6605:        * mpz/tests/t-tdiv_ui.c: Likewise.
        !          6606:        * mpz/tests/t-fdiv_ui.c: Likewise.
        !          6607:        * mpz/tests/t-sqrtrem.c: Likewise.
        !          6608:        * mpz/tests/t-gcd.c: Likewise.
        !          6609:
        !          6610: 2000-11-13  Kevin Ryde  <kevin@swox.se>
        !          6611:
        !          6612:        * mpn/Makeasm.am: New file, splitting out assembler rules.
        !          6613:        * mpn/Makefile.am, tune/Makefile.am: Use it.
        !          6614:
        !          6615:        * mpn/Makefile.am (@CPP@): Remove this, automake already gives it.
        !          6616:
        !          6617:        * configure.in (AC_CHECK_LIBM): New test, and AC_SUBST it.
        !          6618:        * Makefile.am (MPFR_LIBADD_OPTION): Use it.
        !          6619:        * demos/Makefile.am (qcn_LDADD): Ditto.
        !          6620:        * tune/Makefile.am (libspeed_la_LIBADD): Ditto.
        !          6621:        * tests/rand/Makefile.am (libstat_la_LIBADD): Ditto.
        !          6622:
        !          6623:        * tune/time.c (timeval_diff_secs): Better calculation.
        !          6624:        (read_real_time): New measuring method for AIX power/powerpc.
        !          6625:        (speed_endtime): Protect against negative times.
        !          6626:        * tune/common.c (speed_measure): Protect against big reps.
        !          6627:        * tune/freq.c (speed_cpu_frequency_measure_one): Better timeval diff.
        !          6628:        * tune/speed.h (TIMEVAL_DIFF_SEC,USEC): Remove macros.
        !          6629:        * configure.in: (sys/systemcfg.h, read_real_time): New tests.
        !          6630:
        !          6631: 2000-11-13  Torbjorn Granlund  <tege@swox.com>
        !          6632:
        !          6633:        * mpz/tests/t-mul.c: Remove #include urandom.h.
        !          6634:        * mpz/tests/t-tdiv.c: Likewise.
        !          6635:
        !          6636:        * configure.in [SPEED_CYCLECOUNTER_OBJS switch]:
        !          6637:        Declare hppa.asm as just 32 bits (cyclecounter_size=1).
        !          6638:
        !          6639: 2000-11-12  Torbjorn Granlund  <tege@swox.com>
        !          6640:
        !          6641:        * mpz/tests/t-mul.c
        !          6642:        (main): Generate random numbers using gmp_rand* functions.
        !          6643:        (main): Distribute random numbers non-uniformly.
        !          6644:        (main): Seed by current time if GMP_CHECK_RANDOMIZE is set.
        !          6645:        (_mpn_mul_classic): Streamline.
        !          6646:        * mpz/tests/t-tdiv.c: Analogous changes.
        !          6647:
        !          6648:        * demos/pexpr.c (HAVE_sigaltstack): Fix typo in testing for _UNICOS.
        !          6649:        Also test for __hpux.
        !          6650:
        !          6651: 2000-11-11  Torbjorn Granlund  <tege@swox.com>
        !          6652:
        !          6653:        * mpn/alpha/ev5/gmp-mparam.h: Retune.
        !          6654:
        !          6655:        * mpn/alpha/ev6/gmp-mparam.h: Retune.
        !          6656:
        !          6657:        * mpn/alpha/ev6/add_n.asm: Misc cleanups.
        !          6658:
        !          6659:        * mpn/alpha/ev6/sub_n.asm: New file.
        !          6660:
        !          6661: 2000-11-10  Torbjorn Granlund  <tege@swox.com>
        !          6662:
        !          6663:        * configure.in [path switch] (alphaev6*-*-*): Add alpha/ev5 to path.
        !          6664:
        !          6665:        * mpn/alpha/ev6/add_n.asm: New file.
        !          6666:
        !          6667: 2000-11-10  Kevin Ryde  <kevin@swox.se>
        !          6668:
        !          6669:        * mpz/powm.c (redc): Make global under WANT_REDC_GLOBAL.
        !          6670:        * tune/powm_mod.c, tune/powm_redc.c: New files.
        !          6671:        * tune/Makefile.am (libspeed_la_SOURCES): Add them.
        !          6672:        * tune/*: Add measuring of redc, mpz_mod, mpz_powm_mod, mpz_powm_redc.
        !          6673:
        !          6674:        * tune/tuneup.c (POWM_THRESHOLD): Determine from redc and mpz_mod.
        !          6675:        * tune/Makefile.am (TUNE_MPZ_SRCS): Remove powm.
        !          6676:
        !          6677: 2000-11-10  Torbjorn Granlund  <tege@swox.com>
        !          6678:
        !          6679:        * mpn/mips3/gmp-mparam.h: Retune.
        !          6680:
        !          6681:        * configure.in (os_64bit): Rename to check_64bit_compiler.
        !          6682:
        !          6683: 2000-11-09  Torbjorn Granlund  <tege@swox.com>
        !          6684:
        !          6685:        * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Choose hppa/hppa2 code
        !          6686:        depending on $CC64.
        !          6687:
        !          6688: 2000-11-09  Kevin Ryde  <kevin@swox.se>
        !          6689:
        !          6690:        * mpn/x86/pentium/mul_1.asm: Unroll 2x, saving 1 c/l when in L1.
        !          6691:        Add 1c entrypoint.
        !          6692:        * mpn/x86/pentium/aorsmul_1.asm: Add 1c entrypoints, shave a couple
        !          6693:        of cycles at entry and exit.
        !          6694:
        !          6695:        * configure.in (power1,2,2sc): Support these as synonyms for plain
        !          6696:        power.
        !          6697:
        !          6698:        * acinclude.m4 (GMP_ASM_X86_SHLDL_CL): GMP_DEFINE WANT_SHLDL_CL here.
        !          6699:        (GMP_ASM_X86_MMX, GMP_ASM_X86_SHLDL_CL): Add X86 into the names.
        !          6700:        * configure.in: Consequent changes.
        !          6701:
        !          6702:        * gmp.texi (Notes for Particular Systems): Remarks about power/powerpc.
        !          6703:        (Reentrancy): Remarks about simultaneous writing.
        !          6704:        (Reporting Bugs): Ask for configfsf.guess.
        !          6705:
        !          6706: 2000-11-08  Kevin Ryde  <kevin@swox.se>
        !          6707:
        !          6708:        * acinclude.m4 (GMP_FUNC_ALLOCA): New macro.
        !          6709:        * configure.in: Use it.
        !          6710:        * gmp-impl.h (alloca): Conditionals and setups as per autoconf
        !          6711:        (should make alloca available on more non-gcc compilers).
        !          6712:
        !          6713:        * acinclude.m4: Misc reformatting, simplify some quoting.
        !          6714:        (GMP_ASM_UNDERSCORE, GMP_ASM_X86_MCOUNT): Use $CC $CFLAGS $CPPFLAGS.
        !          6715:        (GMP_ASM_UNDERSCORE, GMP_ASM_ALIGN_FILL_0x90, GMP_ASM_RODATA): Put
        !          6716:        AC_REQUIREs outside AC_CACHE_CHECK.
        !          6717:        (GMP_C_SIZES): Use $srcdir/gmp.h, not -I; use $CPPFLAGS.
        !          6718:        (GMP_ASM_UNDERSCORE): Use "gmp_compile" variable, and only rm
        !          6719:        conftes1* conftes2*.
        !          6720:        (GMP_PROG_NM): New macro, require it in appropriate GMP_ASM_*.
        !          6721:        (GMP_TRY_ASSEMBLE): New macro, use it in various GMP_ASM_*.
        !          6722:        * configure.in: Use GMP_PROG_NM.
        !          6723:
        !          6724:        * mpn/tests/spinner.c (spinner_signal): Use RETSIGTYPE.
        !          6725:        (spinner_init): Force output to unbuffered.
        !          6726:
        !          6727:        * mpn/x86/README.family: Notes about GOT table and imul, misc updates.
        !          6728:        * mpn/x86/k7/diveby3.asm: Change to 3 operands for immediate imul.
        !          6729:        * mpn/x86/k6/diveby3.asm: Ditto.
        !          6730:
        !          6731: 2000-11-06  Torbjorn Granlund  <tege@swox.com>
        !          6732:
        !          6733:        * urandom.h: Simplify and make it work properly for 64-bit
        !          6734:        machines also in environments without `random'.
        !          6735:
        !          6736: 2000-11-04  Torbjorn Granlund  <tege@swox.com>
        !          6737:
        !          6738:        * configure.in [path switch]: Don't match rs6000-*-*, in
        !          6739:        particular don't assume POWER.
        !          6740:
        !          6741:        * tune/tuneup.c (fft): Remove usleep calls.
        !          6742:
        !          6743:        * config.guess: Don't pass "$@" when it is known to be empty.
        !          6744:
        !          6745:        * Makefile.am (EXTRA_DIST): List configfsf.guess and configfsf.sub.
        !          6746:
        !          6747: 2000-11-04  Kevin Ryde  <kevin@swox.se>
        !          6748:
        !          6749:        * configfsf.guess, configfsf.sub: Moved from config.guess and
        !          6750:        config.sub.
        !          6751:        * config.guess, config.sub: New files, wrappers around around
        !          6752:        configfsf versions.
        !          6753:        * configfsf.guess: Update to FSF 2000-10-23.
        !          6754:        * configfsf.sub: Update to FSF 2000-10-25.
        !          6755:
        !          6756:        * acinclude.m4 (GMP_ASM_POWERPC_R_REGISTERS): New macro.
        !          6757:        * mpn/powerpc32/powerpc-defs.m4: New file, regmap.m4 r0 etc macros
        !          6758:        conditionalized by GMP_ASM_POWERPC_R_REGISTERS.
        !          6759:        * mpn/powerpc32/regmap.m4: Remove file.
        !          6760:        * configure.in (powerpc*-*-*): Use all this.
        !          6761:
        !          6762:        * mpz/divegcd.c: New file, providing mpz_divexact_gcd.
        !          6763:        * Makefile.am, mpz/Makefile.am: Add it.
        !          6764:        * gmp-impl.h (mpz_divexact_gcd): Add prototype.
        !          6765:        * mpq/aors.c,canonicalize.c,div.c,mul.c: Use it.
        !          6766:
        !          6767:        * longlong.h [pentium] (count_leading_zeros): New macro.
        !          6768:        (__clz_tab): Always provide prototype.
        !          6769:        * acconfig.h (HAVE_TARGET_CPU_): Add x86s.
        !          6770:
        !          6771:        * tune/speed.[ch],common.c (count_leading_zeros,
        !          6772:        count_trailing_zeros, __udiv_qrnnd_c): Add measuring.
        !          6773:
        !          6774:        * configure.in (X86_PATTERN): Move from here ...
        !          6775:        * acinclude.m4 (X86_PATTERN): ... to here.
        !          6776:        (GMP_ASM_RODATA): Use it.
        !          6777:
        !          6778:        * configure.in (srandom): New test.
        !          6779:        * mpn/tests/try.c: Use it.
        !          6780:        * tune/speed.c: Ditto, and conditionalize getrusage and headers.
        !          6781:
        !          6782: 2000-11-02  Kevin Ryde  <kevin@swox.se>
        !          6783:
        !          6784:        * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add udiv_qrnnd.c
        !          6785:        and udiv_w_sdiv.c.
        !          6786:
        !          6787:        * mpn/generic/mul_n.c (mpn_kara_sqr_n): Remove a duplicate
        !          6788:        subtract at the evaluate stage.
        !          6789:
        !          6790: 2000-11-01  Torbjorn Granlund  <tege@swox.com>
        !          6791:
        !          6792:        * configure.in [compiler switch] (sparc64-*-linux*): Spell
        !          6793:        gmp_xoptcflags_gcc properly, and pass same options as for other
        !          6794:        sparcv9 configs.
        !          6795:
        !          6796:        * tune/speed.h (SPEED_ROUTINE_MPN_GET_STR): Fix type of wsize.
        !          6797:
        !          6798: 2000-10-31  Torbjorn Granlund  <tege@swox.com>
        !          6799:
        !          6800:        * configure.in [compiler switch] (sparc64-*-linux*): Remove -mvis
        !          6801:        from gmp_xoptflags_gcc, this might not be an ultrasparc.
        !          6802:        Remove -m32 from gmp_cflags_gcc; add -Wa,-xarch=v8plus.
        !          6803:
        !          6804: 2000-10-29  Torbjorn Granlund  <tege@swox.com>
        !          6805:
        !          6806:        * mpn/ia64/lorrshift.asm: New file.
        !          6807:
        !          6808:        * configure.in: New mulfunc `lorrshift' for lshift and rshift.
        !          6809:
        !          6810: 2000-10-29  Kevin Ryde  <kevin@swox.se>
        !          6811:
        !          6812:        * mpn/generic/mul_n.c (mpn_kara_sqr_n): Delete code performing
        !          6813:        superfluous mpn_sub_n calls.
        !          6814:
        !          6815:        * configure.in (found_asm, M4): Account for SPEED_CYCLECOUNTER_OBJ,
        !          6816:        for the benefit of targets whose only .asm is a cycle counter.
        !          6817:
        !          6818:        * tune/tuneup.c (fft): Remove bogus usleep calls.
        !          6819:
        !          6820: 2000-10-28  Torbjorn Granlund  <tege@swox.com>
1.1.1.3   maekawa  6821:
1.1.1.4 ! ohara    6822:        * mpn/ia64/invert_limb.asm: Get return value for 0x800...00 right.
        !          6823:
        !          6824:        * tune/Makefile.am (EXTRA_DIST): Add ia64.asm.
        !          6825:
        !          6826:        * tune/ia64.asm: Fix typo.
        !          6827:
        !          6828:        * add_n.asm addmul_1.asm mul_1.asm popcount.asm sub_n.asm:
        !          6829:        Preserve ar.lc as required by ABI.
        !          6830:        * longlong.h (ia64 udiv_qrnnd): New.
        !          6831:
        !          6832:        * configure.in [path switch] (ia64*-*-*): Set extra_functions.
        !          6833:        * mpn/ia64/invert_limb.asm: New file.
        !          6834:
        !          6835: 2000-10-27  Torbjorn Granlund  <tege@swox.com>
        !          6836:
        !          6837:        * configure.in [compiler switch]:
        !          6838:        Get rid of c89 for all hppa flavours--it is an evil compiler!
        !          6839:
        !          6840:        * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Fix type of xp.
        !          6841:        (SPEED_ROUTINE_MPN_GET_STR): Fix type of wp.
        !          6842:
        !          6843: 2000-10-27  Kevin Ryde  <kevin@swox.se>
        !          6844:
        !          6845:        * gmp.texi (Fibonacci Number Algorithm): New section.
        !          6846:
        !          6847:        * mpz/tests/t-fib_ui.c: New file.
        !          6848:        * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
        !          6849:
        !          6850:        * mpz/fib_ui.c: Rewrite, same formulas but using mpn functions and
        !          6851:        some lookup tables, much faster at small to moderate sizes.
        !          6852:        * gmp-impl.h (MPZ_FIB_SIZE): New macro.
        !          6853:        (FIB_THRESHOLD): Establish default here.
        !          6854:        * tune/tuneup.c (FIB_THRESHOLD): Start search after the new table
        !          6855:        data.
        !          6856:
        !          6857:        * mpn/x86/x86-defs.m4 (mcount_movl_GOT_ebx): Rename from movl_GOT_ebx,
        !          6858:        and don't use GSYM_PREFIX with _GLOBAL_OFFSET_TABLE_.
        !          6859:
        !          6860:        * tune/freq.c (speed_cpu_frequency_measure): New test comparing
        !          6861:        gettimeofday and speed_cyclecounter, should cover many systems.
        !          6862:
        !          6863: 2000-10-27  Torbjorn Granlund  <tege@swox.com>
        !          6864:
        !          6865:        * mpn/ia64/gmp-mparam.h: Retune.
        !          6866:
        !          6867: 2000-10-26  Torbjorn Granlund  <tege@swox.com>
        !          6868:
        !          6869:        * longlong.h (ia64): Set UMUL_TIME and UDIV_TIME.
        !          6870:
        !          6871:        * mpn/ia64/submul_1.c: Fix typo.
        !          6872:
        !          6873: 2000-10-25  Kevin Ryde  <kevin@swox.se>
        !          6874:
        !          6875:        * tune/freq.c (speed_cpu_frequency_sysctl): New test, supporting
        !          6876:        hw.model for BSD flavours.
        !          6877:        * configure.in (sysctl, sys/param.h): New tests.
        !          6878:
        !          6879: 2000-10-24  Torbjorn Granlund  <tege@swox.com>
        !          6880:
        !          6881:        * tune/freq.c: Explicitly #include config.h before other include files.
        !          6882:
        !          6883:        * mpz/tests/reuse.c (FAIL2): New #define.
        !          6884:        (main): Use FAIL2.  Now this test properly returns non-zero exit
        !          6885:        status when it fails.
        !          6886:
        !          6887:        * mpn/powerpc32/gmp-mparam.h: Retune.
        !          6888:        * mpn/powerpc64/gmp-mparam.h: Retune.
        !          6889:
        !          6890: 2000-10-24  Kevin Ryde  <kevin@swox.se>
        !          6891:
        !          6892:        * mpn/x86/k6/cross.pl: Support 8 and 16 byte code alignment.
        !          6893:
        !          6894:        * mpq/aors.c, mpq/canonicalize.c: Skip two mpz_divexact calls if
        !          6895:        gcd gives 1, which should be 60% of the time.
        !          6896:        * gmp-impl.h (MPZ_EQUAL_1_P): New macro.
        !          6897:        * mpq/mul.c, mpq/div.c: Use it, and a new DIV_OR_SET.
        !          6898:
        !          6899:        * tune/tuneup.c (xp_block, yp_block): Initialize these with random
        !          6900:        data.  Fixes GCD_ACCEL and GCDEXT thresholds, and latest POWM.
        !          6901:
        !          6902: 2000-10-23  Torbjorn Granlund  <tege@swox.com>
        !          6903:
        !          6904:        * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Add ia64 case.
        !          6905:
        !          6906:        * mpn/ia64/gmp-mparam.h: Fill in some parameters.
        !          6907:
        !          6908:        * mpn/ia64/submul_1.c: New file.
        !          6909:
        !          6910:        * tune/ia64.asm: New file.
        !          6911:
        !          6912:        * gmp-impl.h (union ieee_double_extract): Handle ia64.
        !          6913:
        !          6914:        * mpn/mp_bases.c: Decrease chars_per_bit_exactly for entry 1 to
        !          6915:        work around buggy ia64-linux.
        !          6916:
        !          6917:        * longlong.h (ia64 umul_ppmm): Update register flags to match new GCC.
        !          6918:
        !          6919: 2000-10-22  Torbjorn Granlund  <tege@swox.com>
        !          6920:
        !          6921:        * mpn/alpha/ev6/gmp-mparam.h (DC_THRESHOLD): Update.
        !          6922:        * mpn/alpha/ev6/submul_1.asm: New file.
        !          6923:
        !          6924: 2000-10-22  Kevin Ryde  <kevin@swox.se>
        !          6925:
        !          6926:        * tune/gcd_bin.c: New file.
        !          6927:        * tune/gcd_finda_gen.c: New file.
        !          6928:        * tune/Makefile.am (libspeed_la_SOURCES): Add them.
        !          6929:        * tune/speed.[ch],common.c (mpn_gcd_binary, find_a): Add measuring.
        !          6930:
        !          6931:        * * (__gmp_allocate_func etc): Rename from _mp_allocate_func etc.
        !          6932:        (__gmp_default_allocate etc): Rename from _mp_default_allocate etc.
        !          6933:        * gmp-impl.h (__GMP_REALLOCATE_FUNC_TYPE,
        !          6934:        __GMP_REALLOCATE_FUNC_LIMBS): New macros.
        !          6935:
        !          6936:        * gmp-impl.h (DC_THRESHOLD): Establish default here, set to 3*KARA
        !          6937:        since that's the measured average.
        !          6938:        * mpn/generic/dc_divrem_n.c, mpn/generic/tdiv_qr.c (DC_THRESHOLD):
        !          6939:        Remove default.
        !          6940:
        !          6941: 2000-10-21  Torbjorn Granlund  <tege@swox.com>
        !          6942:
        !          6943:        * mpn/Makefile.am (TARG_DIST): Add ia64.
        !          6944:
        !          6945: 2000-10-21  Kevin Ryde  <kevin@swox.se>
        !          6946:
        !          6947:        * *: Change BZ -> DC.
        !          6948:        * mpn/generic/dc_divrem_n.c: Renamed from bz_divrem_n.c.
        !          6949:
        !          6950:        * doc/multiplication: Remove file, now in the manual.
        !          6951:        * doc/assembly_code: Ditto.
        !          6952:        * tune/README: Remove some parts now in the manual.
        !          6953:
        !          6954:        * gmp.texi (@m etc): Add and use some new macros.
        !          6955:        (Integer Division - mpz_[cft]div_*): Merge descriptions, for brevity
        !          6956:        and to emphasise similarities.
        !          6957:        (Low-Level Functions - mpn_[lr]shift): Specify count as 1 to
        !          6958:        mp_bits_per_limb-1.
        !          6959:        (Algorithms): New chapter.
        !          6960:        (References): Add some papers.
        !          6961:
        !          6962:        * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Remove some
        !          6963:        unused variables.
        !          6964:        * mpn/generic/mul_fft.c (mpn_fft_best_k): Ditto.
        !          6965:
        !          6966:        * tune/freq.c: New file, split from time.c.
        !          6967:        * tune/time.c: Rewrite, now more automated.
        !          6968:        * configure.in, tune/*: Consequent changes.
        !          6969:
        !          6970: 2000-10-20  Torbjorn Granlund  <tege@swox.com>
        !          6971:
        !          6972:        * mpn/ia64/default.m4: New file.
        !          6973:        * configure.in [config.m4 switch] (ia64*-*-*): Use ia64/default.m4.
        !          6974:
        !          6975:        * mpn/ia64/mul_1.asm: New file.
        !          6976:        * mpn/ia64/addmul_1.asm: New file.
        !          6977:        * mpn/ia64/add_n.asm: New file.
        !          6978:        * mpn/ia64/sub_n.asm: New file.
        !          6979:        * mpn/ia64/popcount.asm: New file.
        !          6980:        * mpn/ia64/README: New file.
        !          6981:
        !          6982:        * mpn/alpha/cntlz.asm: Override `.set noat' from ASM_START.
        !          6983:
        !          6984:        * configure.in (HAVE_TARGET_CPU_*): Support hppa1.0, hppa1.1, hppa2.0
        !          6985:        by sed'ing the period into `_'.
        !          6986:
        !          6987:        * acconfig.h: Add #undefs for hppa targets.
        !          6988:
        !          6989:        * longlong.h (udiv_qrnnd): Fix typo in last change.
        !          6990:
        !          6991:        * mpz/tstbit.c: Rewrite (partly to work around GCC 2.95.2 HPPA bug).
        !          6992:
        !          6993:        * configure.in [path switch]:
        !          6994:        (hppa2.0*-*-*): For non-CC64 case, update path.
        !          6995:
        !          6996:        * configure.in [compiler switch]:
        !          6997:        (hppa2.0w-*-*): Match with same regexp in both places.
        !          6998:        (hppa*-*-*): New case.
        !          6999:        (all hppa alternatives): Don't inherit default gmp_cflags_cc,
        !          7000:        gmp_cflags_c89.
        !          7001:
        !          7002: 2000-10-18  Torbjorn Granlund  <tege@swox.com>
        !          7003:
        !          7004:        * configure.in (alpha*-*-*): Define gmp_xoptcflags_gcc like for
        !          7005:        alpha*-*-osf*.
        !          7006:
        !          7007:        * longlong.h (x86 udiv_qrnnd): Change `d' => `dx' to avoid K&R C
        !          7008:        stringification.
        !          7009:
        !          7010: 2000-10-15  Kevin Ryde  <kevin@swox.se>
        !          7011:
        !          7012:        * doc/configuration: Updates.
        !          7013:
        !          7014:        * demos/calc.y: Remove some comments.
        !          7015:
        !          7016: 2000-10-14  Kevin Ryde  <kevin@swox.se>
        !          7017:
        !          7018:        * gmp.texi (Parameter Conventions, Memory Management): New sections
        !          7019:        split from "Variable Conventions".
        !          7020:        (Efficiency, Debugging, Profiling): New sections in "GMP Basics".
        !          7021:        (Reentrancy): Some rewording, add note on standard I/O.
        !          7022:        (Build options): Add --enable-assert and --enable-profiling.
        !          7023:
        !          7024:        * configure.in (--enable-profiling): New option.
        !          7025:        * acinclude.m4 (GMP_ASM_X86_MCOUNT): New macro, finding how to profile.
        !          7026:        * mpn/x86/x86-defs.m4 (PROLOGUE_cpu, call_mcount): Profiling support.
        !          7027:
        !          7028:        * acinclude.m4, configure.in (GMP_ASM_*): Rename from GMP_CHECK_ASM_*,
        !          7029:        to follow autoconf conventions.
        !          7030:
        !          7031:        * configure.in: Run GMP_CHECK_ASM tests only if needed.
        !          7032:        * acinclude.m4 (GMP_CHECK_ASM_MMX): Don't use GMP_CHECK_ASM_TEXT.
        !          7033:
        !          7034:        * mpn/x86/x86-defs.m4 (ASSERT): Allow no condition, to just emit code.
        !          7035:
        !          7036: 2000-10-13  Kevin Ryde  <kevin@swox.se>
        !          7037:
        !          7038:        * mpq/md_2exp.c: New file.
        !          7039:        * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
        !          7040:        * Makefile.am (MPQ_OBJECTS): Ditto.
        !          7041:        * gmp.h (mpq_mul_2exp, mpq_div_2exp): Add prototypes.
        !          7042:        * gmp.texi (Rational Arithmetic): Add documentation.
        !          7043:
        !          7044:        * mpq/tests/t-md_2exp.c: New file.
        !          7045:        * mpq/tests/Makefile.am (check_PROGRAMS): Add it.
        !          7046:
        !          7047:        * mpn/generic/perfsqr.c: Add/amend some comments.
        !          7048:
        !          7049:        * gmp.texi (Known Build Problems): Note VERSION problem with old
        !          7050:        sed, do some minor rewording.
        !          7051:        (Build Options): Add cygwin and djgpp URLs, mention INSTALL.autoconf,
        !          7052:        mention HTML.
        !          7053:        (Getting the Latest Version of GMP): Move this ...
        !          7054:        (Introduction to GMP): ... to here.
        !          7055:        (Compatibility with older versions): Just refer to 2.x and 3.x, not
        !          7056:        every minor version.
        !          7057:        (Initializing Integers): Note restrictions on mpz_array_init'ed
        !          7058:        variables.
        !          7059:        (Integer Logic and Bit Fiddling): Note bits are numbered from 0.
        !          7060:
        !          7061:        * INSTALL.autoconf: New file.
        !          7062:        * Makefile.am (EXTRA_DIST): Add it.
        !          7063:
        !          7064:        * tune/Makefile.am, tune/tuneup.c, configure.in, gmp-impl.h: New
        !          7065:        scheme for recompiled objects used by tune program.  Don't use
        !          7066:        libgmptune.a, make better use of libtool, work with ansi2knr.
        !          7067:
        !          7068:        * tune/speed.h,common.c (SPEED_ROUTINE_MPZ_POWM): Use s->yp and
        !          7069:        s->xp_block, make exponent a fixed size.
        !          7070:
        !          7071: 2000-10-07  Torbjorn Granlund  <tege@swox.com>
        !          7072:
        !          7073:        * mpn/mips3/gmp-mparam.h: Retune.
        !          7074:
        !          7075:        * mpn/generic/mul_n.c (USE_MORE_MPN): Revert last change.
        !          7076:
        !          7077: 2000-10-06  Torbjorn Granlund  <tege@swox.com>
        !          7078:
        !          7079:        * mpn/mips3/add_n.s: Decrease carry recurrence from 4 to 3 cycles.
        !          7080:        * mpn/mips3/sub_n.s: Likewise.
1.1.1.3   maekawa  7081:
                   7082: 2000-10-04  Torbjorn Granlund  <tege@swox.com>
                   7083:
                   7084:        * configure.in (sparc64-*-linux*): Set path according to CC64.
                   7085:
1.1.1.4 ! ohara    7086: 2000-10-04  Kevin Ryde  <kevin@swox.se>
        !          7087:
        !          7088:        * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Use LABEL_SUFFIX, not a
        !          7089:        hard-coded ":".
        !          7090:
        !          7091:        * config.sub: Don't demand "86" in CPU name for SCO.
        !          7092:
        !          7093:        * configure.in (supersparc-*-*): Remove -DSUPERSPARC.
        !          7094:        * longlong.h: Use HAVE_TARGET_CPU_supersparc.
        !          7095:
        !          7096:        * configure.in (HAVE_TARGET_CPU_*): AC_DEFINE from $target_cpu.
        !          7097:        * acconfig.h: Add #undefs, but only for targets of interest.
        !          7098:
        !          7099: 2000-10-03  Torbjorn Granlund  <tege@swox.com>
        !          7100:
        !          7101:        * mpn/alpha/cntlz.asm: Rewrite.
        !          7102:
        !          7103:        * mp_clz_tab.c (__clz_tab): Half table size to 128 entires.
        !          7104:        * longlong.h (count_leading_zeros): Demand just 128 entries from
        !          7105:        __clz_tab.
        !          7106:
        !          7107:        * configure.in (mips-sgi-irix6.*): Pass -mips3 in addition to options
        !          7108:        for n32 ABI.
        !          7109:
        !          7110:        * longlong.h: Move NO_ASM test around all assembly code.
        !          7111:        From gcc:
        !          7112:        * longlong.h (count_leading_zeros): Sparclite scan instruction was
        !          7113:        being invoked incorrectly.
        !          7114:        Replace __mc68332__ with __mcpu32__.
        !          7115:        Add ARC support.
        !          7116:
        !          7117: 2000-10-02  Torbjorn Granlund  <tege@swox.com>
        !          7118:
        !          7119:        * mpn/mips3/gmp-mparam.h: Retune for both gcc and cc.
        !          7120:
        !          7121:        * mpn/generic/mul_n.c (USE_MORE_MPN): Remove exception for __mips.
        !          7122:        (interpolate3): Cast mp_limb_t variables to mp_limb_signed_t
        !          7123:        when testing sign bit.
        !          7124:
        !          7125:        * mpn/alpha/ev6/gmp-mparam.h: Retune.
        !          7126:        * mpn/powerpc32/gmp-mparam.h: Retune.
        !          7127:        * mpn/powerpc64/gmp-mparam.h: Retune.
        !          7128:        * mpn/x86/pentium/gmp-mparam.h: Retune.
        !          7129:        * mpn/x86/pentium/mmx/gmp-mparam.h: Retune.
        !          7130:        * mpn/sparc32/v9/gmp-mparam.h: Retune.
        !          7131:        * mpn/x86/k6/gmp-mparam.h: Retune.
        !          7132:        * mpn/x86/p6/gmp-mparam.h: Retune.
        !          7133:        * mpn/x86/k7/gmp-mparam.h: Retune.
        !          7134:        * mpn/sparc64/gmp-mparam.h: Retune.
        !          7135:
        !          7136:        * mpn/m68k/gmp-mparam.h: New file.
        !          7137:        * mpn/alpha/ev5/gmp-mparam.h: New file.
        !          7138:
        !          7139:        * gmp-impl.h (default MPN_COPY): Remove final `;'.
        !          7140:
        !          7141:        * tune/time.c (speed_endtime): Rewrite.
        !          7142:
        !          7143:        * tune/speed.h (SPEED_ROUTINE_MPZ_POWM): Set base to a large value,
        !          7144:        not 2.
        !          7145:
        !          7146:        * demos/pexpr.c (setup_error_handler): Fix typo.
        !          7147:
        !          7148:        * mpz/powm.c (redc): New function, based on old mpz_redc.  Don't
        !          7149:        multiply here.
        !          7150:        (mpz_redc): Remove.
        !          7151:        (mpz_powm): Major changes, partially reverting to mpn calls.
        !          7152:        Multiply before calling redc.
        !          7153:        (mpz_powm): Use TMP_ allocation.
        !          7154:        (mpz_powm): Refine calculation of k (width of exponent window).
        !          7155:        (mpz_powm): Cast constants to mp_limb_t before left shifting.
        !          7156:
        !          7157:        * longlong.h: Use ia64 count_leading_zeros just when __GNUC__.
        !          7158:
        !          7159: 2000-09-29  Kevin Ryde  <kevin@swox.se>
        !          7160:
        !          7161:        * acinclude.m4 (GMP_C_SIZES): New macro.
        !          7162:        * configure.in: Use it.
        !          7163:        * acconfig.in (BYTES_PER_MP_LIMB etc): Add #undefs.
        !          7164:        * mpn/generic/gmp-mparam.h (BYTES_PER_MP_LIMB etc): Remove #defines.
        !          7165:        * gmp.texi (Known Build Problems): Remove 64-bit generic C
        !          7166:        gmp-mparam.h problem, now fixed.
        !          7167:
        !          7168:        * configure.in: Only run GMP_PROG_M4 if it's actually needed.
        !          7169:
1.1.1.3   maekawa  7170: 2000-09-27  Torbjorn Granlund  <tege@swox.com>
                   7171:
1.1.1.4 ! ohara    7172:        * demos/pexpr.c: Clean up code for systems not supporting
        !          7173:        sigaltstack.  Handle old Linux without sigaltstack.  Properly
        !          7174:        disable all stuff related to sigaltstack under Unicos.
        !          7175:
1.1.1.3   maekawa  7176:        * mpn/alpha/ev6/addmul_1.asm: Use explicit offset for all load and
                   7177:        store insns.  Helps old gas.
                   7178:
1.1.1.4 ! ohara    7179:        * longlong.h (count_leading_zeros): Define for ia64.
1.1.1.3   maekawa  7180:
1.1.1.4 ! ohara    7181: 2000-09-27  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
1.1.1.3   maekawa  7182:
1.1.1.4 ! ohara    7183:        * mpn/generic/bz_divrem_n.c: Fix qhl handling, simplify.
1.1.1.3   maekawa  7184:
1.1.1.4 ! ohara    7185: 2000-09-27  Kevin Ryde  <kevin@swox.se>
1.1.1.3   maekawa  7186:
1.1.1.4 ! ohara    7187:        * mpn/Makefile.in (.SUFFIXES): Regenerate with patched automake to
        !          7188:        get .s before .c, which is needed to override ansi2knr .c rules.
1.1.1.3   maekawa  7189:
1.1.1.4 ! ohara    7190:        * gmp.texi (mpn_sqrtrem): Fix r2p==NULL return value description
        !          7191:        to match the code (change by Torbjorn).
        !          7192:        (mpn_gcd, mpn_gcdext, mpn_sqrtrem, mpn_tdiv_qr): Note most
        !          7193:        significant limbs must be non-zero.
        !          7194:        (mpn_gcd, mpn_gcdext, mpn_sqrtrem): Clarify destination size
        !          7195:        requirements.
        !          7196:        (mpn_gcd_1): Clarify value must be non-zero, not just size.
1.1.1.3   maekawa  7197:
1.1.1.4 ! ohara    7198:        * gmp-impl.h (mpn_zero_p): New inline function.
        !          7199:        * mpn/generic/inlines.c: Add gmp-impl.h.
        !          7200:        * mpf/integer.c, mpz/get_d.c, mpn/generic/mul_fft.c: Use it.
        !          7201:
        !          7202:        * mpn/generic/gcd.c: Use MPN_COPY_INCR not MPN_COPY.
        !          7203:        * mpf/add_ui.c: Ditto.
        !          7204:        * mpf/add.c: Ditto, and fix test to skip copy.
        !          7205:
        !          7206: 2000-09-26  Kevin Ryde  <kevin@swox.se>
        !          7207:
        !          7208:        * gmp-impl.h, longlong.h, mpn/generic/*.c: Add ASSERTs for various
        !          7209:        parameter restrictions.
        !          7210:
        !          7211:        * gmp-impl.h (UDIV_PREINV_TIME): New macro.
        !          7212:        * mpn/generic/sb_divrem_mn.c: Use it.
        !          7213:        * mpn/generic/perfsqr.c: Ditto.
        !          7214:        * mpn/x86/*/gmp-mparam.h (UDIV_PREINV_TIME): Add values.
        !          7215:
        !          7216:        * macos/Makefile.in: Add mpz/tests/t-get_si.c, mpf/tests/t-set_f.c,
        !          7217:        and new multi-function mpz and mpq files.
        !          7218:
        !          7219: 2000-09-25  Kevin Ryde  <kevin@swox.se>
        !          7220:
        !          7221:        * randlc.c, randlc2x.c, randsd.c, mpz/urandomb.c, mpz/urandomm.c:
        !          7222:        Use mpz_ptr and mpz_srcptr for parameters.
        !          7223:        * gmp.h (gmp_randinit_lc, gmp_randinit_lc_2exp, gmp_randseed,
        !          7224:        mpz_urandomb, mpz_urandomm): Corresponding change to prototypes.
        !          7225:        * randsdui.c: Remove wrong K&R parameters part.
        !          7226:
        !          7227: 2000-09-12  Kevin Ryde  <kevin@swox.se>
1.1.1.3   maekawa  7228:
                   7229:        * gmp-impl.h (mpn_tdiv_qr): Move prototype from here ...
                   7230:        * gmp.h (mpn_tdiv_qr): ... to here.
                   7231:
1.1.1.4 ! ohara    7232:        * gmp.texi (Miscellaneous Rational Functions): Comment-out and
        !          7233:        move version 1 compatibility note to "Compatibility" section.
        !          7234:        (Rational Number Functions): Ditto for canonicalization note.
        !          7235:
        !          7236: 2000-09-10  Kevin Ryde  <kevin@swox.se>
        !          7237:
        !          7238:        * mpn/x86/pentium/com_n.asm: New file.
        !          7239:
        !          7240:        * gmp.texi (Rational Arithmetic): Add mpq_abs.
        !          7241:        (Miscellaneous Rational Functions): Merge and simplify descriptions of
        !          7242:        mpq_get_num, mpq_get_den, mpq_set_num, mpq_set_den.
        !          7243:
        !          7244:        * mpq/abs.c: New file.
        !          7245:        * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
        !          7246:        * Makefile.am (MPQ_OBJECTS): Add it.
        !          7247:        * gmp.h (mpq_abs): Add prototype.
        !          7248:
        !          7249:        * mpq/set_den.c: Don't discard sign when copying, this makes the
        !          7250:        code match the manual.
        !          7251:
        !          7252: 2000-09-07  Torbjorn Granlund  <tege@swox.com>
        !          7253:
        !          7254:        * tune/alpha.asm: Rewrite to actually work right.
        !          7255:
        !          7256: 2000-09-07  Kevin Ryde  <kevin@swox.se>
        !          7257:
        !          7258:        * tune/common.c,speed.[ch]: Add measuring of mpn_sqrtrem,
        !          7259:        mpn_get_str, mpn_set_str.
        !          7260:        * tune/README: Various updates.
        !          7261:
        !          7262: 2000-09-06  Torbjorn Granlund  <tege@swox.com>
        !          7263:
        !          7264:        * mpz/fits.c: Correct type of `data'.
        !          7265:
        !          7266: 2000-09-06  Kevin Ryde  <kevin@swox.se>
        !          7267:
        !          7268:        * gmp.texi (Build Options): Clarify where to find CFLAGS.
        !          7269:        (Known Build Problems): Note SCO -lc problem.
1.1.1.3   maekawa  7270:
                   7271:        * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL): Fix for sizes > 512 limbs.
                   7272:
1.1.1.4 ! ohara    7273:        * doc/multiplication: Corrections and additions suggested by Paul.
1.1.1.3   maekawa  7274:
1.1.1.4 ! ohara    7275:        * tune/modlinv.c: New file with alternate modlimb_inverts.
        !          7276:        * tune/Makefile.am, tune/speed.[ch]: Add measuring of them.
        !          7277:        * tune/speed.c (FLAG_NODATA): New attribute, use for mpz_bin_uiui,
        !          7278:        mpz_fib_ui, mpz_fac_ui.
1.1.1.3   maekawa  7279:
1.1.1.4 ! ohara    7280:        * mpn/x86/t-zdisp.sh: New file.
        !          7281:
        !          7282:        * tests/t-modlinv.c: New file.
        !          7283:        * tests/Makefile.am (check_PROGRAMS): Add it.
        !          7284:
        !          7285:        * mpq/tests/t-set_f.c: New file.
        !          7286:        * mpq/tests/Makefile.am (check_PROGRAMS): Add it.
        !          7287:
        !          7288:        * gmp-impl.h (MPQ_CHECK_FORMAT): New macro.
        !          7289:        * mpq/tests/t-get_d.c: Use it.
        !          7290:
        !          7291:        * mpq/set_f.c: New file.
        !          7292:        * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
        !          7293:        * Makefile.am (MPQ_OBJECTS): Ditto.
        !          7294:        * gmp.h: Add prototype.
        !          7295:        * gmp.texi (Miscellaneous Rational Functions): Document mpq_set_f,
        !          7296:        correct return type of mpq_set_d.
        !          7297:
        !          7298: 2000-09-03  Kevin Ryde  <kevin@swox.se>
        !          7299:
        !          7300:        * mpz/aors_ui.c: New file merging add_ui.c and sub_ui.c, no object
        !          7301:        code changes.
        !          7302:        * mpz/add_ui.c, mpz/sub_ui.c: Remove files.
        !          7303:        * mpz/Makefile.am: Update.
        !          7304:
        !          7305:        * gmp-impl.h (MPZ_FITS_STYPE_SDT, MPZ_FITS_UTYPE_SDT): New macros.
        !          7306:        * mpz/fits.c: New file merging six separate fits*.c.
        !          7307:        * mpz/fits_sshort_p.c, fits_sint_p.c, fits_slong_p.c, fits_ushort_p.c,
        !          7308:        fits_uint_p.c, fits_ulong_p.c: Remove files
        !          7309:        * mpz/Makefile.am: Use new fits.c, change object names from
        !          7310:        fits_*_p.lo to fits_*.lo to avoid SunOS 4 native "ar" warnings.
        !          7311:        * Makefile.am (MPZ_OBJECTS): Change from fits_*_p.lo to fits_*.lo.
        !          7312:
        !          7313:        * acinclude.m4 (GMP_CHECK_ASM_RODATA): New macro, defining RODATA.
        !          7314:        * configure.in: Use it.
        !          7315:        * mpn/x86/k[67]/mmx/popham.asm: Use it.
        !          7316:
        !          7317:        * mpn/x86/*/*.asm: Use "TEXT" not ".text".
        !          7318:
        !          7319: 2000-09-02  Kevin Ryde  <kevin@swox.se>
        !          7320:
        !          7321:        * mpq/aors.c: New file merging add.c and sub.c, no object code changes.
        !          7322:        * mpq/add.c, mpq/sub.c: Remove files.
        !          7323:        * mpq/Makefile.am: Update.
        !          7324:
        !          7325:        * mpz/aors.c: New file merging add.c and sub.c, no object code changes.
        !          7326:        * mpz/add.c, mpz/sub.c: Remove files.
        !          7327:        * mpz/Makefile.am, mpbsd/Makefile.am: Update.
        !          7328:
        !          7329:        * configure.in: Re-apply "PROLOGUE.*" regexp change for the
        !          7330:        benefit of alpha PROLOGUE_GP, lost in path search reorganisation.
        !          7331:
        !          7332:        * mpn/x86/x86-defs.m4 (jadcl0, cmov_simulate, ASSERT,
        !          7333:        movl_text_address): Don't use "1:" style labels.
        !          7334:        (Zdisp): Rearrange a bit, switch to all hex.
        !          7335:        * mpn/x86/README.family: Note SCO "as" doesn't support "1:" style
        !          7336:        local labels, misc rewordings.
        !          7337:
        !          7338: 2000-08-29  Torbjorn Granlund  <tege@swox.com>
        !          7339:
        !          7340:        * demos/primes.c: Include string.h.
        !          7341:
        !          7342:        * config.guess (x86 variant recog code): Remove dummy*.o files
        !          7343:        generated by some compilers.
        !          7344:
        !          7345: 2000-08-28  Kevin Ryde  <kevin@swox.se>
        !          7346:
        !          7347:        * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix Solaris 2.8
        !          7348:        warning message supression, add notes about SCO.
        !          7349:
        !          7350:        * Makefile.am (MPZ_OBJECTS etc): Move some comments.
        !          7351:
        !          7352: 2000-08-25  Kevin Ryde  <kevin@swox.se>
        !          7353:
        !          7354:        * mpz/pprime_p.c (mpz_millerrabin): Fix a TMP_FREE.
        !          7355:
        !          7356:        * gmp.texi (Copying): Refer to Lesser not Library GPL.
        !          7357:        (GMP and Reentrancy): Note stack-alloc.c is not reentrant, and
        !          7358:        that SCO <ctype.h> is potentially not reentrant.
        !          7359:
        !          7360:        * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Test by attempting to
        !          7361:        link with or without an underscore.
        !          7362:        * gmp.texi (Known Build Problems): Remove SunOS 4 native grep
        !          7363:        GSYM_PREFIX problem, now fixed.
        !          7364:
        !          7365:        * gmp-impl.h (MODLIMB_INVERSE_3): New constant.
        !          7366:        * mpn/generic/diveby3.c: Use it instead of own INVERSE_3.
        !          7367:        * mpn/generic/mul_n.c: Ditto.
        !          7368:        * tests/t-constants.c: Check it, and PP_INVERTED too.
        !          7369:
        !          7370:        * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): New macro.
        !          7371:        * configure.in [p6 and athlon] (gmp_optcflags_gcc): Use it to
        !          7372:        possibly add -march=pentiumpro.
        !          7373:
        !          7374:        * gmp-impl.h (MPZ_SET_STR_OR_ABORT, MPF_SET_STR_OR_ABORT): New macros.
        !          7375:        * mpz/tests/t-bin.c, mpz/tests/t-get_si.c, mpz/tests/t-jac.c,
        !          7376:        mpz/tests/t-misc.c: Use them.
        !          7377:        * mpf/tests/t-conv.c, mpf/tests/t-misc.c: Ditto.
        !          7378:        * mpz/tests/convert.c: Ditto and amend diagnostics slightly.
        !          7379:        * mpz/tests/t-misc.c (check_mpz_set_si): Remove a superfluous init.
        !          7380:        * mpz/tests/io.c: Differentiate between I/O and data conversion errors.
        !          7381:
        !          7382:        * mpn/generic/aors_n.c: New file merging add_n and sub_n, no
        !          7383:        object code changes.
        !          7384:        * mpn/generic/add_n.c: Remove file.
        !          7385:        * mpn/generic/sub_n.c: Remove file.
        !          7386:
        !          7387:        * mpn/generic/aorsmul_1.c: New file merging addmul_1 and submul_1,
        !          7388:        no object code changes.
        !          7389:        * mpn/generic/addmul_1.c: Remove file.
        !          7390:        * mpn/generic/submul_1.c: Remove file.
        !          7391:
        !          7392:        * mpn/generic/popham.c: New file merging popcount and hamdist, no
        !          7393:        object code changes.
        !          7394:        * mpn/generic/popcount.c: Remove file.
        !          7395:        * mpn/generic/hamdist.c: Remove file.
        !          7396:
        !          7397: 2000-08-24  Torbjorn Granlund  <tege@swox.com>
1.1.1.3   maekawa  7398:
                   7399:        * gmp-impl.h (mpn_com_n): Fix typo.
                   7400:
1.1.1.4 ! ohara    7401: 2000-08-23  Torbjorn Granlund  <tege@swox.com>
        !          7402:
        !          7403:        * demos/primes.c (main): Don't call mpz_probab_prime_p for numbers
        !          7404:        that are known to be prime after sieving.
        !          7405:        (main): Declare and initialize max_s_prime_squared.
        !          7406:        (MAX_S_PRIME): Increase.
        !          7407:        (ST_SIZE): Increase.
        !          7408:
        !          7409: 2000-08-23  Kevin Ryde  <kevin@swox.se>
        !          7410:
        !          7411:        * gmp-impl.h (ASSERT_ALWAYS): Change to statement style.
        !          7412:        (JACOBI_TWO_U_BIT1): Remove ASSERT.
        !          7413:        (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS as a statement.
        !          7414:
        !          7415: 2000-08-21  Torbjorn Granlund  <tege@swox.com>
        !          7416:
        !          7417:        * gmp-impl.h (ASSERT): Use do..while for dummy version.
        !          7418:
1.1.1.3   maekawa  7419:        * mpf/get_str.c: Don't set n_digits from digits_computed_so_far
                   7420:        when the converted operand becomes zero.  Misc cleanups.
                   7421:
1.1.1.4 ! ohara    7422: 2000-08-21  Kevin Ryde  <kevin@swox.se>
        !          7423:
        !          7424:        * mpz/fdiv_r_2exp.c, mpz/lcm.c, mpz/urandomm.c: Add missing
        !          7425:        TMP_MARK/FREE, avoiding memory leak when using stack-alloc.c.
        !          7426:
        !          7427: 2000-08-20  Kevin Ryde  <kevin@swox.se>
        !          7428:
        !          7429:        * mpz/set.c [BERKELEY_MP] (move): Add conditionals to build as
        !          7430:        "move" for libmp.
        !          7431:        * mpbsd/Makefile.am: Use mpz/set.c, not move.c.
        !          7432:        * Makefile.am (MPBSD_OBJECTS): Corresponding change.
        !          7433:        * mpbsd/move.c: Remove file.
        !          7434:
        !          7435:        * mpn/Makefile.am, mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am,
        !          7436:        mpbsd/Makefile.am (-DOPERATION_foo): Use "foo" even for ansi2knr
        !          7437:        "foo_" objects.  Do this with the makefiles to keep the sources
        !          7438:        cleaner.
        !          7439:        * mpz/mul_siui.c, mpf/integer.c: Revert to plain OPERATION_* forms.
        !          7440:
        !          7441:        * mpn/lisp/gmpasm-mode.el (gmpasm-remove-from-list): Renamed from
        !          7442:        gmpasm-delete-from-list, because it's non-destructive.
        !          7443:        (gmpasm-font-lock-keywords): Add some more keywords.
        !          7444:
        !          7445: 2000-08-16  Kevin Ryde  <kevin@swox.se>
        !          7446:
        !          7447:        * tune/mul_n_mpn.c, tune/mul_n_open.c: New files, being forced
        !          7448:        open-coded and mpn #includes of mpn/generic/mul_n.c.
        !          7449:        * tune/*: Add measuring of them.
        !          7450:        * tune/speed.c: Print command line into *.gnuplot file.
        !          7451:
        !          7452:        * mpn/generic/mul_n.c (USE_MORE_MPN): Change to #if not #ifdef for
        !          7453:        using the value, add #ifndef for providing the default.
        !          7454:        * mpn/sparc64/gmp-mparam.h (USE_MORE_MPN): Add #ifndef.
        !          7455:
        !          7456:        * tests/t-constants.c: New file.
        !          7457:        * tests/Makefile.am (check_PROGRAMS): Add it.
        !          7458:
        !          7459:        * mpz/get_si.c: Use LONG_MAX, not BITS_PER_MP_LIMB, so the result
        !          7460:        doesn't depend on limb size when outside the range of a long
        !          7461:        (though such results are not actually documented).
        !          7462:        * mpz/tests/t-get_si.c: New file.
        !          7463:        * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
        !          7464:
        !          7465:        * mpn/tests/try.c (call): Cast popcount and hamdist calls,
        !          7466:        for the benefit of long long limb.
        !          7467:
        !          7468: 2000-08-15  Kevin Ryde  <kevin@swox.se>
        !          7469:
        !          7470:        * mp.h (mp_set_memory_functions): Add missing #define.
        !          7471:        * mpbsd/tests/allfuns.c (mp_set_memory_functions): Verify its
        !          7472:        existance.
        !          7473:
        !          7474:        * mpf/tests/t-misc.c (check_mpf_getset_prec): New test, verifying
        !          7475:        reverted behaviour of mpf_get_prec.
        !          7476:
        !          7477:        * mpn/tests/ref.c (refmpn_strip_twos): Use refmpn_copyi, not
        !          7478:        MPN_COPY_INCR.
        !          7479:
        !          7480:        * mpz/mul_siui.c, mpf/integer.c: Recognise OPERATION_*_ forms
        !          7481:        produced under ansi2knr.
        !          7482:
        !          7483:        * configure.in (mpn_objects, mpn_objs_in_libgmp): Add $U to .c
        !          7484:        objects when ansi2knr in use.
        !          7485:
        !          7486:        * mpn/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
        !          7487:        (libdummy.la): Add this, not built, to create ansi2knr style rules
        !          7488:        for all potential .c files.
        !          7489:        * mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am, mpfr/Makefile.am,
        !          7490:        mpbsd/Makefile.am, mpq/tests/Makefile.am, tests/Makefile.am
        !          7491:        (AUTOMAKE_OPTIONS): Enable ansi2knr (now everywhere).
        !          7492:        * Makefile.am (MPZ_OBJECTS, MPQ_OBJECTS, MPF_OBJECTS, MPFR_OBJECTS,
        !          7493:        MPBSD_OBJECTS, libmp_la_DEPENDENCIES): Add $U to all .lo filenames.
        !          7494:
        !          7495: 2000-08-03  Torbjorn Granlund  <tege@swox.com>
        !          7496:
        !          7497:        * mpn/alpha/ev6/addmul_1.asm: Correct number of cycles to 3.5/28.
        !          7498:
1.1.1.2   maekawa  7499: 2000-08-02  Torbjorn Granlund  <tege@swox.com>
                   7500:
                   7501:        * Version 3.1 released.
                   7502:
                   7503:        * gmp.texi: Rephrase mpf_urandomb documentation.
                   7504:
                   7505:        * mpn/alpha/ev6: New directory with ev6/21264 optimized code.
                   7506:        * mpn/alpha/ev6/addmul_1.asm: New file.
                   7507:        * mpn/alpha/ev6/gmp-mparam.h: New file.
                   7508:
                   7509: 2000-08-02  Kevin Ryde  <kevin@swox.se>
                   7510:
                   7511:        * demos/factorize.c (random): Don't use "inline".
                   7512:
1.1.1.4 ! ohara    7513:        * mpfr/log.c, mpfr/mul_ui.c, mpfr/round.c, mpfr/set.c, mpfr/set_d.c:
        !          7514:        Corrections to K&R parts.
1.1.1.2   maekawa  7515:
                   7516:        * Makefile.am (EXTRA_HEADERS): Omit $(MPFR_HEADERS_OPTION).
                   7517:        * mpfr/Makefile.am (EXTRA_DIST): Add mpfr.h.
                   7518:
                   7519:        * gmp.texi (Known Build Problems): Note problem stripping libgmp.a.
1.1.1.3   maekawa  7520:
1.1.1.2   maekawa  7521: 2000-08-02  Kent Boortz  <kent@swox.com>
                   7522:
                   7523:        * mpfr: Integrated experimental version of mpfr-0.4.
                   7524:        * configure.in: Changes for option --enable-mpfr.
                   7525:        * Makefile.am: Changes for option --enable-mpfr.
                   7526:
                   7527: 2000-08-01  Torbjorn Granlund  <tege@swox.com>
                   7528:
                   7529:        * mpn/generic/popcount.c: Disable SPARC v9 popc_limb pattern.
                   7530:        * mpn/generic/hamdist.c: Likewise.
                   7531:
                   7532: 2000-08-01  Kevin Ryde  <kevin@swox.se>
                   7533:
                   7534:        * mpn/tests/try.c (try_init): Account for ALIGNMENTS when sizing
                   7535:        source and dest regions.
                   7536:
                   7537: 2000-07-31  Torbjorn Granlund  <tege@swox.com>
                   7538:
                   7539:        * mpf/get_str.c: Develop three extra digits, not just one.
                   7540:
                   7541: 2000-07-31  Kevin Ryde  <kevin@swox.se>
                   7542:
                   7543:        * gmp.texi (References): Add URL for invariant division.
                   7544:
                   7545: 2000-07-30  Kevin Ryde  <kevin@swox.se>
                   7546:
                   7547:        * tune/time.c (speed_cpu_frequency_proc_cpuinfo): Add support for
                   7548:        alpha linux "cycle frequency".
                   7549:
                   7550:        * mpn/sparc64/gmp-mparam.h: Re-run tune program for FFT thresholds.
                   7551:
                   7552: 2000-07-29  Kevin Ryde  <kevin@swox.se>
                   7553:
                   7554:        * gmp.texi (ABI and ISA): Add sparc64-*-linux*.
                   7555:        * configure.in [sparc64-*-linux*] (gmp_cflags64_gcc): Same flags
                   7556:        as under solaris.
                   7557:
                   7558:        * configure.in (--enable-fft): New option, default "no".
                   7559:        * gmp.texi (Build Options): Describe it.
1.1.1.4 ! ohara    7560:        * mpn/generic/mul.c, mpn/generic/mul_n.c [WANT_FFT]: Use it.
1.1.1.2   maekawa  7561:        * tune/tuneup.c [WANT_FFT]: By default don't probe FFTs if not enabled.
                   7562:        * NEWS: Multiplication optionally using FFT.
                   7563:
                   7564:        * tune/README: Notes on FFT and GCD thresholds, other minor updates.
                   7565:
                   7566:        * Makefile.am: Expunge the macos generated files update stuff.
                   7567:
                   7568: 2000-07-28  Kevin Ryde  <kevin@swox.se>
                   7569:
                   7570:        * mpn/x86/*/gmp-mparam.h: Add some FFT thresholds.
                   7571:
                   7572: 2000-07-28  Kent Boortz  <kent@swox.se>
                   7573:
                   7574:        * macos/Asm*, macos/CmnObj, macos/Mp*: Delete directories.
                   7575:        * macos/Makefile: Delete file.
                   7576:        * macos/Makefile.cw: Delete file.
                   7577:        * macos/config.h: Delete file.
                   7578:        * macos/Asm/*.s: Delete files.
                   7579:        * macos/configure: Create target directories. Don't transform
                   7580:        '(C)' to '(;)' in a 'dnl' line comment in .asm file.
                   7581:        * Makefile.am: Delete macos targets.
                   7582:        * macos/README: Reflect that we reverted back to a build
                   7583:        process that require ""macos/configure" to run on MacOS.
                   7584:        This imply that MacPerl is needed for a build in MacOS.
                   7585:
                   7586: 2000-07-27  Kevin Ryde  <kevin@swox.se>
                   7587:
                   7588:        * mpn/generic/mul_fft.c: New file, by Paul Zimmermann, minor mods
                   7589:        applied.
                   7590:        * configure.in (gmp_mpn_functions): Add it.
1.1.1.4 ! ohara    7591:        * mpn/generic/mul.c, mpn/generic/mul_n.c: Use it.
1.1.1.2   maekawa  7592:        * doc/multiplication: Describe it (briefly).
                   7593:
                   7594:        * gmp-impl.h (FFT_MUL_THRESHOLD etc): New thresholds.
                   7595:        (mpn_fft_best_k, mpn_fft_next_size, mpn_mul_fft, mpn_mul_fft_full):
                   7596:        New functions.
                   7597:        (numberof, TMP_ALLOC_TYPE etc, _MP_ALLOCATE_FUNC_TYPE etc,
                   7598:        UNSIGNED_TYPE_MAX etc): New macros.
                   7599:
                   7600:        * tune/*: Add FFT threshold tuning and speed measuring.
                   7601:        * tune/common.c: Avoid huge macro expansions for umul and udiv.
                   7602:
1.1.1.4 ! ohara    7603:        * mpz/tests/t-bin.c, mpz/tests/t-jac.c, mpz/tests/t-misc.c,
        !          7604:        mpbsd/tests/t-misc.c, mpf/tests/t-misc.c, mpn/tests/try.c,
        !          7605:        mpn/tests/spinner.c: Use new gmp-impl.h macros.
1.1.1.2   maekawa  7606:
                   7607:        * demos/Makefile.am (BUILT_SOURCES): Don't need calc.c etc under this.
                   7608:
                   7609: 2000-07-27  Torbjorn Granlund  <tege@swox.com>
                   7610:
                   7611:        * mpn/ia64/gmp-mparam.h: New file.
                   7612:
                   7613: 2000-07-26  Torbjorn Granlund  <tege@swox.com>
                   7614:
                   7615:        * demos/isprime.c: Handle any number of arguments and print
                   7616:        classification for each.  Add `-q' option for old behaviour.
                   7617:
                   7618: 2000-07-26  Kevin Ryde  <kevin@swox.se>
                   7619:
                   7620:        * gmp.texi (Build Options): Mention djgpp stack size.
                   7621:        (Notes for Package Builds): New section.
                   7622:        (Compatibility with older versions): Update for 3.1, add mpf_get_prec.
                   7623:
1.1.1.4 ! ohara    7624:        * demos/factorize.c [__GLIBC__]: Don't declare random() under glibc.
1.1.1.2   maekawa  7625:
                   7626:        * gmp.h (gmp_version): Add prototype and define.
                   7627:
                   7628:        * Makefile.am: Keep macos directory generated files up-to-date
                   7629:        during development and on a "make dist".
                   7630:
                   7631: 2000-07-25  Torbjorn Granlund  <tege@swox.com>
                   7632:
                   7633:        * mpn/hppa/gmp-mparam.h: Update threshold values from new `tune' run.
                   7634:
                   7635:        * mpn/pa64/gmp-mparam.h: Fill in values from `make tune' run.
                   7636:        * mpn/pa64w/gmp-mparam.h: Likewise.
                   7637:        * mpn/mips3/gmp-mparam.h: Likewise.
                   7638:
                   7639:        * tune/hppa2.asm: Fix typo in .level directive.
                   7640:
                   7641:        * configure.in: Add sparc64-*-linux* support (from Jakub Jelinek).
                   7642:        * configure: Regenerate.
                   7643:
                   7644:        * mpn/sparc64/rshift.asm: Use %g5 instead of volatile stack frame area
                   7645:        for return value (from Jakub Jelinek).
                   7646:        * mpn/sparc64/lshift.asm: Likewise.
                   7647:
                   7648:        * mpf/get_prc.c: Revert Aug 8, 1996 change.
                   7649:
                   7650:        * version.c: No longer static.
                   7651:
                   7652:        * mpn/pa64/gmp-mparam.h: Only #define *_THRESHOLD if not already
                   7653:        defined.
                   7654:        * mpn/pa64w/gmp-mparam.h: Likewise.
                   7655:        * mpn/arm/gmp-mparam.h: Likewise.
                   7656:        * mpn/mips3/gmp-mparam.h: Likewise.
                   7657:
                   7658: 2000-07-25  Kevin Ryde  <kevin@swox.se>
                   7659:
                   7660:        * INSTALL: It's "info -f ./gmp.info" to be sure of hitting the
                   7661:        gmp.info in the current directory.
                   7662:
                   7663:        * Makefile.am (libmp_la_DEPENDENCIES): Add mpz/cmp.lo, for last
                   7664:        mpz/powm.c fix.
                   7665:
1.1.1.4 ! ohara    7666:        * mpn/sparc64/addmul1h.asm, mpn/sparc64/submul1h.asm: Renamed from
        !          7667:        addmul_1h.asm, submul_1h.asm to avoid name conflicts on an 8.3
        !          7668:        filesystem.
        !          7669:        * mpn/sparc64/addmul_1.asm, mpn/sparc64/submul_1.asm,
        !          7670:        mpn/sparc64/mul_1.asm: Update include_mpn()s.
1.1.1.2   maekawa  7671:
                   7672: 2000-07-24  Torbjorn Granlund  <tege@swox.com>
                   7673:
                   7674:        * Update header of all files previously under the Library GPL
                   7675:        to instead be under the Lesser GPL.
                   7676:
                   7677:        * COPYING.LIB: Now Lesser GPL.
                   7678:        * demos/primes.c: Change license to GPL (was Library GPL).
                   7679:        * demos/isprime.c: Change license to GPL (was Library GPL).
                   7680:
                   7681:        * gmp.h (error code enum): Add GMP_ERROR_BAD_STRING (currently unused).
                   7682:
                   7683:        * mpz/tests/t-mul.c: Default SIZE to a function of TOOM3_MUL_THRESHOLD.
                   7684:        Improve error messages.  Decrease reps.
                   7685:
                   7686: 2000-07-22  Kevin Ryde  <kevin@swox.se>
                   7687:
                   7688:        * tune/speed.h: Decrease the amount of data used for gcd and powm
                   7689:        measuring, to make the tune go a bit faster.
                   7690:
                   7691: 2000-07-21  Kent Boortz  <kent@swox.se>
                   7692:
                   7693:        * macos/Asm*, macos/CmnObj, macos/Mp*: Directories no longer created
                   7694:        from configure script, now part of dist.
                   7695:        * macos/Makefile
                   7696:        * macos/Makefile.cw
                   7697:        * macos/config.h
                   7698:        * macos/Asm/*.s
                   7699:        New files and directories that is the output from configure. This way
                   7700:        no Perl installation is required to build on MacOS, just MPW.
                   7701:        * macos/configure: Added prefix '__g' to exported assembler labels.
                   7702:        Changed to handle new m4 syntax instead of the old cpp syntax in asm.
                   7703:        * macos/Makefile.in: Corrected 'clean' target, added 'distclean'
                   7704:        and 'maintainer_clean'. Added "mpn/mp_bases.c" to build.
                   7705:        * macos/README: Reflect the new build process without configure.
                   7706:        Corrected the file structure for Apple MPW installation.
                   7707:
                   7708: 2000-07-21  Torbjorn Granlund  <tege@swox.com>
                   7709:
                   7710:        * mpf/tests/t-muldiv.c: Relax error limit.  Make precision depend
                   7711:        on SIZE.  Misc changes.
                   7712:
                   7713:        * configure: Regenerate.
                   7714:
                   7715: 2000-07-20  Kent Boortz  <kent@swox.com>
                   7716:
                   7717:        * macos/Makefile.in: Removed hard coded targets, added special
                   7718:        targets found in Makefile.am files.
                   7719:        * macos/configure: Generate targets from top configure script and
                   7720:        Makefile.am files. Made script runnable from Unix for testing.
                   7721:        * macos/README: Notes about search paths for includes, contributed
                   7722:        by Marco Bambini.
                   7723:        * configure.in: Added comment about lines that the "macos/configure"
                   7724:        script depend on.
                   7725:
                   7726: 2000-07-20  Torbjorn Granlund  <tege@swox.com>
                   7727:
                   7728:        * mpz/powm.c (mpz_powm): After final mpz_redc call, subtract `mod'
                   7729:        from result if it is greater than `mod'.
                   7730:
                   7731: 2000-07-19  Torbjorn Granlund  <tege@swox.com>
                   7732:
                   7733:        * mpn/hppa/gmp-mparam.h: Fill in values from `make tune' run.
                   7734:        * mpn/alpha/gmp-mparam.h: Likewise.
                   7735:        * mpn/powerpc32/gmp-mparam.h: Likewise.
                   7736:
                   7737:        * tune/hppa.asm: New file.
                   7738:        * tune/hppa2.asm: New file.
                   7739:        * configure.in (SPEED_CYCLECOUNTER_OBJS): Set for hppa2*-*-* and
                   7740:        hppa*-*-*.
                   7741:        * tune/Makefile.am (EXTRA_DIST): Add hppa.asm and hppa2.asm.
                   7742:
                   7743:        * tune/speed.h (SPEED_ROUTINE_MPN_BZ_DIVREM_CALL): Declare `marker';
                   7744:        invoke TMP_FREE.
                   7745:
                   7746:        * mpn/hppa/hppa1_1/udiv_qrnnd.S: Use "%" instead of "'" for
                   7747:        reloc/symbol delimiter.
                   7748:
                   7749: 2000-07-16  Torbjorn Granlund  <tege@swox.com>
                   7750:
                   7751:        * mpn/powerpc64/gmp-mparam.h: Update with output from tune utility.
                   7752:        * mpn/powerpc64/copyi.asm: New file.
                   7753:        * mpn/powerpc64/copyd.asm: New file.
                   7754:
                   7755: 2000-07-16  Kevin Ryde  <kevin@swox.se>
                   7756:
                   7757:        * tune/*: Add measuring for umul_ppmm and udiv_qrnnd.
                   7758:
                   7759: 2000-07-14  Kevin Ryde  <kevin@swox.se>
                   7760:
                   7761:        * mpn/x86/k6/k62mmx: New directory.
                   7762:        * configure.in (k6[23]*-*-*): Use it.
1.1.1.4 ! ohara    7763:        * mpn/x86/k6/k62mmx/copyi.asm, mpn/x86/k6/k62mmx/copyd.asm: Move from
        !          7764:        mmx directory, improve code alignment a bit.
        !          7765:        * mpn/x86/k6/k62mmx/lshift.asm, mpn/x86/k6/k62mmx/rshift.asm: Ditto,
        !          7766:        and improve addressing modes for pre-CXT cores.
1.1.1.2   maekawa  7767:        * mpn/x86/x86-defs.m4 (Zdisp): Add an instruction.
1.1.1.4 ! ohara    7768:        * mpn/x86/k6/mmx/lshift.asm, mpn/x86/k6/mmx/rshift.asm: New files,
        !          7769:        suiting plain K6.
        !          7770:        * mpn/x86/README, mpn/x86/k6/README: Updates.
1.1.1.2   maekawa  7771:        * mpn/x86/k6/mmx/*.asm: Update some comments.
                   7772:
                   7773:        * mpn/tests/Makefile.am: Use $(MAKE) in .asm rules, not "m".
                   7774:        * tune/Makefile.am: Use $(EXEEXT) and libtool --config objdir, for
                   7775:        the benefit of djgpp.
                   7776:
                   7777:        * */Makefile.in: Regenerate with patched automake that adds
                   7778:        $(EXEEXT) to EXTRA_PROGRAMS.
                   7779:
                   7780:        * mpn/tests/try.c: Add #ifdef to SIGBUS, for the benefit of djgpp.
                   7781:        * config.guess: Recognise pc:*:*:* as an x86, for djgpp.
                   7782:
                   7783:        * configure: Regenerate with patched autoconf to fix temp file
                   7784:        ".hdr" which is invalid on a DOS 8.3 filesystem, and to fix two
                   7785:        sed substitutes that clobbered a ":" in $srcdir (eg. a DOS drive
                   7786:        spec).
                   7787:
                   7788:        * mpz/tests/io.c: Use one fp opened "w+", since separately opened
                   7789:        input and output doesn't work on MS-DOS 6.21.
                   7790:
1.1.1.4 ! ohara    7791:        * tests/rand/Makefile.am (allprogs): Pseudo-target to build everything.
        !          7792:        (CLEANFILES): Add EXTRA_PROGRAMS and EXTRA_LTLIBRARIES.
        !          7793:        (manual-test, manual-bigtest): Add $(EXEEXT) to dependencies.
        !          7794:
        !          7795:        * tests/rand/*/Makefile.in: Regenerate with patched automake that adds
        !          7796:        $(EXEEXT) to EXTRA_PROGRAMS.
        !          7797:
1.1.1.2   maekawa  7798: 2000-07-13  Torbjorn Granlund  <tege@swox.com>
                   7799:
                   7800:        * mpz/tests/t-root.c: Also test mpz_perfect_power_p.
                   7801:        Generate `nth' so that there will be fewer trivial values.
                   7802:
                   7803:        * mpz/root.c: Reverse return value in tests for detecting root of +1
                   7804:        and -1.
                   7805:
                   7806:        * mpz/perfpow.c: Use TMP_ALLOC interface.
                   7807:
                   7808: 2000-07-12  Torbjorn Granlund  <tege@swox.com>
                   7809:
                   7810:        * mpz/perfpow.c (primes): Make it const.
                   7811:
                   7812: 2000-07-06  Kevin Ryde  <kevin@swox.se>
                   7813:
                   7814:        * mpn/x86/k6/cross.pl: New file.
                   7815:
                   7816:        * mpn/x86/*/gmp-mparam.h: Updates to thresholds, conditionalize
                   7817:        all _TIME defines.
                   7818:        * mpn/x86/pentium/mmx/gmp-mparam.h: New file.
                   7819:        * mpn/sparc64/gmp-mparam.h: Update thresholds.
                   7820:        * mpn/sparc32/v9/gmp-mparam.h: Ditto.
                   7821:
                   7822: 2000-07-04  Kevin Ryde  <kevin@swox.se>
                   7823:
                   7824:        * NEWS: Updates.
                   7825:        * mpn/x86/*/README: Miscellaneous updates.
                   7826:
                   7827:        * tune/speed-ext.c: New file.
                   7828:        * tune/Makefile.am: Add it.
                   7829:        * tune/README: Updates.
                   7830:        * tune/speed.h (SPEED_ROUTINE_MPN_DIVREM_2): Bug fixes.
                   7831:
                   7832:        * demos/calc.y,calclex.l: New files.
                   7833:        * demos/calc.c,calc.h,calclex.c: New files, generated from .y and .l.
                   7834:        * demos/Makefile.am: Add them.
                   7835:
                   7836:        * gmp.h (mpq_swap, mpf_swap): Add prototypes and defines.
                   7837:
                   7838: 2000-07-01  Kevin Ryde  <kevin@swox.se>
                   7839:
                   7840:        * gmp.texi (ABI and ISA): New section, bringing together ABI notes.
                   7841:        (Build Options): Add MPN_PATH, various updates.
                   7842:        (Build Options): Add note on setting CFLAGS when setting CC.
                   7843:        (Notes for Particular Systems): Add -march=pentiumpro problem.
                   7844:        (Known Build Problems): Note on gmp-mparam.h for 64-bit generic C.
                   7845:        (GMP Variable Conventions): Add some info on user defined functions.
                   7846:        (Reporting Bugs): Minor rewording.
                   7847:
                   7848:        * configure.in (MPN_PATH): Renamed from mpn_path.
                   7849:
                   7850:        * gmp-impl.h (ULONG_MAX,ULONG_HIGHBIT,...,SHORT_MAX): New defines.
                   7851:        * mp[zf]/tests/t-misc.c: Use them.
                   7852:
                   7853:        * mpbsd/tests/t-misc.c: New file.
                   7854:        * mpbsd/tests/Makefile.am: Add it.
                   7855:
                   7856:        * Makefile.am (LIBGMP_LT_*, LIBMP_LT_*): Bump version info.
                   7857:        * gmp.h (__GNU_MP_VERSION_*): Bump to 3.1.
                   7858:
                   7859:        * mpf/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
                   7860:
                   7861:        * Makefile.am (libmp_la_SOURCES): Add mp_set_fns.c, accidentally
                   7862:        omitted in gmp 3.0.x.
                   7863:        * gmp.texi (Custom Allocation): Note this is available in mpbsd,
                   7864:        and some minor rewording.
                   7865:
                   7866: 2000-06-30  Torbjorn Granlund  <tege@swox.com>
                   7867:
                   7868:        * demos/factorize.c (random): New function, defined conditionally.
                   7869:        (factor_using_pollard_rho): Use it, not mrand48.
                   7870:
1.1.1.4 ! ohara    7871:        * mpn/cray/README: New file.
        !          7872:
1.1.1.2   maekawa  7873: 2000-06-30  Kevin Ryde  <kevin@swox.se>
                   7874:
                   7875:        * mpn/x86/pentium/aorsmul_1.asm: Add MULFUNC_PROLOGUE.
                   7876:
                   7877:        * mpz/tests/t-jac.c: Test limbs on mpn_jacobi_base, not just ulongs.
                   7878:
                   7879:        * gmp-impl.h, mpn/tests/try.c, mpn/tests/spinner.c, tune/speed.c:
                   7880:        Use config.h unconditionally, not under HAVE_CONFIG_H.
                   7881:
                   7882:        * demos/pexpr.c [__DJGPP__]: Patch by Richard Dawe to not use
                   7883:        setup_error_handler on djgpp.
                   7884:
                   7885:        * tune/*: Locate data to help direct-mapped caches, add measuring
                   7886:        of mpz_init/clear, mpz_add and mpz_bin_uiui, various cleanups.
                   7887:        * configure.in (AC_CHECK_FUNCS): Add popen.
                   7888:
                   7889: 2000-06-29  Torbjorn Granlund  <tege@swox.com>
                   7890:
                   7891:        * mpf/mul_2exp.c: Streamline criterion for whether to use mpn_lshift or
                   7892:        mpn_rshift.  Increase precision when exp is a multiple of
                   7893:        BITS_PER_MP_LIMB primarily to make exp==0 be a noop.
                   7894:        * mpf/div_2exp.c: Analogous changes.
                   7895:
                   7896:        * mpf/tests/t-dm2exp.c: Set u randomly in loop.  Perform more
                   7897:        mpf_mul_2exp testing.
                   7898:
                   7899:        * configure.in: Recognize cray vector processors with a broad `*';
                   7900:        move after alpha* not to match that.
                   7901:
                   7902: 2000-06-28  Kevin Ryde  <kevin@swox.se>
                   7903:
                   7904:        * mpz/tests/io.c: Use a disk file, not a pipe, switch to ansi2knr
                   7905:        style, switch from MP_INT to mpz_t, add a couple of error checks.
                   7906:        * mpz/tests/Makefile.am (CLEANFILES): Add io.tmp, in case io.c fails.
                   7907:
                   7908: 2000-06-27  Torbjorn Granlund  <tege@swox.com>
                   7909:
                   7910:        * mpf/tests/t-get_d.c: Be more lax about relative error, to handle Cray
                   7911:        floating point format.
                   7912:
                   7913:        * mpq/tests/t-get_d.c: Decrease default reps to 1000.
                   7914:
                   7915:        * mpf/tests/t-conv.c: Correct type of `bexp'.
                   7916:
                   7917:        * configure.in (cray vector machines): Don't inherit gmp_cflags_cc.
                   7918:
                   7919:        * tune/Makefile.am (EXTRA_DIST): Delete sparc64.asm.
                   7920:
                   7921:        * configure.in (cray vector machines): Set extra_functions.
                   7922:
                   7923:        * mpn/cray/mulww.f: New file with vectorizing cray code.
                   7924:        * mpn/cray/mulww.s: Generated from mulww.f.
                   7925:        * mpn/cray/mul_1.c: New file.
                   7926:        * mpn/cray/addmul_1.c: New file.
                   7927:        * mpn/cray/submul_1.c: New file.
                   7928:        * mpn/cray/add_n.c: New file.
                   7929:        * mpn/cray/sub_n.c: New file.
                   7930:
                   7931: 2000-06-26  Kevin Ryde  <kevin@swox.se>
                   7932:
                   7933:        * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix so it actually
                   7934:        detects solaris 2.6, and also suppress warning on solaris 2.8.
                   7935:        * configure.in (SPEED_CYCLECOUNTER): Remove spurious "athlon" from
                   7936:        sparc case.
                   7937:
                   7938:        * mpn/lisp/gmpasm-mode.el: Move keymap to the top of the docstring.
                   7939:
                   7940: 2000-06-21  Kevin Ryde  <kevin@swox.se>
                   7941:
                   7942:        * mpn/generic/mul_n.c (mpn_kara_mul_n, mpn_kara_sqr_n): Use
                   7943:        mp_size_t for n2.
                   7944:        (mpn_toom3_mul_n, mpn_toom3_sqr_n): Use mp_size_t for size
                   7945:        parameters and "l" variables.
                   7946:        * gmp-impl.h (mpn_toom3_mul_n, mpn_toom3_sqr_n): Update prototypes.
                   7947:
1.1.1.4 ! ohara    7948:        * mpbsd/itom.c, mpbsd/sdiv.c: Add casts for correct handling of
        !          7949:        -0x80...00 on systems with sizeof(short)==sizeof(int).
1.1.1.2   maekawa  7950:
                   7951:        * mpz/tests/t-misc.c: Move "bin" test from here ...
                   7952:        * mpz/tests/t-bin.c: ... to here, and add a new (2k,k) test too.
                   7953:        * mpz/tests/Makefile.am (check_PROGRAMS): Add t-bin.
                   7954:
                   7955:        * mpz/bin_ui.c [_LONG_LONG_LIMB]: Use mpn_divrem_1, since kacc is
                   7956:        a limb not a ulong.
                   7957:        * mpz/bin_uiui.c [_LONG_LONG_LIMB]: Ditto, and use mpn_mul_1 too,
                   7958:        since nacc is a limb.
                   7959:
                   7960:        * mpf/tests/t-misc.c (check_mpf_set_si, check_mpf_cmp_si):
                   7961:        New file, testing mpf_set_si, mpf_init_set_si, and mpf_cmp_si.
                   7962:        * mpf/tests/Makefile.am (check_PROGRAMS): Add it.
                   7963:
                   7964:        * mpz/tests/t-misc.c (check_mpz_set_si, check_mpz_cmp_si):
                   7965:        New tests, for mpz_set_si, mpz_init_set_si, and mpz_cmp_si.
                   7966:
1.1.1.4 ! ohara    7967:        * mpz/set_si.c, mpz/iset_si.c, mpz/cmp_si.c [_LONG_LONG_LIMB]: Fix
        !          7968:        handling of -0x80..00.
        !          7969:        * mpf/set_si.c, mpf/iset_si.c, mpf/cmp_si.c [_LONG_LONG_LIMB]: Ditto.
1.1.1.2   maekawa  7970:
                   7971: 2000-06-19  Torbjorn Granlund  <tege@swox.com>
                   7972:
                   7973:        * demos/primes.c: Properly handle arguments `m +n'.
                   7974:
                   7975: 2000-06-17  Torbjorn Granlund  <tege@swox.com>
                   7976:
                   7977:        * config.sub: Recognize k5 and k6 with common pattern.
                   7978:
                   7979:        * mpq/tests/t-get_d.c: Also test mpq_set_d.  Misc improvements.
                   7980:
                   7981:        * mpq/set_d.c: Special case 0.0.  Don't call mpn_rshift with 0 count.
                   7982:        Allocate correct amount of memory for numerator.  Delete spurious
                   7983:        ASSERT_ALWAYS(1).
                   7984:
                   7985: 2000-06-17  Kevin Ryde  <kevin@swox.se>
                   7986:
                   7987:        * mpz/perfsqr.c: Fix so that zero is considered a perfect square.
                   7988:        (Was wrongly calling mpn_perfect_square_p with size==0.)
                   7989:
                   7990: 2000-06-16  Kevin Ryde  <kevin@swox.se>
                   7991:
                   7992:        * configure.in: Set k5*-*-* to use basic i386 code until there's
                   7993:        something specific.  Add path=x86 as a default for x86s.
                   7994:
                   7995:        * acinclude.m4 (GMP_CHECK_ASM_ALIGN_LOG): Generate
                   7996:        ALIGN_LOGARITHMIC setting, not a full ALIGN definition.
                   7997:        (GMP_CHECK_ASM_ALIGN_FILL_0x90): New test.
                   7998:        * configure.in [x86-*-*]: Use GMP_CHECK_ASM_ALIGN_FILL_0x90.
                   7999:        * mpn/asm-defs.m4 (ALIGN): New macro.
                   8000:        * mpn/x86/x86-defs.m4 (ALIGN): Remove supplementary definition.
                   8001:
                   8002:        * tune/*: Plain "unsigned" for speed_cyclecounter.
                   8003:        * configure.in: Use tune/sparcv9.asm for 32 and 64 bit modes.
                   8004:        * tune/sparc64.asm: Remove file.
                   8005:
                   8006: 2000-06-15  Torbjorn Granlund  <tege@swox.com>
                   8007:
                   8008:        * mpn/x86/k7/mmx/copyi.asm: Use `testb' instead of `test'.
                   8009:        * mpn/x86/k7/mmx/copyd.asm: Likewise.
                   8010:
                   8011:        * mpn/x86/k7/mmx/lshift.asm: Avoid using `~' (Solaris as problems).
                   8012:        * mpn/x86/k7/mmx/rshift.asm: Likewise.
                   8013:        * mpn/x86/k6/aors_n.asm: Likewise.
                   8014:        * mpn/x86/k7/aors_n.asm: Likewise.
                   8015:        * mpn/x86/k7/mul_basecase.asm: Likewise.
                   8016:
                   8017: 2000-06-13  Torbjorn Granlund  <tege@swox.com>
                   8018:
                   8019:        * tune/sparcv9.asm: Tune, deleting two instructions.
                   8020:
                   8021:        * tune/alpha.asm: Update to unified speed_cyclecounter.
                   8022:
                   8023: 2000-06-11  Kevin Ryde  <kevin@swox.se>
                   8024:
                   8025:        * mpz/tests/reuse.c (FAIL): Add a K&R version.
                   8026:        Use _PROTO on some typedefs.
                   8027:        * mpz/tests/t-misc.c: Add gmp-impl.h for "const".
                   8028:
                   8029:        * configure.in: Rework mpn multi-function and optional files.
                   8030:        Names standardized, no need for explicit declarations, all picked
                   8031:        up in one $path traversal.
                   8032:        * doc/configuration: Updates.
                   8033:
1.1.1.4 ! ohara    8034:        * tests/rand/t-rand.c (main): Change "usage" to work with K&R.
        !          8035:
1.1.1.2   maekawa  8036: 2000-06-10  Kevin Ryde  <kevin@swox.se>
                   8037:
1.1.1.4 ! ohara    8038:        * mpn/x86/pentium/mmx/popham.asm, mpn/x86/p6/mmx/popham.asm,
        !          8039:        mpn/x86/p6/p3mmx/popham.asm, mpn/x86/p6/diveby3.asm: Add
        !          8040:        MULFUNC_PROLOGUE for correct HAVE_NATIVE_* matching.
1.1.1.2   maekawa  8041:
                   8042:        * mpn/x86/x86-defs.m4 (cmov_bytes_tttn): Use eval() on expressions.
                   8043:        (cmov_available_p): Switch to list CPUs which do have cmov.
1.1.1.4 ! ohara    8044:        * mpn/x86/p6/sqr_basecase.asm, mpn/x86/k6/sqr_basecase.asm,
        !          8045:        mpn/x86/k7/sqr_basecase.asm: Use eval() for multiplication.
1.1.1.2   maekawa  8046:        * mpn/x86/README.family: Various updates.
                   8047:
                   8048: 2000-06-09  Kevin Ryde  <kevin@swox.se>
                   8049:
                   8050:        * mpbsd/tests/allfuns.c (main): Call exit() instead of doing return.
                   8051:
1.1.1.4 ! ohara    8052:        * doc/tasks.html, doc/projects.html: Moved from projects directory.
1.1.1.2   maekawa  8053:        * doc/multiplication: New file.
                   8054:        * Makefile.am (EXTRA_DIST): Remove projects, add doc.
                   8055:
                   8056:        * Makefile.am (libgmp_la_LIBADD, libmp_la_LIBADD): Remove
                   8057:        unnecessary -lm.
                   8058:        * INSTALL: Remove -lm from instructions.
                   8059:        * demos/Makefile.am (qcn_LDADD): Add -lm.
                   8060:
                   8061:        * tune/*: Add measuring for mpn_divrem_2 and modlimb_invert,
                   8062:        improve addsub_n.  Switch to unified speed_cyclecounter.
                   8063:        * configure.in: Update configs for speed_cyclecounter.
                   8064:
                   8065:        * gmp-impl.h (MP_LIMB_T_MAX, MP_LIMB_T_HIGHBIT): New macros.
1.1.1.4 ! ohara    8066:        * mpn/generic/diveby3.c, mpn/generic/mul_n.c, mpn/generic/gcd.c,
        !          8067:        tune/speed.c, mpn/tests/ref.c: Use them.
1.1.1.2   maekawa  8068:
                   8069:        * mpn/tests/spinner.c: Remove setitimer, just alarm is enough.
                   8070:        * configure.in (AC_CHECK_FUNCS): Remove setitimer.
                   8071:        * mpn/tests/x86call.asm: Start with junk in %eax, %ecx, %edx.
                   8072:        * mpn/tests/ref.[ch] (refmpn_addsub_nc): New function.
                   8073:        * mpn/tests/try.c: Add some support for mpn_addsub_nc.
                   8074:        * mpn/tests/Makefile.am (EXTRA_PROGRAMS): Remove addsub_n and
                   8075:        addsub_n_2 which don't currently build.
                   8076:        * mpn/tests/copy.c: Test MPN_COPY_INCR, not __gmpn_copy.
                   8077:
1.1.1.4 ! ohara    8078:        * tests/rand/Makefile.am (libstat_la_LIBADD): Add -lm, no longer on
        !          8079:        libgmp.la.
        !          8080:        (findlc_LDADD): Use libstat.la.
        !          8081:        (AUTOMAKE_OPTIONS): Use ansi2knr.
        !          8082:
1.1.1.2   maekawa  8083: 2000-06-08  Torbjorn Granlund  <tege@swox.com>
                   8084:
                   8085:        * configure.in (alpha*-*-osf*): Default `flavour' to ev6 for ev6 and
                   8086:        higher.
                   8087:        (alpha*-*-*): Likewise.
                   8088:        (alpha*-*-osf*: gmp_optcflags_cc): Move -arch/-tune flags from
                   8089:        gmp_xoptcflags_gcc.
                   8090:
                   8091:        * mpn/Makefile.am (TARG_DIST): Add pa64w.
                   8092:
                   8093:        * longlong.h: Wrap 64-bit hppa code in #ifndef LONGLONG_STANDALONE.
                   8094:
                   8095: 2000-06-07  Torbjorn Granlund  <tege@swox.com>
                   8096:
                   8097:        * mpz/remove.c: Fail for `src' being zero.
                   8098:
                   8099:        * mpz/tests/reuse.c: Test more functions.
                   8100:        (FAIL): New define.
                   8101:
                   8102:        * mpz/tests/t-powm.c: Loop during operand generation while they
                   8103:        are mathematically ill-defined (used to just skip such tests).
                   8104:
                   8105:        * mpz/powm.c (mpz_redc): Clean up argument declarations.
                   8106:
                   8107:        * configure.in (gmp_cflags64_gcc): Don't add bogus -mWHAT option.
                   8108:        (sparcv9-*-solaris2.[7-9]], gmp_cflags64_gcc):
                   8109:        Inherit from previous gmp_cflags64_gcc; pass `-m64 -mptr64'.
                   8110:        (ia64*-*-*): New.
                   8111:
                   8112:        * mpn/generic/dump.c: Make it work when an mp_limb_t is not `long'.
                   8113:
                   8114:        * mpf/set_prc.c: MPN_COPY => MPN_COPY_INCR.
                   8115:
                   8116: 2000-06-06  Torbjorn Granlund  <tege@swox.com>
                   8117:
                   8118:        * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n):
                   8119:        Use mpn_incr_u for final carry propagation.
                   8120:
                   8121:        * mpz/tests/t-gcd.c: Add calls to mpz_gcdext with argument t == NULL.
                   8122:
                   8123:        * mpz/tests/reuse.c: Major rewrite; test many more functions.
                   8124:
                   8125:        * mpz/powm_ui.c: When exp is 0, change res assign order in order
                   8126:        to handle argument overlap.
                   8127:        * mpz/powm.c: When exp is 0, change res assign order in order
                   8128:        to handle argument overlap.  Handle negative exp and mod arguments.
                   8129:
                   8130:        * mpz/gcdext.c: Rework code after mpn_gcdext call to handle
                   8131:        argument overlap.
                   8132:
                   8133:        * mpz/fdiv_qr.c: Read dividend->_mp_size before calling mpz_tdiv_qr
                   8134:        in order to handle argument overlap.
                   8135:        * mpz/cdiv_qr.c: Likewise.
                   8136:
                   8137:        * mpf/tests/reuse.c: Fix typo that effectively disabled `dis_funcs'
                   8138:        tests.  Clean up test for mpf_ui_div.
                   8139:
                   8140: 2000-06-06  Kevin Ryde  <kevin@swox.se>
                   8141:
                   8142:        * mpn/x86/p6/sqr_basecase.asm: New file.
                   8143:        * mpn/x86/mod_1.asm: Avoid one conditional jump.
                   8144:        * mpn/x86/p6/gmp-mparam.h: Update thresholds, #ifndef UMUL_TIME
                   8145:        and UDIV_TIME, add COUNT_TRAILING_ZEROS_TIME.
                   8146:
                   8147:        * mp_minv_tab.c: New file.
                   8148:        * Makefile.am (libgmp_la_SOURCES, libmp_la_SOURCES): Add it.
                   8149:        * gmp-impl.h (modlimb_invert): New macro.
                   8150:        * mpz/powm.c: Remove mpz_dmprepare, use modlimb_invert instead.
                   8151:        * mpn/generic/bdivmod.c: Use modlimb_invert instead of a loop.
                   8152:        * mpn/generic/gcd.c: Inline two small mpn_bdivmod calls, use
                   8153:        MPN_COPY_INCR not MPN_COPY in one place.
                   8154:
                   8155: 2000-06-05  Torbjorn Granlund  <tege@swox.com>
                   8156:
                   8157:        * mpf/tests/reuse.c (dsi_funcs): Add mpf_mul_2exp and mpf_div_2exp.
                   8158:        (main): Clean up test for mpf_div_ui.
                   8159:
                   8160:        * mpf/mul_2exp.c: Correct criterion for whether to use mpn_lshift or
                   8161:        mpn_rshift.  MPN_COPY => MPN_COPY_INCR.  Coerce the two assignments to
                   8162:        r->_mp_size.
                   8163:
                   8164:        * mpf/div_2exp.c: Use mpn_rshift instead of mpn_lshift when overlap
                   8165:        so requires.  MPN_COPY => MPN_COPY_INCR.
                   8166:
                   8167:        * mpf/tests/t-dm2exp.c: Correct type of res_prec.
                   8168:
                   8169: 2000-06-04  Kevin Ryde  <kevin@swox.se>
                   8170:
                   8171:        * mpz/bin_uiui.c: Fix result for n==0 and n==k.
                   8172:        * mpz/bin_ui.c: Fix result for k>n, add support for n<0.
                   8173:        * gmp.texi (Number Theoretic Functions): Update mpz_bin_ui to
                   8174:        note n<0 is supported.
                   8175:
                   8176:        * mpz/tests/t-misc.c: New file.
                   8177:        * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
                   8178:
                   8179: 2000-05-31  Kevin Ryde  <kevin@swox.se>
                   8180:
                   8181:        * tune/speed.* (FLAG_R_OPTIONAL): New option for routines, use on
                   8182:        mpn_gcd_1 and mpn_mul_basecase.
                   8183:        * tune/README: Update.
                   8184:
                   8185:        * tune/alpha.asm: New file, by Torbjorn.
                   8186:        * tune/Makefile.am (EXTRA_DIST): Add it.
                   8187:        * configure.in (alpha*-*-*): Use it.
                   8188:
1.1.1.4 ! ohara    8189: 2000-05-31  Linus Nordberg  <linus@swox.se>
        !          8190:
        !          8191:        * doc/configuration: New file.
        !          8192:
1.1.1.2   maekawa  8193: 2000-05-30  Torbjorn Granlund  <tege@swox.com>
                   8194:
                   8195:        * mpn/generic/mul_basecase.c: Call mpn_mul_2 and mpn_addmul_2
                   8196:        if available.  Don't include longlong.h.
                   8197:
1.1.1.4 ! ohara    8198:        * doc/isa_abi_headache: New file.
        !          8199:
1.1.1.2   maekawa  8200: 2000-05-30  Linus Nordberg  <linus@swox.se>
                   8201:
                   8202:        * configure.in (NM): Use AC_PROG_NM rather than AC_CHECK_TOOL to
                   8203:        find `nm'.  (AC_PROG_NM comes with Libtool and is needed to get
                   8204:        the `-B' option (BSD compatible output) included in $NM.)
                   8205:        (AR): Use AC_CHECK_PROG rather than AC_CHECK_TOOL to find `ar'.
                   8206:        (Now that NM isn't a cross compilation tool, don't give the
                   8207:        impression that we know how to cross compile.)
                   8208:        (CCAS): Remove spurious comment.
                   8209:
                   8210:        * gmp.texi (Notes for Particular Systems): Remove comment about
                   8211:        using GNU `nm' on AIX since system nm now works.
                   8212:
                   8213: 2000-05-29  Torbjorn Granlund  <tege@swox.com>
                   8214:
                   8215:        * mpn/power/mul_1.s: Remove [PR] from first word in function
                   8216:        descriptor.
                   8217:        * mpn/power/addmul_1.s: Likewise.
                   8218:        * mpn/power/submul_1.s: Likewise.
                   8219:
                   8220: 2000-05-28  Kevin Ryde  <kevin@swox.se>
                   8221:
                   8222:        * configure.in, tune/*: Change pentium rdtsc cycle scheme to
                   8223:        HAVE_SPEED_CYCLECOUNTER and SPEED_CYCLECOUNTER_OBJS.
                   8224:        * tune/pentium.asm: Renamed and converted from rdtsc.asm.
                   8225:        * tune/sparcv9.asm: New file, by Torbjorn.
                   8226:        * tune/sparc64.asm: New file.
                   8227:        * tune/tuneup.c: Put a limit on gcdext search.
                   8228:
                   8229:        * gmp.h (mp_set_memory_functions): Add extern "C".
                   8230:        * mp.h (__GNU_MP__): Bump to "3".
                   8231:        * mpz/add.c,mul.c,powm.c,sub.c,sqrtrem.c,tdiv_qr.c [BERKELEY_MP]:
                   8232:        Include mp.h for mpbsd compile.
                   8233:        * mpz/gcd.c: Ditto, and remove _mpz_realloc declaration.
                   8234:
                   8235:        * gmp.texi (Integer Functions): Flatten @subsections into @sections.
                   8236:        (Floating-point Functions): Ditto.
                   8237:        (Integer Random Numbers): Split from miscellaneous as a sep section.
                   8238:        (Installing GMP): Make nodes for the sections.
                   8239:        Add more "@cindex"s.
                   8240:        (Known Build Problems): Remove SunOS get_d problem, believed fixed.
                   8241:        (Notes for Particular Systems): Remove HPPA note since now PIC.
                   8242:        (References): URL for Jebelean.
                   8243:
                   8244: 2000-05-27  Torbjorn Granlund  <tege@swox.com>
                   8245:
                   8246:        * mpn/pa64w: New directory, contents based on corresponding mpn/pa64
                   8247:        files.
                   8248:        * configure.in (hppa2.0w-*-*): New.
                   8249:        * mpz/tests/io.c (_INCLUDE_POSIX_SOURCE): Define when __hpux before
                   8250:        including stdio.h.
                   8251:        * gmp-impl.h: Always define DItype and UDItype.
                   8252:
                   8253: 2000-05-27  Kevin Ryde  <kevin@swox.se>
                   8254:
                   8255:        * tune/common.c (speed_measure): Correction to array sorting,
                   8256:        better diagnostic when measuring fails.
                   8257:        * tune/time.c: Add microsecond accurate getrusage method.
                   8258:
                   8259:        * tune/time.c (speed_cpu_frequency_processor_info): New function.
                   8260:        * configure.in (AC_CHECK_FUNCS): Add processor_info.
                   8261:
                   8262: 2000-05-26  Linus Nordberg  <linus@swox.se>
                   8263:
                   8264:        * gmp.texi (Installing GMP): Shared libraries work for AIX < 4.3
                   8265:        if using GNU nm.
                   8266:
                   8267: 2000-05-26  Torbjorn Granlund  <tege@swox.com>
                   8268:
                   8269:        * tune/tuneup.c (SIGNED_TYPE_MAX): Shift `-1' instead of `1' to
                   8270:        avoid signed overflow.
                   8271:
                   8272:        * demos/pexpr.c (setup_error_handler): Don't call sigaltstack on
                   8273:        Unicos.
                   8274:
                   8275: 2000-05-25  Torbjorn Granlund  <tege@swox.com>
                   8276:
                   8277:        * insert-dbl.c: Work around GCC 2.8 bug.
                   8278:        * extract-dbl.c: Likewise.
                   8279:
                   8280:        * config.sub: Allow i586, i686, i786 again.
                   8281:
                   8282:        * config.guess: Use X86CPU for lots more systems.
                   8283:
                   8284: 2000-05-25  Linus Nordberg  <linus@swox.se>
                   8285:
                   8286:        * mpbsd/tests/dummy.c (main): Call exit() instead of doing return
                   8287:        (some old SysV machines don't get this correct, I've heard.)
                   8288:
                   8289: 2000-05-25  Kevin Ryde  <kevin@swox.se>
                   8290:
                   8291:        * mpf/iset_str.c: Initialize _mp_size and _mp_exp to 0, in case no
                   8292:        digits in string, so it's the same as a separate init and set_str.
                   8293:
                   8294: 2000-05-24  Torbjorn Granlund  <tege@swox.com>
                   8295:
                   8296:        * mpz/tests/reuse.c: Use mpz_random2 instead of mpz_random.
                   8297:
                   8298:        * mpz/divexact.c: Read pointers after reallocation.
                   8299:        Compare `quot' and `den' instead of `qp' and `dp' in overlap check.
                   8300:        Use MPN_COPY_INCR for copying from `np'.
                   8301:
                   8302:        (*-*-aix4.[3-9]*): Disable shared libs just for problematic AIX
                   8303:        versions.
                   8304:        * configure.in (*-cray-unicos*): Disable asm syntax checking; set
                   8305:        compiler explicitly.
                   8306:        * configure.in (hppa*-*-*): Remove code disabling shared libs.
                   8307:
                   8308: 2000-05-24  Linus Nordberg  <linus@swox.se>
                   8309:
                   8310:        * acinclude.m4 (GMP_PROG_CC_WORKS): Don't report progress to user
                   8311:        when doing the AIX specific test to avoid "nested output".
                   8312:
                   8313: 2000-05-22  Kevin Ryde  <kevin@swox.se>
                   8314:
                   8315:        * mp.h (_PROTO): Copy from gmp.h, use on prototypes.
                   8316:        Add extern "C" too.
                   8317:        * mpbsd/tests/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
                   8318:        * mpbsd/tests/allfuns.c: Don't execute mout, just link to it.
                   8319:        (main): ANSI style definition.
                   8320:
                   8321:        * gmp-impl.h (MP_BASE_AS_DOUBLE): Change the expression to
                   8322:        something that works on SunOS native cc.  Seems to fix the
                   8323:        mp*_get_d problems.
                   8324:
                   8325:        * mpn/tests/ref.c (refmpn_strip_twos): Use MPN_COPY_INCR.
                   8326:        * mpn/tests/Makefile.am: Let .asm.o rules work with absolute $srcdir.
                   8327:
                   8328: 2000-05-21  Kevin Ryde  <kevin@swox.se>
                   8329:
                   8330:        * mpn/x86/k7/sqr_basecase.asm: Replace file with K7 specific code.
                   8331:        * mpn/x86/k7/README: Update.
                   8332:        * mpn/x86/k7/gmp-mparam.h: Tune thresholds.
                   8333:        (COUNT_TRAILING_ZEROS_TIME): New define.
                   8334:        * mpn/x86/k6/gmp-mparam.h: Ditto.
                   8335:
                   8336:        * mpn/x86/pentium/mmx/popham.asm: New file (include_mpn of K6 version).
                   8337:        * mpn/x86/p6/diveby3.asm: New file (include_mpn of P5 version).
                   8338:        * mpn/x86/p6/mmx/popham.asm: New file (include_mpn of K6 version).
                   8339:        * mpn/x86/p6/p3mmx/popham.asm: New file (include_mpn of K7 version).
                   8340:        * configure.in (pentium3-*-*): Add p3mmx to $path.
                   8341:
                   8342:        * gmp.texi (Integer Arithmetic): Clarify mpz_jacobi op2; add
                   8343:        mpz_*_kronecker_*.
                   8344:        (Miscellaneous Integer Functions): Add mpz_odd_p and mpz_even_p.
                   8345:        (Low-level Functions): Put mpn_divmod_1 with mpn_divrem_1 and note
                   8346:        it's now a macro.
                   8347:        (References): Add Henri Cohen.
                   8348:
                   8349:        * gmp.h (mpn_addmul_1c, mpn_divrem_1c, mpn_mod_1c, mpn_mul_1c,
                   8350:        mpn_submul_1c): Add prototypes.
                   8351:        (mpz_odd_p, mpz_even_p): New macros.
                   8352:
                   8353:        * mpn/asm-defs.m4 (m4wrap_prepend): New macro.
                   8354:        (m4_error): Use it.
                   8355:        (m4_not_for_expansion): Corrections to OPERATION symbols.
                   8356:        More comments about variations between m4 versions.
                   8357:        * mpn/x86/x86-defs.m4 (PROLOGUE): Use m4wrap_prepend (fixes error
                   8358:        exit under BSD m4, previously m4_error printed the message but the
                   8359:        exit code was 0).
                   8360:
                   8361:        * gmp.h (mpn_divmod_1): Change to a macro calling mpn_divrem_1.
                   8362:        * mpn/generic/divrem_1.c: Move divmod_1.c code to here, make it
                   8363:        static and call it __gmpn_divmod_1_internal.
                   8364:        * mpn/generic/divmod_1.c: Remove file.
                   8365:        * configure.in (gmp_mpn_functions): Remove divmod_1.
                   8366:        * mpn/asm-defs.m4 (define_mpn): Remove divmod_1 and divmod_1c.
                   8367:        * compat.c (mpn_divmod_1): Add compatibility function.
                   8368:        * tune/*: Remove mpn_divmod_1 measuring (leave just divrem_1).
                   8369:
                   8370:        * acconfig.h (HAVE_NATIVE_mpn_*): Add some missing carry-in
                   8371:        variants, remove divmod_1.
                   8372:
                   8373:        * mpn/x86/diveby3.asm: Use imul, update comments.
                   8374:
                   8375:        * demos/qcn.c: New file.
                   8376:        * demos/Makefile.am (EXTRA_PROGRAMS): Add it.
                   8377:
                   8378:        * mpz/tests/t-jac.c: New file.
                   8379:        * mpz/tests/Makefile.am (check_PROGRAMS): Add it. Enable ansi2knr.
                   8380:
                   8381:        * mpz/kronsz.c: New file.
                   8382:        * mpz/kronuz.c: New file.
                   8383:        * mpz/kronzs.c: New file.
                   8384:        * mpz/kronzu.c: New file.
                   8385:        * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
                   8386:        * Makefile.am (MPZ_OBJECTS): Add them.
                   8387:        * gmp-impl.h (JACOBI_*, MPN_STRIP_LOW_ZEROS_NOT_ZERO): New macros.
                   8388:        * gmp.h (mpz_*_kronecker_*): New defines and prototypes.
                   8389:
                   8390:        * mpn/generic/jacbase.c: New file.
                   8391:        * mpn/generic/mod_1_rs.c: New file.
                   8392:        * configure.in (gmp_mpn_functions): Add them.
                   8393:        * gmp.h (mpn_jacobi_base, mpn_mod_1_rshift): New defines and
                   8394:        prototypes.
                   8395:        * longlong.h (COUNT_TRAILING_ZEROS_TIME): New define.
                   8396:        * mpn/tests/ref.c (refmpn_mod_1_rshift): New function.
                   8397:        * mpn/tests/try.c: Add mpn_mod_1_rshift.
                   8398:        * tune/*: Add measuring for mpn_jacobi_base.
                   8399:
                   8400:        * acinclude.m4 (GMP_FINISH): Add ifdefs to allow multiple
                   8401:        inclusion of config.m4.
                   8402:        (GMP_PROG_M4): Put "good" message through to config.log.
                   8403:
                   8404:        * mpz/powm.c: Use a POWM_THRESHOLD for where redc stops.
                   8405:        * tune/*: Add mpz_powm measuring, and tune POWM_THRESHOLD.
                   8406:        * gmp-impl.h [TUNE_PROGRAM_BUILD] (POWM_THRESHOLD): Conditional
                   8407:        redefinition for use when tuning.
                   8408:
                   8409:        * mpz/powm_ui.c: Use DIVIDE_BY_ZERO.
                   8410:
                   8411:        * mpz/iset_str.c: Initialize _mp_size to 0, in case no digits in
                   8412:        string; this makes it the same as a separate init and set_str.
                   8413:
                   8414: 2000-05-20  Kevin Ryde  <kevin@swox.se>
                   8415:
                   8416:        * mpn/asm-defs.m4: Note &,|,^ aren't bitwise in BSD m4 eval().
                   8417:        * mpn/x86/k6/sqr_basecase.asm: Use "%" not "&" in m4 eval()s.
                   8418:
                   8419:        * mpn/x86/x86-defs.m4 (Zdisp): Yet more instruction forms.
                   8420:
                   8421: 2000-05-19  Linus Nordberg  <linus@swox.se>
                   8422:
                   8423:        * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't use shell variable
                   8424:        `ac_compile' for our own compile command string since other
                   8425:        Autoconf macros may depend on it.
                   8426:
                   8427: 2000-05-19  Kevin Ryde  <kevin@swox.se>
                   8428:
                   8429:        * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Fix
                   8430:        carry propagation in final coefficient additions.
                   8431:
                   8432: 2000-05-18  Linus Nordberg  <linus@swox.se>
                   8433:
                   8434:        * configure.in: Set NM before looking for compiler since
                   8435:        GMP_CHECK_CC_64BIT needs it.
                   8436:
                   8437:        * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't execute on target.
                   8438:        (GMP_PROG_CC_FIND): Before checking if the compiler knows how to
                   8439:        produce 64-bit code, verify that it works at all.  The background
                   8440:        is that /usr/ucb/cc on Solaris 7 successfully compiles in 64-bit
                   8441:        mode but fails when doing final link.
                   8442:        (GMP_PROG_CC_WORKS): Report to user what's happening.
                   8443:
                   8444: 2000-05-17  Linus Nordberg  <linus@swox.se>
                   8445:
                   8446:        * config.guess: Use X86CPU for x86 Cygwin.
                   8447:
                   8448: 2000-05-16  Kevin Ryde  <kevin@swox.se>
                   8449:
                   8450:        * mpn/x86/p6/mmx/divrem_1.asm: New file.
                   8451:        * mpn/x86/p6/mmx/mod_1.asm: New file.
                   8452:        * mpn/x86/p6/README: Update.
                   8453:        * mpn/x86/divrem_1.asm: Update comments.
                   8454:        * mpn/x86/mod_1.asm: Ditto.
                   8455:
                   8456: 2000-05-14  Kevin Ryde  <kevin@swox.se>
                   8457:
                   8458:        * tune/speed.h: Run gcd functions on a set of data.
                   8459:
                   8460:        * mpn/tests/try.c: New file.
                   8461:        * mpn/tests/try.h: New file.
                   8462:        * mpn/tests/spinner.c: New file.
                   8463:        * mpn/tests/trace.c: New file.
                   8464:        * mpn/tests/x86call.asm: New file.
                   8465:        * mpn/tests/x86check.c: New file.
                   8466:        * mpn/tests/ref.c (refmpn_hamdist): Allow size==0.
                   8467:        (refmpn_gcd): New function, and other additions supporting it.
                   8468:        * mpn/tests/ref.h: More prototypes.
                   8469:        * mpn/tests/Makefile.am: Add try program, use ansi2knr.
                   8470:
                   8471:        * mpn/x86/k7/mmx/popham.asm: New file.
                   8472:        * mpn/x86/k6/mmx/popham.asm: New file.
                   8473:        * mpn/x86/k6/sqr_basecase.asm: Unroll the addmul, for approx 1.3x
                   8474:        speedup above 15 limbs.
                   8475:        * mpn/x86/k7/README: Update.
                   8476:        * mpn/x86/k6/README: Update, and add notes on plain K6 and pre-CXT
                   8477:        K6-2 problems.
                   8478:        * configure.in (k6*-*-*, athlon-*-*): Add popham.
                   8479:
                   8480:        * mpn/x86/pentium/diveby3.asm: New file.
                   8481:        * mpn/x86/pentium/README: Update.
                   8482:
                   8483:        * gmp.texi (Installing GMP): Add note on bad OpenBSD 2.6 m4.
                   8484:        (Reporting Bugs): Ask for config.m4 if asm file related.
                   8485:        (I/O of Rationals): New section, add mpq_out_str.
                   8486:        (References): Add url for on-line gcc manuals.
                   8487:        A few node and menu updates.
                   8488:
                   8489:        * INSTALL: Better command line argument checking for test progs.
                   8490:        Change MP -> GMP.
                   8491:
                   8492:        * configure.in (WANT_ASSERT, USE_STACK_ALLOC, HAVE_PENTIUM_RDTSC):
                   8493:        Put descriptions here, not in acconfig.h.
                   8494:        (CALLING_CONVENTIONS_OBJS): New AC_SUBST (for mpn/tests/try).
                   8495:        (HAVE_CALLING_CONVENTIONS): New AC_DEFINE.
                   8496:        (AC_CHECK_HEADERS): Add sys/time.h.
                   8497:        (AC_CHECK_FUNCS): Add getpagesize, setitimer.
                   8498:        (KARATSUBA_SQR_THRESHOLD): Strip trailing comments from the
                   8499:        #define when passing through to config.m4.
                   8500:        * acconfig.h (PACKAGE, VERSION, WANT_ASSERT, USE_STACK_ALLOC,
                   8501:        HAVE_PENTIUM_RDTSC): No need for #undefs, autoheader gets them
                   8502:        from configure.in.
                   8503:
                   8504:        * acinclude.m4 (GMP_PROG_M4): Check for broken OpenBSD 2.6 m4
                   8505:        eval(), put messages into config.log.
                   8506:        * mpn/asm-defs.m4: Add notes and test for OpenBSD 2.6 m4.
                   8507:
                   8508:        * mpq/out_str.c: New file.
                   8509:        * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
                   8510:        * Makefile.am (MPQ_OBJECTS): Ditto.
                   8511:        * gmp.h (mpq_out_str): New define and prototype.
                   8512:
                   8513: 2000-05-12  Kevin Ryde  <kevin@swox.se>
                   8514:
                   8515:        * configure.in (CONFIG_TOP_SRCDIR): Fix to use $srcdir not
                   8516:        $top_srcdir (which doesn't exist).
                   8517:        * acinclude.m4 (GMP_C_ANSI2KNR): Fix setting U=_.
                   8518:        * gmp-impl.h (mpn_com_n, MPN_LOGOPS_N_INLINE): Fix missing "do"
                   8519:        (not currently used, probably no ill effect anyway).
                   8520:
                   8521: 2000-05-11  Torbjorn Granlund  <tege@swox.com>
                   8522:
                   8523:        * randraw.c (lc): Major overhaul (pending rewrite).
                   8524:        (_gmp_rand): Rewrite.
                   8525:
                   8526: 2000-05-08  Torbjorn Granlund  <tege@swox.com>
                   8527:
                   8528:        * mpz/tests/convert.c: Call free via _mp_free_func.
                   8529:        * mpf/tests/t-conv.c: Likewise.
                   8530:
                   8531:        * memory.c: Add code enabled for DEBUG that adds special patterns
                   8532:        around allocated blocks.
                   8533:
                   8534: 2000-05-05  Linus Nordberg  <linus@swox.se>
                   8535:
                   8536:        * gmp.texi (Miscellaneous Float Functions): Correct parameter list
                   8537:        for mpf_urandomb().
                   8538:
                   8539:        * configure.in: Invoke AC_REVISION.
                   8540:
                   8541: 2000-05-05  Kevin Ryde  <kevin@swox.se>
                   8542:
                   8543:        * gmp.texi: Use @dircategory and @direntry.
                   8544:        (Installing GMP): Clarification for --target, updates on SunOS
                   8545:        problems.
                   8546:        (Integer Arithmetic): Add mpz_mul_si.
                   8547:        (Initializing Rationals): Add mpq_swap.
                   8548:        (Assigning Floats): Add mpf_swap.
                   8549:        (Low-level Functions): Add mpn_divexact_by3c, and details of what
                   8550:        the calculation actually gives.
                   8551:        (Low-level Functions): Note extra space needed by mpn_gcdext,
                   8552:        clarify the details a bit.
                   8553:
                   8554:        * compat.c: New file, entry points for upward binary compatibility.
                   8555:        (mpn_divexact_by3): Compatibility function.
                   8556:        * Makefile.am (libgmp_la_SOURCES): Add compat.c.
                   8557:
                   8558:        * mpn/tests/ref.c: Rearrange macros for ansi2knr.
                   8559:        (div1): Renamed from div to avoid library function.
                   8560:        (refmpn_divexact_by3c, refmpn_gcd_1, refmpn_popcount,
                   8561:        refmpn_hamdist): New functions.
                   8562:        * mpn/tests/ref.h: Add extern "C", add new prototypes.
                   8563:
                   8564:        * gmp.h (gmp_randinit, etc): Add extern "C".
                   8565:        (_mpq_cmp_ui): Fix prototype name from mpq_cmp_ui.
                   8566:        (mpn_divexact_by3): Now a macro calling mpn_divexact_by3c.
                   8567:        (mpn_divexact_by3c): New prototype and define.
                   8568:
                   8569:        * mpn/x86/diveby3.asm: Change to mpn_divexact_by3c.
                   8570:        * mpn/x86/k6/diveby3.asm: Ditto.
                   8571:        * mpn/generic/diveby3.c: Ditto.
                   8572:        * mpn/asm-defs.m4: Ditto on the define_mpn.
                   8573:        * acconfig.h (HAVE_NATIVE_mpn_divexact_by3c): New define.
                   8574:
                   8575:        * mpq/swap.c: New file, derived from mpz/swap.c.
                   8576:        * mpf/swap.c: Ditto.
                   8577:        * mpq/Makefile.am: Add swap.c.
                   8578:        * mpf/Makefile.am: Ditto.
                   8579:        * Makefile.am: Add two new "swap.lo"s.
                   8580:
                   8581:        * mpn/x86/k6/mmx/com_n.asm: Fix an addressing bug (fortunately
                   8582:        this code hasn't been used anywhere yet).
                   8583:
                   8584:        * mpn/x86/k7/mmx/divrem_1.asm: New file.
                   8585:        * mpn/x86/k7/mmx/mod_1.asm: New file.
                   8586:        * mpn/x86/k7/diveby3.asm: New file.
                   8587:        * mpn/x86/k7/README: Update.
                   8588:
                   8589:        * mpn/x86/k7/aorsmul_1.asm: Use new cmovCC, no object code change.
                   8590:        * mpn/x86/k7/mul_basecase.asm: Ditto.
                   8591:        * mpn/x86/p6/aorsmul_1.asm: Ditto.
                   8592:
                   8593:        * mpn/x86/x86-defs.m4 (defframe_empty_if_zero): Eval the argument.
                   8594:        (cmovCC): New macros, replacing individual cmovCC_reg_reg forms.
                   8595:        (Zdisp): Recognise more instructions.
                   8596:        (shldl,etc): Use m4_instruction_wrapper().
                   8597:        (ASSERT, movl_text_address): New macros.
                   8598:
                   8599:        * mpn/asm-defs.m4: Add remarks on SunOS /usr/bin/m4 and new
                   8600:        OpenBSD m4.
                   8601:        (m4_assert_numargs_internal_check): Remove a spurious parameter.
                   8602:        (m4_empty_if_zero): Eval the argument.
                   8603:        (m4_assert, m4_assert_numargs_range, m4_config_gmp_mparam,
                   8604:        m4_instruction_wrapper): New macros.
                   8605:
                   8606: 2000-05-04  Linus Nordberg  <linus@swox.se>
                   8607:
                   8608:        * gmp.texi (Reporting Bugs): Be explicit about output from running
                   8609:        a command.
                   8610:
                   8611: 2000-05-02  Torbjorn Granlund  <tege@swox.com>
                   8612:
                   8613:        * mpn/generic/bz_divrem_n.c (mpn_bz_divrem_n): Handle non-zero return
                   8614:        from first mpn_bz_div_3_halves_by_2 call.
                   8615:        (mpn_bz_divrem_aux): Likewise.
                   8616:
                   8617: 2000-04-30  Kevin Ryde  <kevin@swox.se>
                   8618:
                   8619:        * tune/* (GCD_ACCEL_THRESHOLD, GCDEXT_THRESHOLD): Tune these.
                   8620:
                   8621:        * mpn/generic/gcdext.c (GCDEXT_THRESHOLD): Rename from THRESHOLD,
                   8622:        use with >=, adjust default to 17 accordingly.
                   8623:        Use new *_SWAP macros.
                   8624:
                   8625:        * mpn/generic/gcd.c (GCD_ACCEL_THRESHOLD): Rename from
                   8626:        ACCEL_THRESHOLD, use with >=, adjust default to 5 accordingly.
                   8627:        Use new *_SWAP macros.
                   8628:
                   8629:        * mpf/get_str.c, mpf/set_str.c, mpf/sub.c, mpz/add.c, mpz/ior.c,
                   8630:        mpz/and.c, mpz/sub.c, mpz/xor.c, mpz/ui_pow_ui.c,
                   8631:        mpn/generic/mul.c: Use new *_SWAP macros.
                   8632:
                   8633:        * stack-alloc.h: Add extern "C" around prototypes.
                   8634:
                   8635:        * gmp-impl.h: (MP_PTR_SWAP, etc): New macros.
                   8636:        (_mp_allocate_func, etc): Use _PROTO.
                   8637:        [TUNE_PROGRAM_BUILD]: More changes in tune program build part.
                   8638:
                   8639: 2000-04-28  Torbjorn Granlund  <tege@swox.com>
                   8640:
                   8641:        * mpn/pa64/add_n.s: Add `,entry' to export directive.
1.1.1.4 ! ohara    8642:        * mpn/pa64/addmul_1.S, mpn/pa64/lshift.s, mpn/pa64/mul_1.S,
        !          8643:        mpn/pa64/rshift.s, mpn/pa64/sub_n.s, mpn/pa64/submul_1.S,
        !          8644:        mpn/pa64/umul_ppmm.S: Likewise.
1.1.1.2   maekawa  8645:        * mpn/hppa/hppa1_1/udiv_qrnnd.S: New name for udiv_qrnnd.s.
                   8646:        Add PIC support.
                   8647:
                   8648: 2000-04-29  Kevin Ryde  <kevin@swox.se>
                   8649:
                   8650:        * gmp-impl.h [TUNE_PROGRAM_BUILD] (TOOM3_MUL_THRESHOLD_LIMIT): New
                   8651:        define.
                   8652:        * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Use
                   8653:        TOOM3_MUL_THRESHOLD_LIMIT, not a hard coded 500.
                   8654:
                   8655:        * memory.c: Use <stdlib.h> for malloc etc, and use _PROTO.
                   8656:        * stack-alloc.c: Don't use C++ reserved word "this".
                   8657:        * urandom.h: Put extern "C" around prototypes.
                   8658:        * mpz/powm.c: Switch a couple of parameters to "const", which they
                   8659:        are, to satisfy g++.
                   8660:
                   8661:        * randraw.c, stack-alloc.c, mpbsd/mout.c, mpbsd/mtox.c: Add casts to
                   8662:        help g++.
                   8663:
                   8664:        * stack-alloc.c: Provide dual ANSI/K&R function definitions.
                   8665:        * mpz/addmul_ui.c,get_d.c,inp_str.c,perfpow.c,powm.c,pprime_p.c,
                   8666:        rrandomb.c,set_str.c,ui_pow_ui.c: Ditto.
                   8667:        * mpf/integer.c,set_str.c: Ditto.
                   8668:        * mpbsd/min.c,xtom.c: Ditto.
                   8669:        * mpn/generic/bz_divrem_n.c,dump.c,gcd_1.c,get_str.c,hamdist.c,
                   8670:        popcount.c,random.c,random2.c,set_str.c: Ditto.
                   8671:
                   8672:        * rand.c: Use <stdio.h> for NULL.
                   8673:        * mpz/gcd_ui.c,gcdext.c,mul.c,perfpow.c,powm_ui.c,root.c,sqrt.c,
                   8674:        sqrtrem.c: Ditto
                   8675:        * mpf/sqrt.c,sqrt_ui.c: Ditto.
                   8676:        * mpn/generic/perfsqr.c,sqrtrem.c: Ditto.
                   8677:
                   8678:        * gmp-impl.h (NULL, malloc, realloc, free): Don't define/declare.
                   8679:        (extern "C"): Add around function prototypes.
                   8680:        (mpn_kara_mul_n, mpn_kara_sqr_n, mpn_toom3_mul_n, mpn_toom3_sqr_n):
                   8681:        Add prototypes.
                   8682:        [TUNE_PROGRAM_BUILD] (FIB_THRESHOLD): Add necessary redefinitions for
                   8683:        use by tune program.
                   8684:        * mpn/generic/mul_n.c: Remove mpn_toom3_mul_n prototype.
                   8685:
                   8686:        * acinclude.m4 (GMP_C_ANSI2KNR): New macro.
                   8687:        (GMP_CHECK_ASM_MMX, GMP_CHECK_ASM_SHLDL_CL): Fix to use
                   8688:        $gmp_cv_check_asm_text which is what GMP_CHECK_ASM_TEXT sets.
                   8689:        * configure.in (GMP_C_ANSI2KNR): Use this instead of AM_C_PROTOTYPES,
                   8690:        for reasons described with its definition.
                   8691:
                   8692:        * demos/Makefile.am (ansi2knr): Use $(top_builddir) nor $(top_srcdir).
                   8693:
                   8694:        * mpz/fib_ui.c (FIB_THRESHOLD): Rename from FIB_THRES, for consistency.
                   8695:        (FIB_THRESHOLD): Conditionalize so gmp-mparam.h can define a value.
                   8696:        (mpz_fib_bigcase): Use >= FIB_THRESHOLD, same as main mpz_fib_ui.
                   8697:        * tune/tuneup.c,Makefile.am (FIB_THRESHOLD): Tune this.
                   8698:
                   8699:        * configure.in (*-*-aix* gmp_m4postinc): Fix setting (don't overwrite
                   8700:        a value just stored).
                   8701:
                   8702: 2000-04-26  Kevin Ryde  <kevin@swox.se>
                   8703:
                   8704:        * mpn/sparc32/udiv_fp.asm: Use mpn_udiv_qrnnd macro.
                   8705:        * mpn/sparc32/udiv_nfp.asm: Ditto.
                   8706:        * mpn/sparc32/v8/supersparc/udiv.asm: Ditto.
                   8707:        * mpn/sparc32/umul.asm: Name the function mpn_umul_ppmm.
                   8708:        * mpn/sparc32/v8/umul.asm: Ditto.
                   8709:        * mpn/powerpc32/umul.asm: Ditto.
                   8710:
                   8711:        * mpn/x86/syntax.h: Remove file, since now unused.
                   8712:
                   8713:        * configure.in (x86): Remove -DBROKEN_ALIGN and -DOLD_GAS
                   8714:        previously used by .S files.
                   8715:        (x86 extra_functions): Add udiv and umul.
                   8716:        (GMP_PROG_M4): Use this instead of AC_CHECK_PROG(M4,m4,...)
                   8717:        (HAVE_NATIVE_*): Loosen up the regexp to "PROLOGUE.*" so as to
                   8718:        accept PROLOGUE_GP on alpha.
                   8719:
                   8720:        * acconfig.h (HAVE_NATIVE_mpn_umul_ppmm, udiv_qrnnd, invert_limb):
                   8721:        New template defines.
                   8722:        * mpn/asm-defs.m4 (mpn_umul_ppmm, mpn_udiv_qrnnd): New define_mpn()s.
                   8723:        * longlong.h (umul_ppmm, udiv_qrnnd): Use a library version if
                   8724:        it's available and an asm macro isn't.
                   8725:        * gmp-impl.h (invert_limb): Ditto.
                   8726:
                   8727:        * gmp-impl.h (ASSERT_NOREALLOC): Not a good idea, remove it.
                   8728:
                   8729:        * acinclude.m4 (GMP_PROG_M4): New macro.
                   8730:
                   8731: 2000-04-25  Linus Nordberg  <linus@swox.se>
                   8732:
                   8733:        * gmp.texi (Random State Initialization): Correct arguments to
                   8734:        `gmp_randinit'.
                   8735:
                   8736:        * acinclude.m4 (GMP_VERSION): Change `eval' --> `m4_eval'.  Fix
                   8737:        from Kevin.
                   8738:        * aclocal.m4: Regenerate.
                   8739:
                   8740: 2000-04-25  Kevin Ryde  <kevin@swox.se>
                   8741:
                   8742:        * mpn/x86/aors_n.asm: Remove parentheses around an immediate that
                   8743:        Solaris "as" doesn't like, change by Torbjorn.
                   8744:
                   8745: 2000-04-24  Kevin Ryde  <kevin@swox.se>
                   8746:
                   8747:        * configure.in (AC_CHECK_FUNCS): Add strtoul.
                   8748:
                   8749:        * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Bigger
                   8750:        array for karatsuba temporary space for tune program build.
                   8751:        (mpn_toom3_sqr_n) Remove an unused variable.
                   8752:
                   8753:        * demos/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
                   8754:        Add "allprogs:" pseudo-target.
                   8755:        * demos/factorize.c, demos/isprime.c: Switch to ANSI functions,
                   8756:        rely on ansi2knr.
                   8757:
                   8758:        * gmp.texi (Getting the Latest Version of GMP): Add reference to
                   8759:        ftp.gnu.org mirrors list.
                   8760:        * INSTALL: Add arg count check to example programs.
                   8761:
                   8762:        * mpn/x86/*/*.asm: Convert to FORTRAN ... or rather to
                   8763:        FORTRAN-style "C" commenting to support Solaris "as".
                   8764:        * mpn/x86/x86-defs.m4: Ditto, and add another Zdisp insn.
                   8765:        * mpn/asm-defs.m4 (C): Update comments.
                   8766:        * mpn/x86/README.family: Add a note on commenting, remove
                   8767:        description of .S files.
                   8768:
                   8769:        * mpn/sparc64/addmul_1.asm, mul_1.asm, submul_1.asm: Use
                   8770:        include_mpn().
                   8771:
                   8772: 2000-04-23  Torbjorn Granlund  <tege@swox.com>
                   8773:
                   8774:        * config.sub: Merge with FSF version of April 23.
                   8775:
                   8776:        * mpn/powerpc32: Use dnl/C instead of `#' for comments.
                   8777:
                   8778:        * config.guess: Get "model" limit between pentium 2 and pentium3 right.
                   8779:        Get rid of code determining `_' prefix; use double labels instead.
                   8780:        * config.guess: Partially merge with FSF version of April 22.
                   8781:        (Don't bring over NetBSD changes for now.)
                   8782:
                   8783: 2000-04-23  Kevin Ryde  <kevin@swox.se>
                   8784:
1.1.1.4 ! ohara    8785:        * tune/Makefile.am, tune/README, tune/common.c, tune/rdtsc.asm,
        !          8786:        tune/speed.c, tune/speed.h, tune/time.c, tune/tuneup.c: New files.
1.1.1.2   maekawa  8787:        * tune/Makefile.in: New file, generated from Makefile.am.
                   8788:
                   8789:        * gmp-impl.h (ASSERT_NOREALLOC,TMP_ALLOC_LIMBS): New macros.
                   8790:        [TUNE_PROGRAM_BUILD] Further mods for tune program builds.
                   8791:
                   8792:        * mpz/Makefile.am: Add -DOPERATION_$* for new mul_siui.c.
                   8793:        Add rules to build mul_si and mul_ui from a common mul_siui.c.
                   8794:        * mpz/mul_siui.c: New file, derived from and replacing mul_ui.c.
                   8795:        * gmp.h (mpz_mul_si): New prototype and define.
                   8796:
                   8797:        * mpn/tests/*.c [__i386__] (CLOCK): Don't use floating point in
                   8798:        CLOCK because cpp can't handle floats in #if's (TIMES is derived
                   8799:        from CLOCK by default).
                   8800:
                   8801:        * mpn/asm-defs.m4 (include_mpn): New macro.
                   8802:        (m4_assert_numargs) Changes to implementation.
                   8803:
                   8804:        * mpf/Makefile.am: Add -DOPERATION_$* for new integer.c.
                   8805:        Remove explicit rules for floor.o etc.
                   8806:        * mpf/integer.c: Use OPERATION_$* for floor/ceil/trunc.
                   8807:
                   8808:        * mpn/Makefile.am: Put "tests" in SUBDIRS.
                   8809:        * mpn/tests/Makefile.am: New file providing rules to build test
                   8810:        programs, nothing done in a "make all" or "make check" though.
                   8811:        * mpn/tests/README: New file.
                   8812:
                   8813:        * acconfig.h (HAVE_PENTIUM_RDTSC): New define.
                   8814:
                   8815:        * configure.in (x86): Rearrange target cases.
                   8816:        Add mulfunc aors_n and aorsmul_1 for x86 and pentium (now all x86s).
                   8817:        Remove asm-syntax.h generation not needed.
                   8818:        Remove now unused family=x86.
                   8819:        (sparc) Remove unused family=sparc.
                   8820:        (HAVE_PENTIUM_RDTSC) New AC_DEFINE and AM_CONDITIONAL.
                   8821:        (AM_C_PROTOTYPES) New test, supporting ansi2knr.
                   8822:        (AC_CHECK_HEADERS) Add getopt.h, unistd.h and sys/sysctl.h for
                   8823:        tune progs.
                   8824:        (AC_CHECK_FUNCS) Add getopt_long, sysconf and sysctlbyname for
                   8825:        tune progs.
                   8826:        (config.m4 CONFIG_TOP_SRCDIR) Renamed from CONFIG_SRCDIR.
                   8827:        (config.m4 asm-defs.m4) Use CONFIG_TOP_SRCDIR and include().
                   8828:        (gmp_m4postinc) Use include_mpn().
                   8829:        (gmp_links) Omit asm-defs.m4/asm.m4 and gmp_m4postinc's.
                   8830:        (MULFUNC_PROLOGUE) Fix regexps so all functions get AC_DEFINE'd.
                   8831:        (PROLOGUE) Ditto (native copyi and copyd were unused in gmp 3).
                   8832:        (KARATSUBA_SQR_THRESHOLD) Copy from gmp-mparam.h into config.m4.
                   8833:        (AC_OUTPUT) Add tune/Makefile, mpn/tests/Makefile.
                   8834:
                   8835:        * Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
                   8836:        (SUBDIRS): Add tune, reorder directories.
                   8837:        (MPZ_OBJECTS): Add mpz/mul_si.lo.
                   8838:        (libmp_la_SOURCES): Use this for top-level objects, not .lo's.
1.1.1.4 ! ohara    8839:        * ansi2knr.c, ansi2knr.1: New files, provided by automake.
1.1.1.2   maekawa  8840:
                   8841:        * mpn/x86/aors_n.asm: Convert add_n.S and sub_n.S to a
                   8842:        multi-function aors_n.asm, no object code change.
                   8843:        * mpn/x86/pentium/aors_n.asm: Ditto.
                   8844:        * mpn/x86/aorsmul_1.asm: Ditto for addmul/submul.
                   8845:        * mpn/x86/pentium/aorsmul_1.asm: Ditto.
                   8846:
1.1.1.4 ! ohara    8847:        * mpn/x86/lshift.asm, mpn/x86/mul_1.asm, mpn/x86/mul_basecase.asm,
        !          8848:        mpn/x86/rshift.asm: Convert from .S, no object code change.
        !          8849:        * mpn/x86/pentium/lshift.asm, mpn/x86/pentium/mul_1.asm,
        !          8850:        mpn/x86/pentium/mul_basecase.asm, mpn/x86/pentium/rshift.asm: Ditto.
1.1.1.2   maekawa  8851:
                   8852:        * gmp.texi (Reporting Bugs): Itemize the list of things to include.
                   8853:        (Miscellaneous Float Functions): Correct typo in mpf_ceil etc
                   8854:        argument types.
                   8855:        Change @ifinfo -> @ifnottex for benefit of makeinfo --html.
                   8856:        Remove unnecessary @iftex's around @tex.
                   8857:
                   8858: 2000-04-22  Torbjorn Granlund  <tege@swox.com>
                   8859:
                   8860:        * config.guess: Generalize x86 cpu determination code.
                   8861:        Now works on Solaris.
                   8862:
                   8863:        * mpz/nextprime.c: Rewrite still disabled code.
                   8864:
                   8865:        * configure.in: Specifically match freebsd[3-9].
                   8866:
                   8867: 2000-04-21  Torbjorn Granlund  <tege@swox.com>
                   8868:
                   8869:        * rand.c: Call mpz_clear for otherwise leaking mpz_t.
                   8870:
                   8871:        * mpz/pprime_p.c (mpz_probab_prime_p): Merge handling of negative
                   8872:        n into code for handling small positive n.  Merge variables m and n.
                   8873:        After dividing, simply call mpz_millerrabin.
                   8874:        (isprime): Local variables now use attribute `long'.
                   8875:        (mpz_millerrabin): New static function, based on code from
                   8876:        mpz_probab_prime_p.
                   8877:        (millerrabin): Now simple workhorse for mpz_millerrabin.
                   8878:
                   8879: 2000-04-19  Torbjorn Granlund  <tege@swox.com>
                   8880:
                   8881:        * gmp-impl.h: Fix parenthesis error in test for __APPLE_CC__.
                   8882:
                   8883: 2000-04-18  Linus Nordberg  <linus@swox.se>
                   8884:
                   8885:        * NEWS: Add info about shared libraries.  Remove reference to
                   8886:        gmp_randinit_lc.
                   8887:
                   8888: 2000-04-17  Torbjorn Granlund  <tege@swox.com>
                   8889:
                   8890:        * Version 3.0 released.
                   8891:
                   8892:        * mpn/arm/add_n.S: New version from Robert Harley.
                   8893:        * mpn/arm/addmul_1.S: Likewise.
                   8894:        * mpn/arm/mul_1.S: Likewise.
                   8895:        * mpn/arm/sub_n.S: Likewise.
                   8896:
                   8897:        * gmp.h (__GNU_MP_VERSION_PATCHLEVEL): Now 0.
                   8898:
                   8899: 2000-04-17  Linus Nordberg  <linus@swox.se>
                   8900:
                   8901:        * configure.in (hppa2.0*-*-*): Pass `+O3' to cc/c89 in 64-bit mode
                   8902:        to avoid compiler bug.
                   8903:        (ns32k*-*-*): Fix typo in path.  Change by Kevin.
                   8904:        (alpha*-*-osf*): New case.  Pass assembly flags for architecture
                   8905:        to gcc.
                   8906:        (alpha*-*-*): Don't bother searching for cc.
                   8907:        * configure: Regenerate.
                   8908:
                   8909:        * Makefile.am (EXTRA_DIST): Add `macos', `.gdbinit'.
                   8910:        * Makefile.in: Regenerate.
                   8911:        * mpn/Makefile.am (EXTRA_DIST): Add `m88k', `lisp'.
                   8912:        * mpn/Makefile.in: Regenerate.
                   8913:
                   8914: 2000-04-16  Kevin Ryde  <kevin@swox.se>
                   8915:
                   8916:        * README: Updates, and don't duplicate the example in INSTALL.
                   8917:        * INSTALL: Minor updates.
                   8918:        * gmp.texi (Installing MP): Minor edits, restore CC/CFLAGS description.
                   8919:
                   8920: 2000-04-16  Linus Nordberg  <linus@swox.se>
                   8921:
                   8922:        * configure.in (*-*-cygwin*): Select BSD_SYNTAX to avoid
                   8923:        .type/.size in PROLOGUE for ELF_SYNTAX.  Override ALIGN definition
                   8924:        from x86/syntax.h.
                   8925:        (gmp_xoptcflags_${CC}): New set of variables, indicating
                   8926:        ``exclusive optional cflags''.
                   8927:        (most sparcs): Use gmp_xoptcflags instead of gmp_optcflags to
                   8928:        ensure that we pass CPU type to older gcc.
                   8929:        (CFLAGS): CFLAGS on the command line was spoiled.
                   8930:        * configure: Regenerate.
                   8931:
                   8932: 2000-04-16  Linus Nordberg  <linus@swox.se>
                   8933:
                   8934:        * configure.in: Invoke AC_PROG_LIBTOOL directly.
                   8935:
                   8936:        * acinclude.m4 (GMP_PROG_CC_FIND): Quote source variable when
                   8937:        setting CC64 and CFLAGS64.
                   8938:        (GMP_PROG_CC_SELECT): Cache result.
                   8939:        (GMP_PROG_LIBTOOL): Remove.
                   8940:
                   8941:        * aclocal.m4: Regenerate.
                   8942:        * configure: Regenerate.
                   8943:
1.1.1.4 ! ohara    8944: 2000-04-16  Linus Nordberg  <linus@swox.se>
        !          8945:
        !          8946:        * tests/rand/t-rand.c (main): Add non-ANSI function declaration.
        !          8947:        Don't use `const'.
        !          8948:
1.1.1.2   maekawa  8949: 2000-04-16  Torbjorn Granlund  <tege@swox.com>
                   8950:
                   8951:        * mpn/generic/dump.c: Suppress output of leadign zeros.
                   8952:
                   8953:        * mpz/inp_str.c: Fix memory leakage.
                   8954:
                   8955:        * mpz/tests/reuse.c (dss_func_division): Add a final 1.
                   8956:
                   8957:        * longlong.h (alpha count_leading_zeros): Wrap in __MPN.
                   8958:        * mpn/alpha/cntlz.asm: Use __gmpn prefix (by means of __MPN).
                   8959:
                   8960:        * longlong.h (__umul_ppmm, __udiv_qrnnd): Wrap in __MPN.
                   8961:        * mpn/alpha/udiv_qrnnd.S: Use __gmpn prefix.
                   8962:        * mpn/hppa/udiv_qrnnd.s: Likewise.
                   8963:        * mpn/hppa/hppa1_1/udiv_qrnnd.s: Likewise.
                   8964:        * mpn/pa64/udiv_qrnnd.c: Likewise (by means of __MPN).
                   8965:        * mpn/pa64/umul_ppmm.S: Likewise.
                   8966:        * mpn/sparc32/udiv_fp.asm: Likewise (by means of MPN).
                   8967:        * mpn/sparc32/udiv_nfp.asm: Likewise (by means of MPN).
                   8968:        * mpn/sparc32/v8/supersparc/udiv.asm: Likewise (by means of MPN).
                   8969:
                   8970:        * mpn/generic/tdiv_qr.c: Work around gcc 2.7.2.3 i386 register handling
                   8971:        bug.
                   8972:
                   8973:        * mpn/generic/tdiv_qr.c: Use udiv_qrnnd instead of mpn_divrem_1
                   8974:        when computing appropriate quotient; mpn_divrem_1 writes too
                   8975:        many quotient limbs.
                   8976:
                   8977:        * mpn/asm-defs.m4: invert_normalized_limb => invert_limb.
                   8978:        * mpn/alpha/invert_limb.asm: mpn_invert_normalized_limb =>
                   8979:        mpn_invert_limb.
                   8980:        * gmp.h: Likewise.
                   8981:        * gmp-impl.h (alpha specific): invert_normalized_limb => invert_limb;
                   8982:        wrap with __MPN.
                   8983:        * longlong.h (alpha udiv_qrnnd): Likewise.
                   8984:
                   8985: 2000-04-16  Kevin Ryde  <kevin@swox.se>
                   8986:
                   8987:        * gmp.h (mp_set_memory_functions,mp_bits_per_limb,gmp_errno): Add
                   8988:        #defines so the library symbols are __gmp_*.
                   8989:        * errno.c: Include gmp.h.
                   8990:        * gmp-impl.h (_mp_allocate_func,etc): Add #defines to __gmp_*.
                   8991:        (__clz_tab): New #define to __MPN(clz_tab).
                   8992:        * stack-alloc.c (__gmp_allocate_func,etc): Change from _mp_*.
                   8993:
                   8994:        * Makefile.am (libmp_la_DEPENDENCIES): Add some mpz files needed
                   8995:        for new mpz_powm (pow in libmp).
                   8996:        (EXTRA_DIST): Add projects directory.
                   8997:
                   8998:        * mpn/*: Change __mpn to __gmpn.
                   8999:        * gmp.h (__MPN): Ditto.
                   9000:        * stack_alloc.c,stack-alloc.h: Change __tmp to __gmp_tmp.
                   9001:
                   9002:        * mpn/generic/sb_divrem_mn.c (mpn_sb_divrem_mn): Avoid gcc 2.7.2.3
                   9003:        i386 register handling bug (same as previously in mpn_divrem_classic).
                   9004:
                   9005:        * mpn/generic/divrem.c: Now contains mpn_divrem, which is not an
                   9006:        internal function, so remove warning comment.
                   9007:
                   9008:        * gmp.texi (Compatibility with Version 2.0.x): Source level only.
                   9009:
                   9010: 2000-04-16  Linus Nordberg  <linus@swox.se>
                   9011:
                   9012:        * configure.in (hppa1.0*): Prefer c89 to cc.
                   9013:        * configure: Regenerate.
                   9014:
                   9015: 2000-04-15  Linus Nordberg  <linus@swox.se>
                   9016:
                   9017:        * configure.in: If `mpn_path' is set by user on configure command
                   9018:        line, use that as path.
                   9019:        * configure: Regenerate.
                   9020:
                   9021: 2000-04-15  Linus Nordberg  <linus@swox.se>
                   9022:
                   9023:        * configure.in (hppa2.0*): Use path "hppa/hppa1_1 hppa" if no
                   9024:        64-bit compiler was found.
                   9025:        * configure: Regenerate.
                   9026:
                   9027: 2000-04-15  Linus Nordberg  <linus@swox.se>
                   9028:
                   9029:        * configure.in: Honor `CC' and `CFLAGS' set by user on configure
                   9030:        command line.
                   9031:        * acinclude.m4: (GMP_PROG_CC_SELECT): Set CFLAGS if not set already.
                   9032:        * aclocal.m4: Regenerate.
                   9033:        * configure: Regenerate.
                   9034:
                   9035: 2000-04-15  Linus Nordberg  <linus@swox.se>
                   9036:
                   9037:        * acinclude.m4 (GMP_PROG_CC_FIND): Remove debug output.  Remove
                   9038:        commented out code.
                   9039:        * aclocal.m4: Regenerate.
                   9040:        * configure: Regenerate.
                   9041:
                   9042:        * configure.in: Make all `-mcpu' options to gcc optional.
                   9043:        * configure: Regenerate.
                   9044:
1.1.1.4 ! ohara    9045:        * tests/rand/Makefile.am: Don't do anything for target 'all'.
        !          9046:        * tests/rand/Makefile.in: Regenerate.
        !          9047:
1.1.1.2   maekawa  9048: 2000-04-15  Kevin Ryde  <kevin@swox.se>
                   9049:
                   9050:        * README: Small updates.
                   9051:        * NEWS: Add some things about 3.0.
                   9052:
                   9053:        * mpz/Makefile.am (EXTRA_DIST): Remove dmincl.c.
                   9054:
                   9055:        * Makefile.am: Use -version-info on libraries, not -release.
                   9056:
                   9057:        * mpz/tdiv_qr.c: Add mdiv function header #ifdef BERKELEY_MP.
                   9058:        * mpbsd/Makefile.am: Use mpz/tdiv_qr.c, not mdiv.c.
                   9059:        * Makefile.am (MPBSD_OBJECTS): Change mdiv.lo to tdiv_qr.lo.
                   9060:        (libmp_la_DEPENDENCIES): Add mp_clz_tab.lo.
                   9061:        * mpbsd/mdiv.c: Remove file.
                   9062:
                   9063:        * config/mt-linux,mt-m68k,mt-m88110,mt-ppc,mt-ppc64-aix,mt-pwr,
                   9064:        mt-sprc8-gcc,mt-sprc9-gcc,mt-supspc-gcc,mt-vax,mt-x86,
                   9065:        mpn/config/mt-pa2hpux,mt-sprc9,t-oldgas,t-ppc-aix,t-pwr-aix:
                   9066:        Remove configure fragments not used since change to autoconf.
                   9067:
                   9068:        * mpn/generic/bz_divrem_n.c,sb_divrem_mn.c: Add comment that
                   9069:        internal functions are changeable and shouldn't be used directly.
                   9070:
                   9071: 2000-04-15  Linus Nordberg  <linus@swox.se>
                   9072:
                   9073:        * configure.in: Remove debug output.
                   9074:        * configure: Regenerate.
                   9075:
                   9076: 2000-04-15  Torbjorn Granlund  <tege@swox.com>
                   9077:
                   9078:        * mpn/generic/tdiv_qr.c: Don't use alloca directly.
                   9079:
                   9080:        * mpz/tdiv_qr.c: Fix typo.
                   9081:        * mpz/tdiv_r.c: Fix typo.
                   9082:        * mpz/tdiv_q.c: Fix typo.
                   9083:
                   9084:        * configure.in: Disable -march=pentiumpro due to apparent compiler
                   9085:        problems.
                   9086:
                   9087:        * mpz/powm.c: Replace with new code from Paul Zimmermann.
                   9088:
                   9089:        * mpz/tdiv_q.c: Remove debug code.
                   9090:
                   9091:        * mpn/generic/divrem.c: Remove C++ style `//' commented-out code.
                   9092:        * mpn/generic/sb_divrem_mn.c: Likewise.
                   9093:
                   9094: 2000-04-14  Torbjorn Granlund  <tege@swox.com>
                   9095:
                   9096:        * mpz/cdiv_q.c: Change temp allocation for new requirements of
                   9097:        mpz_tdiv_qr.
                   9098:        * mpz/fdiv_q.c: Likewise.
                   9099:
                   9100:        * mpn/sparc64/gmp-mparam.h: Set up parameters for TOOM3.
                   9101:
                   9102:        * mpz/dmincl.c: Delete file.
                   9103:        * mpz/tdiv_qr.c: Rewrite using mpn_tdiv_qr.
                   9104:        * mpz/tdiv_r.c: Likewise.
                   9105:        * mpz/tdiv_q.c: Likewise.
                   9106:
                   9107:        * mpn/generic/tdiv_qr.c: New file.
                   9108:        * mpn/generic/bz_divrem_n.c: New file.
                   9109:        * mpn/generic/sb_divrem_mn.c: New file.
                   9110:
                   9111:        * gmp-impl.h (MPZ_REALLOC): New macro.
                   9112:        (mpn_sb_divrem_mn): Declare.
                   9113:        (mpn_bz_divrem_n): Declare.
                   9114:        (mpn_tdiv_qr): Declare.
                   9115:
                   9116:        * configure.in (gmp_mpn_functions): Delete divrem_newt and divrem_1n;
                   9117:        add tdiv_qr, bz_divrem_n, and sb_divrem_mn.
                   9118:        * mpn/generic/divrem_newt.c: Delete file.
                   9119:        * mpn/generic/divrem_1n.c: Delete file.
                   9120:
                   9121:        * gmp.h (mpn_divrem_newton): Remove declaration.
                   9122:        (mpn_divrem_classic): Remove declaration.
                   9123:
                   9124:        * gmp.h (mpn_divrem): Remove function definition.
                   9125:        * mpn/generic/divrem.c: Replace mpn_divrem_classic with a
                   9126:        mpn_divrem wrapper.
                   9127:
                   9128: 2000-04-14  Kevin Ryde  <kevin@swox.se>
                   9129:
                   9130:        * mpf/dump.c, mpz/dump.c, mpn/generic/dump.c,
                   9131:        mpn/generic/divrem.c, mpn/generic/divrem_1n.c,
                   9132:        mpn/generic/divrem_2.c, mpn/generic/divrem_newt.c,
                   9133:        mpn/generic/mul.c, mpn/generic/mul_basecase.c,
                   9134:        mpn/generic/mul_n.c, mpn/generic/sqr_basecase.c,
                   9135:        mpn/generic/udiv_w_sdiv.c: Add comment that internal functions are
                   9136:        changeable and shouldn't be used directly.
                   9137:
                   9138:        * mpq/div.c: Use DIVIDE_BY_ZERO (previously didn't get an
                   9139:        exception on zero divisor).
                   9140:
                   9141:        * mpf/tests/t-get_d.c, mpz/tests/reuse.c: Add K&R function
                   9142:        definitions.
                   9143:        * mpz/tests/t-2exp.c: Don't use ANSI-ism 2ul.
                   9144:
                   9145:        * gmp.texi (Installing MP): Build problem notes for GSYM_PREFIX
                   9146:        and ranlib on native SunOS.
                   9147:        Particular systems notes about AIX and HPPA shared libraries
                   9148:        disabled.
                   9149:        (MP Basics): Add that undocumented things shouldn't be used.
                   9150:        (Introduction to MP): Add to CPUs listed.
                   9151:
                   9152:        * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Don't depend on C
                   9153:        having "void".
                   9154:
                   9155: 2000-04-13  Linus Nordberg  <linus@swox.se>
                   9156:
                   9157:        * mpn/pa64/udiv_qrnnd.c (__udiv_qrnnd64): Add K&R function
                   9158:        definition.
                   9159:
                   9160:        * configure.in: Disable shared libraries for hppa*.
                   9161:        (mips-sgi-irix6.*): Fix flags for 64-bit gcc.
                   9162:        (hppa2.0*-*-*): Prefer c89 to cc.
                   9163:        * configure: Regenerate.
                   9164:
                   9165:        * gmp.h (gmp_randalg_t): Remove comma after last element.
                   9166:
1.1.1.4 ! ohara    9167:        * tests/rand/t-rand.c: Add copyright notice.
        !          9168:
1.1.1.2   maekawa  9169: 2000-04-13  Kevin Ryde  <kevin@swox.se>
                   9170:
                   9171:        * mpn/generic/mul_n.c, mpn/generic/gcdext.c, mpz/nextprime.c,
                   9172:        mpz/remove.c, mpz/root.c: Add K&R function definitions.
                   9173:        * mpz/rrandomb.c: Fix typo in K&R part.
                   9174:        * stack-alloc.c: Add K&R style function pointer declarations.
                   9175:
                   9176:        * mpz/root.c: Use SQRT_OF_NEGATIVE on even roots of negatives.
                   9177:        Use DIVIDE_BY_ZERO on a "zero'th" root.
                   9178:
                   9179:        * configure: Regenerate with autoconf backpatched to fix --srcdir
                   9180:        absolute path wildcards that bash doesn't like, change by Linus.
                   9181:
                   9182:        * gmp.texi (Integer Arithmetic): Document mpz_nextprime.
                   9183:        (Miscellaneous Integer Functions): Fix mpz_fits_* formatting.
                   9184:        (Installing MP): Comment-out CC and CFLAGS description.
                   9185:
                   9186: 2000-04-13  Linus Nordberg  <linus@swox.se>
                   9187:
                   9188:        * rand.c (gmp_randinit): Don't combine va_alist with ordinary
                   9189:        arguments for non STDC.
                   9190:
                   9191: 2000-04-13  Torbjorn Granlund  <tege@swox.com>
                   9192:
                   9193:        * mpz/nextprime.c: Use proper names of new random types and functions.
                   9194:
                   9195:        * mpz/rrandomb.c: New file.
                   9196:        * mpz/Makefile.am: List it.
                   9197:        * mpz/Makefile.in: Regenerate.
                   9198:        * Makefile.am: Here too.
                   9199:        * Makefile.in: Regenerate.
                   9200:        * gmp.h: Declare mpz_rrandomb.
                   9201:
                   9202: 2000-04-12  Linus Nordberg  <linus@swox.se>
                   9203:
                   9204:        * Makefile.am, demos/Makefile.am, mpbsd/Makefile.am,
                   9205:        mpbsd/tests/Makefile.am, mpf/Makefile.am, mpf/tests/Makefile.am,
                   9206:        mpn/Makefile.am, mpq/Makefile.am, mpq/tests/Makefile.am,
                   9207:        mpz/Makefile.am, mpz/tests/Makefile.am, tests/Makefile.am,
                   9208:        tests/rand/Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'.
                   9209:
                   9210:        * Makefile.in, demos/Makefile.in, mpbsd/Makefile.in,
                   9211:        mpbsd/tests/Makefile.in, mpf/Makefile.in, mpf/tests/Makefile.in,
                   9212:        mpn/Makefile.in, mpq/Makefile.in, mpq/tests/Makefile.in,
                   9213:        mpz/Makefile.in, mpz/tests/Makefile.in, tests/Makefile.in,
                   9214:        tests/rand/Makefile.in: Regenerate.
                   9215:
                   9216: 2000-04-12  Linus Nordberg  <linus@swox.se>
                   9217:
                   9218:        * randlc.c (gmp_randinit_lc): Disable function.
                   9219:        * gmp.texi (Random State Initialization): Remove gmp_randinit_lc.
                   9220:
                   9221:        * acinclude.m4 (GMP_CHECK_CC_64BIT): Compiling an empty main
                   9222:        successfully with `-n32' will have to suffice on irix6.
                   9223:        * aclocal.m4: Regenerate.
                   9224:
                   9225:        * configure.in (sparc): Don't pass -D_LONG_LONG_LIMB to compiler.
                   9226:        (mips-sgi-irix6.*): Use compiler option `-n32' rather than `-64'
                   9227:        for 64-bit `cc'.  Add options for gcc.
                   9228:        * configure: Regenerate.
                   9229:
                   9230:        * mpf/urandomb.c (mpf_urandomb): Add third parameter 'nbits'.  If
                   9231:        'nbits' doesn't make even limbs, shift up result before
                   9232:        normalizing.
                   9233:
                   9234:        * gmp.h (mpf_urandomb): Add parameter to prototype.
                   9235:
                   9236:        * mpf/urandom.c: Rename file to ...
                   9237:        * mpf/urandomb.c: ... this.
                   9238:        * Makefile.am (MPF_OBJECTS): Change urandom.lo --> urandomb.lo.
                   9239:        * Makefile.in: Regenerate.
                   9240:        * mpf/Makefile.am (libmpf_la_SOURCES): Change urandom.c --> urandomb.c.
                   9241:        * mpf/Makefile.in: Regenerate.
                   9242:
                   9243:        * config.in: Regenerate for HAVE_DECL_OPTARG.
                   9244:
                   9245:        * randraw.c (_gmp_rand): Fix bug with _LONG_LONG_LIMB.
                   9246:        (lc): Change return type.
                   9247:        Use one temporary storage instead of two.
                   9248:        Handle seed of size 0.
                   9249:        Avoid modulus operation in some cases.
                   9250:        Abort if M is not a power of 2.
                   9251:        Fix bug with 64-bit limbs.
                   9252:        Fix bug with small seed, small A and large M.
                   9253:
1.1.1.4 ! ohara    9254:        * tests/rand/gen.c (main): Include gmp.h.  Remove macros MIN, MAX.  Add
        !          9255:        option '-q'.  Don't demand argument N.  Change parameters in call
        !          9256:        to mpf_urandomb.
        !          9257:
        !          9258:        * tests/rand/t-rand.c: New file for testing random number generation.
        !          9259:
        !          9260:        * tests/rand/Makefile.am: Run t-rand for 'make check'.
        !          9261:        (test, bigtest): Rename to manual-test, manual-bigtest.
        !          9262:        * tests/rand/Makefile.in: Regenerate.
        !          9263:
1.1.1.2   maekawa  9264: 2000-04-12  Kevin Ryde  <kevin@swox.se>
                   9265:
                   9266:        * gmp-impl.h: Include config.h before TMP_ALLOC, so
                   9267:        --disable-alloca works.
                   9268:
                   9269:        * mpbsd/Makefile.am: Don't recompile top-level sources here.
                   9270:        * Makefile.am (libmp_la_DEPENDENCIES): Put objects here instead,
                   9271:        add errno.lo and stack-alloc.lo.
                   9272:
                   9273:        * mpn/asm-defs.m4: Add a test and message for the unsuitable SunOS m4.
                   9274:        * gmp.texi (Installing MP): Update note on SunOS m4 failure.
                   9275:
                   9276:        * acconfig.h: Add copyright notice using @TOP@.
                   9277:
                   9278:        * stack-alloc.c: Use _mp_allocate_func, not malloc.
                   9279:        * gmp.texi (Installing MP): Note this under --disable-alloca.
                   9280:
                   9281:        * gmp.texi (Comparison Functions): mpz_cmp_abs => mpz_cmpabs.
                   9282:        (Integer Arithmetic): mpz_prime_p not yet implemented, comment out.
                   9283:        (Float Arithmetic): mpf_pow_ui now implemented, uncomment-out.
                   9284:        (Miscellaneous Float Functions): Add mpf_ceil, mpf_floor, mpf_trunc.
                   9285:        (Low-level Functions): Add mpn_random2, with mpn_random.
                   9286:
                   9287:        * mpn/m68k/mc68020/udiv.S: Rename from udiv.s.
                   9288:        * mpn/m68k/mc68020/umul.S: Ditto.
                   9289:
                   9290:        * mpn/alpha/umul.asm: Rename from umul.s, remove .file and
                   9291:        compiler identifiers.
                   9292:
                   9293:        * mpn/powerpc32/syntax.h: Removed, no longer used.
                   9294:
                   9295:        * mpn/a29k/udiv.s: Remove .file and compiler identifiers.
                   9296:        * mpn/a29k/umul.s: Ditto.
                   9297:
                   9298:        * mpn/tests/ref.c: Use WANT_ASSERT.
                   9299:        * mpn/tests/ref.h: Use _PROTO.
                   9300:
                   9301:        * mpbsd/configure.in: Removed, no longer required.
                   9302:
                   9303:        * mpf/div.c: Use DIVIDE_BY_ZERO.
                   9304:        * mpf/div_ui.c: Ditto.
                   9305:        * mpf/ui_div.c: Ditto.
                   9306:        * mpq/inv.c: Ditto.
                   9307:        * mpf/sqrt.c: Use SQRT_OF_NEGATIVE.
                   9308:        * mpz/sqrt.c: Ditto.
                   9309:        * mpz/sqrtrem.c: Ditto.
                   9310:
                   9311:        * gmp-impl.h (GMP_ERROR,SQRT_OF_NEGATIVE): New macros.
                   9312:        (DIVIDE_BY_ZERO): Use GMP_ERROR.
                   9313:        (__mp_bases): #define to __MPN(mp_bases).
                   9314:
1.1.1.4 ! ohara    9315: 2000-04-11  Linus Nordberg  <linus@swox.se>
        !          9316:
        !          9317:        * tests/rand/stat.c (main): Initialize `l1runs' at declaration.
        !          9318:
1.1.1.2   maekawa  9319: 2000-04-11  Kevin Ryde  <kevin@swox.se>
                   9320:
                   9321:        * mpz/fib_ui.c: Add K&R function definitions.
                   9322:
                   9323:        * mpbsd/tests/Makefile.am (TESTS): Add a dummy test to avoid a
                   9324:        shell problem with an empty "for tst in $(TESTS) ; ...".
                   9325:        * mpbsd/tests/dummy.c: New file.
                   9326:
                   9327: 2000-04-10  Torbjorn Granlund  <tege@swox.com>
                   9328:
                   9329:        * mpz/bin_uiui.c: Delete several unused variables.
                   9330:        Add copyright notice.
                   9331:        * mpz/bin_ui.c: Add copyright notice.
                   9332:
                   9333:        * longlong.h: Declare __count_leading_zeros for alpha.
                   9334:
                   9335: 2000-04-10  Linus Nordberg  <linus@swox.se>
                   9336:
                   9337:        * rand.c (gmp_randinit): Change parameter list to (rstate, alg, ...).
                   9338:        * gmp.h: Change prototype accordingly.
                   9339:        * mpz/pprime_p.c (millerrabin): Change call accordingly.
                   9340:
                   9341:        * configure.in: Check for `optarg'.
                   9342:        * configure: Regenerate.
                   9343:
                   9344:        * mpn/Makefile.am: Remove incorrect comment.
                   9345:        * mpn/Makefile.in: Regenerate.
                   9346:
                   9347:        * gmp.h: Rename most of the random number functions, structs and
                   9348:          some of the struct members.
                   9349:        * rand.c (gmp_randinit): Likewise.
                   9350:        * randclr.c (gmp_randclear): Likewise.
                   9351:        * randlc.c (gmp_randinit_lc): Likewise.
                   9352:        * randlc2x.c (gmp_randinit_lc_2exp): Likewise.
                   9353:        * randraw.c (lc): Likewise.
                   9354:        (_gmp_rand_getraw): Likewise.
                   9355:        * randsd.c (gmp_randseed): Likewise.
                   9356:        * randsdui.c (gmp_randseed_ui): Likewise.
                   9357:        * gmp.texi: Likewise.
                   9358:
                   9359:        * gmp.texi: Use three hyphens for a dash.
                   9360:        (Low-level Functions): Remove documentation for gmp_rand_getraw.
                   9361:        (Random Number Functions): Add info on where to find documentation
                   9362:        on the random number functions.
                   9363:
1.1.1.4 ! ohara    9364:        * tests/rand/Makefile.am (test, bigtest): Quote argument to grep.
        !          9365:        * tests/rand/Makefile.in: Regenerate.
        !          9366:
        !          9367:        * tests/rand/gen.c: Declare optarg, optind, opterr if not already
        !          9368:        declared.
        !          9369:        (main): Use new names for the random stuff.
        !          9370:        (main): Don't use strtoul() if we don't have it.  Use strtol()
        !          9371:        instead, if we have it.  Otherwise, use atoi().
        !          9372:        (main): Use srandom/srandomdev for __FreeBSD__ only.
        !          9373:        (main): Use new parameter order to gmp_randinit().
        !          9374:
        !          9375:        * tests/rand/stat.c: Declare optarg, optind, opterr if not already
        !          9376:        declared.
        !          9377:
1.1.1.2   maekawa  9378: 2000-04-10  Torbjorn Granlund  <tege@swox.com>
                   9379:
                   9380:        * mpz/pprime_p.c: Pass 0L for mpz_scan1.  mpz_mmod => mpz_mod.
                   9381:        (millerrabin): Use new random interface.
                   9382:        (millerrabin): ... and don't forget to call gmp_randclear.
                   9383:
                   9384:        * mpz/nextprime.c: New file.
                   9385:        * gmp.h: Declare mpz_nextprime.
                   9386:        * mpz/Makefile.am: List nextprime.c.
                   9387:        * mpz/Makefile.in: Regenerate.
                   9388:        * Makefile.am: List mpz/nextprime.lo.
                   9389:        * Makefile.in: Regenerate.
                   9390:
                   9391: 2000-04-10  Kevin Ryde  <kevin@swox.se>
                   9392:
1.1.1.4 ! ohara    9393:        * move-if-change, mpz/tests/move-if-change, mpq/tests/move-if-change,
        !          9394:        mpf/tests/move-if-change: Remove, no longer used.
1.1.1.2   maekawa  9395:
                   9396:        * Makefile.am (SUBDIRS): Add tests, demos, mpbsd.
                   9397:        (libmp.la): New target, conditional on WANT_MPBSD.
                   9398:        (libgmp_la_LIBADD): Add -lm.
                   9399:        (AUTOMAKE_OPTIONS): Add check-news.
                   9400:        (include_HEADERS): Setup to install gmp.h and possibly mp.h.
                   9401:        (DISTCLEANFILES): Add generated files.
                   9402:        (check): Remove explicit target (now uses check-recursive).
                   9403:
                   9404:        * configure.in: Use AM_CONFIG_HEADER.
                   9405:        Add --enable-mpbsd setting automake conditional WANT_MPBSD.
                   9406:        Output demos/Makefile, mpbsd/Makefile and mpbsd/tests/Makefile.
                   9407:
                   9408:        * mpz/Makefile.am: Add SUBDIRS=tests, shorten INCLUDES since now
                   9409:        using AM_CONFIG_HEADER.
                   9410:        * mpq/Makefile.am: Ditto.
                   9411:        * mpf/Makefile.am: Ditto, and add DISTCLEANFILES.
                   9412:        * mpn/Makefile.am: Shorten INCLUDES, amend some comments.
                   9413:        * mpz/tests/Makefile.am: Use TESTS and $(top_builddir).
                   9414:        * mpf/tests/Makefile.am: Ditto.
                   9415:        * mpq/tests/Makefile.am: Ditto.
                   9416:        * demos/Makefile.am: New file.
                   9417:
                   9418:        * mpbsd/Makefile.am: New file, derived from old mpbsd/Makefile.in.
                   9419:        * mpbsd/Makefile.in: Now generated from Makefile.am.
                   9420:        * mpbsd/realloc.c: Removed, use mpz/realloc.c instead.
                   9421:        * mpbsd/tests/Makefile.am: New file.
                   9422:        * mpbsd/tests/Makefile.in: New file, generated from Makefile.am.
                   9423:        * mpbsd/tests/allfuns.c: New file.
                   9424:
                   9425:        * gmp.texi (Top): Use @ifnottex, to help makeinfo --html.
                   9426:        (Installing MP): Describe --enable-mpbsd and demo programs.
                   9427:
1.1.1.4 ! ohara    9428:        * tests/rand/statlib.c: mpz_cmp_abs => mpz_cmpabs.
        !          9429:
        !          9430:        * tests/rand/Makefile.am (LDADD): Don't need -lm (now in libgmp.la).
        !          9431:        (EXTRA_PROGRAMS): Not noinst_PROGRAMS.
        !          9432:        (INCLUDES): Shorten to -I$(top_srcdir) now using AM_CONFIG_HEADER.
        !          9433:
1.1.1.2   maekawa  9434: 2000-04-09  Torbjorn Granlund  <tege@swox.com>
                   9435:
                   9436:        * mpz/urandomm.c: Get type of count right.
                   9437:        Simplify computation of nbits.
                   9438:
                   9439: 2000-04-08  Torbjorn Granlund  <tege@swox.com>
                   9440:
                   9441:        * mpz/urandomb.c: Fix reallocation condition.
                   9442:        Simplify size computation.
                   9443:
                   9444: 2000-04-08  Linus Nordberg  <linus@swox.se>
                   9445:
                   9446:        * acinclude.m4 (GMP_CHECK_CC_64BIT): Add special handling for
                   9447:        HPUX.
                   9448:        (GMP_CHECK_ASM_W32): Ditto.
                   9449:        * aclocal.m4: Regenerate.
                   9450:
                   9451:        * mpn/Makefile.am: Use $(CCAS) for assembling.
                   9452:        (.asm.obj): Add rule.
                   9453:        * mpn/Makefile.in: Regenerate.
                   9454:
                   9455:        * gmp.texi (Miscellaneous Integer Functions): Fix typos.
                   9456:
                   9457:        * configure.in: Never pass `-h' to grep.
                   9458:        (mips-sgi-irix6.[2-9]*): Try to find 64-bit compiler.
                   9459:        (hppa1.0*-*-*): New flag for cc.
                   9460:        (hppa2.0*-*-*): Try to find 64-bit compiler.  Chose path, set
                   9461:        CCAS.
                   9462:        * configure: Regenerate.
                   9463:
                   9464: 2000-04-08  Torbjorn Granlund  <tege@swox.com>
                   9465:
                   9466:        * mpz/bin_ui.c: Don't depend on ANSI C features.
                   9467:        * mpz/bin_uiui.c: Likewise.
                   9468:
                   9469:        * Makefile.am (MPZ_OBJECTS): mpz/cmp_abs* => mpz/cmpabs*.
                   9470:        (MPQ_OBJECTS): Add mpq/set_d.lo.
                   9471:        (MPZ_OBJECTS): Add mpz/fits*.lo.
                   9472:        * Makefile.in: Regenerate.
                   9473:
                   9474:        * mpz/cmpabs.c: New name for mpz/cmp_abs.c.
                   9475:        * mpz/cmpabs_ui.c: New name for mpz/cmp_abs_ui.c.
                   9476:        * mpz/Makefile.am: Corresponding changes.
                   9477:        * mpz/Makefile.in: Regenerate.
                   9478:        * gmp.h: mpz_cmp_abs* => mpz_cmpabs*.
                   9479:
                   9480:        * mpz/addmul_ui.c (mpn_neg1): Don't depend on ANSI C features.
                   9481:
                   9482:        * mpz/invert.c: Use TMP_MARK since we invoke MPZ_TMP_INIT.
                   9483:
                   9484:        * gmp.h (mpq_set_d): Declare correctly.
                   9485:        (mpz_root): Use _PROTO.
                   9486:        (mpz_remove): Use _PROTO.
                   9487:        (mpf_pow_iu): Use _PROTO.
                   9488:
                   9489:        * mpn/asm-defs.m4 (MPN_PREFIX): Revert previous change.
                   9490:        * gmp.h (__MPN): Revert previous change.
                   9491:
                   9492:        * mpz/perfpow.c: De-ANSI-fy.  Add copyright notice.
                   9493:
                   9494:        * mpz/set_d.c: Misc cleanups.
                   9495:
                   9496:        * mpq/set_d: New file.
                   9497:        * gmp.h: Declare mpq_set_d.
                   9498:        * mpq/Makefile.am: List set_d.c.
                   9499:        * mpq/Makefile.in: Regenerate.
                   9500:
                   9501: 2000-04-07  Torbjorn Granlund  <tege@swox.com>
                   9502:
                   9503:        * mpz/fits_sint_p.c: New file.
                   9504:        * mpz/fits_slong_p.c: New file.
                   9505:        * mpz/fits_sshort_p.c: New file.
                   9506:        * mpz/fits_uint_p.c: New file.
                   9507:        * mpz/fits_ulong_p.c: New file.
                   9508:        * mpz/fits_ushort_p.c: New file.
                   9509:        * gmp.h: Declare mpz_fits_*.
                   9510:        * mpz/Makefile.am: List fits_* files.
                   9511:        * mpz/Makefile.in: Regenerate.
                   9512:
                   9513: 2000-04-06  Kevin Ryde  <kevin@swox.se>
                   9514:
                   9515:        * gmp.texi (Installing MP): Add known build problem SunOS 4.1.4 m4
                   9516:        failure.
                   9517:
                   9518:        * mpn/x86/pentium/gmp-mparam.h: Tune thresholds.
                   9519:        * mpn/x86/p6/gmp-mparam.h: Ditto.
                   9520:        * mpn/x86/k6/gmp-mparam.h: Tune thresholds, add UMUL_TIME, UDIV_TIME.
                   9521:        * mpn/x86/k7/gmp-mparam.h: Tune thresholds, amend UMUL_TIME.
                   9522:
                   9523:        * mpn/generic/mul_n.c (mpn_kara_mul_n): Add an ASSERT.
                   9524:        (mpn_kara_sqr_n): Add an ASSERT, use KARATSUBA_SQR_THRESHOLD.
                   9525:        (mpn_toom3_sqr_n): Eliminate second evaluate3.
                   9526:
                   9527:        * gmp-impl.h (mpn_com_n,MPN_LOGOPS_N_INLINE): Don't allow size==0.
                   9528:        (tune_mul_threshold,tune_sqr_threshold): Conditionalize
                   9529:        declarations on TUNE_PROGRAM_BUILD.
                   9530:
                   9531:        * mpn/generic/sqr_basecase.c: Add an assert.
                   9532:
                   9533: 2000-04-05  Torbjorn Granlund  <tege@swox.com>
                   9534:
                   9535:        * gmp.h, mpn/asm-defs.m4: List the same functions for __MPN, but
                   9536:        leave some commented out.
                   9537:
                   9538:        * gmp-impl.h (MPN_LOGOPS_N_INLINE): Optimize.
                   9539:        (mpn_com_n): Optimize.
                   9540:
                   9541:        * gmp.h (__MPN): Make it use __gmpn instead of __mpn for consistency.
                   9542:        * mpn/asm-defs.m4 (MPN_PREFIX): Likewise.
                   9543:
                   9544:        * gmp.h (GMP_ERROR_ALLOCATE): New errcode.
                   9545:
                   9546:        * gmp-impl.h (MPN_MUL_N_RECURSE): Delete.
                   9547:        (MPN_SQR_RECURSE): Delete.
                   9548:
                   9549:        * gmp-impl.h (TARGET_REGISTER_STARVED): New define.
                   9550:
                   9551:        * gmp-impl.h (mpn_kara_sqr_n): Remap with __MPN.
                   9552:        (mpn_toom3_sqr_n): Likewise.
                   9553:        (mpn_kara_mul_n): Likewise.
                   9554:        (mpn_toom3_mul_n): Likewise.
                   9555:        (mpn_reciprocal): Likewise.
                   9556:
                   9557:        * gmp-impl.h (__gmpn_mul_n): Remove declaration.
                   9558:        (__gmpn_sqr): Likewise.
                   9559:        * gmp.h (mpn_sqr_n): Declare/remap.
                   9560:        * mpn/generic/mul.c (mpn_sqr_n): New name for mpn_sqr.
                   9561:
                   9562:        * gmp.h (mpn_udiv_w_sdiv): Move __MPN remap from here...
                   9563:        * gmp-impl.h: ...to here.
                   9564:
                   9565: 2000-04-05  Linus Nordberg  <linus@swox.se>
                   9566:
                   9567:        * gmp.texi (Top): Add `Random Number Functions' to menu.
                   9568:        (Introduction to MP): Fix typo.
                   9569:        (MP Basics): Create menu for all sections.  Move `Random Number
                   9570:        Functions' to its own chapter.  Add nodes for all sections.
                   9571:        (Function Classes): Mention random generation functions under
                   9572:        miscellaneous.
                   9573:        (Miscellaneous Integer Functions): Update mpz_urandomb,
                   9574:        mpz_urandomm.
                   9575:        (Low-level Functions): Remove mpn_rawrandom.
                   9576:        (Random State Initialization): Update.
                   9577:
                   9578:        * mpf/urandom.c (mpf_urandomb): Remove SIZE parameter.  Normalize
                   9579:        result correctly.
                   9580:
                   9581:        * gmp.h (mpf_urandomb): Remove SIZE parameter.
                   9582:
                   9583:        * randraw.c (gmp_rand_getraw): Handle the case where (1) the LC
                   9584:        scheme doesn't generate even limbs and (2) more than one LC
                   9585:        invokation is necessary to produce the requested number of bits.
                   9586:
                   9587: 2000-04-05  Torbjorn Granlund  <tege@swox.com>
                   9588:
                   9589:        * mpn/generic/mul_n.c (INVERSE_3): New name for THIRD, define for
                   9590:        any BITS_PER_MP_LIMB.
                   9591:        (MP_LIMB_T_MAX): New.
                   9592:        (mpn_divexact3_n): Remove.
                   9593:        (interpolate3): Use mpn_divexact_by3 instead of mpn_divexact3_n.
                   9594:
                   9595: 2000-04-05  Kevin Ryde  <kevin@swox.se>
                   9596:
                   9597:        * gmp-impl.h (KARATSUBA_MUL_THRESHOLD<2): Remove cpp test.
                   9598:        (tune_mul_threshold,tune_sqr_threshold): Add declarations, used in
                   9599:        development only.
                   9600:
                   9601:        * mpn/x86/k7/sqr_basecase.asm: New file, only a copy of k6 for now.
                   9602:
                   9603: 2000-04-04  Torbjorn Granlund  <tege@swox.com>
                   9604:
                   9605:        * gmp-impl.h (TOOM3_MUL_THRESHOLD): Provide default.
                   9606:        (TOOM3_SQR_THRESHOLD): Provide default.
                   9607:
                   9608:        * mpn/generic/mul_n.c: Rewrite (mostly by Robert Harley).
                   9609:        * mpn/generic/mul.c: Rewrite (mostly by Robert Harley).
                   9610:
                   9611:        * configure.in (sparcv9 64-bit OS): Set extra_functions.
                   9612:
                   9613: 2000-04-04  Linus Nordberg  <linus@swox.se>
                   9614:
                   9615:        * mpn/generic/rawrandom.c: Remove file and replace with randraw.c
                   9616:        on top level.
                   9617:        (mpn_rawrandom): Rename to gmp_rand_getraw.
                   9618:
                   9619:        * randraw.c: New file; essentially a copy of
                   9620:        mpn/generic/rawrandom.c.
                   9621:        (gmp_rand_getraw): New function (formerly known as mpn_rawrandom).
                   9622:
                   9623:        * mpz/urandomb.c (mpz_urandomb): Change mpn_rawrandom -->
                   9624:        gmp_rand_getraw.
                   9625:        * mpz/urandomm.c (mpz_urandomb): Ditto.
                   9626:        * mpf/urandom.c (mpf_urandomb): Ditto.
                   9627:
                   9628:        * gmp.h (gmp_rand_getraw): Add function prototype.
                   9629:        (mpn_rawrandom): Remove function prototype.
                   9630:
                   9631:        * Makefile.am (libgmp_la_SOURCES): Add randraw.c.
                   9632:        * Makefile.in: Regenerate.
                   9633:
                   9634:        * configure.in (gmp_mpn_functions): Remove rawrandom.
                   9635:        * configure: Regenerate.
                   9636:
                   9637: 2000-04-04  Linus Nordberg  <linus@swox.se>
                   9638:
                   9639:        * gmp.h (GMP_ERROR enum): Remove comma after last enumeration
                   9640:        since the AIX compiler (xlc) doesn't like that.
                   9641:
                   9642:        * randlc.c (gmp_rand_init_lc): Allocate enough space for seed to
                   9643:        hold any upcoming seed.
                   9644:        * randlc2x.c (gmp_rand_init_lc_2exp): Likewise.
                   9645:
                   9646:        * mpn/generic/rawrandom.c: Remove debugging code.
                   9647:        (mpn_lc): Don't reallocate seed.
                   9648:
                   9649:        * mpz/urandomm.c (mpz_urandomm): Implement function.
                   9650:
                   9651:        * mpz/urandomb.c (mpz_urandomb): Fix typo in function definition.
                   9652:
                   9653: 2000-04-04  Kevin Ryde  <kevin@swox.se>
                   9654:
                   9655:        * make.bat: Removed (no longer works, no longer supported).
                   9656:        * mpn/msdos/asm-syntax.h: Removed (was used only by make.bat).
                   9657:
                   9658: 2000-04-03  Torbjorn Granlund  <tege@swox.com>
                   9659:
                   9660:        * mpn/generic/brandom.c: New file, replacing random2.
                   9661:
                   9662: 2000-04-02  Torbjorn Granlund  <tege@swox.com>
                   9663:
                   9664:        * mpn/sparc32/v9/submul_1.asm: Change some carry-form instructions
                   9665:        into their plain counterparts.
                   9666:
                   9667:        * mpn/sparc64/copyi.asm: Avoid executing ALIGN.
                   9668:
                   9669:        * mpn/sparc64/mul_1.asm: Handle overlap of rp/sp.
                   9670:        * mpn/sparc64/addmul_1.asm: Likewise.
                   9671:        * mpn/sparc64/submul_1.asm: Likewise.
                   9672:
                   9673: 2000-04-01  Linus Nordberg  <linus@swox.se>
                   9674:
                   9675:        * gmp.h: Fix function prototypes for randomization functions.
                   9676:        (__gmp_rand_lc_scheme_struct): Replace `m' with `m2exp'. Remove
                   9677:        unused `bits'.
                   9678:        (__gmp_rand_data_lc): Add `m2exp' as another way of representing
                   9679:        the modulus.
                   9680:        (__gmp_rand_state_struct): Remove unused `size'.
                   9681:
                   9682:        * rand.c (__gmp_rand_scheme): Use better multipliers.  Remove test
                   9683:        schemes.  Replace `m' with `m2exp'.
                   9684:        (gmp_rand_init): Change parameters and return type.  Use `m2exp'
                   9685:        instead of `m'.  Set `gmp_errno' on error.  Disable BBS algorithm.
                   9686:
                   9687:        * randlc.c (gmp_rand_init_lc): Don't use malloc().  Change
                   9688:        parameters.
                   9689:
                   9690:        * randclr.c (gmp_rand_clear): Don't use free().  Disable BBS
                   9691:        algorithm.  Set `gmp_errno' on error.
                   9692:
                   9693:        * randlc2x.c (gmp_rand_init_lc_2exp): New function.
                   9694:        * randsd.c (gmp_rand_seed): New function.
                   9695:        * randsdui.c (gmp_rand_seed_ui): New function.
                   9696:        * randlcui.c: Remove unused file.
                   9697:
                   9698:        * mpn/generic/rawrandom.c (mpn_rawrandom): Rewrite.
                   9699:        (mpn_lc): New static function.
                   9700:
                   9701:        * mpz/urandomb.c (mpz_urandomb): Use ABSIZ() instead of SIZ() for
                   9702:        determining size of ROP.
                   9703:
                   9704:        * mpf/urandom.c (mpf_urandomb): Add third parameter, nbits.  (Not
                   9705:        used yet!)
                   9706:        Change parameter order to mpn_rawrandom().
                   9707:
                   9708:        * Makefile.am (libgmp_la_SOURCES): Add errno.c, randlc2x.c,
                   9709:        randsd.c, randsdui.c.  Remove randui.c.
                   9710:        (MPZ_OBJECTS): Rename urandom.lo --> urandomb.lo.  Add urandomm.lo.
                   9711:        * Makefile.in: Regenerate.
                   9712:
                   9713:        * mpz/Makefile.am (libmpz_la_SOURCES): Change urandom.c -->
                   9714:        urandomb.c.  Add urandomm.c.
                   9715:        * mpz/Makefile.in: Regenerate.
                   9716:
1.1.1.4 ! ohara    9717:        * tests/rand/Makefile.am (noinst_PROGRAMS): Change findcl --> findlc.
        !          9718:        Add gen.static.
        !          9719:        * tests/rand/Makefile.in: Regenerate.
        !          9720:
        !          9721:        * tests/rand/gen.c (main): Add mpz_urandomm.  Add command line options
        !          9722:        `-C', `-m', extend `-a'.  Use *mp*_*rand*() with new parameters.  Call
        !          9723:        gmp_rand_seed().
        !          9724:
1.1.1.2   maekawa  9725: 2000-04-01  Kevin Ryde  <kevin@swox.se>
                   9726:
                   9727:        * acinclude.m4 (GMP_CHECK_ASM_DATA): Plain .data for hpux.
                   9728:        * configure.in (CCAS): No CFLAGS, they're added when it's used.
                   9729:        (CONFIG_SRCDIR): New define for config.m4.
                   9730:        * mpn/sparc64/addmul_1.asm: Use it for an include().
                   9731:        * mpn/sparc64/submul_1.asm: Ditto.
                   9732:        * mpn/sparc64/mul_1.asm: Ditto.
                   9733:
                   9734: 2000-03-31  Linus Nordberg  <linus@swox.se>
                   9735:
                   9736:        * mpz/urandom.c: Rename to...
                   9737:        * mpz/urandomb.c: ...this.
                   9738:
                   9739:        * mpz/urandomb.c (mpz_urandomb): Change operand order in call to
                   9740:        mpn_rawrandom().  Use ABSIZ() instead of SIZ() when checking size
                   9741:        of ROP.
                   9742:
                   9743:        * mpz/urandomm.c: New file.
                   9744:
                   9745: 2000-03-31  Kevin Ryde  <kevin@swox.se>
                   9746:
                   9747:        * acinclude.m4 (GMP_CHECK_ASM_MMX): Give a warning when mmx code
                   9748:        will be omitted.
                   9749:
                   9750: 2000-03-30  Torbjorn Granlund  <tege@swox.com>
                   9751:
                   9752:        * mpn/sparc64/mul_1h.asm: New file.
                   9753:        * mpn/sparc64/addmul_1h.asm: New file.
                   9754:        * mpn/sparc64/submul_1h.asm: New file.
                   9755:        * mpn/sparc64/mul_1.asm: Rewrite.
                   9756:        * mpn/sparc64/addmul_1.asm: Rewrite.
                   9757:        * mpn/sparc64/submul_1.asm: Rewrite.
                   9758:
                   9759: 2000-03-28  Torbjorn Granlund  <tege@swox.com>
                   9760:
                   9761:        * mpn/sparc32/v9/mul_1.asm: Fix typo in branch prediction.
                   9762:        * mpn/sparc32/v9/addmul_1.asm: Likewise.
                   9763:        * mpn/sparc32/v9/submul_1.asm: Likewise.
                   9764:
                   9765: 2000-03-25  Kevin Ryde  <kevin@swox.se>
                   9766:
                   9767:        * mpn/lisp/gmpasm-mode.el: Fix some comment detection, use custom,
                   9768:        fontify more keywords, turn into a standalone mode.
                   9769:
                   9770:        * stamp-vti: New file, generated together with version.texi.
                   9771:
                   9772:        * acinclude.m4 (GMP_VERSION,GMP_HEADER_GETVAL): New macros.
                   9773:        * configure.in (AM_INIT_AUTOMAKE): Use GMP_VERSION.
                   9774:
                   9775: 2000-03-24  Kevin Ryde  <kevin@swox.se>
                   9776:
                   9777:        * INSTALL: Updates for new configure system.
                   9778:
                   9779:        * configure.in: Add gmp_optcflags_gcc for the x86s, setting -mcpu
                   9780:        and -march.
                   9781:
                   9782: 2000-03-23  Torbjorn Granlund  <tege@swox.com>
                   9783:
                   9784:        * demos/pexpr.c (mpz_eval_expr): Properly initialize rhs/lhs
                   9785:        for ROOT.
                   9786:
                   9787: 2000-03-23  Kevin Ryde  <kevin@swox.se>
                   9788:
                   9789:        * config.guess (i?86:*:*:*): Use uname -m if detection program fails.
                   9790:
                   9791:        * mpn/x86/README: Remove remarks on the now implemented MMX shifts.
                   9792:        * mpn/x86/k6/README: Add speed of mpn_divexact_by3, update mpn_mul_1.
                   9793:
                   9794:        * gmp.texi (Installing MP): Corrections to target CPUs.
                   9795:
                   9796:        * version.c: Use VERSION from config.h, add copyright comment,
                   9797:        restore "const" somehow lost.
                   9798:
                   9799:        * configure.in (a29k*-*-*): Fix directory name.
                   9800:
                   9801: 2000-03-22  Torbjorn Granlund  <tege@swox.com>
                   9802:
                   9803:        * demos/pexpr.c (op_t): Add ROOT.
                   9804:        (fns): Add ROOT.
                   9805:        (mpz_eval_expr): Add ROOT.
                   9806:
                   9807:        * mpz/root.c: Handle roots of negative numbers.
                   9808:        Fix other border cases.
                   9809:        Fix rare memory leakage.
                   9810:
                   9811:        * errno.c: New file.
                   9812:
                   9813: 2000-03-21  Torbjorn Granlund  <tege@swox.com>
                   9814:
                   9815:        * gmp.h (error number enum): New anonymous enum.
                   9816:        (gmp_errno): New.
                   9817:
                   9818:        * gmp.h (__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR): Bump for GMP 3.0.
                   9819:
                   9820: 2000-03-20  Torbjorn Granlund  <tege@swox.com>
                   9821:
                   9822:        * mpn/alpha/unicos.m4 (FLOAT64): New define.
                   9823:        * mpn/alpha/default.m4 (FLOAT64): New define.
                   9824:        * mpn/alpha/invert_limb.asm (C36): Use FLOAT64.
                   9825:
                   9826: 2000-03-21  Kevin Ryde  <kevin@swox.se>
                   9827:
                   9828:        * mpn/x86/k6/diveby3.asm: Tiny speedup.
                   9829:
                   9830:        * acinclude.m4 (GMP_CHECK_ASM_SHLDL_CL): New macro.
                   9831:        * configure.in: Use it, set WANT_SHLDL_CL in config.m4.
                   9832:        * mpn/x86/x86-defs.m4 (shldl,shrdl,shldw,shrdw): New macros, using
                   9833:        WANT_SHLDL_CL.
                   9834:        * mpn/x86/k6/mmx/lshift.asm: Use shldl macro.
                   9835:        * mpn/x86/k7/mmx/lshift.asm: Ditto.
                   9836:        * mpn/x86/pentium/mmx/lshift.asm: Ditto.
                   9837:        * mpn/x86/k6/mmx/rshift.asm: Use shrdl macro.
                   9838:        * mpn/x86/k7/mmx/rshift.asm: Ditto.
                   9839:        * mpn/x86/pentium/mmx/rshift.asm: Ditto.
                   9840:        * mpn/x86/README.family: Add a note about this.
                   9841:
                   9842: 2000-03-20  Linus Nordberg  <linus@swox.se>
                   9843:
                   9844:        * mpn/generic/rawrandom.c (mpn_rawrandom): Handle seed value of 0
                   9845:        correctly.
                   9846:
                   9847:        * configure.in: Fix detection of alpha flavour.
                   9848:        Set compiler options for `sparcv8'.
                   9849:        * configure: Regenerate.
                   9850:
                   9851:        * rand.c (__gmp_rand_scheme): Clean up some.  Use slightly better
                   9852:        multipliers.
                   9853:
                   9854:        * configure.in (AC_OUTPUT): Add tests/Makefile and
                   9855:        tests/rand/Makefile.
                   9856:
                   9857:        * acinclude.m4 (AC_CANONICAL_BUILD): Define to
                   9858:        `_AC_CANONICAL_BUILD' to deal with incompabilities between
                   9859:        Autoconf and Libtool.
                   9860:        (AC_CHECK_TOOL_PREFIX): Likewise.
                   9861:
                   9862:        * Makefile.am (EXTRA_DIST): Add directory `tests'.
                   9863:
                   9864:        * mkinstalldirs: Update (Automake 2000-03-17).
                   9865:        * ltconfig: Update (Libtool 2000-03-17).
                   9866:        * ltmain.sh: Ditto.
                   9867:
                   9868:        * configure: Regenerate with new autoconf/-make/libtool suite.
                   9869:        * aclocal.m4: Ditto.
                   9870:        * config.in: Ditto.
                   9871:        * all Makefile.in's: Ditto.
                   9872:
                   9873: 2000-03-20  Torbjorn Granlund  <tege@swox.com>
                   9874:
                   9875:        * demos/pexpr.c (main): Don't allow `-N' for base, require `-bN'.
                   9876:
                   9877:        * mpn/alpha/unicos.m4 (cvttqc): New define.
                   9878:        * mpn/alpha/invert_limb.asm: Use new define for cvttqc.
                   9879:
                   9880: 2000-03-19  Kevin Ryde  <kevin@swox.se>
                   9881:
                   9882:        * mpn/x86/k6/sqr_basecase.asm: Tiny amendments for 3x3 case.
                   9883:
                   9884:        * gmp.texi: Use @include version.texi.
                   9885:        Use @email and @uref.
                   9886:        (Installing MP): Rewrite for new configure.
                   9887:        (Low-level Functions): Add mpn_divexact_by3.
                   9888:
                   9889:        * configure.in (--enable-alloca): New option.
                   9890:        * acconfig.h (USE_STACK_ALLOC): For --disable-alloca.
                   9891:
                   9892: 2000-03-18  Kent Boortz  <kent@swox.com>
                   9893:
                   9894:        * macos: New directory with macos port files.
                   9895:
                   9896: 2000-03-17  Torbjorn Granlund  <tege@swox.com>
                   9897:
                   9898:        * gmp-impl.h (union ieee_double_extract): Check _CRAYMPP.
                   9899:
                   9900:        * mpn/asm-defs.m4 (invert_normalized_limb): Define.
                   9901:
                   9902:        * mpn/alpha: Translate `.s' files to `.asm'.
                   9903:
                   9904:        * configure: Regenerate.
                   9905:
                   9906:        * mpn/alpha/invert_limb.asm: Replace dash in file name with underscore.
                   9907:        * configure.in: Corresponding change.
                   9908:
                   9909:        * configure.in: Assign special "path" for alphaev6.
                   9910:
                   9911:        * mpn/alpha/unicos.m4: New file.
                   9912:        * configure.in (alpha*-cray-unicos*): [This part of the change
                   9913:        commited 2000-03-13 by linus]
                   9914:        * mpn/alpha/default.m4: New file.
                   9915:        * configure.in (alpha*-*-*): Use it.
                   9916:
                   9917: 2000-03-17  Kevin Ryde  <kevin@swox.se>
                   9918:
                   9919:        * mpn/x86/pentium/rshift.S: Use plain rcrl (not rcrl $1) for
                   9920:        shift-by-1 case, significant speedup.
                   9921:        * mpn/x86/pentium/README: Add shift-by-1 speed.
                   9922:
                   9923: 2000-03-16  Torbjorn Granlund  <tege@swox.com>
                   9924:
                   9925:        * config.guess: Handle Cray T3D/E.
                   9926:
                   9927: 2000-03-15  Kevin Ryde  <kevin@swox.se>
                   9928:
                   9929:        * mpn/generic/diveby3.c: New file.
                   9930:        * mpn/x86/diveby3.asm: New file.
                   9931:        * mpn/x86/k6/diveby3.asm: New file.
                   9932:        * gmp.h (mpn_divexact_by3): Prototype and define.
                   9933:        * mpn/asm-defs.m4: define_mpn(divexact_by3).
                   9934:        * configure.in (gmp_mpn_functions): Add diveby3.
                   9935:
                   9936:        * mpn/x86/pentium/sqr_basecase.asm: A few better addressing modes.
                   9937:
                   9938:        * configure.in: Add AC_C_STRINGIZE and AC_CHECK_TYPES((void)).
                   9939:        * gmp-impl.h (ASSERT): Use them.
                   9940:
                   9941:        * mpn/x86/k7/mmx/lshift.asm: New file.
                   9942:        * mpn/x86/k7/mmx/rshift.asm: Rewrite simple loop and return value
                   9943:        handling, add some pictures.
                   9944:
                   9945: 2000-03-14  Torbjorn Granlund  <tege@swox.com>
                   9946:
                   9947:        * mpn/sparc32/v8/mul_1.asm: Make PIC actually work.
                   9948:        * mpn/sparc32/v8/addmul_1.asm: Likewise.
                   9949:
                   9950:        * mpn/sparc32/v8/mul_1.asm: Use m4 ifdef, not cpp #if.
                   9951:        * mpn/sparc32/v8/addmul_1.asm: Likewise.
                   9952:
                   9953:        * mpn/asm-defs.m4 (C): New define for comments.
                   9954:        * mpn/sparc32: Start comments with `C'.
                   9955:
                   9956:        * config.guess: Remove `SunOS 6' handling.
                   9957:        Recognize sun4m and sun4d architectures under old SunOS.
                   9958:
                   9959: 2000-03-14  Linus Nordberg  <linus@swox.se>
                   9960:
                   9961:        * configure.in (gmp_srclinks): Set to list of links created by
                   9962:        configure.
                   9963:        * configure: Regenerate.
                   9964:
                   9965:        * Makefile.am (libgmp_la_LDFLAGS): Set version info.
                   9966:        (DISTCLEANFILES): Include @gmp_srclinks@.
                   9967:        * Makefile.in: Regenerate.
                   9968:
                   9969: 2000-03-13  Linus Nordberg  <linus@swox.se>
                   9970:
                   9971:        * configure.in: Remove some changequote's by quoting the strings
                   9972:        containing `[]'.
                   9973:        Add support for `alpha*-cray-unicos*'.
                   9974:        AC_DEFINE `_LONG_LONG_LIMB' instead of passing it in CFLAGS.
                   9975:        Conditionalize the assembler syntax checks.
                   9976:        * configure: Regenerate.
                   9977:        * config.in: Regenerate.
                   9978:
                   9979:        * acinclude.m4 (GMP_PROG_CCAS): Remove macro.
                   9980:        * aclocal.m4: Regenerate.
                   9981:
                   9982: 2000-03-13  Kevin Ryde  <kevin@swox.se>
                   9983:
                   9984:        * mpn/x86/p6/README: New file.
                   9985:
                   9986:        * mpn/x86/k6/mul_1.asm: Rewrite, smaller and slightly faster.
                   9987:
                   9988:        * mpn/lisp/gmpasm-mode.el: Rewrite assembler comment detection and
                   9989:        handling.
                   9990:
                   9991:        * configure.in: Separate mmx directories for each x86 flavour.
                   9992:        * configure: Regenerate.
                   9993:
                   9994: 2000-03-12  Kevin Ryde  <kevin@swox.se>
                   9995:
                   9996:        * mpn/x86/x86-defs.m4 (ALIGN): Supplement definition from
                   9997:        config.m4 so as to pad with nops not zeros on old gas.
                   9998:
                   9999:        * mpn/x86/k7/mmx/copyd.asm: Use plain emms (femms is just an alias
                   10000:        for emms now).
                   10001:        * mpn/x86/k7/mmx/copyi.asm: Ditto.
                   10002:        * mpn/x86/k7/mmx/rshift.asm: Ditto.
                   10003:        * mpn/x86/x86-defs.m4: Amend comments.
                   10004:
                   10005:        * mpn/x86/mod_1.asm: Add comments on speeds.
                   10006:
                   10007:        * mpn/x86/pentium/mmx/lshift.asm: New file.
                   10008:        * mpn/x86/pentium/mmx/rshift.asm: New file.
                   10009:        * mpn/x86/pentium/README: Add speeds of various routines.
                   10010:
                   10011: 2000-03-10  Linus Nordberg  <linus@swox.se>
                   10012:
                   10013:        * configure.in: Reorganize.
                   10014:        Use AC_CHECK_TOOL to find `ar'.
                   10015:        Add post-includes `regmap.m4' and `aix.m4' for AIX targets.
                   10016:        asm-syntax.h is not needed for PPC or sparc anymore.
                   10017:        (powerpc64-*-aix*): Compiler is always 64-bit. Use `-q64
                   10018:        -qtune=pwr3' to xlc and `-maix64 -mpowerpc64' to gcc.  Pass `-X
                   10019:        64' to `ar' and `nm'.
                   10020:        (pentiummmx): Use GMP_CHECK_ASM_MMX and avoid MMX assembly path if
                   10021:        assembler is not MMX capable.
                   10022:        (pentium[23]): Likewise.
                   10023:        (athlon): Likewise.
                   10024:        (k6*): Likewise.
                   10025:        * configure: Regenerate.
                   10026:
                   10027:        * acinclude.m4 (GMP_PROG_CC_WORKS): New macro.
                   10028:        (GMP_PROG_CC_FIND): Use GMP_PROG_CC_WORKS instead of
                   10029:        AC_TRY_COMPILER.  Make sure that the *first* working 32-bit
                   10030:        compiler is used if no 64-bit compiler is found.
                   10031:        (GMP_CHECK_ASM_MMX): New macro.
                   10032:        * aclocal.m4: Regenerate.
                   10033:
                   10034:        * Makefile.in: Regenerate.  (CC_TEST removed.)
                   10035:        * mpf/Makefile.in: Likewise.
                   10036:        * mpn/Makefile.in: Likewise.
                   10037:        * mpq/Makefile.in: Likewise.
                   10038:        * mpz/Makefile.in: Likewise.
                   10039:        * mpf/tests/Makefile.in: Likewise.
                   10040:        * mpq/tests/Makefile.in: Likewise.
                   10041:        * mpz/tests/Makefile.in: Likewise.
                   10042:
                   10043:        * acconfig.h (_LONG_LONG_LIMB): Add.
                   10044:
                   10045:        * gmp-impl.h: Include config.h only if HAVE_CONFIG_H is defined.
                   10046:
                   10047: 2000-03-09  Kevin Ryde  <kevin@swox.se>
                   10048:
                   10049:        * mpn/x86/pentium/mul_basecase.S: Small speedup by avoiding an AGI.
                   10050:
                   10051:        * mpn/x86/k7/mmx/copyd.asm: Tiny speedup by avoiding popl.
                   10052:        * mpn/x86/k7/mmx/copyi.asm: Ditto.
                   10053:        * mpn/x86/k7/mul_basecase.asm: Ditto.
                   10054:
                   10055: 2000-03-07  Torbjorn Granlund  <tege@swox.com>
                   10056:
                   10057:        * config.guess: Better recognize POWER/PowerPC processor type.
                   10058:
                   10059: 2000-03-07  Kevin Ryde  <kevin@swox.se>
                   10060:
                   10061:        * mpn/generic/addsub_n.c: Use HAVE_NATIVE_* now in config.h.
                   10062:
                   10063:        * mpn/asm-defs.m4: Add comments about SysV m4.
                   10064:        (m4_log2): Don't use <<.
                   10065:        (m4_lshift,m4_rshift): New macros.
                   10066:
                   10067: 2000-03-06  Torbjorn Granlund  <tege@swox.com>
                   10068:
                   10069:        * mpn/powerpc32/regmap.m4: Map cr0 => `0', etc.
                   10070:
                   10071: 2000-03-06  Kevin Ryde  <kevin@swox.se>
                   10072:
                   10073:        * mpn/tests/ref.c (refmpn_divexact_by3): New function.
                   10074:        * mpn/tests/ref.h: Prototype.
                   10075:
                   10076:        * acconfig.h (WANT_ASSERT): New define.
                   10077:        * configure.in (--enable-assert): Turn on WANT_ASSERT.
                   10078:        * assert.c: New file.
                   10079:        * Makefile.am: Add to build.
                   10080:        * gmp-impl.h (ASSERT): New macro.
                   10081:        (ASSERT_NOCARRY) Renamed from assert_nocarry.
                   10082:        (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS.
                   10083:        * mpn/tests/ref.c: Use ASSERT.
                   10084:        * mpf/get_str.c: Use ASSERT_ALWAYS.
                   10085:        * mpf/set_str.c: Remove old assert macro.
                   10086:
                   10087:        * mpn/x86/x86-defs.m4 (cmovnz_ebx_ecx): New macro.
                   10088:        * mpn/x86/p6/aorsmul_1.asm: Use cmov.
                   10089:
                   10090:        * mpn/x86/lshift.S: Use %dl with testb, not %edx. No object code
                   10091:        change, testb was still getting generated.
                   10092:        * mpn/x86/rshift.S: Ditto.
                   10093:
                   10094: 2000-03-03  Torbjorn Granlund  <tege@swox.com>
                   10095:
                   10096:        * longlong.h: Add IA-64 support.
                   10097:
                   10098:        * mpn/powerpc32: Misc cleanups.
                   10099:        * mpn/powerpc32/aix.m4: New file (mainly by Linus).
                   10100:        * mpn/powerpc64/aix.m4: New file (mainly by Linus).
                   10101:        * mpn/powerpc64: Translate `.S' files to `.asm'.
                   10102:
                   10103:        * configure.in: Fix tyops.
                   10104:        * configure: Regenerate.
                   10105:
                   10106: 2000-03-02  Torbjorn Granlund  <tege@swox.com>
                   10107:
                   10108:        * mpn/powerpc32/regmap.m4: New file.
                   10109:        * mpn/powerpc32: Translate `.S' files to `.asm'.
                   10110:        * configure.in: Use mpn/powerpc32/regmap.m4 for powerpc targets
                   10111:        except some weird ones.
                   10112:
                   10113: 2000-03-03  Kevin Ryde  <kevin@swox.se>
                   10114:
                   10115:        * mpn/lisp/gmpasm-mode.el: Suppress postscript comment prefixes in
                   10116:        filladapt.
                   10117:
                   10118:        * mpn/x86/pentium/sqr_basecase.asm: New file.
                   10119:        * mpn/x86/pentium/gmp-mparam.h (KARATSUBA_SQR_THRESHOLD): Update.
                   10120:
                   10121:        * configure.in: Add --enable-assert, enable k6 logops functions.
                   10122:
                   10123:        * mpn/x86/k6/mmx/copyi.asm: Use m4 for divide, not as.
                   10124:        * mpn/x86/k6/mmx/copyd.asm: Ditto.
                   10125:        * mpn/x86/README.family: Add a note on this.
                   10126:
                   10127: 2000-03-02  Kevin Ryde  <kevin@swox.se>
                   10128:
                   10129:        * mpn/x86/k6/aors_n.asm: Don't use stosl.
                   10130:        * mpn/x86/copyi.asm: Use cld to clear direction flag.
                   10131:        * mpn/x86/divrem_1.asm: Ditto.
                   10132:        * mpn/x86/README.family: Add a note on this.
                   10133:
                   10134:        * mpn/x86/k6/mmx/copyi.asm: Rewrite.
                   10135:        * mpn/x86/k6/mmx/copyd.asm: New file.
                   10136:        * mpn/x86/k6/README: Update, and small amendments.
                   10137:
                   10138:        * mpn/x86/x86-defs.m4 (Zdisp): New macro.
                   10139:        * mpn/asm-defs.m4 (m4_stringequal_p): New macro.
                   10140:
                   10141:        * mpn/x86/p6/aorsmul_1.asm: Use Zdisp to force zero displacements.
                   10142:        * mpn/x86/k6/aorsmul_1.asm: Ditto.
                   10143:        * mpn/x86/k6/mul_1.asm: Ditto.
                   10144:        * mpn/x86/k6/mul_basecase.asm: Ditto.
                   10145:        * mpn/x86/k7/aors_n.asm: Ditto.
                   10146:        * mpn/x86/k7/aorsmul_1.asm: Ditto.
                   10147:        * mpn/x86/k7/mul_1.asm: Ditto.
                   10148:        * mpn/x86/k7/mul_basecase.asm: Ditto.
                   10149:        * mpn/x86/README.family: Add a note on this.
                   10150:
                   10151: 2000-02-27  Kevin Ryde  <kevin@swox.se>
                   10152:
                   10153:        * mpn/generic/divrem.c (mpn_divrem_classic): Patch to avoid gcc
                   10154:        2.7.2.3 i386 register handling bug.
                   10155:
                   10156:        * mpn/x86/k6/aors_n.asm: Rewrite.
                   10157:        * mpn/x86/k6/mmx/lshift.asm: Rewrite.
                   10158:        * mpn/x86/k6/mmx/rshift.asm: Rewrite.
                   10159:        * mpn/x86/k6/README: Update.
                   10160:
                   10161:        * mpn/x86/k7/mmx/copyd.asm: Support size==0.
                   10162:        * mpn/x86/k7/mmx/copyi.asm: Ditto.
                   10163:        * mpn/x86/k6/mmx/copyi.asm: Ditto.
                   10164:        * gmp-impl.h: Comment size==0 allowed in MPN_COPY_INCR and
                   10165:        MPN_COPY_DECR.
                   10166:        * configure.in: Enable x86 copyi, copyd; add k6 com_n.
                   10167:
                   10168: 2000-02-25  Torbjorn Granlund  <tege@swox.com>
                   10169:
                   10170:        * demos/pexpr.c (power): Move factorial handing code from `factor'
                   10171:        to `power'.
                   10172:
                   10173:        * demos/factorize.c (factor_using_pollard_rho): Move resetting of `c'
                   10174:        to before checking for a non-zero gcd.
                   10175:
                   10176: 2000-02-25  Kevin Ryde  <kevin@swox.se>
                   10177:
                   10178:        * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro by Linus.
                   10179:        * mpn/x86/k6/aors_n.asm: Use MULFUNC_PROLOGUE.
                   10180:        * mpn/x86/k6/aorsmul_1.asm: Ditto.
                   10181:        * mpn/x86/k7/aors_n.asm: Ditto.
                   10182:        * mpn/x86/k7/aorsmul_1.asm: Ditto.
                   10183:        * mpn/x86/p6/aorsmul_1.asm: Ditto.
                   10184:
                   10185:        * mpn/tests/ref.c (refmpn_copyi,refmpn_copyd): Allow size==0.
                   10186:
                   10187:        * gmp-impl.h: Move mpn_and_n, mpn_andn_n, mpn_com_n, mpn_ior_n,
                   10188:        mpn_iorn_n, mpn_nand_n, mpn_nior_n, mpn_xor_n and mpn_xorn_n here
                   10189:        from gmp.h.  Use HAVE_NATIVE_mpn_* to make these functions or
                   10190:        inlines.
                   10191:
                   10192:        * gmp-impl.h: Move mpn_copyd, mpn_copyi here from gmp.h.
                   10193:        * gmp-impl.h (MPN_COPY_INCR): Use mpn_copyi if available.
                   10194:        * gmp-impl.h (MPN_COPY_DECR): Use mpn_copyd if available.
                   10195:
                   10196:        * mpn/x86/k6/mmx/com_n.asm: Moved into mmx subdirectory.
                   10197:        * mpn/x86/k6/mmx/copyi.asm: Ditto.
                   10198:        * mpn/x86/k6/mmx/lshift.asm: Ditto.
                   10199:        * mpn/x86/k6/mmx/rshift.asm: Ditto.
                   10200:        * mpn/x86/k7/mmx/rshift.asm: Ditto.
                   10201:        * mpn/x86/k6/mmx/logops_n.asm: New file.
                   10202:        * configure.in (k6*-*-*): Add logops_n.asm.
                   10203:        * mpn/x86/k6/README: Update.
                   10204:
                   10205:        * mpn/x86/k7/mmx/copyi.asm: New file.
                   10206:        * mpn/x86/k7/mmx/copyd.asm: New file.
                   10207:        * mpn/x86/k7/README: Update.
                   10208:
                   10209: 2000-02-24  Kevin Ryde  <kevin@swox.se>
                   10210:
                   10211:        * mpn/x86/x86-defs.m4 (femms): Generate emms if 3dnow not available.
                   10212:        * mpn/x86/x86-defs.m4 (FRAME_popl): New macro.
                   10213:
                   10214:        * Makefile.am: Add info_TEXINFOS = gmp.texi
                   10215:
                   10216:        * mpn/x86/divrem_1.asm: Moved from mpn/x86/k6, allow size==0,
                   10217:        conditionalize loop versus decl/jnz.
                   10218:        * mpn/x86/mod_1.asm: Ditto.
                   10219:        * mpn/x86/divmod_1.asm: Removed.
                   10220:        * gmp.texi (mpn_divrem_1,mpn_mod_1): Add that size==0 is allowed.
                   10221:        * mpn/tests/ref.c (refmpn_divrem_1c,etc): Allow size==0.
                   10222:
                   10223:        * mpn/x86/k6/aors_n.asm: Avoid gas 1.92.3 leal displacement
                   10224:        expression problem.
                   10225:        * mpn/x86/k6/aorsmul_1.asm: Ditto.
                   10226:        * mpn/x86/k6/mul_1.asm: Ditto.
                   10227:        * mpn/x86/k6/mul_basecase.asm: Ditto
                   10228:        * mpn/x86/k7/aors_n.asm: Ditto.
                   10229:        * mpn/x86/k7/aorsmul_1.asm: Ditto.
                   10230:        * mpn/x86/k7/mul_1.asm: Ditto.
                   10231:        * mpn/x86/k7/mul_basecase.asm: Ditto.
                   10232:        * mpn/x86/k7/rshift.asm: Ditto.
                   10233:        * mpn/x86/p6/aorsmul_1.asm: Ditto.
                   10234:        * mpn/x86/README.family: Describe problem.
                   10235:
                   10236: 2000-02-24  Linus Nordberg  <linus@swox.se>
                   10237:
                   10238:        * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Add dummy symbol to
                   10239:        testcase to avoid nm failure.  Try nm before piping to grep.
                   10240:
                   10241:        * acconfig.h: Undef HAVE_NATIVE_func for every mpn function found
                   10242:        in gmp.h.
                   10243:
                   10244:        * configure.in: Invoke AC_CONFIG_HEADERS.
                   10245:        Don't invoke AM_CONFIG_HEADER; it makes autoconf confused.
                   10246:        Dig out entry points declared in assembly code and AC_DEFINE proper
                   10247:        HAVE_NATIVE_func.
                   10248:
                   10249:        * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro.
                   10250:
                   10251:        * mpn/x86/p6/aorsmul_1.asm: Use MULFUNC_PROLOGUE.
                   10252:        * mpn/x86/k6/aors_n.asm: Likewise.
                   10253:
                   10254:        * Makefile.am (EXTRA_DIST): Add config.in; needed when we don't
                   10255:        use AM_CONFIG_HEADER in configure.in.
                   10256:
                   10257:        * mpn/Makefile.am (INCLUDES): Add `-I..' for config.h and
                   10258:        gmp-mparam.h.
                   10259:        * mpf/Makefile.am: Likewise.
                   10260:        * mpq/Makefile.am: Likewise.
                   10261:        * mpz/Makefile.am: Likewise.
                   10262:
                   10263:        * mpf/tests/Makefile.am (INCLUDES): Add `-I../..' for config.h and
                   10264:        gmp-mparam.h.
                   10265:        * mpq/tests/Makefile.am: Likewise.
                   10266:        * mpz/tests/Makefile.am: Likewise.
                   10267:
                   10268:        * configure: Regenerate.
                   10269:        * aclocal.m4: Regenerate.
                   10270:        * config.in: Regenerate.
                   10271:        * Makefile.in: Regenerate.
                   10272:        * mpf/Makefile.in: Regenerate.
                   10273:        * mpn/Makefile.in: Regenerate.
                   10274:        * mpq/Makefile.in: Regenerate.
                   10275:        * mpz/Makefile.in: Regenerate.
                   10276:        * mpf/tests/Makefile.in: Regenerate.
                   10277:        * mpq/tests/Makefile.in: Regenerate.
                   10278:        * mpz/tests/Makefile.in: Regenerate.
                   10279:
                   10280: 2000-02-23  Kevin Ryde  <kevin@swox.se>
                   10281:
                   10282:        * mpn/x86/addmul_1.S: Amend comments, this code no longer used by
                   10283:        PentiumPro.
                   10284:        * mpn/x86/submul_1.S: Ditto.
                   10285:
                   10286:        * mpn/x86/k6/com_n.asm: Rewrite, smaller but same speed.
                   10287:
                   10288:        * mpn/x86/addmul_1.S: Add PROLOGUE and EPILOGUE to get .type and
                   10289:        .size for ELF.  Rename #define size to n to avoid .size.
                   10290:        * mpn/x86/lshift.S: Ditto.
                   10291:        * mpn/x86/mul_1.S: Ditto.
                   10292:        * mpn/x86/mul_basecase.S: Ditto.
                   10293:        * mpn/x86/rshift.S: Ditto.
                   10294:        * mpn/x86/submul_1.S: Ditto.
                   10295:        * mpn/x86/udiv.S: Ditto.
                   10296:        * mpn/x86/umul.S: Ditto.
                   10297:        * mpn/x86/pentium/add_n.S: Ditto.
                   10298:        * mpn/x86/pentium/addmul_1.S: Ditto.
                   10299:        * mpn/x86/pentium/lshift.S: Ditto.
                   10300:        * mpn/x86/pentium/mul_1.S: Ditto.
                   10301:        * mpn/x86/pentium/mul_basecase.S: Ditto.
                   10302:        * mpn/x86/pentium/rshift.S: Ditto.
                   10303:        * mpn/x86/pentium/sub_n.S: Ditto.
                   10304:        * mpn/x86/pentium/submul_1.S: Ditto.
                   10305:
                   10306: 2000-02-22  Linus Nordberg  <linus@swox.se>
                   10307:
                   10308:        * acinclude.m4 (GMP_INIT): Use temporary file cnfm4p.tmp for
                   10309:        post-defines.
                   10310:        (GMP_FINISH): Ditto.
                   10311:        (GMP_DEFINE): Add third optional argument specifying location in
                   10312:        outfile.
                   10313:        (GMP_DEFINE_RAW): New macro.
                   10314:        * aclocal.m4: Regenerate.
                   10315:
                   10316:        * configure.in: Add `HAVE_TARGET_CPU_$target_cpu' using
                   10317:        GMP_DEFINE_RAW.
                   10318:        * configure: Regenerate.
                   10319:
                   10320:        * mpz/tests/Makefile.am: New test t-root.
                   10321:        * mpz/tests/Makefile.in: Regenerate.
                   10322:
                   10323: 2000-02-22  Torbjorn Granlund  <tege@swox.com>
                   10324:
                   10325:        * mpz/root.c: Complete rewrite; still primitive, but at least correct.
                   10326:        * mpz/tests/t-root.c: New test.
                   10327:
                   10328: 2000-02-22  Kevin Ryde  <kevin@swox.se>
                   10329:
                   10330:        * mpn/x86/k7/mul_basecase.asm: New file.
                   10331:        * mpn/x86/k7/README: Add mpn_mul_basecase speed.
                   10332:        * mpn/x86/k7/gmp-mparam.h: New file.
                   10333:
                   10334:        * mpn/x86/x86-defs.m4 (loop_or_decljnz,cmov_bytes): New macros.
                   10335:        * mpn/asm-defs.m4 (m4_ifdef_anyof_p): New macro.
                   10336:
                   10337:        * mpn/x86/k6/aorsmul_1.asm: New file.
                   10338:        * mpn/x86/k6/addmul_1.S: Removed (was a copy of pentium version).
                   10339:        * mpn/x86/k6/submul_1.S: Removed (was a copy of pentium version).
                   10340:
                   10341:        * mpn/x86/p6/aorsmul_1.asm: Use OPERATION_addmul_1 and
                   10342:        OPERATION_submul_1.
                   10343:        * mpn/x86/k6/aors_n.asm: Use OPERATION_add_n and OPERATION_sub_n.
                   10344:        * configure.in: Declare multi-function files for k6 and p6.
                   10345:
                   10346:        * configure.in: Add HAVE_TARGET_CPU_$target_cpu for config.m4.
                   10347:        * mpn/asm-defs.m4 (define_not_for_expansion): New macro.
                   10348:
                   10349:        * mpn/generic/divrem_1n.c (__gmpn_divrem_1n): New file, split from
                   10350:        mpn/generic/divrem_1.c.
                   10351:        * mpn/generic/divrem_1.c: Ditto.
                   10352:        * configure.in (gmp_mpn_functions): Ditto.
                   10353:
                   10354: 2000-02-21  Torbjorn Granlund  <tege@swox.com>
                   10355:
                   10356:        * gmp.h: Undo 1996-10-06 NeXT change, it was clearly improperly
                   10357:        written.
                   10358:
                   10359: 2000-02-21  Linus Nordberg  <linus@swox.se>
                   10360:
                   10361:        * configure.in: Link <src>/mpn/asm-defs.m4 to <build>mpn/asm.m4.
                   10362:        * configure: Regenerate.
                   10363:
                   10364: 2000-02-21  Linus Nordberg  <linus@swox.se>
                   10365:
                   10366:        * mpn/x86/k7/aorsmul_1.asm: Change OPERATION_ADDMUL -->
                   10367:        OPERATION_addmul_1.  Change OPERATION_SUBMUL -->
                   10368:        OPERATION_submul_1.
                   10369:
                   10370:        * mpn/x86/k7/aors_n.asm: Change OPERATION_ADD --> OPERATION_add_n.
                   10371:        Change OPERATION_SUB --> OPERATION_sub_n.
                   10372:
                   10373:        * mpn/Makefile.am: Pass -DOPERATION_$* to preprocessors.
                   10374:        * mpn/Makefile.in: Regenerate.
                   10375:
                   10376:        * configure.in: Symlink mpn/asm-defs.m4 to build-dir/mpn.  Link
                   10377:        multi-function files to mpn/<function>.asm and remove function
                   10378:        name from `gmp_mpn_functions'.
                   10379:        * configure: Regenerate.
                   10380:
                   10381:        * acinclude.m4 (GMP_FINISH): Tell user what we're doing.
                   10382:        * aclocal.m4: Regenerate.
                   10383:
                   10384: 2000-02-21  Kevin Ryde  <kevin@swox.se>
                   10385:
                   10386:        * gmp-impl.h: Rename __gmpn_mul_basecase to mpn_mul_basecase and
                   10387:        __gmpn_sqr_basecase to mpn_sqr_basecase, remove __gmpn prototypes.
                   10388:        * mpn/x86/mul_basecase.S: Ditto.
                   10389:        * mpn/x86/pentium/mul_basecase.S: Ditto.
                   10390:
                   10391:        * configure.in (gmp_m4postinc): Use x86-defs.m4 on athlon-*-* too.
                   10392:
                   10393: 2000-02-20  Kevin Ryde  <kevin@swox.se>
                   10394:
                   10395:        * acinclude.m4 (GSYM_PREFIX): Drop $1, change by Linus.
                   10396:        * mpn/asm-defs.m4 (PROLOGUE,EPILOGUE): Use GSYM_PREFIX as a
                   10397:        string, change by Linus.
                   10398:        * mpn/x86/x86-defs.m4: Use GSYM_PREFIX as a string.
                   10399:
                   10400:        * mpn/x86/k6/gmp-mparam.h: New file.
                   10401:        * mpn/asm-defs.m4 (m4_warning): New macro.
                   10402:
                   10403:        * mpn/x86/README: Amendments per new code and directories.
                   10404:        * mpn/x86/README.family: New file.
                   10405:        * mpn/x86/k6/README: New file.
                   10406:        * mpn/x86/k7/README: New file.
                   10407:
                   10408:        * mpn/generic/mul_n.c: Rename __gmpn_mul_basecase to
                   10409:        mpn_mul_basecase and __gmpn_sqr_basecase to mpn_sqr_basecase.
                   10410:        * mpn/generic/mul_basecase.c: Ditto.
                   10411:        * mpn/generic/sqr_basecase.c: Ditto.
                   10412:        * mpn/generic/mul.c: Ditto.
                   10413:
                   10414: 2000-02-19  Linus Nordberg  <linus@swox.se>
                   10415:
                   10416:        * configure.in: Don't try to symlink more than one multi-func
                   10417:        file.
                   10418:        * configure: Regenerate.
                   10419:
                   10420: 2000-02-18  Linus Nordberg  <linus@swox.se>
                   10421:
                   10422:        * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): GMP_DEFINE
                   10423:        `GSYM_PREFIX'.  Run ACTIONs even when value is found in cache.
                   10424:        (GMP_CHECK_ASM_ALIGN_LOG): GMP_DEFINE `ALIGN'.  Run ACTIONs even
                   10425:        when value is found in cache.
                   10426:        * aclocal.m4: Regenerate.
                   10427:
                   10428:        * configure.in: Don't define GSYM_PREFIX or ALIGN.
                   10429:        Add mechanism for multi-function files.
                   10430:        * configure: Regenerate.
                   10431:
                   10432: 2000-02-18  Kevin Ryde  <kevin@swox.se>
                   10433:
                   10434:        * configure.in (gmp_m4postinc): Enable x86-defs.m4.
                   10435:        * mpn/x86/k7/mul_1.asm: Fix include.
                   10436:        * mpn/x86/k6/mul_basecase.S: Removed (copy of the pentium version).
                   10437:        * mpn/x86/k6/mul_basecase.asm: New file.
                   10438:        * mpn/x86/k6/sqr_basecase.asm: New file.
                   10439:        * mpn/x86/k6/com_n.asm: New file.
                   10440:        * mpn/x86/k6/copyi.asm: New file.
                   10441:        * gmp.texi (Low-level Functions): Clarify mpn overlaps permitted.
                   10442:        * gmp-impl.h (MPN_OVERLAP_P): New macro.
                   10443:        * gmp-impl.h (assert_nocarry): New macro.
                   10444:        * mpn/tests/ref.c: New file, based in part on other mpn/tests/*.c.
                   10445:        * mpn/tests/ref.h: New file.
                   10446:
                   10447: 2000-02-17  Linus Nordberg  <linus@swox.se>
                   10448:
                   10449:        * Makefile.am (dist-hook): Don't include any emacs backup files
                   10450:        (*.~*) in dist.
                   10451:        * Makefile.in: Regenerate.
                   10452:
                   10453: 2000-02-17  Torbjorn Granlund  <tege@swox.com>
                   10454:
                   10455:        * mpn/sparc32/v9/mul_1.asm: Use `rd' to get current PC; get rid of
                   10456:        getpc function.
                   10457:        * mpn/sparc32/v9/addmul_1.asm: Likewise.
                   10458:        * mpn/sparc32/v9/submul_1.asm: Likewise.
                   10459:
                   10460: 2000-02-17  Kevin Ryde  <kevin@swox.se>
                   10461:
                   10462:        * gmp.h: Add prototypes and defines for mpn_and_n, mpn_andn_n,
                   10463:        mpn_com_n, mpn_copyd, mpn_copyi, mpn_ior_n, mpn_iorn_n,
                   10464:        mpn_mul_basecase, mpn_nand_n, mpn_nior_n, mpn_sqr_basecase,
                   10465:        mpn_xor_n, mpn_xorn_n.
                   10466:
                   10467:        * mpn/asm-defs.m4: Many additions making up initial version.
                   10468:        * mpn/asm-defs.m4 (L): Use defn(`LSYM_PREFIX').
                   10469:        * mpn/x86/x86-defs.m4: New file.
                   10470:        * mpn/x86/k6/aors_n.asm: New file.
                   10471:        * mpn/x86/k6/divmod_1.asm: New file.
                   10472:        * mpn/x86/k6/divrem_1.asm: New file.
                   10473:        * mpn/x86/k6/lshift.S: Removed (was a copy of the pentium version).
                   10474:        * mpn/x86/k6/lshift.asm: New file.
                   10475:        * mpn/x86/k6/mod_1.asm: New file.
                   10476:        * mpn/x86/k6/mul_1.S: Removed (was a copy of the pentium version).
                   10477:        * mpn/x86/k6/mul_1.asm: New file.
                   10478:        * mpn/x86/k6/rshift.S: Removed (was a copy of the pentium version).
                   10479:        * mpn/x86/k6/rshift.asm: New file.
                   10480:        * mpn/x86/k7/aors_n.asm: New file.
                   10481:        * mpn/x86/k7/aorsmul_1.asm: New file.
                   10482:        * mpn/x86/k7/mul_1.asm: New file.
                   10483:        * mpn/x86/k7/rshift.asm: New file.
                   10484:        * mpn/x86/p6/aorsmul_1.asm: New file.
                   10485:        * mpn/x86/copyi.asm: New file.
                   10486:        * mpn/x86/copyd.asm: New file.
                   10487:        * mpn/lisp/gmpasm-mode.el: New file.
                   10488:
                   10489: 2000-02-16  Torbjorn Granlund  <tege@swox.com>
                   10490:
                   10491:        * mpn/sparc32/v9/mul_1.asm: Conditionalize for PIC.
                   10492:        * mpn/sparc32/v9/addmul_1.asm: Likewise.
                   10493:        * mpn/sparc32/v9/submul_1.asm: Likewise.
                   10494:        * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
                   10495:        * mpn/sparc32/udiv_fp.asm: Likewise.
                   10496:
                   10497: 2000-02-16  Linus Nordberg  <linus@swox.se>
                   10498:
                   10499:        * configure.in: Add mechanism for including target specific
                   10500:        m4-files in config.m4.
                   10501:        * configure: Regenerate.
                   10502:
                   10503:        * acinclude.m4 (GMP_PROG_CCAS): Begin assembly lines (except
                   10504:        labels) with a tab character.  HP-UX demands it.
                   10505:        (GMP_CHECK_ASM_SIZE): Ditto.
                   10506:        (GMP_CHECK_ASM_LSYM_PREFIX): Ditto.
                   10507:        (GMP_CHECK_ASM_LABEL_SUFFIX): Set to empty string for HP-UX.
                   10508:        (GMP_CHECK_ASM_GLOBL): Change `.xport' --> `.export'.
                   10509:        * aclocal.m4: Regenerate.
                   10510:
                   10511: 2000-02-16  Linus Nordberg  <linus@swox.se>
                   10512:
                   10513:        * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Define LSYM_PREFIX as
                   10514:        the prefix only, no argument.
                   10515:        * aclocal.m4: Regenerate.
                   10516:        * configure: Regenerate.
                   10517:
                   10518:        * mpn/asm-defs.m4 (L): No argument to LSYM_PREFIX.
                   10519:
                   10520: 2000-02-15  Linus Nordberg  <linus@swox.se>
                   10521:
                   10522:        * acinclude.m4: Prefix all temporary shell variables with
                   10523:        `gmp_tmp_'.
                   10524:        (GMP_PROG_CC_FIND): Use defaults if no arguments are passed.
                   10525:        Quote use of arguments.
                   10526:        (GMP_PROG_CCAS): New macro.
                   10527:        (GMP_INIT): New macro.
                   10528:        (GMP_FINISH): New macro.
                   10529:        (GMP_INCLUDE): New macro.
                   10530:        (GMP_SINCLUDE): New macro.
                   10531:        (GMP_DEFINE): New macro.
                   10532:        (GMP_CHECK_ASM_LABEL_SUFFIX): New macro.
                   10533:        (GMP_CHECK_ASM_TEXT): New macro.
                   10534:        (GMP_CHECK_ASM_DATA): New macro.
                   10535:        (GMP_CHECK_ASM_GLOBL): New macro.
                   10536:        (GMP_CHECK_ASM_TYPE): New macro.
                   10537:        (GMP_CHECK_ASM_SIZE): New macro.
                   10538:        (GMP_CHECK_ASM_LSYM_PREFIX): New macro.
                   10539:        (GMP_CHECK_ASM_W32): New macro.
                   10540:        * aclocal.m4: Regenerate.
                   10541:
                   10542:        * configure.in: Find m4 and nm for target.
                   10543:        Use new macros to create config.m4.
                   10544:        Prefix all temporary shell variables with `tmp_'.
                   10545:        Pass `-X 64' to nm for 64-bit PPC target with 64-bit compiler.
                   10546:        * configure: Regenerate.
                   10547:
                   10548:        * Makefile.am (dist-hook): *Really* remove all CVS dirs in
                   10549:        dist.
                   10550:        * Makefile.in: Regenerate.
                   10551:
                   10552:        * mpn/Makefile.am: Add target for building .lo and .o from
                   10553:        .asm.
                   10554:        Pass -DPIC to preprocessor (CPP/m4) when building .lo.
                   10555:        Build .o a second time for target .lo, without -DPIC to
                   10556:        preprocessor.
                   10557:        (SUFFIX): Add `.asm'.
                   10558:        (EXTRA_DIST): Add asm-defs.m4.
                   10559:        * mpn/Makefile.in: Regenerate.
                   10560:
                   10561:        * mpf/Makefile.in: Regenerate.
                   10562:        * mpf/tests/Makefile.in: Regenerate.
                   10563:        * mpq/Makefile.in: Regenerate.
                   10564:        * mpq/tests/Makefile.in: Regenerate.
                   10565:        * mpz/Makefile.in: Regenerate.
                   10566:        * mpz/tests/Makefile.in: Regenerate.
                   10567:
                   10568: 2000-02-15  Torbjorn Granlund  <tege@swox.com>
                   10569:
                   10570:        * mpn/sparc32/udiv_fp.asm: Change `RODATA' to `DATA'.
                   10571:        * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
                   10572:        * mpn/sparc32/v9/addmul_1.asm: Likewise.
                   10573:        * mpn/sparc32/v9/submul_1.asm: Likewise.
                   10574:        * mpn/sparc32/v9/mul_1.asm: Likewise.
                   10575:
                   10576:        * mpn/sparc32/add_n.asm: Rename `size' -> `n'.
                   10577:        * mpn/sparc32/sub_n.asm: Likewise.
                   10578:
                   10579:        * sparc32: Rename `.s' and `.S' files to `.asm'.
                   10580:        * sparc64: Rename `.s' and `.S' files to `.asm'.
                   10581:
                   10582: 2000-02-11  Torbjorn Granlund  <tege@swox.com>
                   10583:
                   10584:        * config.sub: Adopt to new config.guess sparc naming conventions.
                   10585:
                   10586:        * config.guess (sun4u:SunOS:5.*:*): Change `sparc9' to `sparcv9'.
                   10587:        * config.guess (sun4m:SunOS:5.*:*): Change to sun4[md]:SunOS:5.*:* and
                   10588:        change `sparc8' to `sparcv8'.
                   10589:
                   10590:        * mpn/x86/add_n.S: Use PROLOGUE/EPILOGUE.
                   10591:        * mpn/x86/sub_n.S: Likewise.
                   10592:
                   10593:        * mpn/x86/syntax.h (PROLOGUE): New name for PROLOG.
                   10594:        * mpn/x86/syntax.h (EPILOGUE): New name for EPILOG.
                   10595:
                   10596: 2000-02-11  Linus Nordberg  <linus@swox.se>
                   10597:
                   10598:        * configure.in: Better path for 64-bit sparc without 64-bit cc.
                   10599:        Change sparc8 --> sparcv8.
                   10600:        Change sparc9 --> sparcv9.
                   10601:        * configure: Regenerate.
                   10602:
                   10603: 2000-02-10  Linus Nordberg  <linus@swox.se>
                   10604:
                   10605:        * configure.in: Use Autoconf.
                   10606:        * Makefile.am: New file.
                   10607:
                   10608:        * AUTHORS: New file.
                   10609:        * COPYING: New file.
                   10610:        * acinclude.m4: New file.
                   10611:        * acconfig.h: New file.
                   10612:
                   10613:        * configure: Generate.
                   10614:        * Makefile.in: Generate.
                   10615:        * aclocal.m4: Generate.
                   10616:        * config.in: Generate.
                   10617:
                   10618:        * install.sh: Remove.
                   10619:        * install-sh: New file from Automake.
                   10620:        * missing: New file from Automake.
                   10621:        * ltconfig: New file from Libtool.
                   10622:        * ltmain.sh: New file from Libtool.
                   10623:
                   10624:        * mpf/Makefile.am: New file.
                   10625:        * mpf/Makefile.in: Generate.
                   10626:        * mpf/configure.in: Remove.
                   10627:        * mpf/tests/Makefile.am: New file.
                   10628:        * mpf/tests/Makefile.in: Generate.
                   10629:        * mpf/tests/configure.in: Remove.
                   10630:
                   10631:        * mpn/Makefile.am: New file.
                   10632:        * mpn/Makefile.in: Generate.
                   10633:        * mpn/configure.in: Remove.
                   10634:
                   10635:        * mpq/Makefile.am: New file.
                   10636:        * mpq/Makefile.in: Generate.
                   10637:        * mpq/configure.in: Remove.
                   10638:        * mpq/tests/Makefile.am: New file.
                   10639:        * mpq/tests/Makefile.in: Generate.
                   10640:        * mpq/tests/configure.in: Remove.
                   10641:
                   10642:        * mpz/Makefile.am: New file.
                   10643:        * mpz/Makefile.in: Generate.
                   10644:        * mpz/configure.in: Remove.
                   10645:        * mpz/tests/Makefile.am: New file.
                   10646:        * mpz/tests/Makefile.in: Generate.
                   10647:        * mpz/tests/configure.in: Remove.
                   10648:
                   10649: 2000-02-10  Torbjorn Granlund  <tege@swox.com>
                   10650:
                   10651:        * mpn/x86/add_n.S: Don't use label L0 twice.
                   10652:        * mpn/x86/sub_n.S: Likewise.
                   10653:
                   10654: 2000-01-20  Linus Nordberg  <linus@swox.se>
                   10655:
                   10656:        * demos/pexpr.c: Don't use setup_error_handler() in windoze.
                   10657:
                   10658: 2000-01-19  Torbjorn Granlund  <tege@swox.com>
                   10659:
                   10660:        * demos/pexpr.c (sigaltstack): #define to sigstack for AIX.
                   10661:        (setup_error_handler): Don't write to ss_size and ss_flags
                   10662:        on AIX.
                   10663:
                   10664: 2000-01-11  Torbjorn Granlund  <tege@swox.com>
                   10665:
                   10666:        * mpn/configure.in (hppa2.0*-*-*): Move assignment of
                   10667:        target_makefile_frag to where it belongs.
                   10668:
                   10669: 1999-12-21  Torbjorn Granlund  <tege@swox.com>
                   10670:
                   10671:        * longlong.h (v9 umul_ppmm): New #define.
                   10672:        (v9 udiv_qrnnd): New #define.
                   10673:
                   10674: 1999-12-14  Torbjorn Granlund  <tege@swox.com>
                   10675:
                   10676:        * mpn/generic/divmod_1.c: Use invert_limb.
                   10677:        * mpn/generic/mod_1.c: Use invert_limb.
                   10678:
                   10679:        * gmp-impl.h (invert_limb): Put definition here.
                   10680:        * mpn/generic/divrem.c (invert_limb): Delete definition.
                   10681:        * mpn/generic/divrem_2.c (invert_limb): Delete definition.
                   10682:
                   10683:        * gmp.h (mpn_divrem): Inhibit for non-gcc.
                   10684:        But declare (undo 1999-11-22 change).
                   10685:
                   10686:        * gmp-impl.h (DItype,UDItype): Do these also if _LONG_LONG_LIMB.
                   10687:
                   10688:        * longlong.h: Move 64-bit hppa code out of __GNUC__ conditional.
                   10689:
                   10690:        * stack-alloc.c (HSIZ): New #define.
                   10691:        (__tmp_alloc): Use HSIZ instead of sizeof(tmp_stack).
                   10692:
                   10693: 1999-12-10  Torbjorn Granlund  <tege@swox.com>
                   10694:
                   10695:        * config.sub: Clean up handling of x86 CPUs: Properly recognize
                   10696:        Amd CPUs as unique entities.  Use manufacturer's names of
                   10697:        processors ("pentium", etc); still match ambiguous names like
                   10698:        "i586", "i686", "p6" but be conservative in interpreting them.
                   10699:
                   10700:        * configure.in: Recognize x86 CPU types known by config.guess.
                   10701:        * mpn/configure.in: Likewise.  Add x86/mmx path component as
                   10702:        appropriate.
                   10703:        (athlon-*-*): Fix typo.
                   10704:
                   10705:        * config.guess: Update x86 recog code to intiallly match
                   10706:        more than just i386.
                   10707:        Call K6-2 and K6-III for "k62" and "k63" respectively.
                   10708:
                   10709:        * config.guess: Recognize x86 CPU types.
                   10710:        Update code for FreeBSD, NetBSD, OpenBSD, Linux.
                   10711:
                   10712: 1999-12-08  Torbjorn Granlund  <tege@swox.com>
                   10713:
                   10714:        * mpf/pow_ui.c: Avoid final squaring in loop.
                   10715:
                   10716: 1999-12-07  Torbjorn Granlund  <tege@swox.com>
                   10717:
                   10718:        * gmp-impl.h (udiv_qrnnd_preinv2gen): Prefix local variables with `_'.
                   10719:        (udiv_qrnnd_preinv2norm): Likewise.
                   10720:        From Kevin Ryde:
                   10721:        (HAVE_ALLOCA): #define also if defined (alloca).
                   10722:
                   10723: 1999-12-04  Torbjorn Granlund  <tege@swox.com>
                   10724:
                   10725:        * mpn/tests/add_n.c: Set OPS from CLOCK.
                   10726:        * mpn/tests/sub_n.c: Likewise.
                   10727:        * mpn/tests/mul_1.c: Likewise.
                   10728:        * mpn/tests/addmul_1.c: Likewise.
                   10729:        * mpn/tests/submul_1.c: Likewise.
                   10730:
                   10731:        * mpn/tests/lshift.c: Update from add_n.c.
                   10732:        * mpn/tests/rshift.c: Likewise.
                   10733:
                   10734: 1999-12-03  Torbjorn Granlund  <tege@swox.com>
                   10735:
                   10736:        * mpn/powerpc64/copy.S: New file.
                   10737:
                   10738: 1999-12-02  Torbjorn Granlund  <tege@swox.com>
                   10739:
                   10740:        * mpn/sparc64/copy.s: New file.
                   10741:
                   10742:        * mpn/tests/copy.c: New file.
                   10743:
                   10744:        * mpn/configure.in: Recognize more Amd CPUs; Set special paths for
                   10745:        k7 CPU.
                   10746:
                   10747:        * configure.in: Recognize Amd x86 CPUs.
                   10748:
                   10749:        * mpz/fdiv_r_2exp.c: In rounding code, read in->_mp_size before
                   10750:        writing to res->_mp_size.
                   10751:
                   10752:        * mpn/powerpc64/*.S: Clean up assembly syntax, add function headers.
                   10753:        * mpn/powerpc64/gmp-mparam.h: (KARATSUBA_MUL_THRESHOLD): #define.
                   10754:        (KARATSUBA_SQR_THRESHOLD): #define.
                   10755:
                   10756:        * mpn/tests/add_n.c (main): Only print test number if TIMES==1
                   10757:        and not printing.
                   10758:        (main): Don't run reference code if NOCHECK.
                   10759:        * mpn/tests/sub_n.c: Likewise.
                   10760:        * mpn/tests/mul_1.c: Likewise.
                   10761:        * mpn/tests/addmul_1.c: Likewise.
                   10762:        * mpn/tests/submul_1.c: Likewise.
                   10763:
                   10764:        * mpn/tests/lshift.c: (main): Only print test number if TIMES==1
                   10765:        and not printing.
                   10766:        * mpn/tests/rshift.c: Likewise.
                   10767:
                   10768: 1999-11-22  Torbjorn Granlund  <tege@swox.com>
                   10769:
                   10770:        * gmp.h (mpz_init_set_str): Declare using __gmp_const.
                   10771:        (mpz_set_str): Likewise.
                   10772:        (mpf_init_set_str): Likewise.
                   10773:        (mpf_set_str): Likewise.
                   10774:        (mpn_set_str): Likewise.
                   10775:        (__gmp_0): Likewise.
                   10776:        (mpn_divrem): Remove separate declaration; it's defined later in
                   10777:        this file.
                   10778:
                   10779:        * gmp.h: Replace "defined (__STD__)' by (__STDC__-0) in
                   10780:        expressions involving more than one term, to handle Sun's compiler
                   10781:        that most helpfully sets __STDC__ to 0.
                   10782:        * gmp-impl.h: Likewise.
                   10783:        * longlong.h: Likewise.
                   10784:
                   10785: 1999-11-21  Torbjorn Granlund  <tege@swox.com>
                   10786:
                   10787:        * mpn/sparc64/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
                   10788:        (KARATSUBA_SQR_THRESHOLD): #define.
                   10789:
                   10790:        * mpn/sparc64/lshift.s: Compensate stack references for odd stack ptr.
                   10791:        * mpn/sparc64/rshift.s: Likewise.
                   10792:
                   10793:        * mpn/sparc64/addmul_1.s: Propagate carry properly.
                   10794:        * mpn/sparc64/submul_1.s: Likewise.
                   10795:
                   10796:        * mpn/sparc64/sub_n.s: Rewrite.
                   10797:
                   10798:        * mpn/sparc64/sub_n.s: Get operand order for main subcc right
                   10799:        (before scrapping this code for new code).
                   10800:
                   10801: 1999-11-20  Torbjorn Granlund  <tege@swox.com>
                   10802:
                   10803:        * mpn/sparc64/add_n.s: Rewrite.
                   10804:
                   10805: 1999-11-17  Torbjorn Granlund  <tege@swox.com>
                   10806:
                   10807:        * mpn/x86/syntax.h (PROLOG): New #define.
                   10808:        (EPILOG): New #define.
                   10809:
                   10810:        * gmp.h (mpn_addsub_n): Declare.
                   10811:        * gmp.h (mpn_add_nc): Declare.
                   10812:        * gmp.h (mpn_sub_nc): Declare.
                   10813:        * mpn/powerpc64/addsub_n.S: New file.
                   10814:
                   10815: 1999-11-17  Torbjorn Granlund  <tege@swox.com>
                   10816:
                   10817:        * mpn/alpha/gmp-mparam.h
                   10818:        (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
                   10819:        (KARATSUBA_SQR_THRESHOLD): Likewise.
                   10820:
                   10821: 1999-11-14  Torbjorn Granlund  <tege@swox.com>
                   10822:
                   10823:        * mpn/x86/mul_1.S: Unroll and optimize for P6 and K7.
                   10824:
                   10825: 1999-11-09  Torbjorn Granlund  <tege@swox.com>
                   10826:
                   10827:        * mpn/x86/p6/gmp-mparam.h
                   10828:        (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
                   10829:        (KARATSUBA_SQR_THRESHOLD): Likewise.
                   10830:
                   10831: 1999-11-05  Torbjorn Granlund  <tege@swox.com>
                   10832:
                   10833:        * mpn/generic/addsub_n.c: New file.
                   10834:
                   10835: 1999-11-02  Torbjorn Granlund  <tege@swox.com>
                   10836:
                   10837:        * config.guess: Handle alpha:FreeBSD with alpha:NetBSD.
                   10838:
                   10839:        * configure.in (vax*-*-*): New case.
                   10840:        * config/mt-vax: New file.
                   10841:        * mpn/vax/add_n.s: Rewrite.
                   10842:        * mpn/vax/sub_n.s: Rewrite.
                   10843:
                   10844: 1999-10-31  Torbjorn Granlund  <tege@swox.com>
                   10845:
                   10846:        * mpn/vax/rshift.s: New file.
                   10847:        * mpn/vax/lshift.s: New file.
                   10848:
                   10849: 1999-10-29  Torbjorn Granlund  <tege@swox.com>
                   10850:
                   10851:        * config.sub: Handle k5 and k6.
                   10852:        * mpn/configure.in: Recognize k6.
                   10853:
                   10854:        * mpf/tests/t-get_d.c (LOW_BOUND, HIGH_BOUND): New #defines.
                   10855:        (main): Tighten error bounds to 14 digits.
                   10856:
                   10857:        * longlong.h (default umul_ppmm, when smul_ppmm exists):
                   10858:        Rename __m0 => __xm0, __m1 => __xm1.
                   10859:        (default smul_ppmm): Likewise.
                   10860:
                   10861: 1999-10-11  Torbjorn Granlund  <tege@swox.com>
                   10862:
                   10863:        * config.guess: Reverse the test for POWER vs PowerPC.
                   10864:        * config.guess (sun4m:SunOS:5.*:*): New case.
                   10865:        * config.guess (sun4u:SunOS:5.*:*): New case.
                   10866:
                   10867: 1999-09-29  Torbjorn Granlund  <tege@swox.com>
                   10868:
                   10869:        * mpn/generic/divrem_2.c: Clean up comments.
                   10870:
                   10871: 1999-09-23  Torbjorn Granlund  <tege@swox.com>
                   10872:
                   10873:        * mpz/tests/Makefile.in: Use move-if-change when generating binaries.
                   10874:        * mpf/tests/Makefile.in: Likewise.
                   10875:        * mpq/tests/Makefile.in: Likewise.
                   10876:        * mpz/tests/move-if-change: New file.
                   10877:        * mpf/tests/move-if-change: New file.
                   10878:        * mpq/tests/move-if-change: New file.
                   10879:
                   10880:        * gmp.h (mpn_incr_u): New macro (from mpn/generic/mul_n.c).
                   10881:        (mpn_decr_u): New macro.
                   10882:
                   10883:        * mpn/generic/mul_n.c (mpn_incr): Delete.
                   10884:        * mpn/generic/mul_n.c: Update usages mpn_incr => mpn_incr_u.
                   10885:        * mpn/generic/divrem_newt.c: Use mpn_incr_u and mpn_decr_u instead of
                   10886:        mpn_add_1 and mpn_sub_1.
                   10887:        * mpn/generic/sqrtrem.c: Likewise.
                   10888:        * mpz/cdiv_q_ui.c: Likewise.
                   10889:        * mpz/cdiv_qr_ui.c: Likewise.
                   10890:        * mpz/fdiv_q_ui.c: Likewise.
                   10891:        * mpz/fdiv_qr_ui.c: Likewise.
                   10892:
                   10893:        * mpn/generic/sqrtrem.c: Start single-limb Newton iteration from 18
                   10894:        bits.
                   10895:
                   10896: 1999-07-27  Torbjorn Granlund  <tege@swox.com>
                   10897:
                   10898:        * mpn/generic/divrem_1.c (__gmpn_divrem_1n): New function.
                   10899:
                   10900:        * mpn/generic/divrem_2.c: New file, code from divrem.c, `case 2:'.
                   10901:        * mpn/Makefile.in: Compile divrem_2.c.
                   10902:        * make.bat: Compile divrem_2.c.
                   10903:        * mpn/configure.in (functions): Add divrem_2.
                   10904:        * gmp.h: Declare mpn_divrem_2.
                   10905:
                   10906:        * mpn/generic/divrem.c: Delete special cases, handle just divisors
                   10907:        of more than 2 limbs.
                   10908:        * gmp.h (mpn_divrem): Call mpn_divrem_1, mpn_divrem_2, as appropriate.
                   10909:
                   10910:        * mpn/generic/divrem.c: Rework variable usage for better register
                   10911:        allocation.
                   10912:
                   10913: 1999-07-26  Torbjorn Granlund  <tege@swox.com>
                   10914:
                   10915:        * mpn/alpha/ev5/add_n.s: Rewrite for better ev6 speed.
                   10916:        * mpn/alpha/ev5/sub_n.s: Likewise.
                   10917:
                   10918: 1999-07-21  Torbjorn Granlund  <tege@swox.com>
                   10919:
                   10920:        * longlong.h (alpha): Define umul_ppmm for cc.
                   10921:
                   10922:        * gmp-impl.h (DItype, UDItype): Define for non-gcc if _LONGLONG is
                   10923:        defined.
                   10924:
                   10925: 1999-07-15  Torbjorn Granlund  <tege@swox.com>
                   10926:
                   10927:        * longlong.h (powerpc64 count_leading_zeros): Fix typo.
                   10928:        (powerpc64 add_ssaaaa): Fix typos.
                   10929:        (powerpc64 sub_ddmmss): Fix typos.
                   10930:
                   10931: 1999-07-14  Torbjorn Granlund  <tege@swox.com>
                   10932:
                   10933:        * mpz/tests/Makefile.in: Pass XCFLAGS when linking.
                   10934:        * mpf/tests/Makefile.in: Likewise.
                   10935:        * mpq/tests/Makefile.in: Likewise.
                   10936:        * mpn/Makefile.in (.S.o): Pass XCFLAGS.
                   10937:
                   10938:        * longlong.h: Add support for 64-bit PowerPC.
                   10939:        * config.sub: Handle "powerpc64".
                   10940:        * configure.in: Likewise.
                   10941:        * mpn/configure.in: Suppress use of config/t-ppc-aix for now,
                   10942:        it seems compiler passes proper options.
                   10943:        * mpn/powerpc64/*.S: New files.
                   10944:
                   10945:        * Makefile.in (FLAGS_TO_PASS): Pass "AR=$(AR)".
                   10946:
                   10947: 1999-07-07  Torbjorn Granlund  <tege@swox.com>
                   10948:
                   10949:        * demos/pexpr.c (factor): Change alloca call to a malloc/free pair.
                   10950:
                   10951:        * mpn/powerpc32/syntax.h: Add #define's for crN.
                   10952:
                   10953:        * gmp.h (gmp_rand_algorithm): Remove spurious `,'.
                   10954:
                   10955: 1999-07-05  Torbjorn Granlund  <tege@swox.com>
                   10956:
                   10957:        * mpn/generic/divrem_1.c: Normalize divisor when needed.
                   10958:
                   10959: 1999-07-02  Torbjorn Granlund  <tege@swox.com>
                   10960:
                   10961:        * mpn/configure.in (powerpc*-apple-mach): New configuration.
                   10962:        * mpn/powerpc32/*: Add support for apple-macho syntax.
                   10963:        * mpn/powerpc32/syntax.h: New file.
                   10964:        * gmp-impl.h: Don't use `__attribute__' syntax for Apple's perversion
                   10965:        of GCC.
                   10966:
                   10967: 1999-05-26  Linus Nordberg  <linus@swox.se>
                   10968:
                   10969:        * rand.c (gmp_rand_init): Fix typo.
                   10970:
                   10971:        * mpn/generic/rawrandom.c (mpn_rawrandom): Count bits, not limbs,
                   10972:        to keep track of how many rounds to do in loop.  Clean up
                   10973:        temporary allocation.  Update `seedsize' inside loop.  Mask off
                   10974:        the correct number of bits from final result.  Init `mcopyp' even
                   10975:        when not normalizing `m'.
                   10976:
                   10977:        * randlc.c (gmp_rand_init_lc): Fix typo (don't call
                   10978:        mpz_init_set_ui()).
                   10979:
                   10980:        * mpn/generic/rawrandom.c (mpn_rawrandom): Set SIZ(s->seed) when
                   10981:        reallocating.
                   10982:
1.1.1.4 ! ohara    10983:        * tests/rand/Makefile (test, bigtest): Add 33-bit tests.
        !          10984:
        !          10985:        * tests/rand/gen.c (main): Set precision of variable passed to
        !          10986:        mpf_urandomb().  Add option `-p'.
        !          10987:
1.1.1.2   maekawa  10988: 1999-05-25  Linus Nordberg  <linus@swox.se>
                   10989:
                   10990:        * randcm.c: Remove.
                   10991:        * randcmui.c: Remove.
                   10992:        * Makefile.in: Remove randcm and randcmui.
                   10993:        * make.bat: Ditto.
                   10994:        * gmp-impl.h: Remove prototypes for __gmp_rand_init_common() and
                   10995:        __gmp_rand_init_common_ui().
                   10996:        * randlc.c (gmp_rand_init_lc): Don't call
                   10997:        __gmp_rand_init_common().
                   10998:
                   10999:        * randlcui.c (gmp_rand_init_lc_ui): Don't call
                   11000:        __gmp_rand_init_common_ui().
                   11001:
                   11002:        * gmp.h (__gmp_rand_state_struct): Remove unused member `maxval'.
                   11003:        * randclr.c (gmp_rand_clear): Remove reference to s->maxval.
                   11004:        * randcm.c (__gmp_rand_init_common): Ditto
                   11005:
                   11006:        * mpn/generic/rawrandom.c (mpn_rawrandom): Don't calculate nlimbs
                   11007:        twice.
                   11008:
                   11009:        * gmp.h (__gmp_rand_dist): Remove.
                   11010:
                   11011: 1999-05-24  Linus Nordberg  <linus@swox.se>
                   11012:
                   11013:        * mpn/generic/rawrandom.c: Clean up comments.
                   11014:
                   11015:        * gmp.texi: Add documentation for random number generation.
                   11016:
                   11017: 1999-05-21  Linus Nordberg  <linus@swox.se>
                   11018:
                   11019:        * gmp.h: Typedef `gmp_rand_state' as an array with one element.
                   11020:        Change prototypes accordingly.
                   11021:        * gmp-impl.h: Change prototypes using `gmp_rand_state'.
                   11022:        * rand.c (gmp_rand_init): Take `gmp_rand_state' as argument
                   11023:        instead of a pointer to a `gmp_rand_state'.
                   11024:        * mpf/urandom.c (mpf_urandomb): Ditto.
                   11025:        * mpz/urandom.c (mpz_urandomb): Ditto.
                   11026:        * mpn/generic/rawrandom.c (mpn_rawrandom): Ditto.
                   11027:        * randcmui.c (__gmp_rand_init_common_ui): Ditto.
                   11028:        * randlc.c (gmp_rand_init_lc): Ditto.
                   11029:        * randlcui.c (gmp_rand_init_lc_ui): Ditto.
                   11030:        * randui.c (gmp_rand_init_ui): Ditto.
                   11031:        * randcm.c (__gmp_rand_init_common): Ditto.
                   11032:        * randclr.c (gmp_rand_clear): Ditto.
                   11033:
1.1.1.4 ! ohara    11034:        * tests/rand/gen.c (main): Pass `s' to rand-funcs instead of address
        !          11035:        of `s'.
        !          11036:
1.1.1.2   maekawa  11037: 1999-05-20  Linus Nordberg  <linus@swox.se>
                   11038:
                   11039:        * Makefile.in: Rename randi.c --> rand.c, randi_lc.c --> randlc.c,
                   11040:        randicom.c --> randcm.c.  Add randui.c, randcmui.c, randlcui.c.
                   11041:        * make.bat: Ditto.
                   11042:
                   11043:        * gmp.h: Add prototypes for gmp_rand_init_ui() and
                   11044:        gmp_rand_init_lc_ui().
                   11045:        * gmp-impl.h: Add prototypes for __gmp_rand_init_common() and
                   11046:        __gmp_rand_init_common_ui().
                   11047:
                   11048:        * randlc.c, randcm.c, randclr.c, rand.c: Change #include of
                   11049:        <gmp.h> to "gmp.h".
                   11050:        * randclr.c: Include stdlib.h for free().
                   11051:        * rand.c: Include gmp-impl.h.
                   11052:
                   11053: 1999-05-12  Torbjorn Granlund  <tege@swox.com>
                   11054:
                   11055:        * mpn/configure.in: Put generic m68k alternative last.
                   11056:
                   11057: 1999-05-04  Torbjorn Granlund  <tege@swox.com>
                   11058:
                   11059:        * demos/pexpr.c (setup_error_handler): Use sigemptyset to create
                   11060:        empty set (for portability).
                   11061:        (fns): Fix typo '#if #if'.
                   11062:        (mpz_eval_expr): Implement FERMAT and MERSENNE.
                   11063:
                   11064:        * demos/pexpr.c: Cast longjmp argument via long to silent warnings on
                   11065:        64-bit hosts.
                   11066:
                   11067: 1999-05-03  Torbjorn Granlund  <tege@swox.com>
                   11068:
                   11069:        * demos/pexpr.c: Add #defines for GMP 1.x and 2.0 compatibility.
                   11070:
                   11071:        * demos/pexpr.c (setup_error_handler): New function; take signal
                   11072:        handler setup code from main(), with major modifications to use modern
                   11073:        signal interface.
                   11074:        (main): Remove signal handler setup code; call setup_error_handler.
                   11075:
1.1.1.4 ! ohara    11076: 1999-04-29  Linus Nordberg  <linus@swox.se>
        !          11077:
        !          11078:        * tests/rand/findcl.c (main): Add option '-i' for interval factor.
        !          11079:        Separate v and merit lose figures.  Add '-v' for version.
        !          11080:
        !          11081: 1999-04-28  Linus Nordberg  <linus@swox.se>
        !          11082:
        !          11083:        * tests/rand/statlib.c: Change debugging stuff.
        !          11084:
        !          11085:        * tests/rand/gmpstat.h: Add debug values definitions.
        !          11086:
        !          11087:        * tests/rand/findcl.c (main): Print low and high merit on startup.
        !          11088:        Print version string on startup.  Catch SEGV and HUP.  Add option -d
        !          11089:        for debug.  Fix bug making test for v too hard.
        !          11090:        (sh_status): New function.
        !          11091:        (sh_status): Flush stdout.  Add RCSID.
        !          11092:
        !          11093: 1999-04-27  Linus Nordberg  <linus@swox.se>
        !          11094:
        !          11095:        * tests/rand/Makefile (clean): Add target.
        !          11096:
        !          11097: 1999-04-27  Linus Nordberg  <linus.nordberg@canit.se>
        !          11098:
        !          11099:        * tests/rand/stat.c: Include gmpstat.h.
        !          11100:        Add global int g_debug.
        !          11101:
        !          11102:        * tests/rand/spect.c: Include <unistd.h>.
        !          11103:
        !          11104:        * tests/rand/findcl.c (main): Input is `m', not all factors of `m'.
        !          11105:        Print only the very first matching multiplier.  Include <unistd.h>.
        !          11106:        Flush stdout.  Print "done." when done.
        !          11107:
        !          11108:        * tests/rand/spect.c: Move everything but main() to statlib.c.
        !          11109:
        !          11110:        * tests/rand/findcl.c: New file.
        !          11111:
        !          11112:        * tests/rand/gmpstat.h: New file.
        !          11113:
        !          11114:        * tests/rand/statlib.c (merit, merit_u, f_floor, vz_dot,
        !          11115:        spectral_test): New functions.
        !          11116:
1.1.1.2   maekawa  11117: 1999-04-27  Torbjorn Granlund  <tege@swox.com>
                   11118:
                   11119:        * mpn/configure.in: Fix typo, "sparc-*)" was "sparc)".
                   11120:
                   11121: 1999-04-21  Torbjorn Granlund  <tege@swox.com>
                   11122:
                   11123:        * config.sub: Recognize ev6.
                   11124:
                   11125: 1999-04-12  Linus Nordberg  <linus.nordberg@canit.se>
                   11126:
                   11127:        * urandom.c: Split up into randclr.c, randi.c, randi_lc.c,
                   11128:        randicom.c.
                   11129:        * randclr.c, randi.c, randi_lc.c, randicom.c: New files.
                   11130:        * Makefile.in: Remove urandom.  Add randclr, randi, randi_lc,
                   11131:        randicom.
                   11132:        * make.bat: Ditto
                   11133:
                   11134: 1999-03-31  Torbjorn Granlund  <tege@matematik.su.se>
                   11135:
                   11136:        * configure.in (sparc9-*-solaris2.[789]*, etc): New alternative.
                   11137:        * mpn/configure.in: Use mt-sprc9 also for ultrasparc*-*-solaris2*.
                   11138:
                   11139: 1999-03-30  Linus Nordberg  <linus.nordberg@canit.se>
                   11140:
                   11141:        * urandom.c (__gmp_rand_scheme): Change NULL->0.
                   11142:        Include "gmp.h" instead of <gmp.h>.
                   11143:
                   11144: 1999-03-29  Linus Nordberg  <linus.nordberg@canit.se>
                   11145:
                   11146:        * gmp.h (__gmp_rand_data_lc): Now holds a, c, m instead of scheme
                   11147:        struct.
                   11148:        (__gmp_rand_lc_scheme_struct): Remove mpz_t's `a' and `m'.
                   11149:
1.1.1.4 ! ohara    11150:        * tests/rand/stat.c (f_freq): Don't print 2nd level results if doing
        !          11151:        1st level.
        !          11152:
        !          11153:        * tests/rand/gen.c (main): Set default algorithm to mpz_urandomb.
        !          11154:        (main): Add option -c.
        !          11155:
        !          11156: 1999-03-24  Linus Nordberg  <linus.nordberg@canit.se>
        !          11157:
        !          11158:        * tests/rand/Makefile (GMPINC): Rename to GMPH.
        !          11159:        (GMPH): Add gmp-mparam.h.
        !          11160:        (CFLAGS): Add -I$(GMPLIBDIR)/mpn
        !          11161:
1.1.1.2   maekawa  11162: 1999-03-23  Linus Nordberg  <linus.nordberg@canit.se>
                   11163:
                   11164:        * Makefile.in: Compile top-dir/urandom.c.
                   11165:        * make.bat: Ditto.
                   11166:
                   11167:        * mpn/Makefile.in: Compile rawrandom.c.
                   11168:        * make.bat: Ditto.
                   11169:
                   11170:        * mpn/configure.in (functions): Add rawrandom.
                   11171:
                   11172:        * gmp.h (__gmp_rand_scheme_struct): Rename to
                   11173:        __gmp_rand_lc_scheme_struct.
                   11174:        (__gmp_rand_data_lc): Remove member 'n'.  Allocate a
                   11175:        __gmp_rand_lc_scheme_struct instead of a pointer to one.
                   11176:        Add prototype for gmp_rand_init_lc(), mpn_rawrandom().
                   11177:        New prototype for mpz_urandomb().
                   11178:
                   11179:        * urandom.c: New file.
                   11180:        (__gmp_rand_init_common): New function.
                   11181:        (gmp_rand_init_lc): New function.
                   11182:        (gmp_rand_init): Don't init data_lc->n.  Call gmp_rand_init_lc()
                   11183:        and __gmp_rand_init_common().
                   11184:        (gmp_rand_clear): Remove reference to data_lc->n.
                   11185:
                   11186:        * mpz/urandom.c (gmp_rand_init, gmp_rand_clear): Move to new file
                   11187:        urandom.c in top-dir.
                   11188:        (mpz_urandomb): Add function parameter nbits.  Call mpn_rawrandom().
                   11189:
                   11190:        * mpf/urandom.c (mpf_urandomb): Call mpn_rawrandom().
                   11191:
                   11192:        * mpn/generic/rawrandom.c: New file.
                   11193:        (mpn_rawrandom): New function.
                   11194:
                   11195: 1999-03-17  Torbjorn Granlund  <tege@matematik.su.se>
                   11196:
                   11197:        * extract-dbl.c: When packing result, adjust exp when sc == 0.
                   11198:
                   11199:        * mpf/tests/t-get_d.c: New file.
                   11200:        * mpf/tests/Makefile.in: Compile t-get_d.c.
                   11201:
                   11202: 1999-03-16  Linus Nordberg  <linus.nordberg@canit.se>
                   11203:
                   11204:        * mpz/urandom.c (__gmp_rand_scheme): Add extra braces around the
                   11205:        mpz_t members.
                   11206:
                   11207:        * make.bat: Compile mpz/urandom.c and mpf/urandom.c
                   11208:
1.1.1.4 ! ohara    11209:        * tests/rand/statlib.c (ks_table): Use mpf_pow_ui() and exp().
        !          11210:
        !          11211:        * tests/rand/gen.c: Include unistd.h for getopt.
        !          11212:
1.1.1.2   maekawa  11213: 1999-03-15  Linus Nordberg  <linus.nordberg@canit.se>
                   11214:
                   11215:        * mpz/urandom.c (gmp_rand_init): New function.
                   11216:        (gmp_rand_clear): New function.
                   11217:        (mpz_urandomb): New function.
                   11218:
                   11219:        * mpz/Makefile.in: Compile urandom.c
                   11220:
                   11221:        * mpf/urandom.c (mpf_urandomb): New function.
                   11222:
                   11223:        * mpf/Makefile.in: Compile urandom.c.
                   11224:
                   11225:        * gmp.h (__gmp_rand_state_struct, __gmp_rand_scheme_struct): New
                   11226:        structs for randomization functions.
                   11227:        (gmp_rand_dist, gmp_rand_alogrithm): New enums for randomization
                   11228:        functions.
                   11229:        (mpz_urandomb, mpf_urandomb): Add prototype.
                   11230:        (gmp_rand_init, gmp_rand_clear): Add prototype.
                   11231:
1.1.1.4 ! ohara    11232:        * tests/rand/gen.c, stat.c, statlib.c, statlib.h: New files.
        !          11233:        * tests/rand/Makefile, tests/rand/ChangeLog: New files.
        !          11234:
1.1.1.2   maekawa  11235: 1999-03-15  Torbjorn Granlund  <tege@matematik.su.se>
                   11236:
                   11237:        * .gdbinit: New file.
                   11238:
                   11239:        * mpz/dump.c: New file.
                   11240:        * mpz/Makefile.in: Compile dump.c.
                   11241:        * make.bat: Likewise.
                   11242:        * gmp.h (mpz_dump): Declare.
                   11243:
                   11244: 1999-03-14  Torbjorn Granlund  <tege@matematik.su.se>
                   11245:
                   11246:        * mpz/tests/reuse.c: Also test mpz_invert and mpz_divexact.
                   11247:
                   11248:        * mpz/tests/convert.c: Update to GMP 2 variable syntax.
                   11249:
                   11250: 1999-03-13  Torbjorn Granlund  <tege@matematik.su.se>
                   11251:
                   11252:        * mpf/README: New file.
                   11253:        * mpz/README: New file.
                   11254:
                   11255:        * mpf/pow_ui.c: New file.
                   11256:        * mpf/Makefile.in: Compile pow_ui.c.
                   11257:        * make.bat: Likewise.
                   11258:        * gmp.h (mpf_pow_ui): Declare.
                   11259:
                   11260: 1999-03-12  Torbjorn Granlund  <tege@matematik.su.se>
                   11261:
                   11262:        * mpn/configure.in: Stage 1 of rewrite.
                   11263:        * mpn/underscore.h: New name for bsd.h.
                   11264:        * mpn/sysv.h: Deleted.
                   11265:
                   11266:        * mpn/m68k/*: Don't include sysdep.h.
                   11267:
1.1.1.4 ! ohara    11268:        * mpn/pa64/README: New file.
        !          11269:
1.1.1.2   maekawa  11270: 1999-03-11  Torbjorn Granlund  <tege@matematik.su.se>
                   11271:
                   11272:        * mpn/powerpc32/add_n.S: Add support for both AIX and ELF syntax.
                   11273:        Renamed from `.s'.
                   11274:        * mpn/powerpc32/sub_n.S: Likewise.
                   11275:        * mpn/powerpc32/lshift.S: Likewise.
                   11276:        * mpn/powerpc32/rshift.S: Likewise.
                   11277:        * mpn/powerpc32/mul_1.S: Likewise.
                   11278:        * mpn/powerpc32/addmul_1.S: Likewise.
                   11279:        * mpn/powerpc32/submul_1.S: Likewise.
                   11280:
                   11281:        * mpn/powerpc32/umul.S: New file.
                   11282:        * mpn/sparc32/v8/umul.S: New file.
                   11283:        * mpn/sparc32/umul.S: New file.
                   11284:        * mpn/x86/umul.S: New file.
                   11285:        * mpn/x86/udiv.S: New file.
                   11286:
                   11287:        * mpn/Makefile.in (mul_basecase.o): Delete rule.
                   11288:
                   11289: 1999-02-22  Torbjorn Granlund  <tege@matematik.su.se>
                   11290:
                   11291:        * configure.in (hppa2.0*-*-*): Force use of GCC.
                   11292:
                   11293:        * extract-dbl.c: Handle IEEE denormalized numbrs.  Clean up.
                   11294:
                   11295: 1998-12-02  Torbjorn Granlund  <tege@matematik.su.se>
                   11296:
                   11297:        * mpn/Makefile.in (CCAS): New macro.
                   11298:        (.s.o): Use CCAS.
                   11299:        (.S.o): Likewise.
                   11300:
                   11301:        * mpn/Makefile.in (mul_basecase.o): Add dependency.
                   11302:        (sqr_basecase.o): Likewise.
                   11303:        (mod_1.o): Likewise.
                   11304:
                   11305:        * demos/pexpr.c (cputime): Test also __hpux.
                   11306:        (cleanup_and_exit): Check SIGXCPU only #ifdef LIMIT_RESOURCE_USAGE.
                   11307:
                   11308:        * mpz/tests/t-2exp.c: Use urandom, not random.
                   11309:
                   11310:        * mpn/configure.in (arm*-*-*): New alternative.
                   11311:
                   11312: 1998-11-30  Torbjorn Granlund  <tege@matematik.su.se>
                   11313:
                   11314:        * gmp-impl.h (union ieee_double_extract): Special case for
                   11315:        little-endian arm.
                   11316:        (LIMBS): Alias for PTR.
                   11317:
                   11318: 1998-11-26  Torbjorn Granlund  <tege@matematik.su.se>
                   11319:
                   11320:        * longlong.h (m68000 umul_ppmm): Use `muluw', not `mulu'.
                   11321:        (m68k stuff): Clean up; add coldfire support.
                   11322:
                   11323: 1998-11-23  Torbjorn Granlund  <tege@matematik.su.se>
                   11324:
                   11325:        * mpn/mips3/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
                   11326:        (KARATSUBA_SQR_THRESHOLD): #define.
                   11327:
                   11328:        * mpn/sparc32/v9/README: New file.
                   11329:
                   11330: 1998-11-20  Torbjorn Granlund  <tege@matematik.su.se>
                   11331:
                   11332:        * mpn/x86/README: New file.
                   11333:
                   11334:        * mpn/arm/gmp-mparam.h: New file.
                   11335:        * mpn/pa64/gmp-mparam.h: New file.
                   11336:        * mpn/hppa/gmp-mparam.h: New file.
                   11337:        * mpn/x86/pentium/gmp-mparam.h: New file.
                   11338:        * mpn/sparc32/v9/gmp-mparam.h: New file.
                   11339:        * mpn/powerpc32/gmp-mparam.h: New file.
                   11340:        * mpn/x86/p6/gmp-mparam.h: New file.
                   11341:
                   11342:        * mpn/alpha/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
                   11343:        (KARATSUBA_SQR_THRESHOLD): #define.
                   11344:
                   11345:        * mpn/configure.in: Point to x86/p6 when appropriate.
                   11346:
                   11347:        * mpn/power/umul.s: New file.
                   11348:        * mpn/power/sdiv.s: New file.
                   11349:        * mpn/pa64/addmul_1.S: New file.
                   11350:        * mpn/pa64/submul_1.S: New file.
                   11351:        * mpn/pa64/mul_1.S: New file.
                   11352:        * mpn/pa64/udiv_qrnnd.c: New file.
                   11353:        * mpn/pa64/umul_ppmm.S: New file.
                   11354:        * mpn/mips2/umul.s: New file.
                   11355:        * mpn/m68k/mc68020/umul.s: New file.
                   11356:        * mpn/m68k/mc68020/udiv.s: New file.
                   11357:        * mpn/hppa/hppa1_1/umul.s: New file.
                   11358:        * mpn/alpha/umul.s: New file.
                   11359:        * mpn/a29k/udiv.s: New file.
                   11360:        * mpn/a29k/umul.s: New file.
                   11361:
                   11362: 1998-11-17  Torbjorn Granlund  <tege@matematik.su.se>
                   11363:
                   11364:        * mpn/x86/mul_basecase.S: New file for non-pentiums.
                   11365:        * mpn/x86/mul_basecase.S: Move to mpn/x86/pentium.
                   11366:
                   11367: 1998-11-16  Torbjorn Granlund  <tege@matematik.su.se>
                   11368:
                   11369:        * make.bat: Compile mul_basecase.c and sqr_basecase.c.
                   11370:
                   11371: 1998-11-10  Torbjorn Granlund  <tege@matematik.su.se>
                   11372:
                   11373:        * mpz/invert.c: Defer writing to parameter `invert' until
                   11374:        end.
                   11375:
                   11376: 1998-11-03  Torbjorn Granlund  <tege@matematik.su.se>
                   11377:
                   11378:        * mpn/pa64/udiv_qrnnd.c: Handle more border cases.
                   11379:
                   11380: 1998-10-29  Torbjorn Granlund  <tege@matematik.su.se>
                   11381:
                   11382:        * insert-dbl.c: Special case biased exponents < 1; Get boundary for
                   11383:        Inf right.
                   11384:
                   11385:        * longlong.h (COUNT_LEADING_ZEROS_NEED_CLZ_TAB): New #define.
                   11386:
                   11387: 1998-10-28  Torbjorn Granlund  <tege@matematik.su.se>
                   11388:
                   11389:        * mpn/powerpc32/submul_1.s: Rewrite, optimizing for PPC604.
                   11390:        * mpn/powerpc32/addmul_1.s: Likewise.
                   11391:        * mpn/powerpc32/lshift.s: Likewise.
                   11392:
                   11393: 1998-10-23  Torbjorn Granlund  <tege@matematik.su.se>
                   11394:
                   11395:        * config/mt-sprc9-gcc (XCFLAGS): Add -Wa,-xarch=v8plus.
                   11396:
                   11397:        * mpn/sparc32/v9/submul_1.s: New file.
                   11398:
                   11399: 1998-10-21  Torbjorn Granlund  <tege@matematik.su.se>
                   11400:
                   11401:        * mpn/config/mt-pa2hpux: New file.
                   11402:        * mpn/configure.in (hppa2.0*-*-*): Use new 64-bit code.
                   11403:
                   11404:        * config.sub: Recognize hppa2.0 as CPU type.
                   11405:
                   11406:        * longlong.h (64-bit hppa): Add umul_ppmm and udiv_qrnnd.
                   11407:        * mpn/pa64/mul_1.S: New file.
                   11408:        * mpn/pa64/addmul_1.S: New file.
                   11409:        * mpn/pa64/submul_1.S: New file.
                   11410:        * mpn/pa64/umul_ppmm.S: New file.
                   11411:        * mpn/pa64/udiv_qrnnd.c: New file.
                   11412:
                   11413: 1998-10-20  Torbjorn Granlund  <tege@matematik.su.se>
                   11414:
                   11415:        * mpz/pprime_p.c: Pass 1L, not 1, to mpz_cmp_ui.
                   11416:
                   11417:        * mpz/fdiv_q_2exp.c: Cast `long' argument to `mp_limb_t' for mpn calls.
                   11418:        * mpz/gcd_ui.c: Likewise.
                   11419:        * mpz/add_ui.c: Likewise.
                   11420:        * mpz/sub_ui.c: Likewise.
                   11421:
                   11422: 1998-10-19  Torbjorn Granlund  <tege@matematik.su.se>
                   11423:
                   11424:        * mpn/generic/bdivmod.c: Avoid using switch statement with mp_limb_t
                   11425:        index.
                   11426:
                   11427: 1998-10-17  Torbjorn Granlund  <tege@matematik.su.se>
                   11428:
                   11429:        * mpn/sparc32/v9/mul_1.s: Misc cleanups.
                   11430:        * mpn/sparc32/v9/addmul_1.s: Misc cleanups.
                   11431:
                   11432: 1998-10-16  Torbjorn Granlund  <tege@matematik.su.se>
                   11433:
                   11434:        * mpn/tests/{add,sub,}mul_1.c: Print xlimb using mpn_print.
                   11435:
                   11436:        * mpz/tests/t-powm.c (SIZE): Increase to 50.
                   11437:        (EXP_SIZE): New parameter; use it for computing exp_size.
                   11438:
                   11439: 1998-10-15  Torbjorn Granlund  <tege@matematik.su.se>
                   11440:
                   11441:        * mpn/generic/divrem_newt.c: Use TMP_ALLOC interface.
                   11442:
                   11443:        * mpn/generic/sqrtrem.c: Check BITS_PER_MP_LIMB before defining
                   11444:        assembly variants of SQRT.
                   11445:
                   11446: 1998-10-14  Torbjorn Granlund  <tege@matematik.su.se>
                   11447:
                   11448:        * mpn/tests: Clean up timing routines.  Don't include longlong.h
                   11449:        where it is not needed.
                   11450:        (mpn_print): Handle printing when _LONG_LONG_LIMB.
                   11451:        * mpn/tests/{add,sub,}mul_1.c: Generate xlimb with mpn_random2
                   11452:        and do it whether TIMES != 1 or not.
                   11453:
                   11454:        * mpn/generic/mul_n.c: Delay assignment of `sign' for lower
                   11455:        register pressure.
                   11456:
                   11457:        * mpn/sparc32/v9/mul_1.s: New file.
                   11458:
                   11459:        * config/mt-sprc9-gcc: New file.
                   11460:        * configure.in: Use it.
                   11461:
                   11462:        * mpn/configure.in: Use sparc64 for Solaris 2.7 and later with a
                   11463:        sparc v9 CPU.
                   11464:        * mpn/configure.in: Use sparc32/v9 for Solaris 2.6 or earlier with
                   11465:        a sparc v9 CPU.
                   11466:
                   11467:        * mpf/sub.c: In initial code for ediff == 0, limit precision
                   11468:        before jumping to `normalize'.
                   11469:
                   11470: 1998-10-13  Torbjorn Granlund  <tege@matematik.su.se>
                   11471:
                   11472:        * mpn/hppa/hppa2_0/add_n.s: New file.
                   11473:        * mpn/hppa/hppa2_0/sub_n.s: New file.
                   11474:        * mpn/configure.in: Handle hppa2.0 (32-bit code for now).
                   11475:
                   11476:        * config.guess: Update from egcs 1.1.
                   11477:        (9000/[3478]??:HP-UX:*:*): Properly return 2.0 for all known 2.0
                   11478:        machines.
                   11479:
                   11480: 1998-10-07  Torbjorn Granlund  <tege@matematik.su.se>
                   11481:
                   11482:        * mpz/root.c (mpz_root): New file.
                   11483:        * mpz/Makefile.in: Compile it.
                   11484:        * make.bat: Likewise.
                   11485:        * gmp.h (mpz_root): Declare.
                   11486:
                   11487:        * mpz/perfpow.c: New file.
                   11488:        * mpz/Makefile.in: Compile it.
                   11489:        * make.bat: Likewise.
                   11490:        * gmp.h (mpz_perfect_power_p): Declare.
                   11491:
                   11492:        * mpz/remove.c: New file.
                   11493:        * mpz/Makefile.in: Compile it.
                   11494:        * make.bat: Likewise.
                   11495:        * gmp.h (mpz_remove): Declare.
                   11496:
                   11497:        * mpz/bin_ui.c: New file.
                   11498:        * mpz/Makefile.in: Compile it.
                   11499:        * make.bat: Likewise.
                   11500:        * gmp.h (mpz_bin_ui): Declare.
                   11501:
                   11502:        * mpz/bin_uiui.c: New file.
                   11503:        * mpz/Makefile.in: Compile it.
                   11504:        * make.bat: Likewise.
                   11505:        * gmp.h (mpz_bin_uiui): Declare.
                   11506:
                   11507: 1998-09-16  Torbjorn Granlund  <tege@matematik.su.se>
                   11508:
                   11509:        * longlong.h: Test for __powerpc__ in addition to _ARCH_PPC.
                   11510:
                   11511: Sat Sep  5 17:22:28 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11512:
                   11513:        * mpf/cmp_si.c: Compare most significant mantissa limb before
                   11514:        trying to deduce anything from the limb count.
                   11515:        * mpf/cmp_ui.c: Likewise.
                   11516:
                   11517: Tue Aug 18 10:24:39 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11518:
                   11519:        * mpz/pprime_p.c (mpz_probab_prime_p): Add new code block
                   11520:        for doing more dividing.
                   11521:
                   11522: Sat Aug 15 18:43:17 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11523:
                   11524:        * mpn/generic/divrem_newt.c: New name for divrem_newton.c.
                   11525:        * mpn/Makefile.in: Corresponding changes.
                   11526:        * mpn/configure.in: Likewise.
                   11527:
                   11528: Wed Aug 12 23:07:09 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11529:
                   11530:        * config.guess: Handle powerpc for NetBSD.
                   11531:
                   11532: Tue Jul 28 23:10:55 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11533:
                   11534:        * mpz/fib_ui.c: New file.
                   11535:        * mpz/Makefile.in: Compile it.
                   11536:        * make.bat: Likewise.
                   11537:        * gmp.h (mpz_fib_ui): Declare.
                   11538:
                   11539: Wed Jun 17 22:52:58 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11540:
                   11541:        * make.bat: Fix typo, `asm-synt.h' => `asm-syntax.h'.
                   11542:
                   11543: Wed Jun  3 11:27:32 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11544:
                   11545:        * config/mt-pwr: New file.
                   11546:        * config/mt-ppc: New file.
                   11547:        * configure.in: Use the new files.
                   11548:
                   11549: Tue Jun  2 13:04:17 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11550:
                   11551:        * mpn/sparc32/v9/addmul_1.s: New file.
                   11552:        * mpn/config/mt-sprc9: New file.
                   11553:        * mpn/configure.in: Use mt-sprc9.
                   11554:
                   11555: Tue May 26 11:24:18 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11556:
                   11557:        * demos/factorize.c (factor_using_pollard_rho): Pass correct
                   11558:        parameters in recursive calls; join the two recursion arms.
                   11559:
                   11560:        * mpf/set_q.c: Set result sign.
                   11561:        When normalizing the numerator, don't allow it to increase in size
                   11562:        beyond prec.
                   11563:
                   11564: Tue May 19 17:28:14 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11565:
                   11566:        * demos/factorize.c (factor_using_division): Call fflush
                   11567:        also for the factor 2.
                   11568:
                   11569: Mon May 18 15:51:01 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11570:
                   11571:        * make.bat: Pass -fomit-frame-pointer.  Do not pass -g.
                   11572:
                   11573: Tue May  5 01:42:50 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11574:
                   11575:        * mpz/Makefile.in (LOCAL_CC): Remove definition.
                   11576:
                   11577:        * gmp.h: Get rid of GMP_SMALL stuff.
                   11578:        * mpz/Makefile.in: Likewise.
                   11579:        * mpq/Makefile.in: Likewise.
                   11580:        * mpf/Makefile.in: Likewise.
                   11581:
                   11582:        * mpz/invert.c: Fix typo in comment.
                   11583:
                   11584: Mon May  4 23:05:32 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11585:
                   11586:        * mpn/generic/sqrtrem.c: Check that __arch64__ is not defined
                   11587:        before defining sparc SQRT.
                   11588:
                   11589: Mon Apr 20 19:16:17 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11590:
                   11591:        * mpn/generic/gcdext.c: Allow gp to be NULL.
                   11592:
                   11593: 1998-04-03  Torbjorn Granlund  <tege@matematik.su.se>
                   11594:
                   11595:        * mpn/configure.in: Recognize `alphaev5*', not `alphaev5'.
                   11596:
                   11597:        * config.guess: Handle CPU variants for NetBSD.
                   11598:
                   11599: Mon Mar 16 13:07:54 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11600:
                   11601:        * mpz/pprime_p.c: Use mpn_mod_1/mpn_preinv_mod_1 for computing mod PP,
                   11602:        not mpz_tdiv_r_ui (which expects an `unsigned long').
                   11603:        (mpz_probab_prime_p): Change type of `r' to mp_limb_t.
                   11604:
                   11605: Thu Mar 12 17:19:04 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11606:
                   11607:        * gmp.h (mpf_ceil, mpf_floor, mpf_trunc): Add declarations.
                   11608:
                   11609:        * config.guess: Update from FSF version.
                   11610:        * config.sub: Likewise.
                   11611:
                   11612:        * config.guess: Add special handling of alpha-*-NetBSD.
                   11613:
                   11614: Wed Mar 11 00:55:34 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11615:
                   11616:        * mpz/inp_str.c: Update from set_str.c.
                   11617:        Properly increment `nread' when skipping minus sign.
                   11618:
                   11619:        * mpz/set_str.c: Check for empty string after having skipped
                   11620:        leading zeros.
                   11621:
                   11622: Mon Mar  9 19:28:00 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11623:
                   11624:        * mpz/set_str.c: Skip leading zeros.
                   11625:
                   11626: Wed Mar  4 19:29:16 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11627:
                   11628:        * gmp.h (mpz_cmp_si): Cast argument before calling mpz_cmp_ui.
                   11629:
                   11630:        * demos/factorize.c: Rewrite.
                   11631:
                   11632: 1998-02-04  Torbjorn Granlund  <tege@matematik.su.se>
                   11633:
                   11634:        * configure.in (i[3456]86* etc): Check if using gcc before
                   11635:        choosing mt-x86.
                   11636:
                   11637:        * configure.in (m68*-*-*): New alterantive.
                   11638:        * config/mt-m68k: New file.
                   11639:
                   11640:        * mpn/alpha/invert-limb.s: Put tables in text segment,
                   11641:        since not all systems support "rdata".
                   11642:
                   11643: Wed Feb  4 02:20:57 1998  Torbjorn Granlund  <tege@matematik.su.se>
                   11644:
                   11645:        * gmp.h (__GNU_MP_VERSION_SNAP): New #define.
                   11646:        (__GNU_MP_VERSION_MINOR): Now 1.
                   11647:
                   11648: Wed Jan 28 22:29:36 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11649:
                   11650:        * longlong.h (alpha udiv_qrnnd): #define UDIV_NEEDS_NORMALIZATION.
                   11651:
                   11652: Wed Jan 28 20:28:19 1998  Torbjorn Granlund  <tege@sophie.matematik.su.se>
                   11653:
                   11654:        * mpz/pprime_p.c (mpz_probab_prime_p): Delete 59 from tried divisors.
                   11655:
                   11656: Mon Jan 26 01:39:02 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11657:
                   11658:        * mpz/pprime_p.c (mpz_probab_prime_p): Major overhaul: Check small
                   11659:        numers specifically; check small factors, then perform a fermat test.
                   11660:
                   11661: Tue Jan 13 14:58:28 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11662:
                   11663:        * longlong.h (alpha udiv_qrnnd): Call __mpn_invert_normalized_limb
                   11664:        and udiv_qrnnd_preinv.
                   11665:
                   11666: Wed Jan  7 01:52:54 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11667:
                   11668:        * mpn/configure.in (alpha*, extra_functions): Add invert-limb and
                   11669:        remove udiv_qrnnd.
                   11670:
                   11671:        * mpn/tests/divrem.c: Get allocations right.
                   11672:
                   11673:        * mpn/generic/divrem.c: Conditionally pre-invert most significant
                   11674:        divisor limb.
                   11675:
                   11676: Tue Jan  6 23:08:54 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11677:
                   11678:        * mpn/generic/divrem_1.c: Rename variables to comply to conventions.
                   11679:        Make `i' have type `mp_size_t'.
                   11680:
                   11681: Tue Dec 30 22:21:42 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11682:
                   11683:        * mpz/tdiv_qr_ui.c: Return the remainder.
                   11684:        * mpz/tdiv_r_ui.c: Likewise.
                   11685:        * mpz/tdiv_q_ui.c: Likewise.
                   11686:        * gmp.h: Change return type of mpz_tdiv_qr_ui, mpz_tdiv_r_ui,
                   11687:        mpz_tdiv_q_ui.
                   11688:
                   11689:        * mpz/tdiv_ui.c: New file.
                   11690:        * mpz/Makefile.in: Compile it.
                   11691:        * make.bat: Likewise.
                   11692:        * gmp.h (mpz_tdiv_ui): Declare.
                   11693:
                   11694: Fri Nov  7 04:21:15 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11695:
                   11696:        * mpf/integer.c (FUNC_NAME): Fix bogus test for mpf_trunc.
                   11697:
                   11698:        * demos/isprime.c: New file.
                   11699:
                   11700:        Sat Nov  1 19:32:25 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11701:
                   11702:        * mpz/cmp_abs.c: New file.
                   11703:        * mpz/Makefile.in: Compile it.
                   11704:        * make.bat: Likewise.
                   11705:        * gmp.h (mpz_cmp_abs): Declare.
                   11706:
                   11707:        * mpz/cmp_abs_ui.c: New file.
                   11708:        * mpz/Makefile.in: Compile it.
                   11709:        * make.bat: Likewise.
                   11710:        * gmp.h (mpz_cmp_abs_ui): Declare.
                   11711:
                   11712: Sat Sep 27 04:49:52 1997  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11713:
                   11714:        * mpz/fdiv_r_2exp.c: Get allocation for `tmp' right.
                   11715:
                   11716:        * mpz/fdiv_q_2exp.c: In final result adjustment code, handle
                   11717:        that intermediate result is zero.
                   11718:
                   11719:        * mpz/tests/t-2exp.c: New file.
                   11720:        * mpz/tests/Makefile.in: Handle t-2exp.c.
                   11721:
                   11722: Fri Sep 26 16:29:21 1997  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11723:
                   11724:        * mpz/divexact.c: Fix typo in test for whether to copy numerator to
                   11725:        quotient and move that statement to after handling quotient and
                   11726:        denominator overlap.  Misc cleanups.
                   11727:
                   11728:        * mpn/generic/gcd.c: Change count argument of mpn_lshift/mpn_rshift
                   11729:        calls to `unsigned int'.
                   11730:        * mpz/divexact.c: Likewise.
                   11731:
                   11732: Mon Sep 22 02:19:52 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11733:
                   11734:        * mpz/tests/t-powm.c: Decrease `reps' to 2500.
                   11735:
                   11736:        * mpz/tests/t-pow_ui.c: New file.
                   11737:        * mpz/tests/Makefile.in: Handle t-pow_ui.c.
                   11738:
                   11739:        * mpz/ui_pow_ui.c: Get special cases for exponent and base right.
                   11740:
                   11741:        * mpz/pow_ui.c: Increase temp space allocation by 1 limb.
                   11742:        Split `rsize' into two variables; compute space allocation into
                   11743:        `ralloc'.
                   11744:
                   11745: Sun Sep  7 04:15:12 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11746:
                   11747:        * mpn/pa64/lshift.s: New file.
                   11748:        * mpn/pa64/rshift.s: New file.
                   11749:        * mpn/pa64/sub_n.s: New file.
                   11750:
                   11751: Sat Sep  6 19:14:13 1997  Torbjorn Granlund  <tege@gmp.tmg.se>
                   11752:
                   11753:        * mpn/pa64/add_n.s: New file.
                   11754:        * mpn/pa64: New directory.
                   11755:
                   11756: Tue Aug 19 16:17:09 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11757:
                   11758:        * mpz/swap.c: New file.
                   11759:        * mpz/Makefile.in: Compile it.
                   11760:        * make.bat: Likewise.
                   11761:        * gmp.h (mpz_swap): Declare.
                   11762:
                   11763:        * mpn/generic/mul_n.c: Push assignment of x and y pointers into the
                   11764:        if/else clauses in several places.  (Decreases register pressure.)
                   11765:
                   11766: Mon Aug 18 03:29:50 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11767:
                   11768:        * mpn/thumb/add_n.s: New file.
                   11769:        * mpn/thumb/sub_n.s: New file.
                   11770:        * mpn/arm/add_n.s: New file.
                   11771:        * mpn/arm/sub_n.s: New file.
                   11772:
                   11773:        * mpz/powm.c: After mpn_mul_n and mpn_mul calls, adjust product size
                   11774:        if most significant limb is zero.
                   11775:        * mpz/powm_ui.c: Likewise.
                   11776:
                   11777: Fri Aug 15 02:13:57 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11778:
                   11779:        * mpn/arm/m/mul_1.s: New file.
                   11780:        * mpn/arm/m/addmul_1.s: New file.
                   11781:
                   11782:        * mpn/powerpc32/mul_1.s: Rewrite.
                   11783:
                   11784:        * mpn/alpha/mul_1.s: Prefix labels with `.'.
                   11785:
                   11786: Mon Aug 11 02:37:16 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11787:
                   11788:        * mpn/powerpc32/add_n.s: Rewrite.
                   11789:        * mpn/powerpc32/sub_n.s: Rewrite.
                   11790:
                   11791: Sun Aug 10 17:07:15 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11792:
                   11793:        * mpn/powerpc32/addmul_1.s: Delete obsolete comments.
                   11794:        * mpn/powerpc32/submul_1.s: Likewise.
                   11795:
                   11796: Fri Jul 25 20:07:54 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11797:
                   11798:        * mpz/addmul_ui.c: New file.
                   11799:        * mpz/Makefile.in: Compile it.
                   11800:        * make.bat: Likewise.
                   11801:        * gmp.h (mpz_addmul_ui): Declare.
                   11802:
                   11803:        * mpz/setbit.c: Add missing code after final `else'.
                   11804:
                   11805: Tue Jul 22 17:45:01 1997  Torbjorn Granlund  <tege@tunnis.tmg.se>
                   11806:
                   11807:        * mpn/sh/add_n.s: Fix typo.
                   11808:        * mpn/sh/sub_n.s: Likewise.
                   11809:
                   11810:        * longlong.h (ns32k count_trailing_zeros): Fix typo.
                   11811:
                   11812:        * insert-dbl.c: Check for exponent overflow and return Inf.
                   11813:
                   11814:        * mpz/get_d.c: Rewrite to avoid rounding errors.
                   11815:
                   11816: Thu May 29 11:51:07 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11817:
                   11818:        * mpq/add.c: Swap some usages of tmp1 and tmp2 to make sure
                   11819:        their allocation suffices.
                   11820:        * mpq/sub.c: Likewise.
                   11821:
                   11822: Wed Apr 16 02:24:25 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11823:
                   11824:        * demos/pexpr.c: New file.
                   11825:
                   11826:        * mpn/generic/mul_n.c: Misc optimizations from Robert Harley.
                   11827:
                   11828:        * gmp-impl.h (MPZ_PROVOKE_REALLOC): New #define.
                   11829:
                   11830: Sat Apr 12 17:54:04 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11831:
                   11832:        * mpz/tstbit.c: New file.
                   11833:        * mpz/Makefile.in: Compile it.
                   11834:        * make.bat: Likewise.
                   11835:        * gmp.h (mpz_tstbit): Declare.
                   11836:
                   11837:        * mpz/tests/logic.c: Use MPZ_CHECK_FORMAT.
                   11838:        * mpz/tests/bit.c: New test.
                   11839:        * mpz/tests/Makefile.in: Handle bit.c.
                   11840:
                   11841:        * mpz/ior.c: In -OP2,+OP1 case, normalize OP2 after call to mpn_sub_1.
                   11842:
                   11843:        * gmp-impl.h (MPZ_CHECK_FORMAT): New #define.
                   11844:
                   11845: Thu Apr 10 00:30:14 1997  Torbjorn Granlund  <tege@tmg.se>
                   11846:
                   11847:        * longlong.h (POWER/PowerPC): Test _ARCH_PWR instead of _IBMR2.
                   11848:
                   11849: Wed Apr  9 18:23:31 1997  Torbjorn Granlund  <tege@pro.tmg.se>
                   11850:
                   11851:        * gmp-impl.h: Move defaulting of UMUL_TIME and UDIV_TIME from here...
                   11852:        * longlong.h: ...to here.
                   11853:
                   11854: Sun Mar 30 12:16:23 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11855:
                   11856:        * mpn/generic/next_prime.c: New file.
                   11857:
                   11858:        * mpn/generic/perfsqr.c: Remove definitions of PP and PP_INVERTED.
                   11859:        * gmp-impl.h: Put them here.
                   11860:
                   11861: Fri Mar 28 08:18:05 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11862:
                   11863:        * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Define as inline asm for
                   11864:        for x86, but leave disabled for now.
                   11865:
                   11866: Fri Feb 28 02:39:47 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11867:
                   11868:        * mpn/Makefile.in (.S.o): Pass SFLAGS and CFLAGS also to compiler
                   11869:        for assembly phase.
                   11870:        (.s.o): Pass SFLAGS.
                   11871:
                   11872: Wed Feb 26 06:46:08 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11873:
                   11874:        * mpn/configure.in: For Pentium Pro, use default code, not Pentium
                   11875:        optimized code.
                   11876:
                   11877:        * mpn/x86/addmul_1.S: Unroll and optimize for Pentium Pro.
                   11878:        * mpn/x86/submul_1.S: Likewise.
                   11879:
                   11880: Thu Feb 13 08:26:09 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11881:
                   11882:        * mpf/Makefile.in: Compile floor.o, ceil.o and trunc.o (from
                   11883:        integer.c).
                   11884:        * make.bat: Likewise.
                   11885:
                   11886: Wed Feb  5 05:58:44 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11887:
                   11888:        * mpn/configure.in (alpha*): Add cntlz to extra_functions.
                   11889:
                   11890: Wed Feb  4 03:30:45 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11891:
                   11892:        * mpf/integer.c: New file (supporting mpf_floor, mpf_ceil, mpf_trunc).
                   11893:
                   11894: Mon Feb  3 14:21:36 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11895:
                   11896:        * make.bat: Fix typo, set_dfl_prc => set_dfl_prec.
                   11897:
                   11898: Sun Feb  2 02:34:33 1997  Torbjorn Granlund  <tege@matematik.su.se>
                   11899:
                   11900:        * mpf/out_str.c: After outputting `-', decrement n_digits.
                   11901:
                   11902: Wed Jan  8 02:50:20 1997  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11903:
                   11904:        * mpn/generic/divrem.c: qextra_limbs => qxn.
                   11905:
                   11906: Wed Dec 18 07:50:46 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11907:
                   11908:        * mpz/tests/t-tdiv.c (SIZE): Increase to 200.
                   11909:
                   11910: Tue Dec 17 19:32:48 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11911:
                   11912:        * mpn/generic/divrem.c (mpn_divrem_classic): New name for mpn_divrem.
                   11913:        * gmp.h (mpn_divrem): New function.
                   11914:        * mpn/generic/divrem_newton.c: New file.
                   11915:        * mpn/configure.in (functions): Add divrem_newton.
                   11916:        * make.bat: Likewise.
                   11917:
                   11918: Thu Dec 12 17:55:13 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11919:
                   11920:        * gmp.h (_GMP_H_HAVE_FILE): Test also __dj_include_stdio_h_.
                   11921:
                   11922: Sat Dec  7 09:40:06 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11923:
                   11924:        * mpn/alpha/invert-limb.s: New file.
                   11925:
                   11926: Thu Dec  5 01:25:31 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11927:
                   11928:        * mpz/ui_pow_ui.c (mpz_pow2): New (static) function.
                   11929:        (mpz_ui_pow_ui): Rewrite.
                   11930:
                   11931:        * make.bat: `pre_mod_1.c' => `pre_mod_.c'.  Fix typo in path to
                   11932:        gmp-mpar.h.
                   11933:
                   11934: Fri Nov 15 00:49:55 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11935:
                   11936:        * mpz/ui_pow_ui.c: Rewrite for better speed.
                   11937:
                   11938: Fri Nov  1 16:36:56 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11939:
                   11940:        * Makefile.in (recursive make rules): Use `&&' instead of `;' as
                   11941:        delimiter.
                   11942:
                   11943: Fri Oct 25 17:12:36 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11944:
                   11945:        * gmp-impl.h (Cray/uxp MPN_COPY): Really declare as inline.
                   11946:
                   11947: Thu Oct 24 15:08:19 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11948:
                   11949:        * mpn/fujitsu/rshift.c: Fix typo in loop boundaries.
                   11950:
                   11951: Fri Oct 18 03:13:54 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11952:
                   11953:        * mpn/configure.in: Recognize `nextstep' for m68k variants; likewise
                   11954:        for x86 variants.
                   11955:
                   11956:        * mpn/x86/syntax.h (INSND): New macro.
                   11957:        * mpn/x86/[lr]shift.S: Use INSND.
                   11958:        * mpn/x86/pentium/[lr]shift.S: Likewise.
                   11959:        * mpn/config/t-oldgas (SFLAGS): Pass -DOLD_GAS.
                   11960:
                   11961:        * gmp-impl.h: In code for determining endianess, test also
                   11962:        __BIG_ENDIAN__ and __hppa__.  Remove test of __NeXT__.
                   11963:
                   11964: Wed Oct 16 03:50:34 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11965:
                   11966:        * mpf/set_str.c: Let `prec' determine precision used in
1.1.1.4 ! ohara    11967:        exponentiation code; decrease allocation accordingly.
1.1.1.2   maekawa  11968:
                   11969:        * mpn/vax: Change `jsob*' to `sob*' in all files.
                   11970:
                   11971: Tue Oct 15 03:54:06 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11972:
                   11973:        * longlong.h (m88110 udiv_qrnnd): Change type of intermediate quotient
                   11974:        to DImode (divu.d generates a 64-bit quotient).
                   11975:
                   11976:        * configure.in (m88110*): Fix typo.
                   11977:
                   11978:        * mpf/get_str.c: Compute exp_in_base using `double' to avoid overflow.
                   11979:
                   11980:        * gmp-impl.h (struct bases): Change type of chars_per_bit_exactly from
                   11981:        float to double.
                   11982:        * mpn/mp_bases.c (__mp_bases): Give 17 digits for chars_per_bit_exactly
                   11983:        field.
                   11984:
                   11985:        * mpf/get_str.c: Let `prec' determine precision used in
1.1.1.4 ! ohara    11986:        exponentiation code; decrease allocation accordingly.
1.1.1.2   maekawa  11987:
                   11988: Sun Oct 13 03:31:53 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   11989:
                   11990:        * longlong.h: Major cleanup.
                   11991:        (__udiv_qrnnd_c): Compute remainders using multiply and subtract,
                   11992:        not explicit `%' operator.
                   11993:        (C umul_ppmm): Get rid of a redundant __ll_lowpart.
                   11994:
                   11995:        * mpz/invert.c: Properly detect all operands that would yield an
                   11996:        undefined inverse; make sure the inverse is always positive.
                   11997:
                   11998:        * mpz/xor.c: New file.
                   11999:        * mpz/Makefile.in: Compile it.
                   12000:        * make.bat: Likewise.
                   12001:        * gmp.h (mpz_xor): Declare.
                   12002:
                   12003:        * mpz/tests/logic.c: Also test mpz_xor.
                   12004:
                   12005:        * mpz/lcm.c: Special case for when either operand equals 0.
                   12006:
                   12007: Sat Oct 12 01:57:09 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12008:
                   12009:        * mpn/generic/gcd.c (find_a): Don't inline on x86.
                   12010:
                   12011:        * Makefile.in (CFLAGS): Default to just `-g'.
                   12012:
                   12013:        * configure.in: Recognize 386 and 486 wherever other x86 cpus are
                   12014:        recognized.
                   12015:        * configure.in: Use mt-x86 for all x86 cpus.
                   12016:        * config/mt-x86: New file.
                   12017:
                   12018:        * mpn/alpha/cntlz.s: New file.
                   12019:
                   12020: Tue Oct  8 00:16:18 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12021:
                   12022:        * longlong.h: Define smul_ppmm for Fujitsu vpp/uxp.
                   12023:        Rewrite umul_ppmm to actually work on the hardware.
                   12024:
                   12025:        * mpn/x86/sub_n.S: Avoid parens around displacement of `leal'.
                   12026:        * mpn/x86/add_n.S: Likewise.
                   12027:
                   12028:        * mpn/x86/syntax.h (R): Define differently depending on __STDC__.
                   12029:
                   12030: Mon Oct  7 16:48:08 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12031:
                   12032:        * longlong.h: Don't test for __NeXT__ in outer 68k conditional;
                   12033:        add test for __m68k__.
                   12034:
                   12035: Sun Oct  6 00:59:09 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12036:
                   12037:        * gmp.h: Declare mpn_random.
                   12038:        * make.bat: Compile mpn/generic/random.c.
                   12039:
                   12040:        * longlong.h: Define umul_ppmm for Fujitsu vpp/uxp.
                   12041:
                   12042:        * gmp-impl.h: Protect definitions using `__attribute__ ((mode (...)))'
                   12043:        with test also for __GNUC_MINOR__.
                   12044:
                   12045:        * gmp.h: Don't define macros using __builtin_constant_p when using
                   12046:        NeXT's compiler.
                   12047:
                   12048: Fri Oct  4 16:53:50 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12049:
                   12050:        * mpz/lcm.c: New file.
                   12051:        * mpz/Makefile.in: Compile it.
                   12052:        * make.bat: Likewise.
                   12053:        * gmp.h (mpz_lcm): Declare.
                   12054:
                   12055: Wed Sep 25 00:06:21 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12056:
                   12057:        * mpq/tests/t-cmp_ui.c: Make sure numerator and denominator of `b' is
                   12058:        within limits of an `unsigned long int'.
                   12059:
                   12060:        * mpz/tests/t-powm_ui.c: Change type of exp2 to `unsigned long int'.
                   12061:
                   12062: Tue Sep 24 18:58:20 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12063:
                   12064:        * mpz/powm_ui.c: Make result always positive.
                   12065:
                   12066:        * urandom.h (urandom): Make it return mp_limb_t.
                   12067:
                   12068:        * gmp-impl.h (CNST_LIMB): New macro.
                   12069:        * mpn/mp_bases.c: Use CNST_LIMB.
                   12070:        * mpn/generic/hamdist.c (popc_limb): Likewise.
                   12071:        * mpn/generic/popcount.c (popc_limb): Likewise.
                   12072:        * mpn/generic/perfsqr.c: Likewise.
                   12073:
                   12074: Fri Sep 20 03:08:10 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12075:
                   12076:        * mpz/pprime_p.c: When n <= 3, don't clear out n before using it.
                   12077:
                   12078: Wed Sep 18 11:22:45 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12079:
                   12080:        * mpn/fujitsu/mul_1.c: New file.
                   12081:        * mpn/fujitsu/addmul_1.c: New file.
                   12082:        * mpn/fujitsu/sub_n.c: New file.
                   12083:        * mpn/fujitsu/add_n.c: Mew file.
                   12084:
                   12085: Sun Sep 15 03:13:02 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12086:
                   12087:        * mpn/generic/random.c: New file.
                   12088:        * mpn/configure.in (functions): Add `random'.
                   12089:
                   12090:        * gmp-impl.h (MPN_COPY): Define as annotated inline function for
                   12091:        Crays and Fujitsu VPPs.
                   12092:
                   12093:        * gmp.h (mp_size_t): Define as `int' for non-MPP Cray.
                   12094:        (mp_exp_t): Likewise.
                   12095:
                   12096:        * configure.in: Add support for Fujitsu VPP machines.
                   12097:        * mpn/configure.in: Likewise.
                   12098:        * config.guess: Likewise.
                   12099:        * config.sub: Likewise.
                   12100:
                   12101:        * mpn/fujitsu/rshift.c: New file.
                   12102:        * mpn/fujitsu/lshift.c: New file.
                   12103:        * mpn/fujitsu: New directory, for Fujitsu VPP machines.
                   12104:
                   12105: Wed Sep 11 11:34:38 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12106:
                   12107:        * mpn/generic/mul_n.c (__gmpn_mul_n): New name for impn_mul_n.
                   12108:        Call __gmpn_mul_basecase, not impn_mul_n_basecase; update parameter
                   12109:        list to work with __gmpn_mul_basecase.
                   12110:        (__gmpn_sqr): New name for impn_sqr_n.
                   12111:        Call __gmpn_sqr_basecase, not impn_sqr_n_basecase; update parameter
                   12112:        list to work with __gmpn_sqr_basecase.
                   12113:        (mpn_mul_n): Update calls to match new names and parameter conventions.
                   12114:        * gmp-impl.h (MPN_MUL_N_RECURSE): Likewise.
                   12115:        (MPN_SQR_RECURSE): New name for MPN_SQR_N_RECURSE.
                   12116:        Update calls to match new names and parameter conventions.
                   12117:        * mpn/generic/mul.c: Never perform multiply explicitly here, call
                   12118:        __gmpn_mul_basecase instead.
                   12119:        Update calls to match new names and parameter conventions.
                   12120:
                   12121:        * mpn/x86/mul_basecase.S: New file.
                   12122:        * mpn/generic/mul_basecase.c: New file.
                   12123:        * mpn/generic/sqr_basecase.c: New file.
                   12124:
                   12125: Wed Sep  4 02:59:21 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12126:
                   12127:        * mpz/set_str.c: Let `0b' and `0B' mean base 2.
                   12128:
                   12129: Fri Aug 30 00:44:00 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12130:
                   12131:        * longlong.h (x86 umul_ppmm): Work around GCC bug that was
                   12132:        triggered by Aug 28 change.
                   12133:
                   12134:        * mpbsd/min.c (digit_value_in_base): New function.
                   12135:
                   12136:        * mpz/set_str.c: Refine allocation size computation, use
                   12137:        chars_per_bit_exactly instead of chars_per_limb.
                   12138:
                   12139:        * mpbsd/Makefile.in (.c.o): Add -D_mpz_realloc=_mp_realloc.
                   12140:
                   12141: Wed Aug 28 02:52:14 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12142:
                   12143:        * longlong.h (x86 umul_ppmm): Don't cast result operands.
                   12144:        (x86 udiv_qrnnd): Likewise.
                   12145:        (default smul_ppmm): Fix typo, umul_ppmm => smul_ppmm.
                   12146:        (default umul_ppmm): New #define using smul_ppmm.
                   12147:        (vax smul_ppmm): New #define.
                   12148:        (vax umul_ppmm): Delete.
                   12149:        (POWER umul_ppmm): Delete.
                   12150:        (IBM 370 smul_ppmm): New #define.
                   12151:        (IBM 370 umul_ppmm): Delete.
                   12152:        (IBM RT/ROMP smul_ppmm): New #define.
                   12153:        (IBM RT/ROMP umul_ppmm): Delete.
                   12154:
                   12155: Tue Aug 27 01:03:25 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12156:
                   12157:        * gmp-impl.h (__gmp_0): Make it `const'.
                   12158:
                   12159:        * mpn/Makefile.in (clean mostlyclean): Comment out recursive clean
                   12160:        of `tests'.
                   12161:
                   12162:        * mpn/generic/mul.c: Identify when we do squaring, and call
                   12163:        impn_sqr_n_basecase/impn_sqr_n as appropriate.  Use
                   12164:        KARATSUBA_MUL_THRESHOLD and KARATSUBA_SQR_THRESHOLD.
                   12165:        Don't #define KARATSUBA_THRESHOLD.
                   12166:
                   12167:        * mpn/generic/mul_n.c: Don't #define KARATSUBA_THRESHOLD.
                   12168:        (impn_mul_n, impn_sqr_n): Rewrite, based on code contributed by
                   12169:        Robert Harley.
                   12170:        (impn_sqr_n_basecase): Rewrite.
                   12171:
                   12172:        * gmp-impl.h (KARATSUBA_MUL_THRESHOLD): New #define.
                   12173:        (KARATSUBA_SQR_THRESHOLD): Likewise.
                   12174:        (MPN_SQR_N_RECURSE): Use KARATSUBA_SQR_THRESHOLD.
                   12175:        (MPN_MUL_N_RECURSE): Use KARATSUBA_MUL_THRESHOLD.
                   12176:
                   12177:        * configure.in: Fix typo in last change.
                   12178:
                   12179: Mon Aug 26 22:25:18 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12180:
                   12181:        * mpn/generic/random2.c: Fix typo, `alpha__' => `__alpha'.
                   12182:        * mpf/random2.c: Likewise.
                   12183:
                   12184: Sun Aug 25 00:07:09 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
                   12185:
                   12186:        * mpz/tests/t-mul.c: Also test squaring.
                   12187:
                   12188: Fri Aug 16 05:12:08 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12189:
                   12190:        * mp_clz_tab.c (__clz_tab): Declare as `const'.
                   12191:        * version.c (gmp_version): Likewise.
                   12192:        * mpn/generic/sqrtrem.c (even_approx_tab, odd_approx_tab): Likewise.
                   12193:
                   12194: Thu Aug 15 02:34:47 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12195:
                   12196:        * gmp.h: Fix typo, `mips__' => `__mips'.
                   12197:
                   12198:        * mpf/set_str.c: Allow a number to start with a period, if next
                   12199:        position contains a digit.
                   12200:
                   12201: Tue Aug 13 18:41:25 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12202:
                   12203:        * mpz/gcdext.c: Get cofactor sign right for negative input operands.
                   12204:        Clean up code for computing tt.
                   12205:
                   12206:        * mpz/invert.c: Get rid of variable `rv'.
                   12207:
                   12208:        * mpz/divexact.c: Test for zero divisor in special case for zero
                   12209:        dividend.
                   12210:
                   12211: Mon Aug 12 18:04:07 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12212:
                   12213:        * mpz/?div_*_ui.c: Special case for division by 0.
                   12214:        * mpz/tdiv_q.c: Likewise.
                   12215:
                   12216: Sat Aug 10 14:45:26 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12217:
                   12218:        * mpz/dmincl.c: Special case for division by 0.
                   12219:
                   12220:        * mpz/tdiv_*_ui.c: Delete special case for dividend being 0; handle
                   12221:        it when computing size after mpn_divmod_1 call.
                   12222:
                   12223:        * mp_bpl.c: (__gmp_junk): New variable.
                   12224:        (__gmp_0): New constant.
                   12225:
                   12226:        * gmp-impl.h (DIVIDE_BY_ZERO): New #define.
                   12227:
                   12228: Fri Aug  9 20:03:27 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12229:
                   12230:        * mpz/divexact.c: Test for dividend being zero before testing
                   12231:        for small divisors.
                   12232:
                   12233: Thu Aug  8 13:20:23 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12234:
                   12235:        * configure.in: Require operating system specification for cpus
                   12236:        where assembly syntax differs between system.
                   12237:
                   12238:        * Makefile.in (many targets): Change `-' action prefix to `@'.
                   12239:
                   12240:        * mpn/Makefile.in: (distclean): Fix typo.
                   12241:
                   12242:        * mpq/cmp_ui.c: Rename function to _mpq_cmp_ui.
                   12243:        (mpq_cmp_ui): #undef deleted.
                   12244:        * mpz/cmp_si.c: Rename function to _mpz_cmp_si.
                   12245:        (mpz_cmp_si): #undef deleted.
                   12246:        * mpz/cmp_ui.c: Rename function to _mpz_cmp_ui.
                   12247:        (mpz_cmp_ui): #undef deleted.
                   12248:        * Makefile.in: Corresponding changes.
                   12249:
                   12250:        * mpf/get_prc.c: Return the *highest* precision achievable.
                   12251:
                   12252:        * mpf/get_str.c: Complete rewrite.
                   12253:
                   12254:        * mpf/set_str.c (swapptr): New #define.
                   12255:        (assert): New #define.
                   12256:        * mpf/set_str.c: Set prec to one more than the saved _mp_prec.
                   12257:        Misc cleanups.
                   12258:
                   12259:        * mpz/set_str.c: #include string.h.
                   12260:        * mpf/out_str.c: #include string.h.
                   12261:        * mpbsd/xtom.c: #include string.h and ctype.h.
                   12262:        * mpbsd/mout.c: #include string.h.
                   12263:
                   12264: Wed Aug  7 11:46:04 EDT 1996  Ken Weber <kweber@mcs.kent.edu>
                   12265:
                   12266:        * mpn/generic/gcd.c: Reorder mpn_gcd argument list.
                   12267:        * mpz/gcd.c: Change call to mpn_gcd.
                   12268:        * gmp.texi: Update manual entry on mpn_gcd.
                   12269:        * mpn/generic/bdivmod.c: Delete limb cache to make mpn_bdivmod
                   12270:        reentrant.
                   12271:
                   12272: Wed Aug  7 02:15:38 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12273:
                   12274:        * mpf/get_str.c: Rewrite code for converting integral part of a
                   12275:        number with both an integral and fractional part.
                   12276:
                   12277:        * mpf/set_str.c: Get rid of variable xxx.  New variables madj and radj.
                   12278:        In exp_in_base==0 case, add madj to msize for EXP field.
                   12279:
                   12280:        * mpz/tests/t-gcd.c: Test deleted.  Rename t-gcd2.c to t-gcd.c.
                   12281:        Increase reps to 2000.
                   12282:        * mpz/tests/t-gcd2.c: Get rid of mpz_refgcd.
                   12283:
                   12284:        * mpf/set_str.c: Ignore excess limbs in MP,MSIZE.
                   12285:
                   12286: Thu Jul 25 04:39:10 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12287:
                   12288:        * mpn/configure.in: Fix typo in setting path, "sparc" => "sparc32".
                   12289:
                   12290: Wed Jul 24 02:27:02 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12291:
                   12292:        * mpn/generic/gcdext.c: Reorganize and clean up.  Get rid of all
                   12293:        signed limb arithmetic.
                   12294:
                   12295: Mon Jul 22 02:39:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12296:
                   12297:        * mpn/generic/gcdext.c (mpn_gcdext): For large enough operands,
                   12298:        work with most significant *two* limbs.
                   12299:        (div2): New function (two variants).
                   12300:        (THRESHOLD): New #define.
                   12301:
                   12302:        * mpz/gcdext.c: Fix typo in MPZ_TMP_INIT call.
                   12303:
                   12304:        * longlong.h (alpha UMUL_TIME): Now 30.
                   12305:        (alpha UDIV_TIME): Now 350.
                   12306:        (x86 UMUL_TIME): Now 10 (let Pentium decide).
                   12307:        (SuperSPARC UDIV_TIME): Override default.
                   12308:
                   12309:        * extract-dbl.c (MP_BASE_AS_DOUBLE): Don't redefine here.
                   12310:
                   12311:        * extract-dbl.c: New name for extract-double.c.
                   12312:        * insert-dbl.c: New name for insert-double.c.
                   12313:        * Makefile.in: Corresponding changes.
                   12314:        * make.bat: Likewise.
                   12315:
                   12316:        * mpz/Makefile.in (.c.o): Don't pass non-portable `-f' to cp.
                   12317:        * mpq/Makefile.in: Likewise.
                   12318:        * mpf/Makefile.in: Likewise.
                   12319:
                   12320: Sat Jul 20 01:35:18 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12321:
                   12322:        * mpz/getlimbn.c: Take ABS of integer->_mp_size.
                   12323:
                   12324:        * mpz/divexact.c: Use mpn_divmod_1 if divisor is a single limb.
                   12325:
                   12326: Thu Jul 18 00:31:15 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12327:
                   12328:        * mpn/generic/popcount.c (popc_limb): Use different masking trick
                   12329:        for first step (due to David Seal).
                   12330:        * mpn/generic/hamdist.c (popc_limb): Likewise.
                   12331:
                   12332: Wed Jul 17 23:21:48 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12333:
                   12334:        * mpn/generic/divrem.c: In MPN_COPY_DECR call, copy dsize - 1 limbs.
                   12335:
                   12336: Sun Jul 14 17:47:46 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12337:
                   12338:        * configure.in: Handle sparc9, sparc64, and ultrasparc like sparc8.
                   12339:
                   12340: Thu Jul 11 14:05:54 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
                   12341:
                   12342:        * longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
                   12343:        for the '020, '030, '040, and '332.  Define count_leading_zeros
                   12344:        for the '020, '030, '040, and '060.
                   12345:
                   12346: Sun Jul 14 15:24:53 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12347:
                   12348:        From Joe Keane:
                   12349:        * mpq/equal.c: Take ABS of num1_size before passing it to mpn_cmp.
                   12350:
                   12351: Fri Jul 12 17:11:17 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12352:
                   12353:        * mpn/generic/sqrtrem.c (SQRT): New asm for x86, but leave it
                   12354:        disabled for now.
                   12355:
                   12356:        * mpn/generic/sqrtrem.c: Use MP_BASE_AS_DOUBLE.
                   12357:
                   12358: Wed Jul 10 03:17:45 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12359:
                   12360:        * cre-mparam.c: Delete obsolete file.
                   12361:
                   12362:        * gmp.h: #define _LONG_LONG_LIMB if __mips && _ABIN32.
                   12363:        * longlong.h: Test __mips instead of __mips__.
                   12364:
                   12365: Sun Jul  7 23:19:13 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12366:
                   12367:        * longlong.h (_PROTO): Define, unless already defined.
                   12368:        (alpha __udiv_qrnnd): Declare using _PROTO.
                   12369:        (hppa __udiv_qrnnd): Likewise.
                   12370:        (sparc __udiv_qrnnd): Likewise.
                   12371:
                   12372: Mon Jul  1 01:44:30 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12373:
                   12374:        * config.guess: Update from master version; add Cray x90 handling.
                   12375:
                   12376: Wed Jun 26 05:35:02 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12377:
                   12378:        * mpn/power/add_n.s (__mpn_add_n): Work around GAS bug.
                   12379:        * mpn/power/sub_n.s (__mpn_sub_n): Likewise.
                   12380:
                   12381:        * insert-double.c: Rework loop to avoid potential overflow.
                   12382:
                   12383:        * mpq/get_d.c: For vax, if qsize > N_QLIMBS, ignore excess limbs.
                   12384:
                   12385:        * mpq/tests/t-get_d.c (SIZE): Special case for vax.
                   12386:
                   12387:        * gmp.h (mpX_cmp_ui): #define also when ! __GNUC__.
                   12388:
                   12389: Mon Jun 24 17:13:21 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12390:
                   12391:        * longlong.h (vax sdiv_qrnnd): Fix typo.
                   12392:
                   12393: Sat Jun 15 01:33:33 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12394:
                   12395:        * gmp.h: Support `small' and `large' type and function variants,
                   12396:        controlled by GMP_SMALL.
                   12397:
                   12398:        * mpz/Makefile.in (.c.o): Compile each function twice, for small and
                   12399:        large variant.
                   12400:        (MPZS_OBJS): New variable.
                   12401:        (libmpz.a): Include MPZS_OBJS in archive.
                   12402:        * mpf/Makefile.in: Analogous changes.
                   12403:        * mpq/Makefile.in: Analogous changes.
                   12404:
                   12405:        * gmp.h: Prefix all functions with __gmp, to allow namespace-clean
                   12406:        internal calls.
                   12407:
                   12408:        * mp.h: Rip out __MP_SMALL__ stuff.
                   12409:        (__mpz_struct): mp_size_t => int.
                   12410:
                   12411:        * mpz/invert.c: #include "gmp-impl.h".
                   12412:        Use MPZ_TMP_INIT, not mpz_init.
                   12413:
                   12414:        * mpz/gcdext.c: Rewrite to call mpn_gcdext.
                   12415:
                   12416: Fri Jun 14 18:05:29 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12417:
                   12418:        * mpn/generic/gcdext.c (s0size): New parameter.
                   12419:        * gmp.h (mpn_gcdext): Update prototype.
                   12420:
                   12421:        * mpn/generic/gcdext.c: Major rewrite.
                   12422:
                   12423: Mon Jun 10 00:14:27 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12424:
                   12425:        * mpn/generic/dump.c: Add missing `else'.
                   12426:
                   12427: Fri Jun  7 03:35:12 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
                   12428:
                   12429:        * Makefile.in (gmp_toc.html): Pass -expandinfo to texi2html.
                   12430:
                   12431: Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12432:
                   12433:        * Version 2.0.2 released.
                   12434:
                   12435:        * install.sh: New file.
                   12436:        * Makefile.in (INSTALL): Use install.sh.
                   12437:        (install-normal): New name for target `install'.
                   12438:        (install): New dummy target.
                   12439:
                   12440:        * mpz/pow_ui.c: Swap tests for (e == 0) and (bsize == 0).
                   12441:        * mpz/ui_pow_ui.c: Swap tests for (e == 0) and (blimb == 0).
                   12442:
                   12443:        * config/mt-linux (AR_FLAGS): New file.
                   12444:        * configure.in: Use config/mt-linux for all linux systems.
                   12445:
1.1.1.2   maekawa  12446: Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12447:
                   12448:        * Version 2.0.1 released.
                   12449:
                   12450:        * mpf/tests/ref.c: Cast result of TMP_ALLOC to the right pointer type.
                   12451:
                   12452:        * extract-double.c: Test _GMP_IEEE_FLOATS with #if, not plain if.
                   12453:
                   12454:        * insert-double.c: Don't #include stdlib.h.
                   12455:
                   12456:        * gmp-impl.h (union ieee_double_extract): Test sparc and __sparc.
                   12457:        Do not test __sparc__.
                   12458:
                   12459:        * mpf/reldiff.c: Change declaration to work around irix5 compiler bug.
                   12460:        * mpq/equal.c: Likewise.
                   12461:
                   12462:        * mpn/generic/gcd.c: Delete spurious comma at end of enumeration.
                   12463:
                   12464:        * mpn/generic/gcdext.c: Add K&R declaration syntax.
                   12465:        * stack-alloc.h: Likewise.
                   12466:        * insert-double.c: Likewise.
                   12467:        * extract-double.c: Likewise.
                   12468:        * mpf/tests/reuse.c: Likewise.
                   12469:        * mpz/tests/reuse.c: Likewise.
                   12470:        * mpf/tests/t-sub.c: Likewise.
                   12471:        * mpf/tests/t-add.c: Likewise.
                   12472:        * mpf/tests/t-muldiv.c: Likewise.
                   12473:        * mpf/tests/t-conv.c: Likewise.
                   12474:        * mpf/tests/ref.c: Likewise.
                   12475:
                   12476:        * mpn/config/t-oldgas: Renamed from t-freebsd.
                   12477:        * mpn/configure.in: Use t-oldgas for freebsd, netbsd, and some linux
                   12478:        configurations.
                   12479:
                   12480:        * mpn/powerpc32/mul_1.s: Really clear cy before entering loop.
                   12481:        * mpn/powerpc32/*.s: Fix power/powerpc syntax issues.
                   12482:
                   12483:        * mpn/config/t-ppc-aix: New file.
                   12484:        * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.
                   12485:
1.1.1.2   maekawa  12486: Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12487:
                   12488:        * gmp.h (mp_bits_per_limb): Change qualifier from `const' to
                   12489:        __gmp_const.
                   12490:
                   12491:        * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.
                   12492:        * mpf/iset_str.c: Likewise.
                   12493:
1.1.1.2   maekawa  12494: Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12495:
                   12496:        * gmp-impl.h: Declare __gmp_extract_double.
                   12497:
                   12498:        * mpz/set_q.c: Delete unused variables.
                   12499:
                   12500:        * gmp.h (mpq_equal): Declare.
                   12501:
                   12502:        * mpf/eq.c: mpf_cmp2 -> mpf_eq.
                   12503:
1.1.1.2   maekawa  12504: Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12505:
                   12506:        * mpz/iset_d.c: Don't include <math.h>.
                   12507:
                   12508:        * insert-double.c (__gmp_scale2): New name for scal2.
                   12509:        * mpz/get_d.c: Corresponding change.
                   12510:        * mpf/get_d.c: Likewise.
                   12511:        * mpq/get_d.c: Likewise.
                   12512:        * gmp-impl.h: Declare __gmp_scale2.
                   12513:
                   12514:        * mpn/generic/scan0.c: Clarify comment.
                   12515:
                   12516:        * mpz/set_q.c: New file.
                   12517:        * Makefile.in: Compile it.
                   12518:        * make.bat: Likewise.
                   12519:        * gmp.h: Declare mpz_set_q.
                   12520:
                   12521:        * insert-double.c: New file.
                   12522:        * Makefile.in: Compile it.
                   12523:        * make.bat: Likewise.
                   12524:
                   12525:        * mpz/get_d.c: New file.
                   12526:        * mpz/Makefile.in: Compile it.
                   12527:        * make.bat: Likewise.
                   12528:        * gmp.h: Declare mpz_get_d.
                   12529:
                   12530:        * mpf/get_d.c: New file.
                   12531:        * mpf/Makefile.in: Compile it.
                   12532:        * make.bat: Likewise.
                   12533:        * gmp.h: Declare mpf_get_d.
                   12534:
                   12535:        * make.bat: Compile things in alphabetical order.
                   12536:
                   12537:        * gmp-impl.h (MP_BASE_AS_DOUBLE): New #define.
                   12538:        (LIMBS_PER_DOUBLE): New #define.
                   12539:
                   12540:        * extract-double.c: New file.
                   12541:        * Makefile.in: Compile it.
                   12542:        * make.bat: Likewise.
                   12543:        * mpz/set_d.c: Rewrite to use __gmp_extract_double.
                   12544:        * mpf/set_d.c: Likewise.
                   12545:
                   12546:        * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.
                   12547:
1.1.1.2   maekawa  12548: Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12549:
                   12550:        * gmp-impl.h: Rework code for defining ieee_double_extract.
                   12551:        (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.
                   12552:        (_GMP_IEEE_FLOATS): New macro.
                   12553:        * mpn/vax/gmp-mparam.h: Delete.
                   12554:
                   12555:        * mpn/config/t-pwr-aix: New file.
                   12556:        * mpn/configure.in: Use t-pwr-aix for aix 4 and later.
                   12557:
1.1.1.2   maekawa  12558: Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12559:
                   12560:        * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.
                   12561:
                   12562:        * mpf/tests/t-add.c (oo): Add some `l' printf modifiers.
                   12563:        * mpf/tests/t-sub.c (oo): Likewise.
                   12564:        * mpf/tests/t-conv.c (oo): Likewise.
                   12565:        * mpf/tests/t-sqrt.c (oo): Likewise.
                   12566:
                   12567:        * mpz/tests/t-mul.c (_mpn_mul_classic): Remove unused variables.
                   12568:
                   12569:        * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.
                   12570:
1.1.1.2   maekawa  12571: Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12572:
                   12573:        * mpz/set_d.c: Call _mpz_realloc.
                   12574:
                   12575:        * mpq/set_z.c: New file.
                   12576:        * mpq/Makefile.in: Compile it.
                   12577:        * make.bat: Likewise.
                   12578:        * gmp.h: Declare mpq_set_z.
                   12579:
                   12580:        * mp?/Makefile.in (libmp?.a): Depend on Makefile, not Makefile.in.
                   12581:        * mpf/Makefile.in (test): Delete spurious target.
                   12582:        * mpq/Makefile.in (test): Likewise.
                   12583:
                   12584:        * mpf/out_str.c: Use `e' to separate exponent when base <= 10.
                   12585:
                   12586:        * mpn/configure.in: Treat ultrasparc just like sparc v8,
                   12587:        until 64-bit compilers are ready.
                   12588:
                   12589:        * mpf/set_d.c: Make it work for 64-bit machines.
                   12590:
1.1.1.2   maekawa  12591: Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12592:
                   12593:        * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian
                   12594:        machines.
                   12595:        * mpn/x86/gmp-mparam.h: Delete file.
                   12596:
                   12597:        * configure.in: Treat microsparc like sparc8.
                   12598:
                   12599:        * urandom.h: Test __alpha instead of __alpha__, since the former
                   12600:        is the standard symbol.
                   12601:        * mpn/generic/random2.c: Likewise.
                   12602:        * mpf/random2.c: Likewise.
                   12603:
1.1.1.2   maekawa  12604: Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
1.1       maekawa  12605:
                   12606:        * mpz/set_f.c: New file.
                   12607:        * mpz/Makefile.in: Compile it.
                   12608:        * gmp.h: Declare mpz_set_f.
                   12609:
                   12610:        * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.
                   12611:
1.1.1.2   maekawa  12612: Tue May 14 13:03:07 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
1.1       maekawa  12613:
                   12614:        * make.bat: Add all new files.
                   12615:
1.1.1.2   maekawa  12616: Sun May 12 22:24:36 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12617:
                   12618:        * mpf/set_z.c: New file.
                   12619:        * mpf/Makefile.in: Compile it.
                   12620:        * gmp.h: Declare mpf_set_z.
                   12621:
1.1.1.2   maekawa  12622: Sat May 11 19:26:25 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12623:
                   12624:        * gmp.h: Declare mpf_set_q.
                   12625:
                   12626:        * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.
                   12627:
1.1.1.2   maekawa  12628: Fri May 10 17:37:38 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12629:
                   12630:        * mpf/set_q.c: New file.
                   12631:        * mpf/Makefile.in: Compile it.
                   12632:
                   12633:        * config.sub: Recognize sparc8.
                   12634:
1.1.1.2   maekawa  12635: Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12636:
                   12637:        * mpf/tests/t-dm2exp.c: New file.
                   12638:
                   12639:        * mpf/tests/t-add.c: Correct header comment.
                   12640:        * mpf/tests/t-sub.c: Likewise.
                   12641:        * mpf/tests/t-sqrt.c: Likewise.
                   12642:
                   12643:        * mpf/div.c: Misc variable name cleanups.
                   12644:        * mpf/div_ui.c: Base more closely on mpf/div.c.
                   12645:        * mpf/ui_div.c: Likewise.
                   12646:
                   12647:        * mpz/tests/Makefile.in (check): Depend on Makefile.
                   12648:        * mpq/tests/Makefile.in (check): Likewise.
                   12649:        * mpf/tests/Makefile.in (check): Likewise.
                   12650:
                   12651:        * mpf/tests/t-muldiv.c: New file.
                   12652:        * mpf/tests/Makefile.in: Compile and run `t-muldiv'.
                   12653:        (t-ref.o): Delete spurious rule.
                   12654:
                   12655:        * mpf/sqrt.c: Properly detect negative input operand.
                   12656:
                   12657:        * mpf/sqrt_ui.c: Delete spurious header comment.
                   12658:        * mpf/sqrt.c: Likewise.
                   12659:        * mpz/sqrt.c: Likewise.
                   12660:
                   12661:        * mpz/tests/reuse.c (main): Read `reps' from command line.
                   12662:
                   12663:        * mpf/tests/reuse.c: New file.
                   12664:        * mpf/tests/Makefile.in: Compile and run `reuse'.
                   12665:
                   12666:        * mpf/mul_ui.c: Disable code for removing low zero limbs.
                   12667:
                   12668:        * mpf/div.c: Fix condition for when vp and qp overlaps.
                   12669:
                   12670:        * mpf/add_ui.c: When sum equals u, copy up to prec+1 limbs.
                   12671:
                   12672:        * mpf/out_str.c: Don't output '\n' after exponent.
                   12673:
                   12674:        * mpf/add_ui.c: New special case for when U is completely cancelled.
                   12675:
1.1.1.2   maekawa  12676: Wed Apr 24 05:33:28 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12677:
                   12678:        * Version 2.0 released.
                   12679:
1.1.1.4 ! ohara    12680:        * All files: Update FSF's address.
1.1       maekawa  12681:
                   12682:        * Makefile.in (gmp_toc.html): New name for gmp.html.
                   12683:        (TAGS): Depend on force.
                   12684:
                   12685:        * mpf/tests/t-conv.c: Pass -base to mpf_set_str.
                   12686:
1.1.1.2   maekawa  12687: Sat Apr 20 03:54:06 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12688:
                   12689:        * Makefile.in (ps): New target, depend on gmp.ps.
                   12690:
1.1.1.2   maekawa  12691: Fri Apr 19 14:03:15 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12692:
                   12693:        * mpf/out_str.c: Print `@' before exponent, not `e'.
                   12694:
                   12695:        * make.bat: Update from Makefiles.
                   12696:
1.1.1.2   maekawa  12697: Thu Apr 18 01:22:05 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12698:
                   12699:        * mpf/set_str.c: If parameter `base' is negative, expect exponent
                   12700:        to be decimal, otherwise in the same base as the mantissa.
                   12701:
1.1.1.2   maekawa  12702: Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12703:
                   12704:        * mpf/set_dfl_prec.c: Don't return anything.
                   12705:        * gmp.h: Corresponding changes.
                   12706:
                   12707:        * mpf/set_dfl_prec.c: Use `unsigned long int' for bit counts.
                   12708:        * mpf/init2.c: Likewise.
                   12709:        * mpf/get_prc.c: Likewise.
                   12710:        * mpf/set_prc.c: Likewise.
                   12711:        * mpf/set_prc_raw.c: Likewise.
                   12712:        * mpz/popcount.c: Likewise.
                   12713:        * mpz/hamdist.c: Likewise.
                   12714:        * mpz/scan1.c: Likewise.
                   12715:        * mpz/scan0.c: Likewise.
                   12716:        * mpn/generic/popcount.c: Likewise.
                   12717:        * mpn/generic/hamdist.c: Likewise.
                   12718:        * mpn/generic/scan1.c: Likewise.
                   12719:        * mpn/generic/scan0.c: Likewise.
                   12720:        * gmp.h: Likewise.
                   12721:
                   12722:        * mpf/eq.c: New file, based on mpf/diff.c.
                   12723:        * mpf/diff.c: Delete.
                   12724:        * mpf/Makefile.in: Corresponding changes.
                   12725:        * gmp.h: Likewise.
                   12726:
                   12727:        * mpf/reldiff.c: New file.
                   12728:        * mpf/Makefile.in: Compile it.
                   12729:        * gmp.h: Declare mpf_reldiff.
                   12730:
                   12731:        * mpz/iset_d.c: New file.
                   12732:        * mpz/Makefile.in: Compile it.
                   12733:        * gmp.h: Declare mpz_init_set_d.
                   12734:
1.1.1.2   maekawa  12735: Tue Apr 16 16:28:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12736:
                   12737:        * Makefile.in (gmp.html): Pass -acc to texi2html.
                   12738:
1.1.1.2   maekawa  12739: Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12740:
                   12741:        * mpf/set_str.c: Switch off code for defaulting the base from the
                   12742:        leading characters.
                   12743:
                   12744:        * gmp.h (mp?_sign): Delete.
                   12745:        (mp?_sgn): New macros.
                   12746:
1.1.1.2   maekawa  12747: Fri Apr 12 17:23:33 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12748:
                   12749:        * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.
                   12750:
1.1.1.2   maekawa  12751: Wed Apr 10 22:52:02 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
1.1       maekawa  12752:
                   12753:        * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.
                   12754:        * gmp.h: Corresponding change.
                   12755:
                   12756:        * gmp.h (mp_bits_per_limb): Make it const.
                   12757:
1.1.1.2   maekawa  12758: Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12759:
                   12760:        * configure.in: Re-enable recognition of with_gcc.
                   12761:
                   12762:        * mpf/Makefile.in (.c.o): Pass XCFLAGS.
                   12763:        * mpn/Makefile.in (.c.o): Likewise.
                   12764:        * mpz/Makefile.in (.c.o): Likewise.
                   12765:        * mpq/Makefile.in (.c.o): Likewise.
                   12766:        * mpbsd/Makefile.in (.c.o): Likewise.
                   12767:        * mpf/tests/Makefile.in (.c.o): Likewise.
                   12768:        * mpz/tests/Makefile.in (.c.o): Likewise.
                   12769:        * mpq/tests/Makefile.in (.c.o): Likewise.
                   12770:
                   12771:        * Makefile.in (XCFLAGS): Default to empty.
                   12772:        (FLAGS_TO_PASS): Pass on XCFLAGS.
                   12773:        (.c.o): Pass XCFLAGS.
                   12774:
                   12775:        * config/mt-m88110 (XCFLAGS): Define instead of CC.
                   12776:        * config/mt-sprc8-gcc (XCFLAGS): Likewise.
                   12777:        * config/mt-supspc-gcc (XCFLAGS): Likewise.
                   12778:
                   12779:        * configure: Don't default CC to "gcc -O2" is -with-gcc=no was
                   12780:        specified.
                   12781:
1.1.1.2   maekawa  12782: Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12783:
                   12784:        * urandom.h: Test for __SVR4 in addition to __svr4__.
                   12785:
                   12786:        * mp_bpl.c (mp_bits_per_limb): Declare as `const'.
                   12787:
                   12788:        * Makefile.in (CFLAGS): `-O2' => `-O'.
                   12789:        * mpn/Makefile.in (CFLAGS): Likewise.
                   12790:
                   12791:        * gmp-impl.h: Get rid of obsolete field access macros.
                   12792:
                   12793:        * mpn/mp_bases.c (__mp_bases): 1e39 => 1e38 to work around Solaris
                   12794:        cc compiler bug.
                   12795:
                   12796:        * gmp.h (__MPN): Make it work also for non-ANSI compilers.
                   12797:
1.1.1.2   maekawa  12798: Thu Mar 21 01:07:54 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12799:
                   12800:        * mpf/sub.c: New special case for ediff <= 1 before generic code.
                   12801:        Simplify generic code for ediff == 0.
                   12802:        Rename uexp => exp.
                   12803:
1.1.1.2   maekawa  12804: Mon Mar 11 18:24:57 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12805:
                   12806:        * mpf/tests/*.c: Use ref_mpf_sub for error calculation.
                   12807:        * mpf/tests/Makefile.in: Link ref.o to all executables.
                   12808:
                   12809:        * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.
                   12810:
1.1.1.2   maekawa  12811: Sun Mar 10 21:03:17 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
1.1       maekawa  12812:
                   12813:        * mpf/get_str.c: In digit development loop for fractions, change
                   12814:        loop condition from `<' to `<='.
                   12815:
1.1.1.2   maekawa  12816: Thu Mar  7 04:58:11 1996  Torbjorn Granlund  <tege@tiny.matematik.su.se>
1.1       maekawa  12817:
                   12818:        * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.
                   12819:
1.1.1.2   maekawa  12820: Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  12821:
                   12822:        * mpf/tests/t-sqrt.c: New file.
                   12823:        * mpf/tests/Makefile.in: Corresponding changes.
                   12824:
                   12825:        * mpf/sqrt.c: Special case for square root of zero.
                   12826:
                   12827:        * mpq/add.c: Clean up variable names.
                   12828:        * mpq/sub.c: Update from mpq/add.c.
                   12829:
                   12830:        * mpz/divexact.c: abs => ABS.
                   12831:        * mpz/gcd.c: Likewise.  Rewrite final fixup code, to decrease
                   12832:        allocation.  Misc cleanups.
                   12833:
1.1.1.2   maekawa  12834: Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12835:
                   12836:        * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.
                   12837:
                   12838:        * gmp.h (mpn_add, mpn_add_1, mpn_sub, mpn_sub_1): Add prototypes.
                   12839:
                   12840:        * mpn/configure.in: Use t-freebsd also for netbsd.
                   12841:
1.1.1.2   maekawa  12842: Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12843:
                   12844:        * mpq/Makefile.in (cmp.o): Depend on longlong.h.
                   12845:
                   12846:        * mpq/equal.c: New file.
                   12847:        * mpq/Makefile.in: Corresponding changes.
                   12848:
                   12849:        * mpf/tests/t-add.c: New file.
                   12850:        * mpf/tests/t-sub.c: Renamed from t-addsub.c.
                   12851:        * mpf/tests/ref.c: New file.
                   12852:        * mpf/tests/Makefile.in: Corresponding changes.
                   12853:
                   12854:        * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.
                   12855:
1.1.1.2   maekawa  12856: Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12857:
1.1.1.4 ! ohara    12858:        * mpf/set_str.c: In exponentiation code, allocate 3 extra
1.1       maekawa  12859:        limbs, not just 2.
                   12860:
                   12861:        * mpf/get_str.c: Allocate sufficient space for tstr.
                   12862:        When calculating exp_in_base, round result down.
                   12863:
                   12864:        * mpf/tests/t-conv.c: New file.
                   12865:        * mpf/tests/Makefile.in: Corresponding changes.
                   12866:
                   12867:        * mp_bpl.c: New file.
                   12868:        * gmp.h: Declare it.
                   12869:        * Makefile.in: Corresponding changes.
                   12870:
1.1.1.2   maekawa  12871: Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12872:
                   12873:        * mpf/set_prc_raw.c: New file.
                   12874:        * mpf/set_prc.c: Renamed from set_prec.c.
                   12875:        * mpf/get_prc.c: New file.
                   12876:        * mpf/Makefile.in: Corresponding changes.
                   12877:        * gmp.h: Declare new functions.
                   12878:
                   12879:        * mpn/generic/gcdext.c: Add copyright header.
                   12880:
1.1.1.2   maekawa  12881: Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12882:
                   12883:        * mpn/configure.in: For ppc601, search "power" before "powerpc32".
                   12884:
                   12885:        * mp?/Makefile.in (AR_FLAGS): New variable.
                   12886:        (libmp?.a): Use it.
                   12887:
                   12888:        * make.bat: New file.
                   12889:        * mpn/msdos: New directory.
                   12890:        * mpn/msdos/asm-syntax.h: New file.
                   12891:
                   12892:        * mpn/Makefile.in (distclean maintainer-clean): Delete asm-syntax.h.
                   12893:
                   12894:        * config.sub: Recognize [ctj]90-cray.
                   12895:
                   12896:        * mpn/configure.in: Recognize [ctj]90-cray-unicos*.
                   12897:
                   12898:        * mpn/generic/gcdext.c: Don't use alloca directly, use TMP_* macros.
                   12899:
                   12900:        * mpn/generic/gcd.c: Split increment from use of USIZE to avoid
                   12901:        undefined behaviour.
                   12902:
1.1.1.2   maekawa  12903: Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12904:
                   12905:        * Makefile.in (install-info-files): Update for new install-info
                   12906:        behaviour.
                   12907:
                   12908:        * mpn/power/add_n.s: Rewrite.
                   12909:        * mpn/power/sub_n.s: Rewrite.
                   12910:
1.1.1.2   maekawa  12911: Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12912:
                   12913:        * mpz/pow_ui.c: Compute allocation more aggressively for small bases.
                   12914:        * mpz/ui_pow_ui.c: Likewise.
                   12915:
                   12916:        * mpn/mp_bases.c (__mp_bases): Put huge value in 2nd field for index 1.
                   12917:
                   12918:        * mpn/generic/sqrtrem.c: sizeof (mp_limb_t) => BYTES_PER_MP_LIMB.
                   12919:        * mpn/generic/gcd.c: Likewise.
                   12920:        (SIGN_BIT): Compute differently.
                   12921:
1.1.1.2   maekawa  12922: Mon Feb 26 00:07:36 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12923:
                   12924:        * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.
                   12925:
                   12926:        * Makefile.in (install, install-bsdmp, install-info-files): Depend
                   12927:        on installdirs.  chmod all installed files.
                   12928:
1.1.1.2   maekawa  12929: Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12930:
                   12931:        * mpbsd/configure.in: Delete debugging code.
                   12932:
                   12933:        * All Makefile.in: Update clean targets.
                   12934:
                   12935:        * Makefile.in (AR_FLAGS): New variable.
                   12936:        (libgmp.a): Use it.
                   12937:        (libmp.a): Likewise.
                   12938:
                   12939:        * VERSION: Delete file.
                   12940:
                   12941:        * Makefile.in (installdirs): New target.
                   12942:        * mkinstalldirs: New file (from the texinfo package).
                   12943:
                   12944:        * Makefile.in (INSTALL, INSTALL_DATA, INSTALL_PROGRAM): New variables.
                   12945:        (MAKEINFO, MAKEINFOFLAGS, TEXI2DVI): New variables.
                   12946:        (install-info): New target.
                   12947:        (install, install-bsdmp): Depend on install-info.
                   12948:        ($(srcdir)/gmp.info): Changed from plain gmp.info; put info files
                   12949:        into source directory.
                   12950:        (distclean, mostlyclean): New targets.
                   12951:        (maintainer-clean): New name for realclean.
                   12952:        (uninstall): New target.
                   12953:        (TAGS): New target.
                   12954:        (info, dvi): New targets.
                   12955:        (.PHONY): Assign.
                   12956:
                   12957:        * Makefile.in (install, install-bsdmp): Use INSTALL_DATA.
                   12958:
                   12959:        * mp{n,z,f,bsd}/move-if-change: Delete.
                   12960:
                   12961:        * mpbsd/Makefile.in (stamp-stddefh): Delete target.
                   12962:
                   12963:        * Makefile.in (.c.o): Pass CFLAGS last.
                   12964:        * mpbsd/Makefile.in (.c.o): Likewise.
                   12965:        * mpf/Makefile.in (.c.o): Likewise.
                   12966:        * mpq/Makefile.in (.c.o): Likewise.
                   12967:        * mpz/Makefile.in (.c.o): Likewise.
                   12968:        * mpn/Makefile.in (.c.o): Likewise.
                   12969:        (.S.o): Likewise.
                   12970:
                   12971:        * memory.c: Change allocation error message.
                   12972:
                   12973:        * Makefile.in (install): Prefix gmp.h with $(srcdir).
                   12974:        (install-bsdmp): Prefix mp.h with $(srcdir).
                   12975:
                   12976:        * mp{n,z,f,bsd}/{configure,config.sub}: Delete.
                   12977:
                   12978:        * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation
                   12979:        (install targets): Install gmp.info-N.
                   12980:
1.1.1.2   maekawa  12981: Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  12982:
                   12983:        * mpf/get_str.c: Fix typo.
                   12984:
                   12985:        * mpz/legendre.c: Clarify expression with extra parens.
                   12986:
                   12987:        * version.c (gmp_version): Not static.
                   12988:
                   12989:        * mpf/iset_str.c: Properly return error code.
                   12990:
                   12991:        * mpf/add.c: Delete unused variables.
                   12992:        * mpf/inp_str.c: Likewise.
                   12993:        * mpq/get_d.c: Likewise.
                   12994:
                   12995:        * mpn/generic/dump.c: #include <stdio.h>.
                   12996:        * mpf/dump.c: Likewise.
                   12997:        * mpf/set_str.c: #include <ctype.h>.
                   12998:        (strtol): Declare.
                   12999:
                   13000:        * gmp.h: mpn_sqrt => mpn_sqrtrem.
                   13001:
                   13002:        * Makefile.in (clean, realclean): Clean in mpbsd.
                   13003:        (check): Test in mpf.
                   13004:
                   13005:        * mpf/Makefile.in (clean): Clean in tests.
                   13006:        * mpq/Makefile.in (clean): Clean in tests.
                   13007:
                   13008:        * mpf/tests/Makefile.in: New file.
                   13009:        * mpf/tests/configure.in: New file.
                   13010:        * mpf/tests/t-addsub.c: New file.
                   13011:
                   13012:        * mpf/sub_ui.c: Simply call mpf_sub for now.
                   13013:
                   13014:        * mpf/sub.c: Increase prec by 1.
                   13015:        * mpf/ui_sub.c: Likewise.
                   13016:
1.1.1.2   maekawa  13017: Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13018:
                   13019:        * mpf/ui_sub.c: Fix typos.
                   13020:
                   13021:        * mpf/get_str.c: When allocating space for tmp, allow for an extra
                   13022:        limb.  In code for fraction conversion, add special case for bases
                   13023:        that are a power of 2.
                   13024:
                   13025:        * mpf/out_str.c: Output leading "0.".
                   13026:        Default base to 10, before computing string allocation.
                   13027:
                   13028:        * mpf/get_str.c: Make variables for string size have type size_t.
                   13029:        * gmp.h: Corresponding change.
                   13030:
                   13031:        * mpf/random2.c: Allow creation of prec+1 large mantissas.
                   13032:
                   13033:        * mpf/add_ui.c: Don't abort if u < 0; special case for u <= 0.
                   13034:        Fix typo in MPN_COPY offset.
                   13035:        * mpf/sub_ui.c: Analogous changes.
                   13036:
                   13037:        * mpf/set_prec.c: Rewrite.
                   13038:
                   13039:        * mpf/init2.c: Compute precision as in set_prec.c.
                   13040:
                   13041:        * mpf/div_2exp.c: Special case for u == 0.
                   13042:        * mpf/mul_2exp.c: Likewise.  Write r->_mp_size always.
                   13043:
                   13044:        * mpf/sqrt_ui.c: mpn_sqrt => mpn_sqrtrem.
                   13045:        * mpf/sqrt.c: Likewise.  When computing new exponent, round quotient
                   13046:        towards -infinity.
                   13047:
                   13048:        * mpf/add.c: Fix typos.
                   13049:        * mpf/sub.c: Fix typos.
                   13050:
1.1.1.2   maekawa  13051: Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13052:
                   13053:        * mpz/Makefile.in (stamp-stddefh): Delete target.
                   13054:        (test): Delete target.
                   13055:        * Makefile.in (stamp-stddefh): Delete target.
                   13056:        (cre-stddefh.o): Delete target.
                   13057:        (gmp.dvi): Set TEXINPUTS before invoking tex.
                   13058:
                   13059:        * cre-stddefh.c: Delete.
                   13060:
                   13061:        * mpz/sqrt.c: Fix typo.
                   13062:
                   13063:        * mpz/powm.c: Special case for mod == 0.
                   13064:        * mpz/powm_ui.c: Likewise.
                   13065:
                   13066:        * mpz/get_si.c: Handle -0x80000000 correctly.
                   13067:
1.1.1.2   maekawa  13068:        * mpz/inp_str.c: Now returns size_t.
1.1       maekawa  13069:        Make it return number of bytes read or error indication.
                   13070:        * mpf/inp_str.c: Likewise.
                   13071:
                   13072:        * mpz/out_raw.c: Replace by mpz/out_binary.c, with modifications.
                   13073:        * mpz/inp_raw.c: Rewrite, using mpz/inp_binary as a base.
                   13074:        * mpz/inp_binary.c: Delete.
                   13075:
                   13076:        * mpn/Makefile.in (XCFLAGS): Remove variable.
                   13077:        (.c.o): Don't pass XCFLAGS.
                   13078:        (SFLAGS): Set to nothing.
                   13079:        (.S.o): Pass SFLAGS, not XCFLAGS.
                   13080:
                   13081:        * mpn/config/t-freebsd (SFLAGS): New name for XCFLAGS.
                   13082:
                   13083:        * mpf/out_str.c: Make return number of bytes written or error
                   13084:        indication.
                   13085:        * mpz/out_str.c: Likewise.
                   13086:        * gmp.h: Corresponding changes.
                   13087:
                   13088:        * gmp.h (__mpz_struct): mp_size_t => int.
                   13089:        (__mpq_struct): Likewise.
                   13090:        (__mpf_struct): Likewise.
                   13091:        (mp_size_t): int => long int.
                   13092:
                   13093:        * mpn/cray: New directory.
                   13094:        * mpn/cray/gmp-mparam.h: New file.
                   13095:        * mpn/configure.in: Recognize cray variants.
                   13096:
                   13097:        * Makefile.in: Set defaults for prefix, libdir, etc.
                   13098:        (install): New target.
                   13099:        (install-bsdmp): New target.
                   13100:        (gmp.html): New target.
                   13101:
                   13102:        * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.
                   13103:
1.1.1.2   maekawa  13104: Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13105:
                   13106:        * gmp.h: Sort mpn declarations.
                   13107:        (mpn_gcdext): Add declaration.
                   13108:
                   13109:        * mpn/generic/divrem_1.c: New file.
                   13110:        * mpn/Makefile.in (divrem_1.o): New rule.
                   13111:        * configure.in (functions): Add divrem_1.
                   13112:
                   13113:        * mpn/generic/divmod.c: Delete file.
                   13114:        * mpn/configure.in (functions): Delete divmod.
                   13115:        * Makefile.in (divmod.o): Delete rule.
                   13116:        * gmp.h (mpn_divmod): New #define.
                   13117:
                   13118:        * gmp.h (mpn_next_bit_set): Delete spurious declaration.
                   13119:
                   13120:        * mpn/generic/divrem.c (default case): In code assigning
                   13121:        most_significant_q_limb, move reassignment of n0 into if statement.
                   13122:
                   13123:        * gmp.h (mpf_inp_str): Fix typo.
                   13124:        (mpf_out_str): Make prototype match reality.
                   13125:        * mpf/inp_str.c: New file.
                   13126:        * mpf/out_str.c: New file.
                   13127:        * mpf/Makefile.in: Compile new files.
                   13128:
                   13129:        * mpn/Makefile.in (dump.o): Fix dependency path.
                   13130:        (inlines.o): Likewise.
                   13131:
                   13132:        * mpn/configure.in: Make m68060 be the same as m68000.  Clean up
                   13133:        m68k configs.
                   13134:
1.1.1.2   maekawa  13135: Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13136:
                   13137:        * mpn/generic/sqrtrem.c: Renamed from sqrt.
                   13138:        * mpn/configure.in (functions): Corresponding change.
                   13139:        * mpn/Makefile.in: Likewise.
                   13140:        * mpz/sqrtrem.c: Likewise.
                   13141:        * mpz/sqrt.c: Likewise.
                   13142:        * mpn/generic/perfsqr.c: Likewise.
                   13143:
                   13144:        * Makefile.in (clean): Also remove libmp.a.
                   13145:        Don't compile cre-conv-tab.c or mp_bases.c.
                   13146:        cre-conv-tab.c: Delete file.
                   13147:        (gmp.ps): New rule.
                   13148:
                   13149:        * mpn/mp_bases.c: New file.
                   13150:        * mpn/Makefile.in: Compile mp_bases.c.
                   13151:
                   13152:        * mpz/set_str.c: Skip initial whitespace.
                   13153:        * mpf/set_str.c: Likewise.
                   13154:        * mpbsd/xtom.c: Likewise.
                   13155:
                   13156:        * gmp.h: Add missing mpz declarations.
                   13157:        Delete all formal parameter names from declarations.
                   13158:
                   13159:        * mpn/Makefile.in: Add dependencies for .c files.
                   13160:
                   13161:        * Makefile.in (check): Write recursive make calls separately, not as
                   13162:        a loop.
                   13163:        (FLAGS_TO_PASS): New variable.  Use it for most recursive makes.
                   13164:
1.1.1.2   maekawa  13165: Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13166:
                   13167:        * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete
                   13168:        lines starting with #.
                   13169:        (CPP): Set to $(CC) -E to avoid gcc dependency.
                   13170:
                   13171:        * mpn/m68k/syntax.h (moveql): Define to moveq for MIT_SYNTAX.
                   13172:
                   13173:        * mpn/hppa/hppa1_1/pa7100/addmul_1.S: Fix typo in s1_ptr alignment
                   13174:        code.
                   13175:        * mpn/hppa/hppa1_1/pa7100/submul_1.S: Likewise.
                   13176:
                   13177:        * gmp.h: Fix typos in #defines of recently added mpn functions.
                   13178:
                   13179:        * mpz/inp_str.c: Skip all whitespace, not just plain space.
                   13180:        * mpbsd/min.c: Likewise.
                   13181:
                   13182:        * mpn/configure.in (functions): Add gcdext.
                   13183:        * mpn/generic/gcdext.c: New file.
                   13184:
                   13185:        * mpz/legendre.c: mpz_div_2exp => mpz_tdiv_q_2exp.
                   13186:
                   13187:        * gmp.h: Surround mpn declarations with extern "C" { ... }.
                   13188:
                   13189:        * Makefile.in (check): New target.
                   13190:
                   13191:        * mpq/get_d.c: Update comments.  Use rsize instead of dsize + N_QLIMBS
                   13192:        when possible.  Add special case for nsize == 0.
                   13193:
                   13194:        * gmp.h (mpq_get_d): Add declaration.
                   13195:        (mpq_canonicalize): Likewise.
                   13196:        (mpq_cmp_ui): Likewise.
                   13197:        (mpf_diff): Likewise.
                   13198:        (mpf_ui_sub): Likewise.
                   13199:        (mpf_set_prec): Likewise.
                   13200:        (mpf_random2): Likewise.
                   13201:
                   13202:        * gmp.h (mpz_cmp_ui): New #define.
                   13203:        (mpz_cmp_si): New #define.
                   13204:        (mpq_cmp_ui): New #define.
                   13205:        (mpz_sign): New #define.
                   13206:        (mpq_sign): New #define.
                   13207:        (mpf_sign): New #define.
                   13208:        (mpq_numref): New #define.
                   13209:        (mpq_denref): New #define.
                   13210:
                   13211:        * mpq/set_z.c: File deleted.
                   13212:        * mpq/Makefile.in: Corresponding changes.
                   13213:
1.1.1.2   maekawa  13214: Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13215:
                   13216:        * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.
                   13217:
                   13218:        * mpz/inp_binary.c: Default stream to stdin.
                   13219:        * mpz/inp_str.c: Likewise.
                   13220:        * mpz/inp_raw.c: Likewise.
                   13221:        * mpz/out_binary.c: Default stream to stdout.
                   13222:        * mpz/out_raw.c: Likewise.
                   13223:        * mpz/out_str.c: Likewise.
                   13224:
                   13225:        * mpbsd/realloc.c: New file.
                   13226:        * mpbsd/Makefile.in: Corresponding changes.
                   13227:
                   13228:        * mpbsd/min.c: Rewrite (base on mpz/inp_str.c).
                   13229:        * mpbsd/mtox.c: Rewrite (base on mpz/get_str.c).
                   13230:
                   13231:        * mpbsd/mout.c: Rewrite (base on mpz/out_str) but make it output
                   13232:        spaces in each 10th position.
                   13233:        * mpbsd/xtom.c: Rewrite (base on mpz/set_str).
                   13234:
                   13235:        * mpq/tests/Makefile.in (st-cmp): New file.
                   13236:        * mpq/tests/configure.in (srcname): New file.
                   13237:
                   13238:        * mpz/tests/configure.in (srcname): Fix typo.
                   13239:
                   13240:        * mpq/cmp.c: Add check using number of significant bits, to avoid
                   13241:        general multiplication.
                   13242:
1.1.1.2   maekawa  13243: Sat Feb 17 11:58:30 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13244:
                   13245:        * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.
                   13246:
                   13247:        * mpq/tests: New directory.
                   13248:        * mpq/tests/t-cmp.c: New file.
                   13249:        * mpq/tests/t-cmp_ui.c: New file.
                   13250:
                   13251:        * mpz/tests/dive.c (main): Generate zero numerator.
                   13252:        (get_random_size) : Delete.
                   13253:
                   13254:        * mpz/divexact.c: Add special case for 0/x.
                   13255:
                   13256:        * gmp.h (mpz_mod): Add declaration.
                   13257:
                   13258: Fri Feb 16 18:18:39 1996  Andreas Schwab  <schwab@informatik.uni-dortmund.de>
                   13259:
                   13260:        * mpn/m68k/*: Rewrite code not to use the INSN macros.
                   13261:        (L): New macro to properly prefix local labels for ELF.
                   13262:
1.1.1.2   maekawa  13263: Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13264:
                   13265:        * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for
                   13266:        fields.
                   13267:        * mpn/generic/inlines.c (_FORCE_INLINES): New #define.  Delete
                   13268:        conditional __GNUC__.
                   13269:        * gmp.h (mpn_add, mpn_sub, mpn_add_1, mpn_sub_1):
                   13270:        Only define these if __GNUC__ || _FORCE_INLINES.
                   13271:        * mpf/random2.c: Add missing parameter in non-ANSI header.
                   13272:        * mpn/generic/gcd.c (SIGN_BIT): Do as #define to work around bug
                   13273:        in AIX compilers.
                   13274:        * mpq/get_d.c: #define N_QLIMBS.
                   13275:        * mpz/divexact.c: Obscure division by 0 to silent compiler warnings.
                   13276:        * stack-alloc.c: Cast void* pointer to char* before doing arithmetic
                   13277:        on it.
                   13278:
                   13279:        * Makefile.in (mpbsd/libmpbsd.a): New rule.
                   13280:        * configure.in (configdirs): Add mpbsd.
                   13281:
                   13282:        * gmp.h: Add declarations for a few missing mpn functions.
                   13283:
                   13284:        * Makefile.in (libmp.a): New rule.
                   13285:
                   13286:        * mpbsd/mdiv.c: #include "dmincl.c", not "mpz_dmincl.c"
                   13287:        * gmp.h: Move #define of __GNU_MP__ into the `#if __GNU_MP__' block.
                   13288:        * mp.h: Likewise.  Update typedefs from gmp.h.
                   13289:        * mpbsd/configure.in: New file.
                   13290:        * mpbsd/Makefile.in: New file.
                   13291:        * mpbsd/configure: Link to master configure.
                   13292:        * mpbsd/config.sub: Link to master config.sub.
                   13293:
                   13294:        * Makefile.in: Set RANLIB_TEST.
                   13295:        * (libgmp.a): Use it.
                   13296:        * (libgmp.a): Do ranlib before moving the libgmp.a to the build
                   13297:        directory.
                   13298:        * mp?/Makefile.in: Don't use or set RANLIB.
                   13299:
1.1.1.2   maekawa  13300: Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13301:
                   13302:        * mpz/add_ui.c: MP_INT => mpz_t.
                   13303:        * mpz/cmp_ui.c: Likewise.
                   13304:        * mpz/fac_ui.c: Likewise.
                   13305:        * mpz/inp_binary.c: Likewise.
                   13306:        * mpz/inp_raw.c: Likewise.
                   13307:        * mpz/legendre.c: Likewise.
                   13308:        * mpz/jacobi.c: Likewise.
                   13309:        * mpz/out_binary.c: Likewise.
                   13310:        * mpz/out_raw.c: Likewise.
                   13311:        * mpz/random2.c: Likewise.
                   13312:        * mpz/random.c: Likewise.
                   13313:        * mpz/realloc.c: Likewise.
                   13314:
                   13315:        * mpz/legendre.c: __mpz_2factor(X) => mpz_scan1(X,0),
                   13316:        __mpz_odd_less1_2factor => mpz_scan1(X,1).
                   13317:        * mpz/ntsup.c: File deleted.
                   13318:        * mpz/Makefile.in: Corresponding changes.
                   13319:
                   13320:        * mpz/pprime_p: Use mpz_scan1 to avoid looping.
                   13321:
                   13322:        * mpz/fac_ui.c: Type of `k' and `p' is `unsigned long'.
                   13323:        * mpz/pprime_p.c: Pass long to *_ui functions.
                   13324:        * mpz/gcdext.c: Likewise.
                   13325:        * mpz/fdiv_r_2exp.c: Likewise.
                   13326:        * mpz/fac_ui.c: Likewise.
                   13327:
                   13328:        * mpz/powm.c: Don't use mpn_rshift when mod_shift_cnt is 0.
                   13329:
                   13330:        * mpz/tests/Makefile.in (st-sqrtrem): Fix typo.
                   13331:
                   13332:        * mpz/cmp_ui.c: #undef mpz_cmp_ui.
                   13333:        * mpz/cmp_si.c: #undef mpz_cmp_si.
                   13334:        * gmp.h (mpz_cmp_ui): New #define.
                   13335:        (mpz_cmp_si): New #define.
                   13336:
1.1.1.2   maekawa  13337: Wed Feb 14 22:11:24 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13338:
                   13339:        * gmp.h: Test __cplusplus in addition to __STDC__.
                   13340:        * gmp-impl.h: Likewise.
                   13341:
                   13342:        * gmp.h: Surround declarations with extern "C" { ... }.
                   13343:
1.1.1.2   maekawa  13344: Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13345:
                   13346:        * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.
                   13347:        * mpz/tdiv_r_2exp.c: Likewise.
                   13348:
                   13349:        * mpz/fdiv_r_2exp.c: New file.
                   13350:        * mpz/fdiv_q_2exp.c: New file.
                   13351:        * mpz/tdiv_r_2exp.c: Renamed from mpz/mod_2exp.c.
                   13352:        * mpz/tdiv_q_2exp.c: Renamed from mpz/div_2exp.c
                   13353:        * mpz/Makefile.in: Corresponding changes.
                   13354:
                   13355:        * mpz/scan0.c,scan1.c: New files.
                   13356:        * mpz/Makefile.in: Compile them.
                   13357:
                   13358:        * gmp.h (mpn_normal_size): Delete.
                   13359:
                   13360:        * config.guess: Update from Cygnus version.
                   13361:
                   13362:        * mpn/m68k/rshift.S: Use INSN2 macro for lea instructions.
                   13363:        * mpn/m68k/lshift.S: Likewise.
                   13364:
                   13365:        * mpn/configure.in: Fix configuration for plain 68000.
                   13366:
1.1.1.2   maekawa  13367: Mon Feb 12 01:06:06 1996  Torbjorn Granlund  <tege@matematik.su.se>
1.1       maekawa  13368:
                   13369:        * mpz/tests/t-powm.c: Generate negative BASE operand.
                   13370:
                   13371:        * mpz/powm.c: Make result always positive.
                   13372:
1.1.1.2   maekawa  13373: Sun Feb 11 01:44:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13374:
                   13375:        * mpz/tests/*.c: Add t- prefix.
                   13376:        * mpz/tests/Makefile.in: Corresponding changes.
                   13377:        * mpz/tests/configure.in: Update srctrigger.
                   13378:
                   13379:        * mpz/tests/gcd.c: Generate negative operands.
                   13380:        * mpz/tests/gcd2.c: Likewise.
                   13381:
                   13382:        * mpz/gcdext.c: At end, if G is negative, negate all G, S, and T.
                   13383:
                   13384: Thu Feb  8 17:16:12 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
                   13385:
                   13386:        * mp{z,n}/gcd.c: Change mpn_gcd interface.
                   13387:        * gmp.h: Ditto.
                   13388:        * gmp.texi: update documentation.
                   13389:
                   13390: Mon Feb  7 23:58:43 1996  Andreas Schwab  <schwab@informatik.uni-dortmund.de>
                   13391:
                   13392:        * mpn/m68k/{lshift,rshift}.S: New files.
                   13393:        * mpn/m68k/syntax.h: New ELF_SYNTAX macros.
                   13394:        (MEM_INDX, R, PROLOG, EPILOG): New macros.
                   13395:        * mpn/m68k/*.S: Use R macro with register name.  Use PROLOG and EPILOG
                   13396:        macros.  Rename `size' to `s_size' or s1_size to avoid clash with ELF
                   13397:        .size directive.
                   13398:        * mpn/configure.in: New target m68k-*-linux*.
                   13399:
1.1.1.2   maekawa  13400: Wed Feb  7 07:41:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13401:
                   13402:        * Makefile.in (cre-conv-tab): Workaround for SunOS make.
                   13403:
                   13404:        * mpz/tests/reuse.c: New file.
                   13405:        * mpz/tests/Makefile.in: Handle reuse.c.
                   13406:
                   13407: Tue Feb  6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
                   13408:
                   13409:        * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.
                   13410:
1.1.1.2   maekawa  13411: Tue Feb  6 01:36:39 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13412:
                   13413:        * gmp.h (mpz_divexact): Delete parameter names.
                   13414:        (mpz_lcm): Delete spurious declaration.
                   13415:
                   13416:        * mpz/dmincl.c: Fix typo.
                   13417:
1.1.1.2   maekawa  13418: Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13419:
                   13420:        * mpn/generic/gcd.c (gcd_2): Declare consistently.
                   13421:
                   13422:        * mpz/tdiv_q.c: Optimize division by a single-limb divisor.
                   13423:        * mpz/dmincl.c: Likewise.
                   13424:
                   13425:        * mpz/add.c: Use MPN_NORMALIZE instead of mpn_normal_size.
                   13426:        * mpz/sub.c: Likewise.
                   13427:        * mpn/generic/sqrt.c: Likewise.
                   13428:
                   13429:        * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the
                   13430:        destination arrays.
                   13431:
1.1.1.2   maekawa  13432: Fri Feb  2 02:21:27 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13433:
                   13434:        * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.
                   13435:        * mpz/Makefile.in: Compile them.
                   13436:
                   13437:        * mpn/Makefile.in (INCLUDES): Don't search in `generic'.
                   13438:
1.1.1.2   maekawa  13439: Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13440:
                   13441:        Change from Ken Weber:
                   13442:        * mpz/divexact.c: Make it work when quot is identical to either input.
                   13443:
                   13444:        * mpf/ui_sub.c: New file.
                   13445:        * mpf/Makefile.in: Compile it.
                   13446:
                   13447:        * gmp-impl.h (MPZ_TMP_INIT): alloca -> TMP_ALLOC.
                   13448:        * mpz/{c,f}div_{q,qr,r}.c: Use TMP_DECL/TMP_MARK/TMP_FREE since
                   13449:        these use MPZ_TMP_INIT.
                   13450:        * mpz/mod.c: Likewise.
                   13451:        * mpq/{add,sub}.c: Likewise.
                   13452:        * mpq/canonicalize: Likewise.
                   13453:
                   13454:        * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.
                   13455:        * mpq/canonicalize.c: Likewise.
                   13456:
1.1.1.2   maekawa  13457: Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13458:
                   13459:        * mpn/generic/gcd.c: Misc changes from Ken.
                   13460:
                   13461:        * mpz/tests/gcd2.c: New file.
                   13462:        * mpz/tests/Makefile.in: Handle gcd2.c.
                   13463:
                   13464:        * mpn/generic/gcd.c (mpn_gcd): When GCD == ORIG_V, return vsize,
                   13465:        not orig_vsize.  Fix parameter declaration.
                   13466:
                   13467:        * mpz/mod_ui.c: Delete file.
                   13468:        * mpz/Makefile.in: Don't try to compile mod_ui.
                   13469:
                   13470:        * mpz/cdiv_*_ui.c): Make them work right.
                   13471:        * gmp.h: Declare cdiv*.
                   13472:
1.1.1.2   maekawa  13473: Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13474:
                   13475:        * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,
                   13476:        cdiv_r_ui.c,cdiv_ui.c}: New files.
                   13477:        * mpz/Makefile.in: Compile them.
                   13478:
                   13479:        * All files: Make file permissions right.
                   13480:
                   13481:        Changes from Ken Weber:
                   13482:        * mpn/generic/accelgcd.c: Delete.
                   13483:        * mpn/generic/bingcd.c: Delete.
                   13484:        * mpn/generic/numbits.c: Delete.
                   13485:        * mpn/generic/gcd.c: New file.
                   13486:        * mpn/configure.in (functions): Update accordingly.
                   13487:        * mpz/divexact.c: New file.
                   13488:        * mpz/Makefile.in: Compile divexact.c.
                   13489:        * mpz/gcd.c: Rewrite to accommodate for gcd changes in mpn.
                   13490:        * gmp.h: declare new functions, delete obsolete declarations.
                   13491:        * mpz/tests/dive.c: New file.
                   13492:        * mpz/tests/Makefile.in: Handle dive.c.
                   13493:
1.1.1.2   maekawa  13494: Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13495:
                   13496:        * mpz/random.c: Handle negative SIZE parameter.
                   13497:
                   13498:        * mpz/tests/tdiv(_ui).c: New name for tst-dm(_ui).c.
                   13499:        * mpz/tests/tst-mdm(_ui).c: Delete.
                   13500:        * mpz/tests/fdiv(_ui).c: New test based in tst-mdm(_ui).
                   13501:        * mpz/tests/*.c: Get rid of tst- prefix for DOS 8+3 naming.
                   13502:        * mpz/tests/Makefile.in: Corresponding changes.
                   13503:        * mpz/tests/configure.in: Update srctrigger.
                   13504:
                   13505:        * mpn/generic/divmod.c: Update from divrem.
                   13506:        * mpn/generic/divrem.c: Misc cleanups.
                   13507:
1.1.1.2   maekawa  13508: Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13509:
                   13510:        * All files: Use new TMP_ALLOC interface.
                   13511:
                   13512:        * mpz/powm_ui.c: Make Jan 25 changes to powm.c also here.
                   13513:
                   13514:        * mpz/tests/powm_ui.c: New file.
                   13515:        * mpz/tests/Makefile.in: Add rules for tst-powm and tst-powm_ui.
                   13516:
                   13517:        * Makefile.in: Update dependency list.
                   13518:        * mpf/Makefile.in: Likewise.
                   13519:        * mpz/Makefile.in: Likewise.
                   13520:        * mpq/Makefile.in: Likewise.
                   13521:        * Makefile.in: Set RANLIB simply to ranlib, and allow configure
                   13522:        to override it.
                   13523:
                   13524:        * mpz/Makefile.in (conf): Delete spurious target.
                   13525:        (mp_bases.c): Delete.
                   13526:        (cre-conv-tab rules): Delete.
                   13527:
                   13528:        * Makefile.in (cre-conv-tab): Greatly simplify.
                   13529:
1.1.1.2   maekawa  13530: Sat Jan 27 13:38:15 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13531:
                   13532:        * stack-alloc.c: New file.
                   13533:        * stack-alloc.h: New file.
                   13534:
                   13535:        * gmp.h (__gmp_inline): Define using __inline__.
                   13536:
1.1.1.2   maekawa  13537: Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13538:
                   13539:        * mpn/generic/scan0.c: New file.
                   13540:        * mpn/generic/scan1.c: Renamed from next_bit.c.
                   13541:        * mpn/configure.in (functions): Include scan0 and scan1.
                   13542:
                   13543:        * mpn/m68k/*: #include sysdep.h.  Use C_GLOBAL_NAME.
                   13544:
                   13545:        * configure: Update from Cygnus version.
                   13546:        * config.guess: Likewise.
                   13547:        * config.sub: Likewise.
                   13548:        * configure: Pass --nfp to recursive configures.
                   13549:
                   13550:        * mpz/tests/tst-*.c: Adjust SIZE and reps.
                   13551:
                   13552:        * mpz/powm.c: Move esize==0 test earlier.
                   13553:        In final reduction of rp,rsize, don't call mpn_divmod unless
                   13554:        reduction is really needed.
                   13555:
                   13556:        * mpz/tests/tst-powm.c: Fix thinko in checking code.
                   13557:
                   13558:        * All files: Get rid of `__' prefix from mpn_* calls and declarations.
                   13559:        * gmp.h: #define __MPN.
                   13560:        * gmp.h: Use __MPN in #defines for mpn calls.
                   13561:
                   13562:        * mpn/generic/mul_n.c: Prepend `i' to internal routines.
                   13563:        * gmp-impl.h: Add #defines using __MPN for those internal routines.
                   13564:
                   13565:        * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.
                   13566:
1.1.1.2   maekawa  13567: Wed Jan 24 13:28:19 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13568:
                   13569:        * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.
                   13570:        * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.
                   13571:        * mpn/sparc32/v8/supersparc: New directory.
                   13572:        * mpn/sparc32/v8/supersparc/udiv.S: New file.
                   13573:
1.1.1.2   maekawa  13574: Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13575:
                   13576:        This major contribution is from Ken Weber:
                   13577:        * mpn/generic/accelgcd.c: New file.
                   13578:        * mpn/generic/bdivmod.c: New file.
                   13579:        * mpn/generic/bingcd.c: New file.
                   13580:        * mpn/generic/gcd_1.c: Rewrite.
                   13581:        * mpn/generic/numbits.c: New file (to go away soon).
                   13582:        * mpz/gcd.c: Rewrite.
                   13583:        * mpz/tests/tst-gcd.c (SIZE): Now 128.
                   13584:        * gmp.h: Declare new functions.
                   13585:        * mpn/configure.in (functions): List new files.
                   13586:        * gmp-impl.h (MPN_SWAP): Delete.
                   13587:        (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.
                   13588:        (MPN_COMPL_INCR, MPN_COMPL): Delete.
                   13589:
1.1.1.2   maekawa  13590: Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13591:
                   13592:        * gmp.h (mpn_name): New #define.
                   13593:
                   13594:        * mpn/m88k/mc88110/addmul_1.s: New file.
                   13595:        * mpn/m88k/mc88110/add_n.S: New file.
                   13596:        * mpn/m88k/mc88110/sub_n.S: New file.
                   13597:
                   13598:        * mpn/m88k/sub_n.s: Correctly initialize carry.
                   13599:
                   13600:        * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.
                   13601:
1.1.1.2   maekawa  13602: Sun Jan 21 00:04:35 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13603:
                   13604:        * mpn/sparc64/addmul_1.s: New file.
                   13605:        * mpn/sparc64/submul_1.s: New file.
                   13606:        * mpn/sparc64/rshift.s: New file.
                   13607:
1.1.1.2   maekawa  13608: Sat Jan 20 00:32:54 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13609:
                   13610:        * mpz/iset.c: Fix typo introduced Dec 25.
                   13611:
1.1.1.2   maekawa  13612: Wed Jan 17 13:16:44 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13613:
                   13614:        * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.
                   13615:        * config/mt-sparcv8-gcc: Delete.
                   13616:        * configure.in: Corresponding changes.
                   13617:
1.1.1.2   maekawa  13618: Tue Jan 16 16:31:01 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13619:
                   13620:        * gmp-impl.h: #include alloca.h when necessary.
                   13621:
                   13622:        * longlong.h: Test __alpha instead of __alpha__, since the former
                   13623:        is the standard symbol.
                   13624:
1.1.1.2   maekawa  13625: Mon Jan 15 18:06:57 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13626:
                   13627:        * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.
                   13628:        * mpn/sparc64/lshift.s: New file.
                   13629:
1.1.1.2   maekawa  13630: Fri Dec 29 17:34:03 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13631:
                   13632:        * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.
                   13633:        * mpn/x86/pentium/sub_n.S: Likewise.
                   13634:
1.1.1.2   maekawa  13635: Thu Dec 28 03:16:57 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13636:
                   13637:        * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update
                   13638:        of loop induction variable and load insn at beginning of loop.
                   13639:        * mpn/x86/pentium/addmul_1.S: Likewise.
                   13640:        * mpn/x86/pentium/submul_1.S: Likewise.
                   13641:
1.1.1.2   maekawa  13642: Mon Dec 25 23:22:55 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13643:
                   13644:        * All files: Prefix user-visible structure fields with _mp_.
                   13645:
1.1.1.2   maekawa  13646: Fri Dec 22 20:42:17 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13647:
                   13648:        * mpn/configure.in (m68k configs): Terminate path variable with
                   13649:        plain "m68k".
                   13650:
1.1.1.2   maekawa  13651: Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13652:
                   13653:        * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to
                   13654:        clean things up.
                   13655:
                   13656:        * mpn/configure.in (m68k configs): Update #include path for new
                   13657:        mpn directory organization.
                   13658:
1.1.1.2   maekawa  13659: Tue Dec 12 02:53:02 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13660:
                   13661:        * gmp.h: Prefix all structure field with _mp_.
                   13662:        * gmp-impl.h: Define access macros for these fields.
                   13663:
1.1.1.2   maekawa  13664: Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13665:
                   13666:        * mpn/alpha/addmul_1.s: Prefix labels with `.'.
                   13667:        * mpn/alpha/submul_1.s: Likewise.
                   13668:        * mpn/alpha/[lr]shift.s: Likewise.
                   13669:        * mpn/alpha/udiv_qrnnd.S: Likewise.
                   13670:        * mpn/alpha/ev5/[lr]shift.s: Likewise.
                   13671:
                   13672:        * mpn/alpha/ev5/lshift.s: Fix typos.
                   13673:
1.1.1.2   maekawa  13674: Fri Dec  1 14:28:20 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13675:
                   13676:        * mpn/Makefile.in (.SUFFIXES): Define.
                   13677:
1.1.1.2   maekawa  13678: Wed Nov 29 23:11:57 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13679:
                   13680:        * mpn/sparc64/{add_n.s, sub_n.s}: New files.
                   13681:
1.1.1.2   maekawa  13682: Tue Nov 28 06:03:13 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13683:
                   13684:        * mpn/x86/syntax.h: Handle ELF_SYNTAX.
                   13685:        Rename GAS_SYNTAX => BSD_SYNTAX.
                   13686:
                   13687:        * mpn/configure.in: Handle linuxelf and SysV for x86 variants.
                   13688:
1.1.1.2   maekawa  13689: Mon Nov 27 01:32:12 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13690:
                   13691:        * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.
                   13692:
1.1.1.2   maekawa  13693: Sun Nov 26 04:30:47 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
1.1       maekawa  13694:
                   13695:        * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.
                   13696:
                   13697:        * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.
                   13698:        * mpn/sparc32/sub_n.S: Likewise.
                   13699:
1.1.1.2   maekawa  13700: Fri Nov 17 00:18:46 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13701:
                   13702:        * mpn/configure.in: Handle m68k on NextStep.
                   13703:
1.1.1.2   maekawa  13704: Thu Nov 16 02:30:26 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13705:
                   13706:        * mpn: Reorganize machine-specific directories.
                   13707:        * mpn/configure.in: Corresponding changes.
                   13708:        (sh, sh2): Handle these.
                   13709:        (m68k targets): Create asm-syntax.h.
                   13710:
1.1.1.2   maekawa  13711: Thu Nov  9 02:20:50 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13712:
                   13713:        * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.
                   13714:        (____mpn_mul_n): Likewise.
                   13715:
1.1.1.2   maekawa  13716: Tue Nov  7 03:25:12 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13717:
                   13718:        * mpf/get_str.c: In exponentiation code (two places), don't swap
                   13719:        input and output areas when calling mpn_mul_1.
                   13720:        * mpf/set_str.c: Likewise.
                   13721:
1.1.1.2   maekawa  13722: Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13723:
                   13724:        * mpf/Makefile.in: Make sure all objects are listed in dependency list;
                   13725:        delete spurious entries.
                   13726:
                   13727:        * mpf/mul.c: Handle U or V being 0.  Allow prec+1 for result precision.
                   13728:
                   13729:        * mpf/set_prec.c: New computation of limb precision.
                   13730:        * mpf/set_dfl_prec.c: Likewise.
                   13731:
                   13732:        * mpf/random2.c: Fix typo computing exp.
                   13733:        * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of
                   13734:        the user-requested number of digits, n_digits.
                   13735:
1.1.1.2   maekawa  13736: Thu Nov  2 16:25:07 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13737:
                   13738:        * mpn/generic/divrem.c (case 2): Don't move np vector back, it is
                   13739:        never read.
                   13740:        (default case): Put most significant limb from np in new variable n2;
                   13741:        decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].
                   13742:
1.1.1.2   maekawa  13743: Wed Nov  1 02:59:53 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13744:
                   13745:        * mpn/sparc/[lr]shift.S: New files.
                   13746:
1.1.1.2   maekawa  13747: Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13748:
                   13749:        * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.
                   13750:
                   13751:        * gmp-impl.h (assert): Delete definition.
                   13752:
                   13753:        * mpf/sub.c: Delete all assert calls.  Delete variable `cy'.
                   13754:
                   13755:        * mpf/neg.c: Use prec+1 as precision.  Optimize for when arguments
                   13756:        are the same.
                   13757:        * mpf/abs.c: Likewise.
                   13758:        * mpf/{set,neg,abs}.c: Make structure and variable names similar.
                   13759:
1.1.1.2   maekawa  13760: Mon Oct 30 12:45:26 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13761:
                   13762:        * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.
                   13763:        * mpn/generic/random2.c (random): Likewise.
                   13764:
1.1.1.2   maekawa  13765: Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13766:
                   13767:        * mpf/div.c: Special handle U or V being 0.
                   13768:
                   13769:        * mpf/random2.c: New file.
                   13770:
                   13771:        * longlong.h (i860 rshift_rhlc): Define.
                   13772:        (i960 udiv_qrnnd): Define.
                   13773:        (i960 count_leading_zeros): Define.
                   13774:        (i960 add_ssaaaa): Define.
                   13775:        (i960 sub_ddmmss): Define.
                   13776:        (i960 rshift_rhlc): Define.
                   13777:
1.1.1.2   maekawa  13778: Sat Oct 28 19:09:15 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13779:
                   13780:        * mpn/pentium/rshift.S: Fix and generalize condition for when to use
                   13781:        special code for shift by 1.
                   13782:        * mpn/pentium/lshift.S: Likewise.
                   13783:
1.1.1.2   maekawa  13784: Thu Oct 26 00:02:56 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13785:
                   13786:        * gmp.h: #undef __need_size_t.
                   13787:        * mp.h: Update from gmp.h.
                   13788:
1.1.1.2   maekawa  13789: Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13790:
                   13791:        * mpf/Makefile.in: Compile set_prec.c.
                   13792:        * mpf/realloc.c: Delete this file.
                   13793:        * mpf/Makefile.in: Delete mentions of realloc.c.
                   13794:
                   13795:        * gmp.h (__mpf_struct): Get rid of `alloc' field.
                   13796:        * mpf/clear.c: Likewise.
                   13797:        * mpf/init*.c: Likewise.
                   13798:        * mpf/set_prec.c: Likewise.
                   13799:        * mpf/iset*.c: Likewise.
                   13800:
                   13801:        * mpf/iset_str.c: New file.
                   13802:
                   13803:        * mpn/configure.in: Handle pyramid.
                   13804:
                   13805:        * mpf/set.c: Use prec+1 as precision.
                   13806:
                   13807:        * mpf/set_prec.c: New file.
                   13808:
1.1.1.2   maekawa  13809: Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13810:
                   13811:        * mpn/generic/divrem.c: New file.  Will replace mpn/generic/divmod.c
                   13812:        when rest of source is converted.
                   13813:        * mpn/configure.in (functions): Add `divrem'
                   13814:        * mpn/generic/set_str.c: Never call __mpn_mul_1 with zero size.
                   13815:
                   13816:        * mpf/get_str.c: Completely rewritten.
                   13817:        * mpf/add.c: Fix several problems.
                   13818:        * mpf/sub.c: Compare operands from most significant end until
                   13819:        first difference, exclude skipped limbs from computation.
                   13820:        Accordingly simplify normalization code.
                   13821:        * mpf/set_str.c: Fix several problems.
                   13822:        * mpf/dump.c: New file.
                   13823:        * mpf/Makefile.in: Compile dump.c.
                   13824:        * mpf/init2.c: Set prec field correctly.
                   13825:
1.1.1.2   maekawa  13826: Sun Oct 22 03:02:09 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13827:
                   13828:        * cre-conv-tab.c: #include math.h; don't declare log and floor.
                   13829:
1.1.1.2   maekawa  13830: Sat Oct 21 23:04:10 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13831:
                   13832:        * mpf/mul_ui.c: Handle U being 0.
                   13833:
1.1.1.2   maekawa  13834: Wed Oct 18 19:39:27 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13835:
                   13836:        * mpn/generic/set_str.c: Correctly handle input like "000000000000".
                   13837:        Misc cleanups.
                   13838:
1.1.1.2   maekawa  13839: Tue Oct 17 15:14:13 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13840:
                   13841:        * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where
                   13842:        appropriate.
                   13843:
1.1.1.2   maekawa  13844: Mon Oct 16 19:14:43 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13845:
                   13846:        * mpf/add.c: Rewrite.
                   13847:        * mpf/set_str.c: New file.  Needs more work.
                   13848:
1.1.1.2   maekawa  13849: Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13850:
                   13851:        * mpf/div_2exp.c: Vastly simplify.
                   13852:        * mpf/mul_2exp.c: Likewise.
                   13853:
                   13854:        * mpf/sub.c: Rewrite.
                   13855:
                   13856:        * gmp-impl.h (udiv_qrnnd_preinv2gen): Terminate comment.
                   13857:
                   13858:        * mpf/dump.c: Free allocated memory.
                   13859:
                   13860:        * gmp-impl.h (assert): Define.
                   13861:
1.1.1.2   maekawa  13862: Wed Oct 11 13:31:00 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13863:
                   13864:        * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.
                   13865:
1.1.1.2   maekawa  13866: Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13867:
                   13868:        * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.
                   13869:
                   13870:        * mpn/powerpc32/{lshift.s,rshift.s}: New files.
                   13871:
                   13872:        * configure.in: Fix typo.
                   13873:
1.1.1.2   maekawa  13874: Sat Oct  7 08:17:09 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13875:
                   13876:        * longlong.h (smul_ppmm): Correct type of __m0 and __m1.
                   13877:
1.1.1.2   maekawa  13878: Wed Oct  4 16:31:28 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13879:
                   13880:        * mpn/configure.in: Handle alphaev5.
                   13881:        * mpn/ev4: New name for alpha subdir.
                   13882:        * mpn/ev5: New subdir.
                   13883:        * mpn/ev5/lshift.s: New file.
                   13884:
1.1.1.2   maekawa  13885: Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13886:
                   13887:        * mpn/alpha/mul_1.s: Avoid static increments of pointers; use
                   13888:        corresponding offsets in ldq and stq instructions instead.
                   13889:        (Loop): Swap cmpult and stq to save one cycle on EV5.
                   13890:
                   13891:        * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,
                   13892:        submul_1.s}: Don't check results if NOCHECK is defined.
                   13893:
1.1.1.2   maekawa  13894: Mon Oct  2 11:40:18 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13895:
                   13896:        * longlong.h (mips umul_ppmm [32 and 64 bit versions]):
                   13897:        Make new variants, based on GCC version number, that use `l' and `h'
                   13898:        constraints instead of explicit mflo and mfhi instructions
                   13899:
1.1.1.2   maekawa  13900: Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13901:
                   13902:        * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.
                   13903:        * mpn/mc88100/sub_n.s: Likewise.
                   13904:
                   13905:        * config/mt-m88110: New file.
                   13906:        * configure.in: Use it.
                   13907:
                   13908:        * mpn/mc88110/mul_1.s: Fix thinko.
                   13909:
1.1.1.2   maekawa  13910: Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13911:
                   13912:        * mpz/set_d.c: Declare `size' at function start.
                   13913:
                   13914:        * experimental: New directory for mpx and mpz2.
                   13915:
                   13916:        * mpz/tdiv_q.c: Clarify comments.
                   13917:        * mpz/{mod.c,mod_ui.c}: New file, for math mod function.
                   13918:
                   13919:        * mpn/sh2/{mul_1.s,addmul_1.s,submul_1.s}: New files.
                   13920:
                   13921:        * mpn/sh/{add_n.s,sub_n.s}: New files.
                   13922:
                   13923:        * mpn/pyr/{add_n.s,sub_n.s,mul_1.s,addmul_1.s}: New files.
                   13924:
                   13925:        * mpn/i960/{add_n.s,sub_n.s}: New files.
                   13926:
                   13927:        * mpn/alpha/addmul_1.s (Loop): Move decrement of r18 to before umulh,
                   13928:        to save cycles on EV5.
                   13929:        * mpn/alpha/submul_1.s: Ditto.
                   13930:        * mpn/alpha/mul_1.s: Ditto.
                   13931:
1.1.1.2   maekawa  13932: Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13933:
                   13934:        * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if
                   13935:        _LONG_LONG_LIMB is defined.
                   13936:
                   13937:        * longlong.h (m88110): Test __m88110__, not __mc88110__
                   13938:
                   13939:        * mpn/mc88110/mul_1.s: Rewrite.
                   13940:
1.1.1.2   maekawa  13941: Tue Sep 26 23:29:05 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13942:
                   13943:        * config.sub: Update from current Cygnus version.
                   13944:
                   13945:        * mpn/configure.in: Recognize canonical m88*, not mc88*.
                   13946:
1.1.1.2   maekawa  13947: Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13948:
                   13949:        * mpz/set_d.c: New file.
                   13950:        * mpz/Makefile.in: Build new files.
                   13951:
                   13952:        * mpq/get_d.c: Replace usage of scalbn with ldexp.
                   13953:
                   13954:        * mpn/{vax,i386}/gmp-mparam.h: New files.
                   13955:        * gmp-impl.h (ieee_double_extract): Define here.
                   13956:        * mpf/set_d.c (ieee_double_extract): Not here.
                   13957:
1.1.1.2   maekawa  13958: Thu Sep 21 00:56:36 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13959:
                   13960:        * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.
                   13961:        (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,
                   13962:        protect with new symbol LONGLONG_STANDALONE.
                   13963:        (68000 umul_ppmm): Use %# prefix for immediate constants.
                   13964:
1.1.1.2   maekawa  13965: Wed Sep 20 15:36:23 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13966:
                   13967:        * mpn/generic/divmod_1.c: Handle
                   13968:        divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
                   13969:        specifically also when normalization_steps != 0.
                   13970:
1.1.1.2   maekawa  13971: Mon Sep 18 15:42:30 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13972:
                   13973:        * mpq/get_d.c: New file.
                   13974:
1.1.1.2   maekawa  13975: Sun Sep 17 02:04:36 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13976:
                   13977:        * longlong.h (pyr): Botch up for now.
                   13978:
1.1.1.2   maekawa  13979: Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13980:
                   13981:        * mpn/clipper/mul_1.s: New file.
                   13982:        * mpn/clipper/add_n.s: New file.
                   13983:        * mpn/clipper/sub_n.s: New file.
                   13984:        * mpn/configure.in: Handle clipper*-*-*.
                   13985:
                   13986:        * mpn/configure.in: Recognize rs6000-*-*.
                   13987:
1.1.1.2   maekawa  13988: Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  13989:
                   13990:        * mpn/alpha/add_n.s: New file.
                   13991:        * mpn/alpha/sub_n.s: New file.
                   13992:
                   13993:        * mpn/mips3: New name for mpn/r4000.
                   13994:        * mpn/mips2: New name for mpn/r3000.
                   13995:        * mpn/configure.in: Corresponding changes.
                   13996:
                   13997:        * mpn/generic/perfsqr.c (primes): Delete.
                   13998:        (residue_map): Delete.
                   13999:
1.1.1.2   maekawa  14000: Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14001:
                   14002:        * mpn/r3000/sub_n.s: Fix typo.
                   14003:
                   14004:        * dm_trunc.c: Delete spurious file.
                   14005:
                   14006:        * mpz/out_binary.c: Fix typo.
                   14007:
                   14008:        * mpn/configure.in (per-target): Make mips*-*-irix6* imply r4000.
                   14009:
                   14010:        * gmp-impl.h: For sparc and sgi, include alloca.h.
                   14011:
                   14012:        * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'.  Replace
                   14013:        `ldk r,#0' with `xor r,r'.
                   14014:
1.1.1.2   maekawa  14015: Wed Sep  6 00:58:38 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14016:
                   14017:        * mpz/inp_binary.c: New file.
                   14018:        * mpz/out_binary.c: New file.
                   14019:        * mpz/Makefile.in: Build new files.
                   14020:
1.1.1.2   maekawa  14021: Tue Sep  5 22:53:51 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14022:
                   14023:        * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc
                   14024:        and size fields.
                   14025:
1.1.1.2   maekawa  14026: Sat Sep  2 17:47:59 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14027:
                   14028:        * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.
                   14029:        * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,
                   14030:        derived from r4000 code.
                   14031:
1.1.1.2   maekawa  14032: Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14033:
                   14034:        * mpn/r3000/mul_1.s: Fix typo.
                   14035:
                   14036:        * mpn/powerpc32: Fix some old vs new mnemonic issues.
                   14037:
                   14038:        * mpn/powerpc32/{add_n.s,sub_n.s}: New files.
                   14039:        * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.
                   14040:
1.1.1.2   maekawa  14041: Wed Aug 30 10:43:47 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14042:
                   14043:        * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.
                   14044:        * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.
                   14045:
                   14046:        * config.guess: Update to latest FSF revision.
                   14047:
1.1.1.2   maekawa  14048: Mon Aug 28 02:18:13 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14049:
                   14050:        * mpz/out_str.c: Cast str to char * in fputs call.
                   14051:
                   14052:        * gmp-impl.h: Define UQItype, SItype, and USItype also
                   14053:        when not __GNUC__.
                   14054:
1.1.1.2   maekawa  14055: Fri Aug 25 01:45:04 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14056:
                   14057:        * mpn/i386/syntax.h: Renamed from asm-syntax.h.
                   14058:        * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.
                   14059:        * mpn/configure.in: Corresponding changes.
                   14060:
1.1.1.2   maekawa  14061: Sun Aug 13 19:20:04 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
1.1       maekawa  14062:
                   14063:        * mpn/generic/random2.c: Test __hpux, not hpux.
                   14064:
                   14065: Sat Apr 15 20:50:33 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14066:
                   14067:        * mpn/sparc/add_n.S: Make it work for PIC.
                   14068:        * mpn/sparc/sub_n.s: Likewise.
                   14069:        * mpn/sparc8/addmul_1.S: Likewise.
                   14070:        * mpn/sparc8/mul_1.S: Likewise.
                   14071:        * mpn/i386/add_n.S: Likewise.
                   14072:        * mpn/i386/sub_n.S: Likewise.
                   14073:
                   14074: Thu Apr 13 23:15:03 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14075:
                   14076:        * mpn/configure.in: Don't search power subdir for generic ppc configs.
                   14077:        Add some ppc cpu-specific configs.  Misc clean up.
                   14078:
                   14079: Mon Apr 10 00:16:35 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14080:
                   14081:        * mpz/ui_pow_ui.c: Delete spurious code to handle negative results.
                   14082:
                   14083: Sun Apr  9 12:38:11 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14084:
                   14085:        * longlong.h (SPARC v8 udiv_qrnnd): Generate remainder in C,
                   14086:        not in asm.
                   14087:
                   14088:        * mpn/generic/sqrt.c (SQRT): Test for __SOFT_FLOAT.
                   14089:
                   14090: Tue Mar 28 00:19:52 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14091:
                   14092:        * mpn/generic/hamdist.c (popc_limb): Make Mar 16 change here too.
                   14093:
                   14094: Fri Mar 17 23:29:22 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14095:
                   14096:        * longlong.h (SH umul_ppmm): Define.
                   14097:
                   14098: Thu Mar 16 16:40:44 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14099:
                   14100:        * mpn/generic/popcount.c (popc_limb): Rearrange 32 bit case
                   14101:        to help CSE.
                   14102:
                   14103: Fri Mar 10 20:03:49 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14104:
                   14105:        * mpn/powerpc32/mul_1.s: Clear cy before entering loop.
                   14106:        Rearrange loop to save a cycle.
                   14107:        * mpn/powerpc32/addmul_1.s: New file.
                   14108:        * mpn/powerpc32/submul_1.s: New file.
                   14109:
                   14110: Fri Feb 17 22:44:45 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14111:
                   14112:        * mpn/configure.in: Set target_makefile_frag for freebsd
                   14113:        in new case stmt.
                   14114:        * mpn/config/t-freebsd: New file.
                   14115:        * mpn/Makefile.in: Add #### for frag insertion.
                   14116:        (XCFLAGS): Clear by default.
                   14117:        (.c.o, .S.o rules): Pass XCFLAGS.
                   14118:
                   14119: Tue Feb  7 16:27:50 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14120:
                   14121:        * longlong.h (68000 umul_ppmm): Merge improvements from henderson.
                   14122:
                   14123: Tue Jan 24 04:23:20 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14124:
                   14125:        * longlong.h (default umul_ppmm): Store input parameters in temporaries
                   14126:        to avoid reading them twice.
                   14127:        (default smul_ppmm): New definition.
                   14128:
                   14129: Thu Dec 29 04:20:07 1994  Jim Meyering  (meyering@comco.com)
                   14130:
                   14131:        * generic/perfsqr.c (__mpn_perfect_square_p): Remove declaration
                   14132:        of unused variable.
                   14133:        * generic/pre_mod_1.c (__mpn_preinv_mod_1): Likewise.
                   14134:        * mpz/powm.c (pow): Likewise.
                   14135:
                   14136:        * mpz/and.c (mpz_and): Use {} instead of `;' for empty else clause
                   14137:        to placate `gcc -Wall'.
                   14138:        * mpz/ior.c (mpz_ior): Likewise.
                   14139:
                   14140: Wed Dec 28 13:31:40 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14141:
                   14142:        * mpn/m*68*/*.S: #include asm-syntax.h, not asm.h.
                   14143:
                   14144: Mon Dec 26 17:15:36 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14145:
                   14146:        * longlong.h: Test for more symbols, in __mc68000__ case.
                   14147:
                   14148:        * mpn/mpn/config.sub: Recognize m68060.
                   14149:        * mpn/configure.in: Change mc* to m* for 68k targets.
                   14150:        * mpn/Makefile.in (.S.o): Delete spurious creation of temp .c file.
                   14151:
                   14152: Mon Dec 19 01:56:30 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14153:
                   14154:        * config.sub: Recognize pentium as a valid CPU.
                   14155:        * mpn/configure.in: Handle pentium specifically, to use new assembly
                   14156:        code.
                   14157:
                   14158: Mon Dec 19 00:13:01 1994  Jim Meyering  (meyering@comco.com)
                   14159:
                   14160:        * gmp.h: Define _GMP_H_HAVE_FILE if FILE, __STDIO_H__, or H_STDIO
                   14161:        is defined.
                   14162:        * gmp.h: test _GMP_H_HAVE_FILE instead of FILE everywhere else.
                   14163:
                   14164: Mon Dec 19 00:04:54 1994  Kent Boortz  (boortz@sics.se)
                   14165:
                   14166:        * Makefile.in (recursive makes): Pass CFLAGS.
                   14167:
                   14168: Sun Dec 18 22:34:49 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14169:
                   14170:        * mpn/pentium: New directory.
                   14171:
                   14172:        * mpz/pprime.c: Make sure to mpz_clear all temporaries.
                   14173:
                   14174:        * longlong.h: Don't use udiv instruction when SUPERSPARC is defined.
                   14175:        * configure.in: Handle supersparc*-.
                   14176:        * config/mt-supspc-gcc: New file.
                   14177:        * config/mt-sparc8-gcc: New name for mt-sparcv8-gcc.
                   14178:
                   14179: Mon Dec 12 22:22:10 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14180:
                   14181:        * mpn/i386/*.S: #include "asm-syntax.h", not "asm.h".
                   14182:        #include sysdep.h before asm-syntax.h.
                   14183:
                   14184:        * mpn/mc68020/asm-syntax.h: #undef ALIGN before defining it.
                   14185:        * mpn/i386/asm-syntax.h: Likewise.
                   14186:
                   14187:        * mpn/mc68020/asm-syntax.h: New name for asm.h.
                   14188:        * mpn/i386/asm-syntax.h: New name for asm.h.
                   14189:
                   14190: Tue Dec  6 21:55:25 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14191:
                   14192:        * mpz/array_init.c: Fix typo in declaration.
                   14193:
                   14194: Fri Nov 18 19:50:52 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14195:
                   14196:        * mpn/Makefile.in (.S.o): Pass CFLAGS and INCLUDES.
                   14197:
                   14198: Mon Nov 14 00:34:12 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14199:
                   14200:        * mpn/generic/random2.c (random): Test for __svr4__.
                   14201:
                   14202: Wed Oct 12 23:28:16 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14203:
                   14204:        * cre-conv-tab.c (main): Avoid upper-case X in printf format string.
                   14205:
                   14206: Tue Aug 23 17:16:35 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14207:
                   14208:        * mpz/perfsqr.c: Use mpn_perfect_square_p.
                   14209:        * mpn/generic/perfsqr.c: New file.
                   14210:
                   14211: Wed Jul  6 13:46:51 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14212:
                   14213:        * mpz/array_init.c: New file.
                   14214:        * mpz/Makefile.in: Compile array_init.
                   14215:        * gmp.h: Declare mpz_array_init.
                   14216:
                   14217: Mon Jul  4 01:10:03 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14218:
                   14219:        * mpz/add.c: Fix bogus comment.
                   14220:        * mpz/sub.c: Likewise.
                   14221:
                   14222: Sat Jul  2 02:14:56 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14223:
                   14224:        * mpn/generic/pre_mod_1.c: New file.
                   14225:        * mpz/perfsqr.c: Use __mpn_preinv_mod_1 when faster.
                   14226:
                   14227: Fri Jul 01 22:10:19 1994  Richard Earnshaw (rwe11@cl.cam.ac.uk)
                   14228:
                   14229:        * longlong.h (arm umul_ppmm): Fix typos in last change.  Mark
                   14230:        hard-coded registers with "%|"
                   14231:
                   14232: Thu Jun 30 03:59:33 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14233:
                   14234:        * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.
                   14235:        Use __mpn_mod_1.
1.1.1.2   maekawa  14236:        * mpz/perfsqr.c: Don't clobber REM in quadratic residue check loop.
1.1       maekawa  14237:
                   14238: Wed Jun 29 18:45:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14239:
                   14240:        * mpn/generic/sqrt.c (SQRT): New asm for IBM POWER2.
                   14241:
                   14242:        * mpz/gcd_ui.c: Return 0 if result does not fit an unsigned long.
                   14243:
                   14244:        * gmp.h: Use "defined (__STDC__)" consistently.
                   14245:
                   14246: Tue Jun 28 18:44:58 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14247:
                   14248:        * gmp.h (mpz_get_si): Don't use "signed" keyword for return type.
                   14249:
                   14250:        * mpz/tests/Makefile.in: Use CFLAGS for linking.
                   14251:
                   14252:        * Makefile.in (CFLAGS): Use -O2 here.
                   14253:        * mpn/Makefile (CFLAGS): Not here.
                   14254:
                   14255:        * mpq/cmp_ui.c: Fix typo.
                   14256:        * mpq/canonicalize.c: Fix typo.
                   14257:        * mpz/gcd_ui.c: Handle gcd(0,v) and gcd(u,0) correctly.
                   14258:        * mpn/generic/gcd_1.c: Fix braino in last change.
                   14259:
                   14260: Mon Jun 27 16:10:27 1994  Torbjorn Granlund  (tege@rtl.cygnus.com)
                   14261:
                   14262:        * mpz/gcd_ui.c: Change return type and return result.
                   14263:        Allow destination param to be NULL.
                   14264:        * gmp.h: Corresponding change.
                   14265:        * mpn/generic/gcd_1.c: Handle zero return from mpn_mod_1.
                   14266:
                   14267: Tue Jun 14 02:17:43 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
                   14268:
                   14269:        * mpn/i386/asm.h (ALIGN): Make it take a parameter.
                   14270:        * mpn/i386/*.S: Use ALIGN to align all loops.
                   14271:
                   14272:        * mpn/i386/*.S: Move colon inside C_GLOBAL_NAME expression.
                   14273:        (Makes old versions of GAS happy.)
                   14274:
                   14275: Sat May 28 01:43:54 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14276:
                   14277:        * Many files: Delete unused variables and labels.
                   14278:        * mpn/generic/dump.c: cast printf width argument to int.
                   14279:
                   14280: Wed May 25 00:42:37 1994  Torbjorn Granlund  (tege@thepub.cygnus.com)
                   14281:
                   14282:        * mpz/gcd.c (mpz_gcd): Normalize after __mpn_sub calls.
                   14283:        (xmod): Ignore return value of __mpn_divmod.
                   14284:        (xmod): Improve normalization code.
                   14285:
                   14286: Sat May 21 01:30:09 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14287:
                   14288:        * mpz/gcdext.c: Cosmetic changes.
                   14289:
                   14290:        * mpz/fdiv_ui.c: New file.
                   14291:
                   14292: Fri May 20 00:24:53 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14293:
                   14294:        * mpz/tests/Makefile.in: Use explicit rules for running tests,
                   14295:        not a shell loop.
                   14296:        (clean): Delete stmp-*.
                   14297:
                   14298:        * mpz/Makefile.in: Update.
                   14299:
                   14300:        * mpz/div_ui.c: Don't include longlong.h.
                   14301:        * mpz/dm_ui.c: Likewise.
                   14302:
                   14303:        * mpz/fdiv_q.c, mpz/fdiv_q_ui.c, mpz/fdiv_qr.c, mpz/fdiv_qr_ui.c,
                   14304:        mpz/fdiv_r.c, mpz/fdiv_r_ui.c: New files.  Code partly from deleted
                   14305:        mdm.c, mdm_ui.c, etc, partly rewritten.
                   14306:        * mpz/dm_floor_ui.c, mpz/dm_floor.c: Delete.
                   14307:        * mpz/mdm.c, mpz/mdm_ui.c, mpz/mdiv.c, mpz/mdiv_ui.c, mpz/mmod.c,
                   14308:        mpz/mmod_ui.c: Delete.
                   14309:
                   14310:        * mpz/tdiv_q.c, mpz/tdiv_q_ui.c, mpz/tdiv_qr.c, mpz/tdiv_qr_ui.c,
                   14311:        mpz/tdiv_r.c, mpz/tdiv_r_ui.c:
                   14312:        New names for files implementing truncating division.
                   14313:        * mpz/div_ui.c, mpz/dm_ui.c, mpz/mod_ui.c: Simplify.
                   14314:
                   14315:        * mpn/Makefile.in (.S.o): Don't rely on CPP being defined, use CC
                   14316:        instead.
                   14317:        (clean): Delete tmp-*.
                   14318:
                   14319: Thu May 19 01:37:44 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14320:
                   14321:        * mpz/cmp.c: Call __mpn_cmp.
                   14322:
                   14323:        * mpz/popcount.c: Fix typo.
                   14324:
                   14325:        * mpz/powm_ui.c: Simplify main loop.  Keep principal operand size
                   14326:        smaller than MSIZE when possible.
                   14327:        * mpz/powm.c: Likewise.
                   14328:
                   14329:        * mpn/generic/sqrt.c: Move alloca calls into where the memory is
                   14330:        needed.  Simplify.
                   14331:
                   14332:        * gmp.h: (_PROTO): New macro.
                   14333:        Add many function declarations; use _PROTO macro in all declarations.
                   14334:
                   14335:        * mpf/*.c: Prepend mpn calls with __.
                   14336:
                   14337: Wed May 18 20:57:06 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14338:
                   14339:        * mpf/*ui*.c: Make ui argument `long' for consistency with mpz
                   14340:        functions.
                   14341:
                   14342:        * mpf/div_ui.c: Simplify.
                   14343:
                   14344: Tue May 17 01:05:14 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14345:
                   14346:        * mpz/*.c: Prepend mpn calls with __.
                   14347:
                   14348:        * mpz/mul_ui.c: Use mpn_mul_1.
                   14349:
                   14350: Mon May 16 17:19:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14351:
                   14352:        * mpn/i386/mul_1.S: Use C_GLOBAL_NAME.
                   14353:        * mpn/i386/mul_1.S, mpn/i386/addmul_1.S, mpn/i386/submul_1.S:
                   14354:        Nuke use of LAB.
                   14355:
                   14356: Sat May 14 14:21:02 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14357:
                   14358:        * gmp-impl.h: Don't define abort here.
                   14359:
                   14360:        * mpz/pow_ui.c: Increase temporary allocation.
                   14361:        * mpz/ui_pow_ui.c: Likewise.
                   14362:
                   14363:        * gmp.h (mpz_add_1, mpz_sub_1): Don't call memcpy.
                   14364:
                   14365:        * All Makefile.in: Delete spurious -I arguments.
                   14366:        Update dependencies.
                   14367:
                   14368:        * mpz/popcount.c: New file.
                   14369:        * mpz/hamdist.c: New file.
                   14370:
                   14371:        * All configure: Latest version from Cygnus.
                   14372:
                   14373:        * mpq/Makefile.in: New file.
                   14374:        * mpq/configure.in: New file.
                   14375:        * Makefile.in, configure.in: Enable compilation of mpq.
                   14376:
                   14377:        * mpq/set_z.c: Fix typos.
                   14378:        * mpq/canonicalize.c: Fix typos.
                   14379:        * mpq/cmp_ui.c: Fix typos.
                   14380:
                   14381:        * mpf/add_ui.c: Read U->D into UP always.  Delete spurious MPN_COPY.
                   14382:        * mpf/sub_ui.c: Likewise.
                   14383:
                   14384:        * gmp-impl.h: Don't redefine alloca.
                   14385:
                   14386:        * COPYING.LIB: Renamed from COPYING.
                   14387:
                   14388: Wed May 11 01:45:44 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
                   14389:
                   14390:        * mpz/powm_ui.c: When shifting E left by C+1, handle out-of-range
                   14391:        shift counts.  Fix typo when testing negative_result.
                   14392:        * mpz/powm.c: Likewise.
                   14393:
                   14394:        * mpz/ui_pow_ui.c: New file.
                   14395:        * mpz/Makefile.in: Update.
                   14396:
                   14397:        * mpz/pow_ui.c: Call __mpn_mul_n instead of __mpn_mul when possible.
                   14398:
                   14399:        * mpz/div.c, mpz/div_ui.c, mpz/gcd.c: Prefix external mpn calls.
                   14400:        * mpz/gcd.c: Declare mpn_xmod.
                   14401:
                   14402:        * mpz/powm.c: Major changes to accommodate changed mpn semantics.
                   14403:        * mpz/powm_ui.c: Update from mpz/powm.c.
                   14404:
                   14405:        * mpz/tests/tst-io.c: New file.
                   14406:        * mpz/tests/tst-logic: New file.
                   14407:        * mpz/tests/Makefile.in: Update.
                   14408:
                   14409:        * mpz/inp_str.c: Get base right when checking for first digit.
                   14410:        * mpz/inp_str.c: Allocate more space for DEST when needed.
                   14411:
                   14412:        * mpz/com.c: Use mpn_add_1 and mpn_sub_1.
                   14413:        * mpz/and.c, mpz/ior.c: Likewise.  Simplify somewhat.
                   14414:
                   14415:        * mpz/add_ui.c: Use mpn_add_1 and mpn_sub_1.
                   14416:        Rename parameters to be consistent with mpz/sub_ui.
                   14417:        General simplifications.
                   14418:        * mpz/sub_ui.x: Likewise.
                   14419:
                   14420: Tue Aug 10 19:41:16 1993  Torbjorn Granlund  (tege@prudens.matematik.su.se)
                   14421:
                   14422:        * mpf: New directory.
                   14423:        * mpf/*.c: Merge basic set of mpf functions.
                   14424:
                   14425:        * Many logs missing...
                   14426:
                   14427: Sun Apr 25 18:40:26 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
                   14428:
                   14429:        * memory.c: Use #if instead of #ifdef for __STDC__ for consistency.
                   14430:        * bsd/xtom.c: Likewise.
                   14431:
                   14432:        * mpz/div.c: Remove free_me and free_me_size and their usage.
                   14433:        Use mpn_divmod for division; corresponding changes in return value
                   14434:        convention.
                   14435:        * mpz/powm.c: `carry_digit' => `carry_limb'.
                   14436:        * bsd/sdiv.c: Clearify comment.
                   14437:
                   14438: Sun Apr 25 00:31:28 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
                   14439:
                   14440:        * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
                   14441:
                   14442: Sat Apr 24 16:23:33 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
                   14443:
                   14444:        * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
                   14445:
                   14446:        * gmp-impl.h: #define ABS.
                   14447:        * (Many files): Use ABS instead of abs.
                   14448:
                   14449:        * mpn/generic/sqrt.c, mpz/clrbit.c, mpz/get_si.c, mpz/mod_2exp.c,
                   14450:        mpz/pow_ui.c: Cast 1 to mp_limb before shifting.
                   14451:
                   14452:        * mpz/perfsqr.c: Use #if, not plain if for exclusion of code for
                   14453:        non-32-bit machines.
                   14454:
                   14455: Tue Apr 20 13:13:58 1993  Torbjorn Granlund  (tege@du.nada.kth.se)
                   14456:
                   14457:        * mpn/generic/sqrt.c: Handle overflow for intermediate quotients by
                   14458:        rounding them down to fit.
                   14459:
                   14460:        * mpz/perfsqr.c (PP): Define in hexadecimal to avoid GCC warnings.
                   14461:
                   14462:        * mpz/inp_str.c (char_ok_for_base): New function.
                   14463:        (mpz_inp_str): Use it.
                   14464:
                   14465: Sun Mar 28 21:54:06 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
                   14466:
                   14467:        * mpz/inp_raw.c: Allocate x_index, not xsize limbs.
                   14468:
                   14469: Mon Mar 15 11:44:06 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
                   14470:
                   14471:        * mpz/pprime.c: Declare param `const'.
                   14472:        * gmp.h: Add declarations for mpz_com.
                   14473:
                   14474: Thu Feb 18 14:10:34 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
                   14475:
                   14476:        * mpq/add.c, mpq/sub.c: Call mpz_clear for t.
                   14477:
                   14478: Fri Feb 12 20:27:34 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
                   14479:
                   14480:        * mpz/inp_str.c: Recog minus sign as first character.
                   14481:
                   14482: Wed Feb  3 01:36:02 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
                   14483:
                   14484:        * mpz/iset.c: Handle 0 size.
                   14485:
                   14486: Tue Feb  2 13:03:33 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
                   14487:
                   14488:        * mpz/mod_ui.c: Initialize dividend_size before it's used.
                   14489:
                   14490: Mon Jan  4 09:11:15 1993  Torbjorn Granlund  (tege@sics.se)
                   14491:
                   14492:        * bsd/itom.c: Declare param explicitly 'signed'.
                   14493:        * bsd/sdiv.c: Likewise.
                   14494:
                   14495:        * mpq/cmp.c: Remove unused variable tmp_size.
                   14496:        * mpz/powm_ui.c: Fix typo in esize==0 if stmt.
                   14497:        * mpz/powm.c: Likewise.
                   14498:
                   14499: Sun Nov 29 01:16:11 1992  Torbjorn Granlund  (tege@sics.se)
                   14500:
                   14501:        * mpn/generic/divmod_1.c (mpn_divmod_1): Handle
                   14502:        divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
                   14503:        specifically.
                   14504:
                   14505:        * Reorganize sources.  New directories mpn, mpn/MACH, mpn/generic,
                   14506:        mpz, mpq, bsd.  Use full file name for change logs hereafter.
                   14507:
                   14508: Wed Oct 28 17:40:04 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
                   14509:
                   14510:        * longlong.h (__hppa umul_ppmm): Fix typos.
                   14511:        (__hppa sub_ddmmss): Swap input arguments.
                   14512:
                   14513:        * mpz_perfsqr.c (mpz_perfect_square_p): Avoid , before } in
                   14514:        initializator.
                   14515:
                   14516: Sun Oct 25 20:30:06 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
                   14517:
                   14518:        * mpz_pprime.c (mpz_probab_prime_p): Handle numbers <= 3
                   14519:        specifically (used to consider all negative numbers prime).
                   14520:
                   14521:        * mpz_powm_ui: `carry_digit' => `carry_limb'.
                   14522:
                   14523:        * sdiv: Handle zero dividend specifically.  Replace most code in
                   14524:        this function with a call to mpn_divmod_1.
                   14525:
                   14526: Fri Sep 11 22:15:55 1992  Torbjorn Granlund  (tege@tarrega.sics.se)
                   14527:
                   14528:        * mpq_clear: Don't free the MP_RAT!
                   14529:
                   14530:        * mpn_lshift, mpn_rshift, mpn_rshiftci: Remove `long' from 4:th arg.
                   14531:
                   14532: Thu Sep  3 01:47:07 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
                   14533:
                   14534:        * All files: Remove leading _ from mpn function names.
                   14535:
                   14536: Wed Sep  2 22:21:16 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
                   14537:
                   14538:        Fix from Jan-Hein Buhrman:
                   14539:        * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c: Make them work as documented.
                   14540:
                   14541:        * mpz_mmod.c, mpz_mdm.c: Move decl of TEMP_DIVISOR to reflect its
                   14542:        life.
                   14543:
                   14544: Sun Aug 30 18:37:15 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
                   14545:
                   14546:        * _mpz_get_str: Use mpz_sizeinbase for computing out_len.
                   14547:        * _mpz_get_str: Don't remove leading zeros.  Abort if there are some.
                   14548:
                   14549: Wed Mar  4 17:56:56 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14550:
                   14551:        * gmp.h: Change definition of MP_INT to make the & before params
                   14552:        optional.  Use typedef to define it.
                   14553:        * mp.h: Use typedef to define MINT.
                   14554:
                   14555: Tue Feb 18 14:38:39 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14556:
                   14557:        longlong.h (hppa umul_ppmm): Add missing semicolon.  Declare type
                   14558:        of __w1 and __w0.
                   14559:
                   14560: Fri Feb 14 21:33:21 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14561:
                   14562:        * longlong.h: Make default count_leading_zeros work for machines >
                   14563:        32 bits.  Prepend `__' before local variables to avoid conflicts
                   14564:        with users' variables.
                   14565:
                   14566:        * mpn_dm_1.c: Remove udiv_qrnnd_preinv ...
                   14567:        * gmp-impl.h: ... and put it here.
                   14568:        * mpn_mod_1: Use udiv_qrnnd_preinv if it is faster than udiv_qrnnd.
                   14569:
                   14570: Tue Feb 11 17:20:12 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14571:
                   14572:        * mpn_mul: Enhance base case by handling small multiplicands.
                   14573:        * mpn_dm_1.c: Revert last change.
                   14574:
                   14575: Mon Feb 10 11:55:15 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14576:
                   14577:        * mpn_dm_1.c: Don't define udiv_qrnnd_preinv unless needed.
                   14578:
                   14579: Fri Feb  7 16:26:16 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14580:
                   14581:        * mpn_mul: Replace code for base case.
                   14582:
                   14583: Thu Feb  6 15:10:42 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14584:
                   14585:        * mpn_dm_1.c (_mpn_divmod_1): Add code for avoiding division by
                   14586:        pre-inverting divisor.
                   14587:
                   14588: Sun Feb  2 11:10:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14589:
                   14590:        * longlong.h: Make __LLDEBUG__ work differently.
                   14591:        (_IBMR2): Reinsert old code.
                   14592:
                   14593: Sat Feb  1 16:43:00 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14594:
                   14595:        * longlong.h (#ifdef _IBMR2): Replace udiv_qrnnd with new code
                   14596:        using floating point operations.  Don't define
                   14597:        UDIV_NEEDS_NORMALIZATION any longer.
                   14598:
                   14599: Fri Jan 31 15:09:13 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14600:
                   14601:        * longlong.h: Define UMUL_TIME and UDIV_TIME for most machines.
                   14602:        * longlong.h (#ifdef __hppa): Define umul_ppmm.
                   14603:
                   14604: Wed Jan 29 16:41:36 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14605:
                   14606:        * mpn_cmp: Only one length parameter, assume operand lengths are
                   14607:        the same.  Don't require normalization.
                   14608:        * mpq_cmp, mpz_add, mpz_sub, mpz_gcd, mpn_mul, mpn_sqrt: Change for
                   14609:        new mpn_cmp definition.
                   14610:
                   14611: Tue Jan 28 11:18:55 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14612:
                   14613:        * _mpz_get_str: Fix typo in comment.
                   14614:
                   14615: Mon Jan 27 09:44:16 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14616:
                   14617:        * Makefile.in: Add new files.
                   14618:
                   14619:        * mpn_dm_1.c: New file with function _mpn_divmod_1.
                   14620:        * mpz_dm_ui.c (mpz_divmod_ui): Use _mpn_divmod_1.
                   14621:        * mpz_div_ui: Likewise.
                   14622:
                   14623:        * mpn_mod_1.c: New file with function _mpn_mod_1.
                   14624:        * mpz_mod_ui: Use _mpn_mod_1.
                   14625:
                   14626: Thu Jan 23 18:54:09 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14627:
                   14628:        Bug found by Paul Zimmermann (zimmermann@inria.inria.fr):
                   14629:        * mpz_div_ui.c (mpz_div_ui), mpz_dm_ui.c (mpz_divmod_ui):
                   14630:        Handle dividend == 0.
                   14631:
                   14632: Wed Jan 22 12:02:26 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14633:
                   14634:        * mpz_pprime.c: Use "" for #include.
                   14635:
                   14636: Sun Jan 19 13:36:55 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14637:
                   14638:        * mpn_rshiftci.c (header): Correct comment.
                   14639:
                   14640: Wed Jan 15 18:56:04 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14641:
                   14642:        * mpz_powm, mpz_powm_ui (if (bsize > msize)): Do alloca (bsize + 1)
                   14643:        to make space for ignored quotient at the end.  (The quotient might
                   14644:        always be an extra limb.)
                   14645:
                   14646: Tue Jan 14 21:28:48 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14647:
                   14648:        * mpz_powm_ui: Fix comment.
                   14649:        * mpz_powm: Likewise.
                   14650:
                   14651: Mon Jan 13 18:16:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14652:
                   14653:        * tests/Makefile.in: Prepend $(TEST_PREFIX) to Makefile target.
                   14654:
                   14655: Sun Jan 12 13:54:28 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14656:
                   14657:        Fixes from Kazumaro Aoki:
                   14658:        * mpz_out_raw: Take abs of size to handle negative values.
                   14659:        * mpz_inp_raw: Reallocate before reading ptr from X.
                   14660:        * mpz_inp_raw: Store, don't read, size to x->size.
                   14661:
                   14662: Tue Jan  7 17:50:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
                   14663:
                   14664:        * gmp.h, mp.h: Remove parameter names from prototypes.
                   14665:
                   14666: Sun Dec 15 00:09:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14667:
                   14668:        * tests/Makefile.in: Prepend "./" to file names when executing
                   14669:        tests.
                   14670:
                   14671:        * Makefile.in: Fix many problems.
                   14672:
                   14673: Sat Dec 14 01:00:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14674:
                   14675:        * mpn_sqrt.c: New file with _mpn_sqrt.
                   14676:        * mpz_sqrt, mpz_sqrtrem, mpz_perfect_square_p: Use _mpn_sqrt.
                   14677:        * msqrt.c: Delete.  Create from mpz_sqrtrem.c in Makefile.in.
                   14678:        * mpz_do_sqrt.c: Delete.
                   14679:        * Makefile.in: Update to reflect these changes.
                   14680:
                   14681:        * Makefile.in, configure, configure.subr: New files
                   14682:        (from bothner@cygnus.com).
                   14683:        * dist-Makefile: Delete.
                   14684:
                   14685:        * mpz_fac_ui: Fix comment.
                   14686:
                   14687:        * mpz_random2: Rewrite a bit to make it possible for the most
                   14688:        significant limb to be == 1.
                   14689:
                   14690:        * mpz_pprime.c (mpz_probab_prime_p): Remove \t\n.
                   14691:
                   14692: Fri Dec 13 23:10:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14693:
                   14694:        * mpz_do_sqrt: Simplify special case for U == 0.
                   14695:        * m*sqrt*.c, mpz_perfsqr.c (mpz_perfect_square_p):
                   14696:          Rename _mpz_impl_sqrt to _mpz_do_sqrt.
                   14697:
                   14698: Fri Dec 13 12:52:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14699:
                   14700:        * gmp-impl.h (MPZ_TMP_INIT): Cast to the right type.
                   14701:
                   14702: Thu Dec 12 22:17:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14703:
                   14704:        * mpn_add, mpn_sub, mpn_mul, mpn_div: Change type of several
                   14705:        variables to mp_size.
                   14706:
                   14707: Wed Dec 11 22:00:34 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14708:
                   14709:        * mpn_rshift.c: Fix header comments.
                   14710:
                   14711: Mon Dec  9 17:46:10 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14712:
                   14713:        Released 1.2.
                   14714:
                   14715:        * gmp-impl.h (MPZ_TMP_INIT): Cast alloca return value.
                   14716:
                   14717:        * dist-Makefile: Add missing dependency for cre-mparam.
                   14718:
                   14719:        * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
                   14720:          mpz_mmod_ui.c, mpz_mdm_ui.c: Remove obsolete comment.
                   14721:
                   14722:        * dist-Makefile (clean): clean in tests subdir too.
                   14723:        * tests/Makefile: Define default values for ROOT and SUB.
                   14724:
                   14725:        * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
                   14726:        2 constraint.
                   14727:
                   14728: Mon Nov 11 00:06:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14729:
                   14730:        * mpz_sizeinb.c (mpz_sizeinbase): Special code for size == 0.
                   14731:
                   14732: Sat Nov  9 23:47:38 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14733:
                   14734:        Released 1.1.94.
                   14735:
                   14736:        * dist-Makefile, Makefile, tests/Makefile: Merge tests into
                   14737:        distribution.
                   14738:
                   14739: Fri Nov  8 22:57:19 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14740:
                   14741:        * gmp.h: Don't use keyword `signed' for non-ANSI compilers.
                   14742:
                   14743: Thu Nov  7 22:06:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14744:
                   14745:        * longlong.h: Cosmetic changes to keep it identical to gcc2 version
                   14746:        of longlong.h.
                   14747:        * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
                   14748:        sub_ddmmss.
                   14749:
                   14750: Mon Nov  4 00:36:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14751:
                   14752:        * mpn_mul: Fix indentation.
                   14753:
                   14754:        * mpz_do_sqrt: Don't assume 32 bit limbs (had constant
                   14755:        4294967296.0).
                   14756:        * mpz_do_sqrt: Handle overflow in conversion from double returned
                   14757:        by SQRT to mp_limb.
                   14758:
                   14759:        * gmp.h: Add missing function definitions.
                   14760:
                   14761: Sun Nov  3 18:25:25 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14762:
                   14763:        * mpz_pow_ui: Change type of `i' to int.
                   14764:
                   14765:        * ChangeLog: Add change log entry.
                   14766:        * ChangeLog: Add change log entry.
                   14767:        * ChangeLog: Add change log entry.
                   14768:        * ChangeLog: Add change log entry.
                   14769:        * ChangeLog: Add change log entry.
                   14770:        * ChangeLog: Add change log entry.
                   14771:        * ChangeLog: Add change log entry.
                   14772:        * ChangeLog: Add change log entry.
                   14773: Stack overflow.
                   14774:
                   14775:        * mpz_pow_ui.c: Fix typo in comment.
                   14776:
                   14777:        * dist-Makefile: Create rpow.c from mpz_powm_ui.c.
                   14778:        * mpz_powm_ui.c: Add code for rpow.
                   14779:        * rpow.c: Delete this file.  The rpow function is now implemented
                   14780:        in mpz_powm_ui.c.
                   14781:
                   14782:        * mpz_fac_ui.c: New file.
                   14783:        * gmp.h, dist-Makefile: Add stuff for mpz_fac_ui.
                   14784:
                   14785:        Bug found by John Amanatides (amana@sasquatch.cs.yorku.ca):
                   14786:        * mpz_powm_ui, mpz_powm: Call _mpn_mul in the right way, with
                   14787:        the first argument not smaller than the second.
                   14788:
                   14789: Tue Oct 29 13:56:55 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14790:
                   14791:        * cre-conv-tab.c (main), cre-mparam.c (main): Fix typo in output
                   14792:        header text.
                   14793:
                   14794: Mon Oct 28 00:35:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14795:
                   14796:        * mpz_random2: Handle size == 0.
                   14797:
                   14798:        * gmp-impl.h (struct __mp_bases): Rename chars_per_limb_exactly to
                   14799:        chars_per_bit_exactly, and change its definition.
                   14800:        * cre-conv-tab.c (main): Output field according to its new
                   14801:        definition.
                   14802:        * mpz_out_str, _mpz_get_str, mpz_sizeinb, mout:
                   14803:        Use chars_per_bit_exactly.
                   14804:
                   14805:        * mpz_random2: Change the loop termination condition in order to
                   14806:        get a large most significant limb with higher probability.
                   14807:
                   14808:        * gmp.h: Add declaration of new mpz_random2 and mpz_get_si.
                   14809:        * mpz_get_si.c: New file.
                   14810:        * dist-Makefile: Add mpz_random2 and mpz_get_si.
                   14811:
                   14812:        * mpz_sizeinb.c (mpz_sizeinbase): Special code for base being a
                   14813:        power of 2, giving exact result.
                   14814:
                   14815:        * mpn_mul: Fix MPN_MUL_VERIFY in various ways.
                   14816:        * mpn_mul: New macro KARATSUBA_THRESHOLD.
                   14817:        * mpn_mul (karatsuba's algorithm): Don't write intermediate results
                   14818:        to prodp, use temporary pp instead.  (Intermediate results can be
                   14819:        larger than the final result, possibly writing into hyperspace.)
                   14820:        * mpn_mul: Make smarter choice between Karatsuba's algorithm and the
                   14821:        shortcut algorithm.
                   14822:        * mpn_mul: Fix typo, cy instead of xcy.  Unify carry handling code.
                   14823:
                   14824: Sun Oct 27 19:57:32 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14825:
                   14826:        * mpn_mul: In non-classical case, choose Karatsuba's algorithm only
                   14827:        when usize > 1.5 vsize.
                   14828:
                   14829:        * mpn_mul: Break between classical and Karatsuba's algorithm at
                   14830:        KARATSUBA_THRESHOLD, if defined.  Default to 8.
                   14831:
                   14832:        * mpn_div: Kludge to fix stray memory read.
                   14833:
                   14834: Sat Oct 26 20:06:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14835:
                   14836:        * mpz_gcdext: Handle a = b = 0.  Remove memory leakage by calling
                   14837:        mpz_clear for all temporary variables.
                   14838:
                   14839:        * mpz_gcd: Reduce w_bcnt in _mpn_lshift call to hold that
                   14840:        function's argument constraints.  Compute wsize correctly.
                   14841:
                   14842:        * mpz_gcd: Fix typo in comment.
                   14843:
                   14844:        * memory.c (_mp_default_allocate, _mp_default_reallocate): Call
                   14845:        abort if allocation fails, don't just exit.
                   14846:
                   14847: Fri Oct 25 22:17:20 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14848:
                   14849:        * mpz_random2.c: New file.
                   14850:
                   14851: Thu Oct 17 18:06:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14852:
                   14853:        Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
                   14854:        * mpq_cmp: Take sign into account, don't just compare the
                   14855:        magnitudes.
                   14856:        * mpq_cmp: Call _mpn_mul in the right way, with the first argument
                   14857:        not smaller than the second.
                   14858:
                   14859: Wed Oct 16 19:27:32 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14860:
                   14861:        * mpz_random: Ensure the result is normalized.
                   14862:
                   14863: Tue Oct 15 14:55:13 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14864:
                   14865:        * mpz_clrbit: Support non-ANSI compilers.
                   14866:
                   14867: Wed Oct  9 18:03:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14868:
                   14869:        * longlong.h (68k add_ssaaaa, sub_ddmmss): Generalize constraints.
                   14870:
                   14871: Tue Oct  8 17:42:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14872:
                   14873:        * mpz_mdm_ui: Add comments.
                   14874:
                   14875:        * mpz_mdiv: Use MPZ_TMP_INIT instead of mpz_init.
                   14876:        * mpz_init_ui: Change spacing and header comment.
                   14877:
                   14878: Thu Oct  3 18:36:13 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14879:
                   14880:        * dist-Makefile: Prepend `./' before some filenames.
                   14881:
                   14882: Sun Sep 29 14:02:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14883:
                   14884:        Released 1.1 (public).
                   14885:
                   14886:        * mpz_com: New name of mpz_not.
                   14887:        * dist-Makefile: Change mpz_not to mpz_com.
                   14888:
                   14889: Tue Sep 24 12:44:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14890:
                   14891:        * longlong.h: Fix header comment.
                   14892:
                   14893: Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14894:
                   14895:        Released 1.0.92.
                   14896:
                   14897:        * mpn_mul.c (_mpn_mul): Handle leading zero limbs in non-Karatsuba
                   14898:        case.
                   14899:
                   14900:        * longlong.h (m68000 umul_ppmm): Clobber one register less by
                   14901:        slightly rearranging the code.
                   14902:
                   14903: Sun Sep  1 18:53:25 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14904:
                   14905:        * dist-Makefile (stamp-stddefh): Fix typo.
                   14906:
                   14907: Sat Aug 31 20:41:31 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14908:
                   14909:        Released 1.0.91.
                   14910:
                   14911:        * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
                   14912:          mpz_mmod_ui.c, mpz_mdm_ui.c: New files and functions.
                   14913:        * gmp.h, gmp.texi: Define the new functions.
                   14914:
                   14915: Fri Aug 30 08:32:56 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14916:
                   14917:        * mpz_gcdext: Compute t argument from the other quantities at the
                   14918:          end, of the function, not in the loop.  New feature: Allow t to be
                   14919:          NULL.
                   14920:
                   14921:        * mpz_add.c, mpz_sub.c, mpz_mul.c, mpz_powm.c, mpz_gcd.c: Don't
                   14922:          include "mp.h".  Use type name `MP_INT' always.
                   14923:
                   14924:        * dist-Makefile, mpz_cmp.c: Merge mcmp.c from mpz_cmp.c.
                   14925:
                   14926: Wed Aug 28 00:45:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14927:
                   14928:        * dist-Makefile (documentation): Go via tmp.texi to avoid the
                   14929:          creation of gmp.dvi if any errors occur.  Make tex read input
                   14930:          from /dev/null.
                   14931:
                   14932: Fri Aug 23 15:58:52 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14933:
                   14934:        * longlong.h (68020, i386): Don't define machine-dependent
                   14935:          __umulsidi3 (so the default definition is used).
                   14936:        * longlong.h (all machines): Cast all operands, sources and
                   14937:          destinations, to `unsigned long int'.
                   14938:        * longlong.h: Add gmicro support.
                   14939:
                   14940: Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14941:
                   14942:        * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
                   14943:        * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
                   14944:        * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
                   14945:        * _mpz_get_str.c: Add code to do division by big_base using only
                   14946:          umul_qrnnd, if that is faster.  Use UMUL_TIME and UDIV_TIME to
                   14947:          decide which variant to use.
                   14948:
                   14949: Wed Aug 21 15:45:23 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14950:
                   14951:        * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
                   14952:          nops.  (Saves two insn.)
                   14953:
                   14954:        * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
                   14955:          branch, and to permit input/output register overlap.
                   14956:
                   14957:        * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
                   14958:        * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
                   14959:          asm statements (gives better code if either the upper or lower
                   14960:          part of the product is unused.
                   14961:
                   14962: Tue Aug 20 17:57:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14963:
                   14964:        * _mpz_get_str.c (outside of functions): Remove
                   14965:          num_to_ascii_lower_case and num_to_ascii_upper_case.  Use string
                   14966:          constants in the function instead.
                   14967:
                   14968: Mon Aug 19 00:37:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14969:
                   14970:        * cre-conv-tab.c (main): Output table in hex.  Output 4 fields, not
                   14971:          3, for components 0 and 1.
                   14972:
                   14973:        * gmp.h: Add declaration of mpq_neg.
                   14974:
                   14975:        Released 1.0beta.13.
                   14976:
                   14977:        * _mpz_set_str.c (mpz_set_str): Cast EOF and SPC to char before
                   14978:          comparing to enum literals SPC and EOF.  This makes the code work
                   14979:          for compilers where `char' is unsigned.  (Bug found by Brian
                   14980:          Beuning).
                   14981:
                   14982:        Released 1.0beta.12.
                   14983:
                   14984:        * mpz_mod_ui: Remove references to quot.  Remove quot_ptr, quot_size
                   14985:          declarations and assignment code.
                   14986:
                   14987: Sun Aug 18 14:44:26 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   14988:
                   14989:        * mpz_mod_ui: Handle dividend < 0.
                   14990:
                   14991:        Released 1.0beta.11.
                   14992:
                   14993:        * mpz_dm_ui, mpz_div_ui, mpz_mod_ui, sdiv: Make them share the same
                   14994:          general structure, variable names, etc.
                   14995:
                   14996:        * sdiv: Un-normalize the remainder in n1 before it is negated.
                   14997:
                   14998:        * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
                   14999:          udiv_qrnnd.
                   15000:
                   15001:        * mpz_dm_ui.c (mpz_divmod_ui), mpz_div_ui.c (mpz_div_ui): Increment
                   15002:          the quotient size if the dividend size is incremented.  (Bug found
                   15003:          by Brian Beuning.)
                   15004:
                   15005:        * mpz_mod_ui: Shift back the remainder, if UDIV_NEEDS_NORMALIZATION.
                   15006:          (Bug found by Brian Beuning.)
                   15007:
                   15008:        * mpz_mod_ui: Replace "digit" by "limb".
                   15009:
                   15010:        * mpz_perfsqr.c (mpz_perfect_square_p): Disable second test case
                   15011:          for non-32-bit machines (PP is hardwired for such machines).
                   15012:        * mpz_perfsqr.c (outside of functions): Define PP value with an L.
                   15013:
                   15014:        * mpn_mul.c (_mpn_mul): Add verification code that is activated if
                   15015:          DEBUG is defined.  Replace "digit" by "limb".
                   15016:        * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 4.): Normalize temp
                   15017:          after the addition.
                   15018:        * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 1.): Compare u0_size
                   15019:          and v0_size, and according to the result, swap arguments in
                   15020:          recursive call.  (Don't violate mpn_mul's own argument
                   15021:          constraints.)
                   15022:
                   15023: Fri Aug 16 13:47:12 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15024:
                   15025:        Released 1.0beta.10.
                   15026:
                   15027:        * longlong.h (IBMR2): Add udiv_qrnnd.
                   15028:
                   15029:        * mpz_perfsqr: Remove unused variables.
                   15030:
                   15031:        * mpz_and (case for different signs): Initialize loop variable i!
                   15032:
                   15033:        * dist-Makefile: Update automatically generated dependencies.
                   15034:        * dist-Makefile (madd.c, msub.c, pow.c, mult.c, gcd.c): Add mp.h,
                   15035:          etc to dependency file lists.
                   15036:
                   15037:        * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
                   15038:          `unsigned long int'.
                   15039:        * longlong.h: Add `int' after `unsigned' and `long' everywhere.
                   15040:
                   15041: Wed Aug 14 18:06:48 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15042:
                   15043:        * longlong.h: Add ARM, i860 support.
                   15044:
                   15045:        * mpn_lshift, mpn_rshift, mpn_rshiftci: Rename *_word with *_limb.
                   15046:
                   15047: Tue Aug 13 21:57:43 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15048:
                   15049:        * _mpz_get_str.c, _mpz_set_str.c, mpz_sizeinb.c (mpz_sizeinbase),
                   15050:          mpz_out_str.c, mout.c: Remove declaration of __mp_bases.
                   15051:        * gmp-impl.h: Put it here, and make it `const'.
                   15052:        * cre-conv-tab.c (main): Make struct __mp_bases `const'.
                   15053:
                   15054: Mon Aug 12 17:11:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15055:
                   15056:        * cre-conv-tab.c (main): Use %lu in printf for long ints.
                   15057:
                   15058:        * dist-Makefile: Fix cre-* dependencies.
                   15059:
                   15060:        * cre-conv-tab.c (main): Output field big_base_inverted.
                   15061:
                   15062:        * gmp-impl.h (struct bases): New field big_base_inverted.
                   15063:        * gmp-impl.h (struct bases): Change type of chars_per_limb_exactly
                   15064:          to float (in order to keep the structure smaller).
                   15065:
                   15066:        * mp.h, gmp.h: Change names of macros for avoiding multiple
                   15067:          includes.
                   15068:
                   15069: Fri Aug  9 18:01:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15070:
                   15071:        * _mpz_get_str: Only shift limb array if normalization_steps != 0
                   15072:          (optimization).
                   15073:
                   15074:        * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
                   15075:        * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
                   15076:          and m1 (overlap between output and input operands did not work).
                   15077:        * longlong.h: Add VAX, ROMP and HP-PA support.
                   15078:        * longlong.h: Sort the machine dependent code in alphabetical order
                   15079:          on the CPU name.
                   15080:        * longlong.h: Hack comments.
                   15081:
                   15082: Thu Aug  8 14:13:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15083:
                   15084:        Released 1.0beta.9.
                   15085:
                   15086:        * longlong.h: Define BITS_PER_LONG to 32 if it's not already
                   15087:          defined.
                   15088:        * Define __BITS4 to BITS_PER_LONG / 4.
                   15089:        * Don't assume 32 bit word size in "count_leading_zeros" C macro.
                   15090:          Use __BITS4 and BITS_PER_LONG instead.
                   15091:
                   15092:        * longlong.h: Don't #undef internal macros (reverse change of Aug 3).
                   15093:
                   15094:        * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
                   15095:          even for plain mc68000.
                   15096:
                   15097:        * mpq_div: Flip the sign of the numerator *and* denominator of the
                   15098:          result if the intermediate denominator is negative.
                   15099:
                   15100:        * mpz_and.c, mpz_ior.c: Use MPN_COPY for all copying operations.
                   15101:
                   15102:        * mpz_and.c: Compute the result size more conservatively.
                   15103:        * mpz_ior.c: Likewise.
                   15104:
                   15105:        * mpz_realloc: Never allocate zero space even if NEW_SIZE == 0.
                   15106:
                   15107:        * dist-Makefile: Remove madd.c, msub.c, pow.c, mult.c, gcd.c from
                   15108:          BSDMP_SRCS.
                   15109:
                   15110:        * dist-Makefile: Create mult.c from mpz_mul.c.
                   15111:        * mult.c: Delete this file.
                   15112:
                   15113:        * _mpz_set_str: Normalize the result (for bases 2, 4, 8... it was
                   15114:          not done properly if the input string had many leading zeros).
                   15115:
                   15116: Sun Aug  4 16:54:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15117:
                   15118:        * dist-Makefile (gcd.c, pow.c, madd.c, msub.c): Make these targets
                   15119:          work with VPATH and GNU MP.
                   15120:
                   15121:        * mpz_gcd: Don't call mpz_set; inline its functionality.
                   15122:
                   15123:        * mpq_mul, mpq_div: Fix several serious typos.
                   15124:
                   15125:        * mpz_dmincl, mpz_div: Don't normalize the quotient if it's already
                   15126:          zero.
                   15127:
                   15128:        * mpq_neg.c: New file.
                   15129:
                   15130:        * dist-Makefile: Remove obsolete dependencies.
                   15131:
                   15132:        * mpz_sub: Fix typo.
                   15133:
                   15134:        Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
                   15135:        * mpq_mul, mpq_div: Initialize tmp[12] variables even when the gcd
                   15136:          is just 1.
                   15137:        * mpz_gcd: Handle gcd(0,v) and gcd(u,0) in special cases.
                   15138:
                   15139: Sat Aug  3 23:45:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15140:
                   15141:        * longlong.h: Clean up comments.
                   15142:        * longlong.h: #undef internal macros.
                   15143:
                   15144: Fri Aug  2 18:29:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15145:
                   15146:        * mpq_set_si, mpq_set_ui: Canonicalize 0/x to 0/1.
                   15147:        * mpq_set_si, mpq_set_ui: Cosmetic formatting changes.
                   15148:
                   15149:        * mpz_dmincl.c: Normalize the remainder before shifting it back.
                   15150:
                   15151:        * mpz_dm_ui.c (mpz_divmod_ui): Handle rem == dividend.
                   15152:
                   15153:        * mpn_div.c: Fix comment.
                   15154:
                   15155:        * mpz_add.c, mpz_sub.c: Use __MP_INT (not MP_INT) for intermediate
                   15156:          type, in order to work for both GNU and Berkeley functions.
                   15157:
                   15158:        * dist-Makefile: Create gcd.c from mpz_gcd.c, pow.c from mpz_powm,
                   15159:          madd.c from mpz_add.c, msub.c from mpz_sub.c.
                   15160:          respectively.
                   15161:        * pow.c, gcd.c, mpz_powmincl.c, madd.c, msub.c: Remove these.
                   15162:        * mpz_powm.c, mpz_gcd.c, mpz_add.c, mpz_sub.c: #ifdef for GNU and
                   15163:          Berkeley function name variants.
                   15164:        * dist-Makefile: Add created files to "clean" target.
                   15165:
                   15166: Tue Jul 16 15:19:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15167:
                   15168:        * mpq_get_den: No need for absolute value of the size, the
                   15169:          denominator is always positive.
                   15170:
                   15171:        * mpz_get_ui: If the operand is zero, return zero.  Don't read the
                   15172:          limb array!
                   15173:
                   15174:        * mpz_dmincl.c: Don't ignore the return value from _mpn_rshift, it
                   15175:          is the size of the remainder.
                   15176:
                   15177: Mon Jul 15 11:08:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15178:
                   15179:        * Several files: Remove unused variables and functions.
                   15180:
                   15181:        * gmp-impl.h: Declare _mpz_impl_sqrt.
                   15182:
                   15183:        * mpz_dm_ui (mpz_divmod_ui), sdiv: Shift back the remainder if
                   15184:          UDIV_NEEDS_NORMALIZATION.  (Fix from Brian Beuning.)
                   15185:
                   15186:        * mpz_dm_ui.c, sdiv: Replace *digit with *limb.
                   15187:
                   15188:        * mpz_ior: Add missing else statement in -OP1 | -OP2 case.
                   15189:        * mpz_ior: Add missing else statement in OP1 | -OP2 case.
                   15190:        * mpz_ior: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
                   15191:        * mpz_ior: Duplicate _mpz_realloc code.
                   15192:
                   15193:        * mpz_and: Add missing else statement in -OP1 & -OP2 case.
                   15194:        * mpz_and: Rewrite OP1 & -OP2 case.
                   15195:        * mpz_and: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
                   15196:
                   15197:        * mpz_gcdext: Loop in d1.size (not b->size).  (Fix from Brian
                   15198:          Beuning.)
                   15199:
                   15200:        * mpz_perfsqr: Fix argument order in _mpz_impl_sqrt call.  (Fix from
                   15201:          Brian Beuning.)
                   15202:
                   15203: Fri Jul 12 17:10:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15204:
                   15205:        * mpq_set.c, mpq_set_ui.c, mpq_set_si.c, mpq_inv.c,
                   15206:          mpq_get_num.c, mpq_get_den.c, mpq_set_num.c, mpq_set_den.c:
                   15207:          New files.
                   15208:
                   15209:        * mpz_dmincl.c: Remove second re-allocation of rem->d.  It
                   15210:          was never executed.
                   15211:
                   15212:        * dist-Makefile: Use `-r' instead of `-x' for test for ranlib (as
                   15213:          some unixes' test doesn't have the -r option).
                   15214:
                   15215:        * *.*: Cast allocated pointers to the appropriate type (makes old C
                   15216:          compilers happier).
                   15217:
                   15218:        * cre-conv-tab.c (main): Divide max_uli by 2 and multiply again
                   15219:          after conversion to double.  (Kludge for broken C compilers.)
                   15220:
                   15221:        * dist-Makefile (stamp-stddefh): New target.  Test if "stddef.h"
                   15222:          exists in the system and creates a minimal one if it does not
                   15223:          exist.
                   15224:        * cre-stddefh.c: New file.
                   15225:        * dist-Makefile: Make libgmp.a and libmp.a depend on stamp-stddefh.
                   15226:        * dist-Makefile (clean): Add some more.
                   15227:        * gmp.h, mp.h: Unconditionally include "stddef.h".
                   15228:
                   15229: Thu Jul 11 10:08:21 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15230:
                   15231:        * min: Do ungetc of last read character.
                   15232:        * min.c: include stdio.h.
                   15233:
                   15234:        * dist-Makefile: Go via tmp- files for cre* redirection.
                   15235:        * dist-Makefile: Add tmp* to "clean" target.
                   15236:
                   15237:        * dist-Makefile: Use LOCAL_CC for cre*, to simplyfy cross
                   15238:          compilation.
                   15239:
                   15240:        * gmp.h, mp.h: Don't define NULL here.
                   15241:        * gmp-impl.h: Define it here.
                   15242:
                   15243: Wed Jul 10 14:13:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15244:
                   15245:        * mpz_mod_2exp: Don't copy too much, overwriting most significant
                   15246:          limb.
                   15247:
                   15248:        * mpz_and, mpz_ior: Don't read op[12]_ptr from op[12] when
                   15249:          reallocating res, if op[12]_ptr got their value from alloca.
                   15250:
                   15251:        * mpz_and, mpz_ior: Clear up comments.
                   15252:
                   15253:        * cre-mparam.c: Output parameters for `short int' and `int'.
                   15254:
                   15255:        * mpz_and, mpz_ior: Negate negative op[12]_size in several places.
                   15256:
                   15257: Tue Jul  9 18:40:30 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15258:
                   15259:        * gmp.h, mp.h: Test for _SIZE_T defined before typedef'ing size_t.
                   15260:          (Fix for Sun lossage.)
                   15261:
                   15262:        * gmp.h: Add declaration of mpq_clear.
                   15263:
                   15264:        * dist-Makefile: Chack if "ranlib" exists, before using it.
                   15265:        * dist-Makefile: Add mpz_sqrtrem.c and mpz_size.c.
                   15266:        * mpz_powm: Fix typo, "pow" instead of "mpz_powm".
                   15267:
                   15268: Fri Jul  5 19:08:09 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15269:
                   15270:        * move: Remove incorrect comment.
                   15271:
                   15272:        * mpz_free, mpq_free: Rename to *_clear.
                   15273:        * dist-Makefile: Likewise.
                   15274:        * mpq_add, mpq_sub, mpq_mul, mpq_div: Likewise.
                   15275:
                   15276:        * mpz_dmincl.c: Don't call "move", inline its functionality.
                   15277:
                   15278: Thu Jul  4 00:06:39 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15279:
                   15280:        * Makefile: Include dist-Makefile.  Fix dist target to include
                   15281:          dist-Makefile (with the name "Makefile" in the archive).
                   15282:
                   15283:        * dist-Makefile: New file made from Makefile.  Add new mpz_...
                   15284:          functions.
                   15285:
                   15286:        * mpz_powincl.c New file for mpz_powm (Berkeley MP pow)
                   15287:          functionality.  Avoids code duplication.
                   15288:        * pow.c, mpz_powm.c: Include mpz_powincl.c
                   15289:
                   15290:        * mpz_dmincl.c: New file containing general division code.  Avoids
                   15291:          code duplication.
                   15292:        * mpz_dm.c (mpz_divmod), mpz_mod.c (mpz_mod), mdiv.c (mdiv): Include
                   15293:          mpz_dmincl.c.
                   15294:
                   15295:        * _mpz_get_str: Don't call memmove, unless HAS_MEMMOVE is defined.
                   15296:          Instead, write the overlapping memory copying inline.
                   15297:
                   15298:        * mpz_dm_ui.c: New name for mpz_divmod_ui.c (SysV file name limit).
                   15299:
                   15300:        * longlong.h: Don't use #elif.
                   15301:        * mpz_do_sqrt.c: Likewise.
                   15302:
                   15303:        * longlong.h: Use __asm__ instead of asm.
                   15304:        * longlong.h (sparc udiv_qrnnd): Make it to one string over several
                   15305:          lines.
                   15306:
                   15307:        * longlong.h: Preend __ll_ to B, highpart, and lowpart.
                   15308:
                   15309:        * longlong.h: Move array t in count_leading_zeros to the new file
                   15310:          mp_clz_tab.c.  Rename the array __clz_tab.
                   15311:        * All files: #ifdef for traditional C compatibility.
                   15312:
                   15313: Wed Jul  3 11:42:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15314:
                   15315:        * mpz_and: Initialize res_ptr always (used to be initialized only
                   15316:          when reallocating).
                   15317:
                   15318:        * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
                   15319:          `unsigned int', and cast the multiplications.  This way
                   15320:          compilers more easily can choose cheaper multiplication
                   15321:          instructions.
                   15322:
                   15323:        * mpz_mod_2exp: Handle input argument < modulo argument.
                   15324:        * mpz_many: Make sure mp_size is the type for sizes, not int.
                   15325:
                   15326:        * mpz_init, mpz_init_set*, mpq_init, mpq_add, mpq_sub, mpq_mul,
                   15327:          mpq_div: Change mpz_init* interface.  Structure pointer as first
                   15328:          arg to initialization function, no longer *return* struct.
                   15329:
                   15330: Sun Jun 30 19:21:44 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15331:
                   15332:        * Rename mpz_impl_sqrt.c to mpz_do_sqrt.c to satisfy SysV 14
                   15333:          character file name length limit.
                   15334:
                   15335:        * Most files: Rename MINT to MP_INT.  Rename MRAT to MP_RAT.
                   15336:        * mpz_sizeinb.c: New file with function mpz_sizeinbase.
                   15337:        * mp_bases.c: New file, with array __mp_bases.
                   15338:        * _mpz_get_str, _mpz_set_str: Remove struct bases, use extern
                   15339:          __mp_bases instead.
                   15340:        * mout, mpz_out_str: Use array __mp_bases instead of function
                   15341:          _mpz_get_cvtlen.
                   15342:        * mpz_get_cvtlen.c: Remove.
                   15343:        * Makefile: Update.
                   15344:
                   15345: Sat Jun 29 21:57:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15346:
                   15347:        * longlong.h (__sparc8__ umul_ppmm): Insert 3 nop:s for wr delay.
                   15348:        * longlong.h (___IBMR2__): Define umul_ppmm, add_ssaaaa, sub_ddmmss.
                   15349:        * longlong.h (__sparc__): Don't call .umul; expand asm instead.
                   15350:          Don't define __umulsidi3 (i.e. use default definition).
                   15351:
                   15352: Mon Jun 24 17:37:23 1991  Torbjorn Granlund  (tege@amon.sics.se)
                   15353:
                   15354:        * _mpz_get_str.c (num_to_ascii_lower_case, num_to_ascii_upper_case):
                   15355:          Swap 't' and 's'.
                   15356:
                   15357: Sat Jun 22 13:54:01 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15358:
                   15359:        * mpz_gcdext.c: New file.
                   15360:
                   15361:        * mpn_mul: Handle carry and unexpected operand sizes in last
                   15362:          additions/subtractions.  (Bug trigged when v1_size == 1.)
                   15363:
                   15364:        * mp*_alloc*: Rename functions to mp*_init* (files to mp*_iset*.c).
                   15365:        * mpq_*: Call mpz_init*.
                   15366:
                   15367:        * mpz_pow_ui, rpow: Use _mpn_mul instead of mult.  Restructure.
                   15368:
                   15369: Wed May 29 20:32:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15370:
                   15371:        * mpz_get_cvtlen: multiply by size.
                   15372:
                   15373: Sun May 26 15:01:15 1991  Torbjorn Granlund  (tege@bella.nada.kth.se)
                   15374:
                   15375:        Alpha-release 0.95.
                   15376:
                   15377:        Fixes from Doug Lea (dl@g.oswego.edu):
                   15378:        * mpz_mul_ui: Loop to MULT_SIZE (not PROD_SIZE).  Adjust PROD_SIZE
                   15379:          correctly.
                   15380:        * mpz_div: Prepend _ to mpz_realloc.
                   15381:        * mpz_set_xs, mpz_set_ds: Fix typos in function name.
                   15382:
                   15383: Sat May 25 22:51:16 1991  Torbjorn Granlund  (tege@bella.nada.kth.se)
                   15384:
                   15385:        * mpz_divmod_ui: New function.
                   15386:
                   15387:        * sdiv: Make the sign of the remainder correct.
                   15388:
                   15389: Thu May 23 15:28:24 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15390:
                   15391:        * Alpha-release 0.94.
                   15392:
                   15393:        * mpz_mul_ui: Include longlong.h.
                   15394:
                   15395:        * mpz_perfsqr.c (mpz_perfect_square_p): Call _mpz_impl_sqrt instead
                   15396:          of msqrt.
                   15397:
                   15398:        * mpz_impl_sqrt: Don't call "move", inline its functionality.
                   15399:
                   15400:        * mdiv: Use MPN_COPY instead of memcpy.
                   15401:        * rpow, mpz_mul, mpz_mod_2exp: Likewise.
                   15402:        * pow.c: Likewise, and fix bug in the size arg.
                   15403:
                   15404:        * xtom: Don't use mpz_alloc, inline needed code instead.  Call
                   15405:          _mpz_set_str instead of mpz_set_str.
                   15406:
                   15407:        * Makefile: Make two libraries, libmp.a and libgmp.a.
                   15408:
                   15409: Thu May 22 20:25:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15410:
                   15411:        * Add manual to distribution.
                   15412:        * Fold in many missing routines descibed in the manual.
                   15413:        * Update Makefile.
                   15414:
                   15415: Wed May 22 13:48:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15416:
                   15417:        * mpz_set_str: Make it handle 0x prefix OK.
                   15418:
                   15419: Sat May 18 18:31:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15420:
                   15421:        * memory.c (_mp_default_reallocate): Swap OLD_SIZE and NEW_SIZE
                   15422:          arguments.
                   15423:        * mpz_realloc (_mpz_realloc): Swap in call to _mp_reallocate_func.
                   15424:        * min: Likewise.
                   15425:
                   15426: Thu May 16 20:43:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15427:
                   15428:        * memory.c: Make the default allocations functions global.
                   15429:        * mp_set_fns (mp_set_memory_functions): Make a NULL pointer mean the
                   15430:          default memory function.
                   15431:
                   15432: Wed May  8 20:02:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15433:
                   15434:        * mpz_div: Handle DEN the same as QUOT correctly by copying DEN->D
                   15435:          even if no normalization is needed.
                   15436:        * mpz_div: Rework reallocation scheme, to avoid excess copying.
                   15437:
                   15438:        * mpz_sub_ui.c, mpz_add_ui.c: New files.
                   15439:
                   15440:        * mpz_cmp.c, mpz_cmp_ui.c: New files.
                   15441:
                   15442:        * mpz_mul_2exp: Handle zero input MINT correctly.
                   15443:
1.1.1.4 ! ohara    15444:        * mpn_rshiftci: Don't handle shift counts > BITS_PER_MP_DIGIT.
1.1       maekawa  15445:
                   15446:        * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.
                   15447:
                   15448: Tue May  7 15:44:58 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15449:
                   15450:        * mpn_rshift: Don't handle shift counts > BITS_PER_MP_DIGIT.
                   15451:        * mpz_div_2exp: Don't call _mpn_rshift with cnt > BITS_PER_MP_DIGIT.
                   15452:        * gcd, mpz_gcd: Likewise.
                   15453:
                   15454:        * gcd, mpz_gcd: Handle common 2 factors correctly.
                   15455:
                   15456: Mon May  6 20:22:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15457:
                   15458:        * gmp-impl.h (MPN_COPY): Inline a loop instead of calling memcpy.
                   15459:
                   15460:        * gmp-impl.h, mpz_get_str, rpow: Swap DST and SRC in TMPCOPY* macros.
                   15461:
                   15462: Sun May  5 15:16:23 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15463:
                   15464:        * mpz_div: Remove test for QUOT == 0.
                   15465:
                   15466: Sun Apr 28 20:21:04 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15467:
                   15468:        * pow: Don't make MOD normalization in place, as it's a bad idea to
                   15469:          write on an input parameter.
                   15470:        * pow: Reduce BASE if it's > MOD.
                   15471:        * pow, mult, mpz_mul: Simplify realloc code.
                   15472:
                   15473: Sat Apr 27 21:03:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15474:
                   15475:        * Install multplication using Karatsuba's algorithm as default.
                   15476:
                   15477: Fri Apr 26 01:03:57 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15478:
                   15479:        * msqrt: Store in ROOT even for U==0, to make msqrt(0) defined.
                   15480:
                   15481:        * mpz_div_2exp.c, mpz_mul_2exp.c: New files for shifting right and
                   15482:          left, respectively.
                   15483:        * gmp.h: Add definitions for mpz_div_2exp and mpz_mul_2exp.
                   15484:
                   15485:        * mlshift.c, mrshift.c: Remove.
                   15486:
                   15487: Wed Apr 24 21:39:22 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15488:
                   15489:        * mpn_mul: Check only for m2_size == 0 in function header.
                   15490:
                   15491: Mon Apr 22 01:31:57 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15492:
                   15493:        * karatsuba.c: New file for Karatsuba's multplication algorithm.
                   15494:
                   15495:        * mpz_random, mpz_init, mpz_mod_2exp: New files and functions.
                   15496:
                   15497:        * mpn_cmp: Fix header comment.
                   15498:
                   15499: Sun Apr 21 00:10:44 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15500:
                   15501:        * pow: Switch off initial base reduction.
                   15502:
                   15503: Sat Apr 20 22:06:05 1991  Torbjorn Granlund  (tege@echnaton.sics.se)
                   15504:
                   15505:        * mpz_get_str: Don't generate initial zeros for initial word.
                   15506:          Used to write outside of allocated storage.
                   15507:
                   15508: Mon Apr 15 15:48:08 1991  Torbjorn Granlund  (tege@zevs.sics.se)
                   15509:
                   15510:        * _mpz_realloc: Make it accept size in number of mp_digits.
                   15511:        * Most functions: Use new _mpz_realloc definition.
                   15512:
                   15513:        * mpz_set_str: Remove calls _mp_free_func.
                   15514:
                   15515:        * Most functions: Rename mpn_* to _mpn_*.  Rename mpz_realloc to
                   15516:          _mpz_realloc.
                   15517:        * mpn_lshift: Redefine _mpn_lshift to only handle small shifts.
                   15518:        * mdiv, mpz_div, ...: Changes for new definition of _mpn_lshift.
                   15519:        * msqrt, mp*_*shift*: Define cnt as unsigned (for speed).
                   15520:
                   15521: Sat Apr  6 14:05:16 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
                   15522:
                   15523:        * mpn_mul: Multiply by the first digit in M2 in a special
                   15524:          loop instead of zeroing the product area.
                   15525:
                   15526:        * mpz_abs.c: New file.
                   15527:
                   15528:        * sdiv: Implement as mpz_div_si for speed.
                   15529:
                   15530:        * mpn_add: Make it work for second source operand == 0.
                   15531:
                   15532:        * msub: Negate the correct operand, i.e. V before swapping, not
                   15533:          the smaller of U and V!
                   15534:        * madd, msub: Update abs_* when swapping operands, and not after
                   15535:          (optimization).
                   15536:
                   15537: Fri Apr  5 00:19:36 1991  Torbjorn Granlund  (tege@black.nada.kth.se)
                   15538:
                   15539:        * mpn_sub: Make it work for subtrahend == 0.
                   15540:
                   15541:        * madd, msub: Rewrite to minimize mpn_cmp calls.  Ensure
                   15542:          mpn_cmp is called with positive sizes (used to be called
                   15543:          incorrectly with negative sizes sometimes).
                   15544:
                   15545:        * msqrt: Make it divide by zero if fed with a negative number.
                   15546:        * Remove if statement at end of precision calculation that was
                   15547:          never true.
                   15548:
                   15549:        * itom, mp.h: The argument is of type short, not int.
                   15550:
                   15551:        * mpz_realloc, gmp.h: Make mpz_realloc return the new digit pointer.
                   15552:
                   15553:        * mpz_get_str.c, mpz_set_str.c, mpz_new_str.c: Don't include mp.h.
                   15554:
                   15555:        * Add COPYING to distribution.
                   15556:
                   15557:        * mpz_div_ui.c, mpz_div_si.c, mpz_new_ui.c, mpz_new_si.c: New files.
                   15558:
                   15559: Fri Mar 15 00:26:29 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
                   15560:
                   15561:        * Add Copyleft headers to all files.
                   15562:
                   15563:        * mpn_mul.c, mpn_div.c: Add header comments.
                   15564:        * mult.c, mdiv.c: Update header comments.
                   15565:
                   15566:        * mpq_add.c, mpq_sub.c, mpq_div.c, mpq_new.c, mpq_new_ui.c,
                   15567:          mpq_free.c: New files for rational arithmetics.
                   15568:
                   15569:        * mpn_lshift.c: Avoid writing the most significant word if it is 0.
                   15570:
                   15571:        * mdiv.c: Call mpn_lshift for the normalization.
                   15572:        * mdiv.c: Remove #ifdefs.
                   15573:
                   15574:        * Makefile: Add ChangeLog to DISTFILES.
                   15575:
                   15576:        * mpn_div.c: Make the add_back code work (by removing abort()).
                   15577:        * mpn_div.c: Make it return if the quotient is size as compared
                   15578:          with the difference NSIZE - DSIZE.  If the stored quotient is
                   15579:          larger than that, return 1, otherwise 0.
                   15580:        * gmp.h: Fix mpn_div declaration.
                   15581:        * mdiv.c: Adopt call to mpn_div.
                   15582:        * mpz_div.c: New file (developed from mdiv.c).
                   15583:
                   15584:        * README: Update routine names.
                   15585:
                   15586: Thu Mar 14 18:45:28 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
                   15587:
                   15588:        * mpq_mul.c: New file for rational multplication.
                   15589:
                   15590:        * gmp.h: Add definitions for rational arithmetics.
                   15591:
                   15592:        * mpn_div: Kludge the case where the high numerator digit > the
                   15593:          high denominator digit.  (This code is going to be optimized later.)
                   15594:
                   15595:        * New files: gmp.h for GNU specific functions, gmp-common.h for
                   15596:          definitions common for mp.h and gmp.h.
                   15597:
                   15598:        * Ensure mp.h just defines what BSD mp.h defines.
                   15599:
                   15600:        * pow.c: Fix typo for bp allocation.
                   15601:
                   15602:        * Rename natural number functions to mpn_*, integer functions to
                   15603:          mpz_*.
                   15604:
                   15605: Tue Mar  5 18:47:04 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
                   15606:
                   15607:        * mdiv.c (_mp_divide, case 2): Change test for estimate of Q from
                   15608:          "n0 >= r" to "n0 > r".
                   15609:
                   15610:        * msqrt: Tune the increasing precision scheme, to do fewer steps.
                   15611:
                   15612: Tue Mar  3 18:50:10 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
                   15613:
                   15614:        * msqrt: Use the low level routines.  Use low precision in the
                   15615:        beginning, and increase the precision as the result converges.
                   15616:        (This optimization gave a 6-fold speedup.)
1.1.1.4 ! ohara    15617:
        !          15618:
1.1       maekawa  15619: 
                   15620: Local Variables:
                   15621: mode: indented-text
                   15622: left-margin: 8
1.1.1.4 ! ohara    15623: fill-column: 79
1.1       maekawa  15624: version-control: never
1.1.1.4 ! ohara    15625: eval: (unless (string-match "GNU Emacs \\(21\.[4-9]\\|22\.\\)" (emacs-version))
        !          15626:        (save-excursion
        !          15627:          (goto-char (point-min))
        !          15628:          (when (looking-at "Copyright")
        !          15629:            (search-forward "\n\n")
        !          15630:            (skip-chars-forward "\n")
        !          15631:            (narrow-to-region (point) (point-max))
        !          15632:            (message "Note! narrowed to hide copyright notice"))))
1.1       maekawa  15633: End:

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