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

Diff for /OpenXM_contrib/gmp/Attic/ChangeLog between version 1.1 and 1.1.1.4

version 1.1, 2000/01/10 15:35:21 version 1.1.1.4, 2003/08/25 16:05:54
Line 1 
Line 1 
 Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 2000, 2001, 2002
   Free Software Foundation, Inc.
   .
   This file is part of the GNU MP Library.
   .
   The GNU MP Library is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published by
   the Free Software Foundation; either version 2.1 of the License, or (at your
   option) any later version.
   .
   The GNU MP Library is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
   License for more details.
   .
   You should have received a copy of the GNU Lesser General Public License
   along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
   MA 02111-1307, USA.
   
   
   2002-12-24  Kevin Ryde  <kevin@swox.se>
   
           * Version 4.1.2 released.
   
           * tests/devel/try.c (mprotect_maybe, malloc_region): Don't use
           strerror, need to check it exists first.
   
   2002-12-22  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (hppa2.0*-*-*): Pass +O2 instead of +O3 to work around
           compiler bug with mpfr/tests/tdiv.
   
           * gmp-impl.h (union ieee_double_extract): Test for __sparc_v9 and
           __sparc_v9__.
   
   2002-12-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/rootrem.c: In Newton loop, pad qp with leading zero.
   
   2002-12-19  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/rootrem.c: Allocate 1.585 (log2(3)) times more space
           for pp temporary to allow for worst case overestimate of root.
           Add some asserts.
   
           * tests/mpz/t-root.c: Generalize and speed up.
   
   2002-12-19  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Mention MS Interix, reported by Paul
           Leyland.
           (Notes for Particular Systems): Compaq C++ must be used in "standard"
           iostream mode.  Add Sparc app regs.
           (Debugging): Note gcc -fstack options to detect overflow.
           (Formatted Output Strings, Formatted Input Strings): Format strings
           are not multibyte.
   
   2002-12-18  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.2.
           * Makefile.am (LIBGMP_LT_REVISION, LIBGMPXX_LT_REVISION,
           LIBMP_LT_REVISION): Increment.
   
   2002-12-18  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
   
           * mpfr/pow.c: Fixed bug (infinite loop) for exact powers.
   
           * mpfr/sub.c: Fixed wrong inexact flag for a - b where a and b are of
           different signs and EXP(a) < EXP(b).
   
   2002-12-17  Torbjorn Granlund  <tege@swox.com>
   
           * printf/printffuns.c (gmp_fprintf_reps): Make it actually work
           for padding > 256.
   
   2002-12-17  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Formatted Output Strings): %a and %A are C99 not glibc.
           (Formatted Input Strings): Type "l" is for double too.
   
   2002-12-13  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Debugging): Add maximum debuggability config options.
           (Language Bindings): Add Arithmos, reported by Johan Vervloet.
           (Formatted Output Strings): 128 bits is about 40 digits, ll is only
           for long long not long double.
           (Formatted Input Strings): ll is only for long long not long double.
   
   2002-12-08  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (USE_LEADING_REGPARM): Disable for PIC code generation.
   
   2002-12-04  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (union ieee_double_extract): Amend test for ia64 with hpux
           test.
   
   2002-12-04  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Floating-point Functions): Note the mantissa is binary and
           decimal fractions cannot be represented exactly.  Suggested by Serge
           Winitzki.
           (Known Build Problems): Note libtool stripping options when linking.
           Reported by Vincent Lefevre.
   
   2002-12-03  Kevin Ryde  <kevin@swox.se>
   
           * INSTALL: Use return rather than exit in the example programs.
           Suggested by Richard Dawe.
   
           * longlong.h (count_leading_zeros, count_trailing_zeros) [ev67, ev68]:
           Restrict __asm__ ctlz and cttz to __GNUC__.
   
   2002-11-25  Kevin Ryde  <kevin@swox.se>
   
           * Version 4.1.1 released.
   
   2002-11-25  Torbjorn Granlund  <tege@swox.com>
   
           * mpfr/tests/tdiv.c: Decrease number of performed tests.
   
   2002-11-23  Kevin Ryde  <kevin@swox.se>
   
           * tests/misc/t-printf.c, tests/misc/t-scanf.c (check_misc): Suppress
           %zd test on glibc prior to 2.1, it's not supported.
   
   2002-11-19  Kevin Ryde  <kevin@swox.se>
   
           * gmpxx.h (__gmp_randinit_lc_2exp_size_t): Return type is int.
   
   2002-11-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/addmul_1.asm: Don't clobber callee-saves register f16.
           * mpn/ia64/mul_1.asm: Likewise.
   
           * mpn/ia64/addmul_1.asm: Add pred.rel declarations.  Resolve RAW
           hazards for condition code registers, duplicating code as needed.  Add
           prediction to all branches.
           * mpn/ia64/mul_1.asm: Likewise.
           * mpn/ia64/add_n.asm: Likewise.
           * mpn/ia64/sub_n.asm: Likewise.
           * mpn/ia64/copyi.asm: Likewise.
           * mpn/ia64/copyd.asm: Likewise
   
   2002-11-16  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, gmp.texi: Remove powerpc64 ABI=32L, doesn't work and
           is unlikely to ever do so.
           * configure.in: Allow ABI=32 for powerpc64.
           Reported by David Edelsohn.
   
   2002-11-14  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT) [__GNUC__]:
           Use __dllexport__ and __dllimport__ to keep out of application
           namespace.
   
           * Makefile.am (LIBGMPXX_LT_REVISION): Bump for istream changes.
   
   2002-11-14  Gerardo Ballabio <gerardo.ballabio@unimib.it>
   
           * gmpxx.h (__gmp_randinit_default_t, __gmp_randinit_lc_2exp_t,
           __gmp_randinit_lc_2exp_size_t): Use extern "C" { typedef ... }, for
           the benefit of g++ prior to 3.2.
   
   2002-11-12  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/tdiv_qr.c: Add <stdlib.h> for abort().
   
           * gmpxx.h (gmp_randclass constructors): Patch from Roberto Bagnara to
           use extern "C" on C function pointer arguments.
   
   2002-11-07  Gerardo Ballabio <gerardo.ballabio@unimib.it>
   
           * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: Don't skip whitespace
           without ios::skipws.
   
   2002-11-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/tdiv_qr.c: Remove a bogus assert.
   
   2002-11-04  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mode1o.c, mpn/alpha/ev5/mode1o.c: Correction to ASSERTs.
           Reported by Christoph Ludwig.
   
   2002-11-02  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (ABI and ISA): Add powerpc620 and powerpc630 to powerpc64.
   
   2002-11-01  Kevin Ryde  <kevin@swox.se>
   
           * longlong.h: Test __x86_64__ not __x86_64.  Reported by Andreas
           Jaeger.
   
           * mpf/urandomb.c: Truncate nbits to precision of rop.
   
           * gmp.texi (Known Build Problems): Add MacOS X C++ shared libraries.
   
   2002-10-29  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (*-cray-unicos*): Pass -hnofastmd again.
   
   2002-10-28  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (union ieee_double_extract): IEEE little endian for
           x86_64.  Reported by Andreas Jaeger.
   
   2002-10-25  Torbjorn Granlund  <tege@swox.com>
   
           * tests/tadd.c: Disable test of denorms.
   
   2002-10-23  Linus Nordberg  <linus@swox.se>
   
           * gmp.texi (Introduction to GMP): Update section about mailing
           lists.
   
   2002-10-21  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (*-cray-unicos*): Remove -hscalar0, it causes too much
           performance loss.  Let's trust Cray to fix their compilers.
   
           * mpn/cray/ieee/addmul_1.c: Handle overlap as in mul_1.c.
           * mpn/cray/ieee/submul_1.c: Likewise.
   
   2002-10-20  Kevin Ryde  <kevin@swox.se>
   
           * mpz/import.c, mpz/export.c: Use char* subtract from NULL to get
           pointer alignment, for the benefit of Cray vector systems.
   
   2002-10-19  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (sparc v9 *bsd*): Add NetBSD and OpenBSD sparc64.
           (x86 openbsd*): Extra underscore for _GLOBAL_OFFSET_TABLE_.
   
           * demos/calc/calc.y: Change ={ to {, needed for bison 1.50.
   
           * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]:
           Should be UDItype.
   
   2002-10-19  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/rootrem.c: Avoid overflow in xnb calculation.
           * mpz/root.c: Avoid overflow in rootnb calculation.
   
   2002-09-20  Gerardo Ballabio <gerardo.ballabio@unimib.it>
   
           * gmpxx.h (__gmp_binary_equal, __gmp_binary_not_equal): Fix broken
           mpq/double functions.
   
   2002-09-16  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Notes for Particular Systems): Note cl /MD is required for
           Microsoft C and MINGW to cooperate on I/O.
           (Language Bindings): Add linbox.
   
   2002-09-14  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (GMP_C_RESTRICT): Remove this, currently unused, and
           #define restrict causes problems for MS Visual C on win64.  Reported
           by David Librik.
   
   2002-09-08  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_GCC_WA_MCPU): New macro.
           * configure.in (alpha*-*-*): Use it to avoid -Wa,-mev67 if gas isn't
           new enough to know ev67.  Reported by David Bremner.
   
   2002-09-07  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Demonstration Programs): New section, expanding on what
           was under "Build Options".
           (Converting Floats): Don't need \ for _ in @var within @math.
   
           * longlong.h: Define COUNT_LEADING_ZEROS_NEED_CLZ_TAB for all alphas,
           since mpn/alpha/cntlz.asm always goes into libgmp.so, even for ev67
           and ev68 which don't need it.  Reported by David Bremner.
   
   2002-09-02  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.1.
           * Makefile.am (LIBGMP_LT_REVISION, LIBMP_LT_REVISION): Increment.
   
   2002-08-26  Torbjorn Granlund  <tege@swox.com>
   
           * gmp.texi (Converting Floats): Fix typo in mpf_get_d_2exp docs,
           reported by Paul Zimmermann.
   
   2002-08-23  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in: Choose powerpc32/aix.m4 or powerpc64/aix.m4 based on
           ABI, not configuration triple.
   
   2002-08-22  Kevin Ryde  <kevin@swox.se>
   
           * configfsf.guess: Update to 2002-08-19.
           * configfsf.sub: Update to 2002-08-20.
   
   2002-08-20  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Known Build Problems): Binutils 2.12 is ok for libgmp.a.
           (Notes for Particular Systems): Remove -march=pentiumpro, now ok.
           (Emacs): New section.
           (Language Bindings): Update MLton URL, reported by Stephen Weeks.
   
   2002-08-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/m68k/lshift.asm: Fix typo in !scale_available_p code.
           * mpn/m68k/rshift.asm: Likewise.
   
   2002-08-09  Kevin Ryde  <kevin@swox.se>
   
           * mpn/ia64/add_n.asm, mpn/ia64/sub_n.asm: Add .body.
           * mpn/ia64/add_n.asm, mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm,
           mpn/ia64/sub_n.asm: Position .save ar.lc just before relevant
           instruction.
           * mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm: Add .save ar.pfs and pr.
           * mpn/ia64/copyd.asm, mpn/ia64/copyi.asm: Correction to .body position.
           * mpn/ia64/lorrshift.asm: Add .prologue stuff.
   
           * mpn/ia64/*.asm [hpux ABI=32]: Extend 32-bit operands to 64-bits, not
           optimal and might not be sufficient, but seems to work.
   
   2002-08-07  Kevin Ryde  <kevin@swox.se>
   
           * mpz/remove.c: Make src==0 return 0, not do DIVIDE_BY_ZERO.
   
   2002-08-05  Kevin Ryde  <kevin@swox.se>
   
           * Makefile.am (libgmpxx_la_DEPENDENCIES): libgmp.la should be here,
           not libgmpxx_la_LIBADD, for the benefit of "make -j2".
   
   2002-07-30  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Known Build Problems): An easier workaround for DESTDIR,
           using LD_LIBRARY_PATH.
   
   2002-07-27  Kevin Ryde  <kevin@swox.se>
   
           * configure.in: Establish CONFIG_SHELL to avoid a problem with
           AC_LIBTOOL_SYS_MAX_CMD_LEN, in particular with ia64-*-hpux*.
   
           * tune/speed.h (SPEED_ROUTINE_MPN_GCD_FINDA): Don't let calls to
           mpn_gcd_finda go dead.
   
   2002-07-21  Kevin Ryde  <kevin@swox.se>
   
           * Makefile.am (DISTCLEANFILES): Add configure.lineno.
   
           * tests/mpz/t-jac.c (try_si_zi): Correction to "a" parameter type.
   
   2002-07-17  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Random State Initialization): Typo in m2exp described for
           gmp_randinit_lc_2exp_size.
           (Formatted Input Strings): Typo in %n summary.
   
           * mpfr/acinclude.m4 (MPFR_CONFIGS): Patch by Vincent for an apparent
           float rounding gremlin on powerpc.
   
   2002-07-15  Kevin Ryde  <kevin@swox.se>
   
           * Makefile.am (PRINTF_OBJECTS): Avoid ending in a backslash, some hpux
           makes don't like that.
   
           * gmp-impl.h (ieee_double_extract): Test __sparc__, used by gcc 3.1.
           Reported by nix@esperi.demon.co.uk.
           * mpfr/mpfr-math.h (_MPFR_NAN_BYTES etc): Ditto.
   
   2002-07-13  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GMP_EXTERN_INLINE): Don't use this during configure,
           ie. __GMP_WITHIN_CONFIGURE, to avoid needing dependent routines.
           * acinclude.m4 (GMP_H_EXTERN_INLINE): Consequent changes.
   
           * gmp.texi (Number Theoretic Functions): Clarify return value.
           Reported by Peter Keller.
   
   2002-07-10  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (DItype): Use HAVE_LONG_LONG to choose long long,
           avoiding _LONGLONG which is in gcc but means something unrelated in MS
           Visual C 7.0.  Reported by David Librik.
   
   2002-07-06  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Low-level Functions): mpn_set_str takes "unsigned char *",
           reported by Mark Sofroniou.
           (C++ Interface General): Describe linking with libgmpxx and libgmp.
   
   2002-07-01  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (mpz_export): Remove a spurious parameter name.
   
   2002-06-29  Kevin Ryde  <kevin@swox.se>
   
           * mpf/inp_str.c: Fix returned count of chars read, reported by Paul
           Zimmermann.  Also fix a memory leak for invalid input.
   
   2002-06-25  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (x86-*-*): Remove -march=pentiumpro check, seems ok
           with current code.
   
   2002-06-23  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_GCC_ARM_UMODSI): Match bad "gcc --version" output
           exactly, rather than parsing it with GMP_GCC_VERSION_GE.
   
   2002-06-22  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (const, signed): Move to near top of file, fixes
           --enable-alloca=debug on K&R.
   
   2002-06-20  Kevin Ryde  <kevin@swox.se>
   
           * mpn/ia64/submul_1.c: Add missing TMP_DECL, TMP_MARK, TMP_FREE.
           Reported by Paul Zimmermann.
   
   2002-06-20  Gerardo Ballabio <gerardo.ballabio@unimib.it>
   
           * gmpxx.h, mpfrxx.h: Remove mpz_classref, let mpq_class::get_num and
           mpq_class::get_den return mpz_class& as per the documentation.
           Reported by Roberto Bagnara.
   
   2002-06-15  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
   
           * mpfr/set_q.c: Allow for 1 bit numerator or denominator.
   
   2002-06-14  Kevin Ryde  <kevin@swox.se>
   
           * tests/misc/t-scanf.c: (fromstring_gmp_fscanf): Add missing va_end.
           Don't mix varargs and fixed args functions, not good on x86_64.
           Reported by Marcus Meissner.
   
           * tests/mpz/t-cmp_d.c (check_one_2exp): Use volatile to force to
           double, fixes gcc 3.1 with -O4.  Reported by Michael Lee.
           * configure.in (AC_C_VOLATILE): New macro.
   
   2002-06-09  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/tests/tadd.c, mpfr/tests/tmul.c (check): Apply a hack to the
           parameter order to make sparc gcc 2.95.2 happy.
   
           * gmp.texi (Known Build Problems): Notes on MacOS and GCC.
           (Low-level Functions): mpn_get_str accepts base==256.
   
   2002-06-09  Torbjorn Granlund  <tege@swox.com>
   
           * randraw.c (lc): Remove broken ASSERT_ALWAYS.
   
   2002-06-08  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (alphev56): Fix to use ev5 path.
   
           * mpfr/tests/tsqrt.c, mpfr/tests/tsqrt_ui.c: Suppress tests if sqrt is
           not affected by mpfr_set_machine_rnd_mode.
   
           * mpfr/mul_2si.c: Workaround a mips gcc 2.95.3 bug under -O2 -mabi=n32.
   
   2002-06-06  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, mpfr/tests/Makefile.am: Add $LIBM to $LIBS for
           MPFR_CONFIGS so it detects fesetround, and let it go through to
           $MPFR_LIBS.
           * mpfr/rnd_mode.c: Use gmp-impl.h to get MPFR_HAVE_FESETROUND.
   
           * tests/mpz/t-sizeinbase.c: Disable fake bits test, such pointer
           setups are bogus and have been seen failing on hppa.
   
   2002-06-03  Kevin Ryde  <kevin@swox.se>
   
           * mpn/sparc32/sparc-defs.m4: New file.
           * configure.in (sparc*-*-*): Use it.
           * acinclude.m4 (GMP_ASM_SPARC_REGISTER): New macro.
           * configure.in (sparc64): Use it.  Also, use -Wc,-m64 for linking.
           * mpn/sparc64/add_n.asm, mpn/sparc64/addmul_1.asm,
           mpn/sparc64/copyd.asm, mpn/sparc64/copyi.asm, mpn/sparc64/lshift.asm,
           mpn/sparc64/mul_1.asm, mpn/sparc64/rshift.asm,
           mpn/sparc64/sqr_diagonal.asm, mpn/sparc64/sub_n.asm,
           mpn/sparc64/submul_1.asm: Use REGISTER for .register.
   
   2002-06-01  Kevin Ryde  <kevin@swox.se>
   
           * mpz/powm_ui.c: Fix for result range in certain circumstances.
   
   2002-05-23  Torbjorn Granlund  <tege@swox.com>
   
           * Version 4.1 released.
   
           * mpn/alpha/ev6/nails/gmp-mparam.h: New file.
   
           * tests/devel/add_n.c (refmpn_add_n): Nailify.
           * tests/devel/sub_n.c (refmpn_sub_n): Nailify.
           * tests/devel/addmul_1.c (refmpn_addmul_1): Nailify.
           * tests/devel/submul_1.c (refmpn_submul_1): Nailify.
   
           * mpn/alpha/ev6/nails/add_n.asm: New file.
           * mpn/alpha/ev6/nails/sub_n.asm: New file.
           * mpn/alpha/ev6/nails/mul_1.asm: New file.
           * mpn/alpha/ev6/nails/submul_1.asm: New file.
   
   2002-05-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev6/nails/addmul_1.asm: New file.
   
           * mpz/inp_str.c (mpz_inp_str_nowhite): Nailify.
   
           * mpn/generic/mul_basecase.c: Update pointers before conditional
           MAX_LEFT break statements.
   
   2002-05-21  Torbjorn Granlund  <tege@swox.com>
   
           * tests/mpz/t-gcd.c: Test mpz_gcd_ui.
   
           * mpz/lcm_ui.c: Nailify.
   
           * mpz/gcd_ui.c: Nailify.  Make it work as documented, allowing
           NULL to be passed for result parameter.  Fix gcd(0,0) case.
   
           * mpz/set_str.c: Nailify.
   
           * randlc2x.c (gmp_randinit_lc_2exp): Nailify.
   
           From Jakub Jelinek:
           * longlong.h (add_ssaaaa,sub_ddmmss) [64-bit sparc]:
           Make it actually work.
   
   2002-05-18  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/ui_div.c: Shut up compiler warning.
   
           * mpn/generic/mul_basecase.c: Use mpn_addmul_2, mpn_addmul_3, and
           mpn_addmul_4, as available.
   
           * mpn/alpha/ev6/nails/addmul_2.asm: Adjust NAILS_SUPPORT decls.
           * mpn/alpha/ev6/nails/addmul_3.asm: Likewise
           * mpn/alpha/ev6/nails/addmul_4.asm: Likewise.
   
           * configure.in (*-cray-unicos*): Back again to -hscalar0.
           (gmp_mpn_functions_optional): Add mul_3, mul_4, addmul_2, addmul_3,
           and addmul_4.
           * acconfig.h: Add #undefs for new optional mpn functions.
   
   2002-05-18  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Integer Import and Export): Mention Cray unfilled words.
   
           * mpz/set_d.c, mpq/set_d.c: Use LIMBS_PER_DOUBLE for the output of
           __gmp_extract_double.  Reported by Henrik Johansson.
   
   2002-05-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev6/nails/addmul_2.asm: New file.
           * mpn/alpha/ev6/nails/addmul_3.asm: New file.
           * mpn/alpha/ev6/nails/addmul_4.asm: New file.
   
           * mpn/generic/dump.c: Rewrite and nailify.
   
   2002-05-16  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/Makefile.am (EXTRA_DIST): Add BUGS file.
   
   2002-05-15  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (*-cray-unicos*): Remove -hscalar0, add -hnofastmd
           as workaround for compiler bug.
           (mips64*-*-*): Pass just -O1 to cc, to work around compiler bug.
   
   2002-05-14  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (*-cray-unicos*): Pass -hscalar0 to work around
           compiler bug for mpz/import.c.
   
   2002-05-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/import.c: Cast pointer via `unsigned long' when checking
           alignment to avoid compiler warnings.
   
           * mpn/generic/rootrem.c: Adjust allocation of qp temporary area.
   
   2002-05-09  Kevin Ryde  <kevin@swox.se>
   
           * mpz/import.c: Corrections to size store, special case tests, and
           general case ACCUMULATE.
           * tests/mpz/t-import.c, tests/mpz/t-export.c: More test data.
   
   2002-05-09  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/rootrem.c: Use temp space for root, copy value in place
           before returning.
           * mpz/root.c: Don't allocate extra limb for root value.
           * mpz/perfpow.c: Undo last change.
   
   2002-05-08  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (powerpc BSWAP_LIMB_FETCH): Rename local variable to make
           it not clash with caller.
   
           * mpn/generic/rootrem.c: New file.
           * configure.in (gmp_mpn_functions): Add rootrem and pow_1.
           * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add rootrem.c and
           pow_1.c
           * gmp-impl.h (mpn_rootrem): Add declaration.
           * mpz/perfpow.c: Amend allocations for mpn_rootrem requirements.
           * mpz/root.c: Rewrite to use mpn_rootrem.
   
   2002-05-08  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (MUL_KARATSUBA_THRESHOLD etc): Remove forced nail values.
   
           * mpf/fits_u.h, mpf/fits_s.h, tests/mpf/t-fits.c: Ignore fraction
           part, making the code match the documentation.
   
           * gmpxx.h (struct __gmp_binary_minus): Use mpz_ui_sub.
   
   2002-05-07  Kevin Ryde  <kevin@swox.se>
   
           * mpn/powerpc32/README: New file.
   
           * mpz/root.c: Use unsigned long with mpz_sub_ui not mp_limb_t.
   
           * tune/README: Misc updates including sparc32/v9 smoothness, low res
           timebase, and mpn_add_n operand overlaps.
           * tune/many.pl: Add udiv.asm support.
   
           * gmp.texi (Build Options): A couple of --build better as --host.
           (Known Build Problems, Notes for Package Builds): Add DESTDIR problem.
           (Compatibility with older versions): Compatible with 4.x versions.
           (Converting Integers): Remove mpz_get_ui + mpz_tdiv_q_2exp decompose.
           (Integer Import and Export): New section.
           (Miscellaneous Integer Functions): Clarify mpz_sizeinbase returns 1
           for operand of 0.
           (Language Bindings): Add GNU Pascal.
           (Low-level Functions): Add GMP_NUMB_MAX.
   
           * tests/mpz/t-import.c, tests/mpz/t-export.c, tests/mpz/t-get_d.c:
           New tests.
           * tests/mpz/Makefile.am: Add them.
   
           * mpz/import.c, mpz/export.c: New files.
           * Makefile.am, mpz/Makefile.am, gmp-h.in: Add them.
   
           * gmp-h.in, gmp-impl.h (GMP_NUMB_MAX): Move to gmp.h.
           * gmp-impl.h (CNST_LIMB): Add cast to mp_limb_t to ensure unsigned.
           (CRAY_Pragma, MPN_REVERSE, MPN_BSWAP, MPN_BSWAP_REVERSE,
           ASSERT_ALWAYS_LIMB, ASSERT_ALWAYS_MPN): New macros.
           (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS_MPN.
   
   2002-05-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/aors_ui.h: Nailify.
   
           * tests/mpz/t-addsub.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add t-addsub.
   
           * mpz/ui_sub.c: New file.
           * mpz/Makefile.am (libmpz_la_SOURCES): Add ui_sub.c.
           * Makefile.am (MPZ_OBJECTS): Ditto.
           * gmp-h.in (mpz_ui_sub): Add declaration.
   
           * gmp-impl.h (MPZ_REALLOC): Rewrite to allow the use of _mpz_realloc
           return value.
   
           * gmp-h.in (mpn_pow_1): Add declaration.
   
           * mpn/generic/pow_1.c: Handle exp <= 1.  Reverse rp/tp parity scheme
           for bn == 1 arm.
   
           * Rename MP_LIMB_T_HIGHBIT => GMP_LIMB_HIGHBIT.
   
   2002-05-06  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (main): Don't call mpz_sizeinbase with negative base.
   
           * randraw.c (lc): Remove an unused variable.
   
           * mpn/generic/get_str.c: Clarify an algorithm description.
   
           * tests/mpf/t-trunc.c: Nailify.
           * tests/mpf/t-set_si.c: Disable for nails.
   
           * mpf/cmp_si.c: Nailify.
           * mpf/cmp_ui.c: Nailify.
           * mpf/div.c: Nailify.
           * mpf/div_2exp.c: Nailify.
           * mpf/div_ui.c: Nailify.
           * mpf/eq.c: Nailify.
           * mpf/get_d.c: Nailify.
           * mpf/get_d_2exp.c: Nailify.
           * mpf/get_si.c: Nailify.
           * mpf/get_str.c: Nailify.
           * mpf/get_ui.c: Nailify.
           * mpf/mul_2exp.c: Nailify.
           * mpf/random2.c: Nailify.
           * mpf/set_q.c: Nailify.
           * mpf/set_si.c: Nailify.
           * mpf/set_str.c: Nailify.
           * mpf/set_ui.c: Nailify.
           * mpf/sub.c: Nailify.
           * mpf/ui_div.c: Nailify.
           * mpf/ui_sub.c: Nailify.
           * mpf/urandomb.c: Nailify.
   
           * gmp-impl.h (__GMPF_BITS_TO_PREC, __GMPF_PREC_TO_BITS): Nailify.
   
           * mpz/get_si.c: Misc variable name changes.
   
           * mpf/fits_u.h: Rewrite - nailify.
           * mpf/fits_s.h: Likewise.
   
           * mpz/mod.c: Disambiguate if-statament with extra {}.
   
           * mpf/int_p.c: Fix type of size variables.
           * mpf/get_ui: Likewise.
           * mpf/get_si: Likewise.
           * mpq/equal.c: Likewise.
           * mpq/get_d.c: Likewise.
           * mpz/cmp_d.c: Likewise.
           * mpz/cmpabs_d.c: Likewise.
           * mpz/divis_2exp.c: Likewise.
           * mpz/kronuz.c: Likewise.
           * mpz/kronzu.c: Likewise.
           * mpz/kronzs.c: Likewise.
           * mpz/kronsz.c: Likewise.
           * mpz/scan0.c: Likewise.
           * mpz/scan1.c: Likewise.
           * mpz/tstbit.c: Likewise.
           * mpz/cong_2exp.c: Likewise.
           * mpz/divis.c: Likewise.
   
   2002-05-04  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/gcd.c: Additional nailify changes.
   
   2002-05-04  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GNU_MP_VERSION): Set to 4.1.
           * Makefile.am (-version-info): Bump for new release.
   
   2002-04-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divrem_1.c: Additional nailify changes.
           * mpn/generic/mod_1.c: Likewise.
   
           * tests/mpq/t-get_d.c: Print floats with all 16 digits.
   
           * mpq/get_d.c: Nailify.
   
           * tests/mpq/t-set_f.c: Disable for nails.
   
           * mpz/get_d.c: Nailify.
   
           * gmp-impl.h (LIMBS_PER_DOUBLE, MP_BASE_AS_DOUBLE): Nailify.
   
           * gmp-h.in (__GMPZ_FITS_UTYPE_P): Cast maxval to before shifting it.
   
           * extract-dbl.c: Nailify.
   
   2002-04-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpq/md_2exp.c (mord_2exp): Nailify.
   
           * mpq/cmp_ui.c: Nailify.
   
           * mpq/cmp.c (mpq_cmp): Nailify.
   
           * mpn/generic/gcd.c: Nailify.  GNUify code layout.
   
           * mpn/generic/gcdext.c: Nailify.  Misc changes.
   
           * tests/mpz/t-sqrtrem.c: Let argv[1] mean # of repetitions.
           * tests/mpz/t-gcd.c: Likewise.
   
           * mpz/gcd.c: Nailify.
   
           * mpn/generic/random.c: Nailify.
   
           * gmp-impl.h (modlimb_invert): Nailify.
   
   2002-04-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/gcdext.c (div2): Remove qh parameter.
           (mpn_gcdext): Streamline double-limb code.
           Move GCDEXT_THRESHOLD check to after initial division.
   
   2002-04-27  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (JACOBI_MOD_OR_MODEXACT_1_ODD): Allow for odd
           GMP_NUMB_BITS.
   
           * tune/time.c (sgi_works_p): Allow for 64-bit counter, and fix
           SGI_CYCLECNTR_SIZE handling.
   
           * demos/expr/exprfr.c: Add nan and inf constants.
           * demos/expr/t-expr.c: Exercise them.
   
   2002-04-26  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/cmp_ui.c: Fix overflow conditions for nails.
   
           * gmp-h.in (mpz_get_ui): Fix typo from last change.
   
           * mpz/n_pow_ui.c: Adjust allocation for nails.
           (GMP_NUMB_HALFMAX): Renamed from MP_LIMB_T_HALFMAX.
           Fix umul_ppmm invocation for for nails.
   
   2002-04-24  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/gcdext.c: Simplify by using mpn_tdiv_qr instead of
           mpn_divmod.
   
   2002-04-24  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (*-*-cygwin*): Give a sensible default command line
           limit, to avoid blowups reported by Jim Fougeron on windows 9x.
           (--enable-nails): Make the default 2, since mp_bases has data for that.
   
           * mpfr/mpfr-math.h (__mpfr_nan): Use a "double" for the bytes, to
           avoid a mis-conversion on alpha gcc 3.0.2.
           (_MPFR_INFP_BYTES, _MPFR_INFM_BYTES): Should be a zero mantissa.
   
   2002-04-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/dive_ui.c: Fix typo.
   
           * mpz/fits_s.h: Rewrite.
   
           * mpz/jacobi.c: Nailify.
           * mpz/kronuz.c: Additional nailify changes.
           * mpz/kronsz.c: Likewise.
   
   2002-04-23  Kevin Ryde  <kevin@swox.se>
   
           * demos/expr/Makefile.am (LDADD): Add $(LIBM) for the benefit of mpfr.
   
           * mpz/divis_ui.c, mpz/cong_ui.c: Nailify.
           * mpn/generic/bdivmod.c, mpz/divexact.c, mpz/dive_ui.c: Nailify.
           * mpn/generic/sb_divrem_mn.c, mpn/generic/divrem.c,
           mpn/generic/divrem_2.c: Nailify ASSERTs.
           * mpn/x86/k6/mmx/logops_n.asm, mpn/x86/k6/mmx/com_n.asm: Nailify.
           * mpz/inp_raw.c, mpz/out_raw.c: Nailify.
           * mpz/kronzu.c, mpz/kronuz.c, mpz/kronzs.c, mpz/kronsz.c: Nailify.
           * mpn/generic/divis.c, mpz/cong.c, mpz/cong_2exp.c: Nailify.
           * gmp-impl.h (NEG_MOD): Nailify.
   
           * gmp-impl.h, mpn/mp_bases.c: Add back GMP_NUMB_BITS==30 bases data.
   
           * mpfr/get_d.c: Patch from Paul to avoid problem with constant folding
           in gcc on OSF.
   
           * mpn/lisp/gmpasm-mode.el: Remove mention of defunct LF macro.
   
   2002-04-22  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c: Handle "binomial" operator.
   
           * mpz/cmp_ui.c: Move assignments of `up' out of conditionals.
   
           * mpn/generic/gcdext.c: Fix fencepost error in STAT code.
   
           * gmp-impl.h (mpn_com_n): Nailify.
   
           * tests/mpz/t-cdiv_ui.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add t-cdiv_ui.
           * mpz/cdiv_qr_ui.c: Nailify.
           * mpz/cdiv_q_ui.c: Nailify.
           * mpz/cdiv_r_ui.c: Nailify.
           * mpz/cdiv_ui.c: Nailify.
   
           * tests/misc/t-printf.c (CHECK_N): Add cast to allow `char' to be an
           unsigned type.
           * tests/misc/t-scanf.c: Likewise.
   
           * mpz/mul_i.h: Rework nails code to handle parameter overlap.
   
           * tests/mpz/t-set_f.c: Disable for nails.
   
   2002-04-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/set_si.c: Add cast to support LONG_LONG_LIMB.
           * mpz/iset_si.c: Likewise.
   
           * mpz/bin_ui.c: Nailify.
           * mpz/bin_uiui.c: Nailify.
   
           * mpz/cmpabs_ui.c: Nailify.
   
           * tests/mpz/t-aorsmul.c: Nailify.
           * mpz/aorsmul_i.c (mpz_addmul_ui, mpz_submul_ui): Nailify better.
   
   2002-04-20  Torbjorn Granlund  <tege@swox.com>
   
           * tests/mpz/t-fdiv_ui.c: Check mpz_fdiv_ui.
           * tests/mpz/t-tdiv_ui.c: Check mpz_tdiv_ui.
   
           * mpz/tdiv_ui.c: Rewrite nails code.
           * mpz/fdiv_ui.c: Nailify.
   
           * tests/mpz/t-tdiv_ui.c: Check returned remainders.
           * tests/mpz/t-fdiv_ui.c: Merge in recent t-tdiv_ui changes.
   
           * mpz/tdiv_q_ui.c: Remove spurious TMP_* calls.
   
           * mpz/fdiv_qr_ui.c: Nailify.
           * mpz/fdiv_q_ui.c: Nailify.
           * mpz/fdiv_r_ui.c: Nailify.
   
           * mpz/get_si.c: Misc nailify changes to shut up compiler warnings.
   
           * mpz/ui_pow_ui.c: Fix typo in last change.
   
   2002-04-20  Kevin Ryde  <kevin@swox.se>
   
           * tests/misc/t-printf.c, tests/misc/t-scanf.c: Check all %n types.
   
           * mpn/x86/k7/mmx/divrem_1.asm, mpn/x86/p6/mmx/divrem_1.asm
           (mpn_preinv_divrem_1): New entrypoint.
           (mpn_divrem_1): Avoid a branch when testing high<divisor.
           * mpn/asm-defs.m4: Add define_mpn(preinv_divrem_1).
           * configure.in: Allow divrem_1.asm to provide mpn_preinv_divrem_1.
   
           * gmp-impl.h [nails]: Add #undefs of MUL_KARATSUBA_THRESHOLD etc, to
           override CPU gmp-mparam.h.  Remove JACOBI_BASE_METHOD override since
           it's nails-neutral.
   
           * tests/mpn/t-mp_bases.c: New file.
           * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
           * tests/t-constants.c: Move MP_BASES constants checks to it.
   
           * mpn/mp_bases.c: Fix big_base_inverted values for nails.
           * gmp-impl.h (MP_BASES_BIG_BASE_INVERTED_10,
           MP_BASES_NORMALIZATION_STEPS_10): Fix nails values.
           (MP_BASES_*): Remove GMP_NUMB_BITS == 30 data.
   
           * mpn/x86/pentium/com_n.asm, mpn/x86/pentium/logops_n.asm: Add
           NAILS_SUPPORT indicators.
   
           * configure.in: Grep for NAILS_SUPPORT in cpu-specific code, and look
           in "nails" subdirectories, print path used.
           * mpn/asm-defs.m4 (NAILS_SUPPORT): New macro.
   
           * mpfr/mpfr-test.h: Include config.h, for the benefit of test programs
           not using gmp-impl.h.
   
   2002-04-19  Torbjorn Granlund  <tege@swox.com>
   
           * tests/mpz/t-scan.c: Nailify.
   
           * mpz/tdiv_qr_ui.c: Nailify.
           * mpz/tdiv_q_ui.c: Nailify.
           * mpz/tdiv_r_ui.c: Nailify.
           * mpz/tdiv_ui.c: Nailify.
   
           * mpz/cmp_ui.c: Nailify.
   
           * mpz/ui_pow_ui.c: Misc nailify changes to shut up compiler warnings.
   
           * mpz/scan0.c: Nailify.
           * mpz/scan1.c: Nailify.
   
           * tests/mpz/t-sizeinbase.c (mpz_fake_bits): Nailify.
   
   2002-04-18  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/aorsmul_i.c: Nailify.
   
           * mpz/cmp_si.c: Nailify (botched).
   
           * mpz/ui_pow_ui.c: Nailify.
   
           * gmp-h.in (__GMPZ_FITS_UTYPE_P): Nailify.
   
           * mpz/fits_s.h: Nailify.
   
           * tests/mpz/bit.c (check_tstbit): Nailify.
   
           From Paul Zimmermann:
           * mpn/generic/sqrtrem.c: Nailify.
   
           * mpz/n_pow_ui.c: Nailify.
   
           * mpz/cfdiv_r_2exp.c: Nailify.
   
           * randraw.c (lc): Undo: Let mpn_rshift put result in place to avoid
           extra MPN_COPY.
   
   2002-04-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/clrbit.c: Add two GMP_NUMB_MASK masks after addition.
   
           * mpn/generic/random2.c (LOGBITS_PER_BLOCK): Decrease to 4.
   
           * gmp-impl.h (nail DIV_DC_THRESHOLD): Decrease to 50 to allow fast
           division.
   
           * mpn/generic/random2.c: Nailify.
   
           * mpz/fac_ui.c: Nailify.
   
           * mpz/mul_i.h: #if ... #endif code block to shut up gcc warnings.
   
           * mpn/generic/sqrtrem.c: Adopt to GNU coding standards.
           (mpn_dc_sqrtrem): New name for mpn_dq_sqrtrem.
           Partial nailification.
   
           * configure.in: As a temporary hack, clear extra_functions for nails
           builds.
   
           * gmp-h.in (mpz_get_ui): #if ... #endif else code block to shut up gcc
           warnings.
   
   2002-04-17  Kevin Ryde  <kevin@swox.se>
   
           * texinfo.tex: Update to 2002-03-26.08 per texinfo 4.2.
           * gmp.texi: Must have @top in @ifnottex (or @contents doesn't come out
           in one run).
   
           * mpn/generic/scan0.c, mpn/generic/scan1.c: Nailify.
   
           * tests/mpn/t-scan.c: New file.
           * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
   
           * tests/refmpn.c, tests/tests.h (refmpn_tstbit): Use unsigned long for
           bit index.
           (refmpn_setbit, refmpn_clrbit, refmpn_scan0, refmpn_scan1): New
           functions.
   
           * mpfr/cmp_ui.c (mpfr_cmp_si_2exp): Fix b==0 i!=0 case.
   
   2002-04-17  Gerardo Ballabio <gerardo.ballabio@unimib.it>
   
           * gmpxx.h, mpfrxx.h: Remove mpfr_class bool combinations, remove
           mpfr_class::get_str2, use mp_rnd_t for rounding modes, use
           8*sizeof(double) for mpfr_t's holding doubles.
   
   2002-04-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/powm.c: Nailify.
           * mpz/powm_ui.c: Nailify.
   
   2002-04-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/hamdist.c: Nailify.
           * tests/misc.c (urandom): Nailify.
   
           * mpz/get_si.c: Nailify.
           * gmp-h.in (mpz_get_ui): Nailify.  Streamline (and probably upset
           memory checkers).
   
           * gmp-impl.h (mp_bases[10] values): Add versions for GMP_NUMB_BITS
           being 28, 60, and 63.
           * mpn/mp_bases.c: Add tables for GMP_NUMB_BITS being 28, 60, and 63.
   
           * mpz/iset_si.c: Nailify.
           * mpz/iset_ui.c: Nailify
   
           * tests/mpz/convert.c (main): Print test number in error message.
   
           * mpn/generic/get_str.c (mpn_sb_get_str): Shift up `frac' into nails
           field after bignum division.
   
   2002-04-16  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in, gmp-impl.h (GMP_NAIL_MASK): Move to gmp.h.
   
           * gmp.texi: Use @documentdescription and @copying, per texinfo 4.2.
           (Low-level Functions): Clarify mpn_gcd overlap requirements, rewrite
           mpn_set_str description, add nails section.
           (C++ Interface General): Remove bool from types that mix with classes.
           (Language Bindings): Add STklos, GNU Smalltalk, Regina.
           (Binary to Radix, Radix to Binary): Describe new code.
           (Assembler Cache Handling): More notes, mostly by Torbjorn.
   
           * macos/configure (%vars): Remove __GMP from substitutions, per change
           to main configure.
   
           * mpn/generic/dive_1.c: Nailify.
           * mpn/generic/mode1o.c: Nailify, remove bogus ASSERT in commented-out
           alternate implementation.
           * gmp-impl.h (SUBC_LIMB): New macro.
   
           * tests/devel/try.c (validate_divexact_1): Correction to compare.
           (udiv_qrnnd): New testing.
           (SHIFT_LIMIT): Nailify.
           (-b): New option, remove spurious "H" from getopt string.
   
           * mpz/clrbit.c: Nailify.
           * tests/mpz/t-hamdist.c: Nailify.
           * gmp-impl.h (MPN_FIB2_SIZE): Nailify.
           (PP): Nailify conditionals.
           * tests/mpz/t-fib_ui.c (MPZ_FIB_SIZE_FLOAT): Nailify.
   
           * configure.in, acinclude.m4: Establish GMP_NAIL_BITS and
           GMP_LIMB_BITS for gmp-h.in configure tests.
   
           * mpfr/*, configure.in: Update to final mpfr 2.0.1.
           * mpfr/acinclude.m4 (MPFR_CONFIGS): Use $host, not uname stuff.
           * mpfr/tests/tout_str.c: Patch from Paul for denorm fprintf tests.
   
   2002-04-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divrem_1.c (EXTRACT): Remove.
   
           * tests/mpz/t-tdiv_ui.c (dump_abort): Accept argument for error string.
   
           * mpz/rrandomb.c: Nailify.  Needs further work.
   
           * mpn/generic/mod_1.c: Nailify.
   
           * gmp-impl.h: Set various *_THRESHOLD values to be used for nails to
           avoid not yet qualified algorithms.
           (MPZ_CHECK_FORMAT): Check that nail part is zero.
   
           * tests/mpz/t-mul.c (main): Test squaring even for huge operands.
           (base_mul): Nailify.
           (dump_abort): Accept argument for error string.  Print product
           difference.
   
           * mpn/generic/set_str.c: Nailify.
   
           * gmp-h.in (__GMPN_ADD, __GMPN_SUB): Nailify.
   
   2002-04-14  Torbjorn Granlund  <tege@swox.com>
   
           * randraw.c (lc): Return non-nonsense return value for seed=0 case.
           Check for m2exp being non-zero early; remove all other tests of m2exp.
           Remove redundant MPN_ZERO call.
           Let mpn_rshift put result in place to avoid extra MPN_COPY.
           Remove confusing comment before function `lc' describing BBS algorithm.
           Misc simplification and cleanups.
           Nailify.  Needs further work.
   
           * mpz/set_si.c: Nailify.
           * mpz/set_ui.c: Nailify.
           * mpz/mul_i.h: Nailify.
   
           * tests/mpz/t-mul_i.c: Actually test _ui routines.  Add some more test
           values.
   
           * mpn/generic/mul_n.c: Finish nailifying toom3 code.
   
   2002-04-13  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/*: Update to another new mpfr 2.0.1.
           * configure.in, Makefile.am, mpfr/Makefile.am, mpfr/tests/Makefile.am:
           Use MPFR_CONFIGS macro, establish separate MPFR_CFLAGS for mpfr build.
   
           * mpfr/tests/Makefile.am: Correction to convenience rule for libmpfr.a.
   
   2002-04-11  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/set_q.c: gmp-impl.h before mpfr.h to avoid _PROTO redefine.
   
           * mpfr/*, configure.in: Update to new mpfr 2.0.1.
   
           * tests/refmpn.c (refmpn_udiv_qrnnd, refmpn_divmod_1c_workaround):
           Fixes for nails.
   
           * tests/t-constants.c (MODLIMB_INVERSE_3): Nailify tests.
           (MP_BASES_BIG_BASE_INVERTED_10, MP_BASES_NORMALIZATION_STEPS_10): Only
           check these under USE_PREINV_DIVREM_1.
           * tests/t-modlinv.c: Nailify tests.
   
   2002-04-11  Gerardo Ballabio <gerardo.ballabio@unimib.it>
   
           * gmpxx.h: Remove bool combinations, remove mpf_class::get_str2, only
           need <iosfwd> now.
   
   2002-04-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/diveby3.c: Nailify.
           * gmp-impl.h (MODLIMB_INVERSE_3): Nailify.
   
           * mpn/generic/mul_n.c: Nailify Toom3 code.
   
   2002-04-10  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (MPN_KARA_MUL_N_MINSIZE, MPN_KARA_SQR_N_MINSIZE): Set to
           3, as needed by nails case.
   
           * mpn/generic/addmul_1.c, mpn/generic/submul_1.c [nails]: Fix vl
           assert, add rp,n and up,n asserts.
   
           * mpfr/Makefile.am: Add new mpfr-math.h, install mpf2mpfr.h.
   
   2002-04-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divrem_1.c: Nailify.  Update mp_size_t variables to use
           `n' suffix instead of `size' suffix.
           * mpn/generic/divrem_2.c: Likewise.
           * mpn/generic/sb_divrem_mn.c: Nailify.
           * mpn/generic/tdiv_qr.c: Nailify.
           (SHL): Remove silly macro.
   
           * mpn/generic/mul_n.c (mpn_kara_mul_n): Replace open-coded increment by
           mpn_incr_u call.  Handle nails in ws[n] increment.
           * mpn/generic/mul_n.c (mpn_kara_sqr_n): Likewise.
   
           * gmp-h.in (GMP_NUMB_MASK): New #define.
           (__GMPN_AORS_1): Add version for nails.
   
           * gmp-impl.h (GMP_NUMB_MASK): Comment out, now in gmp.h.
           (mpn_incr_u): Don't assume `incr' is non-zero.
           (mpn_decr_u): Similarly.
   
   2002-04-09  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/*, configure.in: Update to mpfr 2.0.1.
   
           * tests/refmpn.c (refmpn_mul_1c, lshift_make): Corrections for nails.
           * tssts/refmpn.c, tests/tests.h (refmpn_cmp_allowzero): New function.
   
           * mpn/generic/mul_1.c [nails]: Fix vl assert, add {up,n} assert.
   
           * mpn/pa32/hppa1_1/pa7100/addmul_1.asm,
           mpn/pa32/hppa1_1/pa7100/submul_1.asm: Rename "size" define, to avoid
           ELF .size directive.  Reported by LaMont Jones.
   
           * tests/mpz/t-set_si.c: Add nails support.
   
   2002-04-05  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h: Replace nail mpn_incr_u, mpn_decr_u with faster versions.
           (mp_bases[10] values): Check GMP_NUMB_BITS instead of BITS_PER_MP_LIMB.
           Add GMP_NUMB_BITS == 30 version.
           (__gmp_doprnt, etc): Remove parameter names.
   
           * mpn/generic/mul_n.c: Nailify Karatsuba code.
           * mpn/generic/get_str.c: Nailify.
           * mpn/generic/sqr_basecase.c: Nailify.
           * mpn/generic/lshift.c: Nailify.
           * mpn/generic/rshift.c: Likewise.
           * mpn/generic/add_n.c: Nailify.  Revamp non-nail code.
           * mpn/generic/sub_n.c: Likewise.
           * mpn/generic/mul_1.c: Likewise.
           * mpn/generic/addmul_1.c: Likewise.
           * mpn/generic/submul_1.c: Likewise.
   
   2002-04-02  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (BSWAP_LIMB_FETCH, BSWAP_LIMB_STORE) [powerpc]:
           Corrections to constraints, and restrict to bigendian.
   
   2002-03-31  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpz/dive.c: Better diagnostics.
   
           * tests/devel/try.c (mpn_get_str, mpn_umul_ppmm_r): New tests.
   
           * tests/misc.c, tests/tests.h (byte_diff_lowest, byte_diff_highest):
           New functions.
   
           * tests/t-bswap.c: New file.
           * tests/Makefile.am (check_PROGRAMS): Add it.
   
           * tests/mpn/t-aors_1.c, tests/mpn/t-iord_u.c: Add nails support.
   
           * gmp-impl.h (MPN_IORD_U) [x86]: Eliminate unnecessary jiord and iord,
           rename "n" to incr per generic versions, restrict to nails==0.
           (mpn_incr_u, mpn_decr_u): Add nails support.
           (GMP_NAIL_LOWBIT, GMP_NUMB_MAX): New macros.
   
           * tests/trace.c, tests/tests.h (byte_trace, byte_tracen): New
           functions.
           * tests/trace.c: Handle NULL operands.
   
           * tests/refmpn.c, tests/devel/try.c, tune/speed.c: Add preliminary
           nail support.
   
           * tests/refmpn.c, test/tests.h (byte_overlap_p, refmpn_equal_anynail,
           refmpn_umul_ppmm_r, refmpn_udiv_qrnnd_r, refmpn_get_str,
           refmpn_bswap_limb, refmpn_random, refmpn_random2, refmpn_bswap_limb):
           New functions.
   
           * gmp-impl.h, tests/refmpn.c (ASSERT_LIMB): Renamed from
           ASSERT_MP_LIMB_T.
   
           * mpn/x86/*/*.asm, mpn/powerpc32/*/*.asm, mpn/powerpc64/*/*.asm: Put
           speeds after the copyright notice, so as to keep that clear.
   
   2002-03-29  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (powerpc*-*-aix*): Correction to xlc -qarch selection,
           for 32-bit mode.
   
   2002-03-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn: Fix spacing in many files.
   
           * mpn/generic/aorsmul_1.c: Split into addmul_1.c and submul_1.c.
           * mpn/generic/aors_n.c: Split into add_n.c and sub_n.c.
   
           * mpn/pa64/add_n.asm: Trim another 0.125 cycle/limb.  Fix a comment.
           * mpn/pa64/sub_n.asm: Likewise.
   
           * mpn/pa64/mul_1.asm: Change comclr, comb to proper forms cmpclr, cmpb.
           * mpn/pa64/addmul_1.asm: Likewise.
           * mpn/pa64/submul_1.asm: Likewise.
   
   2002-03-28  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Converting Integers): Fix type of exp in mpz_get_d_2exp,
           reported by epl@unimelb.edu.au.
           (References): Update Burnikel and Ziegler URL, reported by Keith
           Briggs.
   
           * gmp-h.in, mp-h.in, configure.in, acinclude.m4: Remove __GMP from
           AC_SUBSTs, since autoconf says leading "_" in makefile variables is
           not portable.
   
           * demos/expr/run-expr.c: Declare optarg, optind, opterr if necessary.
           * configure.in, demos/expr/expr-config-h.in: Configs for this.
   
   2002-03-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/Makefile.am (TARG_DIST): Remove pa64w and hppa, add pa32.
   
           * configure.in (path_20w): Remove pa64w.
   
           * mpn/pa64/udiv_qrnnd.asm: Tweak for PA8000 performance comparative to
           that on PA8500.
   
   2002-03-26  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa32: New name for mpn/hppa.
           * configure.in: Corresponding changes.
   
           * mpn/pa64/umul_ppmm.asm: New file, generalized for both 2.0N and 2.0W.
           * mpn/pa64/umul_ppmm.S: Remove.
   
           * mpn/pa64/udiv_qrnnd.asm: Generalize for both 2.0N and 2.0W.
           * mpn/pa64w/udiv_qrnnd.asm: Remove.
   
   2002-03-26  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/tests/tdiv.c, mpfr/tests/tui_div.c: Don't depend on nan and inf
           handling in "double", for the benefit of alpha.
   
           * configure (hppa2.0w): Set path to "pa64w pa64".
   
           * acinclude.m4, configure.in (GMP_C_INLINE): New macro.
           * acinclude.m4 (GMP_H_EXTERN_INLINE): Use it, and fix "yes" handling.
   
   2002-03-25  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64w/add_n.s: Remove.
           * mpn/pa64w/sub_n.s: Remove.
           * mpn/pa64w/lshift.s: Remove.
           * mpn/pa64w/rshift.s: Remove.
           * mpn/pa64w/mul_1.S: Remove.
           * mpn/pa64w/addmul_1.S: Remove.
           * mpn/pa64w/submul_1.S: Remove.
           * mpn/pa64w/sqr_diagonal.asm: Remove.
   
           * mpn/pa64/mul_1.asm: New file with twice faster code; generalized
           for both 2.0N and 2.0W.
           * mpn/pa64/submul_1.asm: Likewise.
           * mpn/pa64/mul_1.S: Remove.
           * mpn/pa64/submul_1.S: Remove.
   
           * mpn/pa64/sqr_diagonal.asm: Generalize for both 2.0N and 2.0W.
   
           * mpn/pa64/add_n.asm: New file, generalized for both 2.0N and 2.0W.
           * mpn/pa64/sub_n.asm: Likewise.
           * mpn/pa64/lshift.asm: Likewise.
           * mpn/pa64/rshift.asm: Likewise.
           * mpn/pa64/add_n.s: Remove.
           * mpn/pa64/sub_n.s: Remove.
           * mpn/pa64/lshift.s: Remove.
           * mpn/pa64/rshift.s: Remove.
   
   2002-03-24  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (BSWAP_LIMB_FETCH, BSWAP_LIMB_STORE): New macros.
           * mpz/inp_raw.c, mpz/out_raw.c: Use them.
           * acconfig.h (HAVE_HOST_CPU): Add some powerpc types.
   
           * mpn/powerpc32/750/com_n.asm: New file.
   
           * mpfr/tests/tout_str.c: Disable random tests, since they fail on
           alphaev56-unknown-freebsd4.1 and do nothing by default.
   
           * mpfr/tests/tsqrt.c: Don't depend on nan, inf or -0 in "double", for
           the benefit of alpha.
           * mpfr/sqrt.c: Clear nan flag on -0.
   
           * demos/factorize.c: Use mpn_random() instead of random(), to avoid
           portability problems.
   
           * demos/isprime.c (print_usage_and_exit): Declare as "void" to avoid
           warnings.
   
           * demos/pexpr.c (setup_error_handler): Corrections to sigstack code.
   
           * demos/calc/calc.y: Add some `;'s to make bison 1.34 happy.
   
   2002-03-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64/addmul_1.asm: New file with twice faster code; generalized
           for both 2.0N and 2.0W.
   
   2002-03-22  Kevin Ryde  <kevin@swox.se>
   
           * tune/time.c: Add SGI hardware counter measuring method, change some
           abort()s into ASSERT_FAIL()s.
   
           * configure.in (AC_CHECK_HEADERS): Add fcntl.h and sys/syssgi.h.
           (AC_CHECK_FUNCS): Add syssgi.
   
           * configure.in, mpfr/Makefile.am, mpfr/tests/Makefile.am: Use
           -mieee-with-inexact or -ieee_with_inexact for mpfr on alpha, so
           denorms work.
   
           * mpfr/isinteger.c: Fix a memory leak.
   
   2002-03-21  Torbjorn Granlund  <tege@swox.com>
   
           * tune/speed.c (struct choice_t): Make `r' an mp_limb_t.
   
   2002-03-21  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (HAVE_LIMB_BIG_ENDIAN, HAVE_LIMB_LITTLE_ENDIAN): Use an
           AH_VERBATIM and better explanation.
           * acinclude.m4 (GMP_C_DOUBLE_FORMAT): Similarly for the HAVE_DOUBLE
           constants.
   
           * gmp.texi (Number Theoretic Functions): Clarify sign of GCD returned
           by mpz_gcdext.
   
           * demos/pexpr.c, demos/pexpr-config-h.in, configure.in: Use an
           autoconf test for stack_t.
   
           * configure.in, gmp-h.in, mp-h.in, macos/configure, tests/mpz/reuse.c,
           tests/mpf/reuse.c: Use __GMP_LIBGMP_DLL to enable windows declspec,
           don't require _WIN32 (etc), remove __GMP_LIBGMP_SHARED and
           __GMP_LIBGMP_STATIC.
   
           * gmp-impl.h (mp_bases): Add __GMP_DECLSPEC, for the benefit of
           tests/t-constants.c.
   
           * tune/many.pl, tune/speed.h: Remove suffix hack for back.asm.
   
   2002-03-21  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
   
           * mpfr/sin_cos.c (mpfr_sin_cos): New file.
           * mpfr/mpfr.h, mpfr/mpfr.texi, mpfr/Makefile.am: Add it.
           * mpfr/tan.c: Fix sign in 2nd and 4th quadrants.
   
           * mpfr/log10.c: Fix hangs on certain inputs.
   
   2002-03-20  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (setup_error_handler): Declare `s', the first
           sigaltstack parameter, using `stack_t' just on AIX.
   
   2002-03-19  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc32/mul_1.asm: Use free caller-saves registers instead
           of the callee-saves r30 and r31.
   
   2002-03-19  Kevin Ryde  <kevin@swox.se>
   
           * tune/freq.c (freq_proc_cpuinfo): Recognise powerpc "clock", where
           previously got the wrong result from "bogomips".
   
           * mpn/powerpc32/add_n.asm, mpn/powerpc32/sub_n.asm: Rewrite, faster on
           750, and smaller too.
           * mpn/powerpc32/*.asm: Use L(), add some measured speeds.
   
           * longlong.h (count_trailing_zeros) [vax]: Add a version using ffs,
           but commented out.
   
   2002-03-17  Kevin Ryde  <kevin@swox.se>
   
           * tune/speed.c, tune/speed.h, tune/common.c, many.pl: Use optional
           ".r" to specify operand overlaps for mpn_add_n, mpn_sub_n and logops.
           Remove mpn_add_n_inplace and mpn_add_n_self.
           * tune/many.pl: Fix MULFUNC_PROLOGUE parsing.
   
           * gmp.texi (Known Build Problems): Note `make' problem with long
           libgmp.la dependencies list.
   
           * printf/doprnt.c, scanf/doscan.c (%zn): Remove test of non-existant
           HAVE_SIZE_T, just use size_t unconditionally.
           * printf/doprnt.c (%zd etc): Fix 'z' type parsing.
           * tests/misc/t-printf.c, tests/misc/t-scanf.c: More tests.
   
           * configure.in: Use AC_COPYRIGHT.
           Add m4_pattern_allow(GMP_MPARAM_H_SUGGEST).
   
           * tune/Makefile.am (libdummy.la): Remove this, sqr_basecase.c already
           gets an ansi2knr rule from nodist_tuneup_SOURCES.
   
           * longlong.h (count_leading_zeros) [pentiumpro gcc<3]: Test
           HAVE_HOST_CPU_i686 too.
   
           * mpz/out_raw.c (HTON_LIMB_STORE): Fix a typo in big endian #if.
   
   2002-03-14  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/com_n.asm, mpn/x86/pentium/logops_n.asm,
           mpn/x86/k6/mmx/com_n.asm: Add nails support.
   
           * texinfo.tex: Update to 2002-03-01.06 (per texinfo 4.1).
           * gmp.texi (@ma): Remove, @math does this now.
   
           * mpfr/tests/reuse.c: Clear op1 and op2 flags only in their respective
           outer loops.
   
           * configure.in (--enable-cxx): Correction to the default stated in the
           help string.
           (power*-*-aix*, not powerpc): Use aix.m4, don't run
           GMP_ASM_POWERPC_R_REGISTERS or use powerpc-defs.m4.
   
   2002-03-13  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/gmp-mparam.h: New file.
   
   2002-03-13  Kevin Ryde  <kevin@swox.se>
   
           * demos/expr/exprfr.c: More mpfr functions, corrections to agm, cos,
           sin, rename log2 constant to loge2 to make room for log2 function.
           * demos/expr/t-expr.c: More tests.
   
           * mpz/inp_raw.c (NTOH_LIMB_FETCH) [generic 16bit]: Remove spurious "+".
   
           * mpfr/acos.c: Avoid a memory leak for certain operands.
   
           * acinclude.m4, configure.in (GMP_C_DOUBLE_FORMAT): New macro.
   
           * acinclude.m4 (GMP_HPC_HPPA_2_0, GMP_ASM_UNDERSCORE,
           GMP_ASM_ALIGN_LOG, GMP_ASM_LSYM_PREFIX, GMP_ASM_W32, GMP_ASM_X86_MMX):
           Change ac_objext to OBJEXT, which is the documented variable.
   
           * config.guess (powerpc*-*-*): Use #ifdef on constants POWER_630 etc
           in the AIX test, since old versions don't have them all.
   
   2002-03-11  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (LIBC211): New AC_DEFINE, for mpfr.
   
           * configure.in (mips*-*-*): Support ABI=o32 on irix 6, allow gcc 2.7.2
           to fall back on it, but detect it doesn't work with gcc 2.95.  Use
           single mips-defs.m4 for both mips32 and mips64.
           * acinclude.m4 (GMP_GCC_MIPS_O32): New macro.
           * mpn/mips32/mips-defs.m4: Renamed from mips.m4.
           * mpn/mips64/mips.m4: Remove (was a copy of mips32/mips.m4).
   
           * mpn/powerpc32/750: New directory.
           * configure.in (powerpc740, powerpc750, powerpc7400): Use it.
           * mpn/powerpc32/750/gmp-mparam.h: New file.
   
           * config.sub, gmp.texi (ultrasparc1): Remove this, just use plain
           "ultrasparc".
   
   2002-03-10  Kevin Ryde  <kevin@swox.se>
   
           * mpfr: Update to 20020301, except internal_ceil_exp2.c,
           internal_ceil_log2.c, internal_floor_log2.c renamed to i_ceil_exp2.c,
           i_ceil_log2.c, i_floor_log2.c to be unique in DOS 8.3.  And sqrtrem.c
           removed since no longer required.
           * mpfr/mpfr.texi: Fix some formatting.
           * mpfr/tests/reuse.c: Patch by Paul to fix test4 variable handling.
           * mpfr/sinh.c: Patch by Paul to fix err calculation when t==0.
           * mpfr/tests/tget_d.c: Disable until portability of rnd_mode.c can be
           sorted out.
   
           * configure.in (powerpc*-*-*): Separate gcc and xlc cpu flags setups
           for clarity.
   
           * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]: New
           macros.
   
   2002-03-07  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Note all the ultrasparcs accepted.
           (Language Bindings): Add Math::BigInt::GMP.
   
           * config.sub (ultrasparc2i): New cpu type.
           * config.guess (sparc-*-*, sparc64-*-*): Add some exact CPU detection.
   
   2002-03-05  Kevin Ryde  <kevin@swox.se>
   
           * longlong.h (count_leading_zeros, count_trailing_zeros) [alphaev67,
           alphaev68]: Use ctlz and cttz insns (as per gcc longlong.h).
           (count_leading_zeros) [sparclite]: Fix parameter order (as per gcc
           longlong.h).
           * acconfig.h (HAVE_HOST_CPU_alphaev68): New define.
   
           * config.guess [i?86-*-*]: Suppress error messages if compiler not
           found or test program won't run.
           [rs6000-*-*, powerpc-*-*]: Force code alignment for mfpvr test.
   
   2002-03-04  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/pow_1.c: New file.
   
   2002-03-03  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Note compiler must be able to fully link,
           add alphapca57 and alphaev68, give a clearer example of MPN_PATH
           (Debugging): Add notes on valgrind.
           (C++ Formatted Output): Clarify mpf showbase handling, in particular
           note "00.4" in octal.
   
           * printf/doprntf.c: Do a showbase on octal float fractions, for
           instance "00.4" where previously it gave "0.4".
           * tests/cxx/t-ostream.cc: Update.
   
           * gmp-h.in, mp-h.in (__GMP_DECLSPEC, __GMP_DECLSPEC_XX): Test
           __WIN32__ for Borland C, reported by "delta trinity".
   
           * gmp-h.in, mp-h.in: Use <cstddef> for size_t under C++, suggested by
           Hans Aberg some time ago.
           * gmp-h.in (<iosfwd>): Move to top of file for clarity.
   
           * Makefile.am (libgmpxx_la_SOURCES): Use dummy.cc to force C++.
           (CXX_OBJECTS): Add osfuns$U.lo.
           * dummy.cc: New file.
           * cxx/Makefile.am (INCLUDES): Use __GMP_WITHIN_GMPXX.
           (libcxx_la_SOURCES): Add osfuns.cc.
           * gmp-h.in (__GMP_DECLSPEC_XX): New define, use it on libgmpxx funs.
           * gmp-impl.h: Add __GMP_DECLSPEC to libgmp functions used by libgmpxx.
   
           * longlong.h (COUNT_TRAILING_ZEROS_TIME): Remove, no longer used.
   
           * gmp-impl.h (MPN_SIZEINBASE, MPN_SIZEINBASE_16): Correction to
           __totbits for nails.
   
           * gmp-impl.h (JACOBI_LS0): Test size before limb, to pacify valgrind.
           (JACOBI_0LS): Ditto, and fix parens around arguments.
   
           * mpn/x86/x86-defs.m4 (call_mcount): Add a counter to make data labels
           unique, since simplified L() scheme no longer gives that effect.
           (notl_or_xorl_GMP_NUMB_MASK): New macro.
           Add m4_assert_numargs in a few places.
   
           * configure.in (*sparc*): Fix cycle counter setups for ABI=64.
   
   2002-02-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/vax/gmp-mparam.h: New file.
   
   2002-02-28  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (gmp_errno, gmp_version): Move into extern "C" block,
           reported by librik@panix.com.
   
           * gmp-h.in, mp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT):
           Use __declspec(dllexport) and __declspec(dllimport) on Borland.
           * gmp-h.in (_GMP_H_HAVE_FILE): Test __STDIO_H for Borland.
           Reported by "delta trinity".
   
           * gmp-impl.h (va_copy): Fall back on memcpy, not "=".
   
           * mpn/generic/pre_mod_1.c: Add a comment about obsolescence.
   
           * tune/time.c (MICROSECONDS_P): Don't trust time differences of 1
           microsecond.
   
           * tests/cxx/t-ostream.cc: Use "const char *" not just "char *" for
           test data strings, avoids warnings on Sun CC.
   
   2002-02-27  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in: For sparc under solaris2.[7-9], pass -fsimple=1 to
           disable some crazy -fast optimizations.
   
   2002-02-25  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in: For sparc under solaris2.[7-9], pass -fns=no to enable
           denorm handling under -fast.
   
   2002-02-25  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (alpha*-*-*): Rearrange -mcpu selection for gcc,
           provide an ev67 -> ev6 fallback.  Fix -arch,-tune selection for DEC C.
           Allow ~ for space in optional options lists.
   
           * tune/tuneup.c (tune_preinv_divrem_1): Compare against an assembler
           mpn_divrem_1 if it exists, not the generic C mpn_divrem_1_div.
           (tune_preinv_mod_1): Ditto with mpn_mod_1.
   
           * tune/time.c (DIFF_SECS_ROUTINE): Eliminate the unused "type"
           parameter, try to make the code a bit clearer.
   
           * tune/freq.c: Reduce the period measured for cycles versus
           gettimeofday, add cycles versus microsecond getrusage.
   
           * mpz/array_init.c: "i" should be mp_size_t, noticed by E. Khong.
   
   2002-02-24  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in: For sparc under solaris2.[7-9], pass -fast instead of
           other optimization options.
   
   2002-02-23  Kevin Ryde  <kevin@swox.se>
   
           * mpn/asm-defs.m4 (GMP_NUMB_MASK): New macro.
           (PROLOGUE, EPILOGUE): Relax quoting for the benefit of tune/many.pl
           when GSYM_PREFIX non-empty.
   
           * tune/time.c, tune/speed.h (speed_time_init): Include clock tick
           period in speed_time_string.
           * tune/time.c, configure.in (clock_gettime): New measuring method.
   
           * tune/many.pl: Add -DHAVE_NATIVE_mpn_foo to C objects, to avoid
           conflicts with a macro version in gmp-impl.h, eg. mpn_com_n.
   
   2002-02-22  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c: Increase RLIMIT_STACK to 4Mibyte.
   
   2002-02-22  Kevin Ryde  <kevin@swox.se>
   
           * tune/tuneup.c: Don't confuse gcc with mipspro cc in diagnostic.
   
   2002-02-20  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (mips*-*-irix[6789]*]): Set `extra_functions_n32', not
           `extra_functions'.
   
           * printf/doprnt.c: Conditionally include inttypes.h.
           * printf/repl-vsnprintf.c: Likewise.
           * scanf/doscan.c: Likewise.
   
   2002-02-20  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k7/mmx/com_n.asm: New file.
   
           * mpz/n_pow_ui.c (SWAP_RP_TP): Use ASSERT_CODE on ralloc and talloc,
           to ensure they needn't live past the initial allocs in a normal build.
   
           * mpn/generic/mod_34lsub1.c: Note this is for internal use.
   
   2002-02-19  Torbjorn Granlund  <tege@swox.com>
   
           * Clean up *_THRESHOLD names.  Many files affected.
   
           * mpn/mips32: Asm-ify 32-bit mips code.
           Move files from `mips2' to `mips32' directory.
           * mpn/mips64: Move files from `mips3' to `mips64' directory.
           * configure.in: Change `mips2' => `mips32' and `mips3' => `mips64'.
   
   2002-02-19  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4, configure.in (GMP_PROG_LEX): New macro.
   
           * tune/tuneup.c (one): Start next threshold at a max of previous ones,
           in order to get a good starting point for TOOM3_SQR_THRESHOLD if
           KARATSUBA_SQR_THRESHOLD is 0 (ie. using mpn_mul_basecase only).
   
           * configure.in, tune/tuneup.c (GMP_MPARAM_H_SUGGEST): New AC_DEFINE
           replacing GMP_MPARAM_H_FILENAME.  Suggest a new file in a cpu specific
           subdirectory rather than mpn/generic.
   
           * acinclude.m4 (POWERPC64_PATTERN): New macro.
           * configure.in (powerpc*-*-*): Use it.
           (powerpc*-*-*): Use umul in 32L and aix64.
           (mips*-*-*): Use umul, 32 and 64 bit versions.
   
   2002-02-18  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h: Add basic x86-64 support.
   
   2002-02-17  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c: Support `-X' for upper case hex, make `-x' output
           lower case hex.
   
           * mpn/mips2/umul.s: Make it actually work.
           * mpn/mips3/umul.asm: New file.
   
           * mpn/mips2/gmp-mparam.h: New file.
   
   2002-02-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c (mpn_sb_get_str): Round frac upwards after
           umul_ppmm calls.
   
   2002-02-16  Kevin Ryde  <kevin@swox.se>
   
           * config.guess (alpha-*-*): Do alpha exact cpu probes on any system,
           and only if configfsf.guess gives a plain "alpha".
   
           * acinclude.m4 (GMP_PROG_CC_WORKS): Detect a gcc 3.0.3 powerpc64
           linker invocation problem.
   
   2002-02-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c (mpn_sb_get_str): For base 10, develop initial
           digits using umul_ppmm, then switch to plain multiplication.
   
           * config.guess: Rewrite Alpha subtype detection code for *bsd systems.
   
   2002-02-15  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Note powerpc exact cpu types.
           (Debugging): Advertise DEBUG in memory.c.
   
           * config.sub, config.guess: Add some powerpc exact cpus.
           * configure.in: Add configs for them.
   
           * memory.c [__NeXT__]: Remove unused #define of "static".
           (__gmp_default_allocate, __gmp_default_reallocate): Print size if
           allocation fails, don't use perror.
   
           * gmp-h.in: g++ 3 demands __GMP_NOTHROW is before other attributes.
   
   2002-02-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/mul_1.asm: Fix typo preventing build on T3E systems.
   
   2002-02-14  Kevin Ryde  <kevin@swox.se>
   
           * tune/tuneup.c (tune_set_str): Increase max_size, for the benefit of
           alpha.
   
           * macos/README: Bug reports to bug-gmp@gnu.org, clarify MacOS X a bit.
   
           * mpn/generic/gcdext.c [WANT_GCDEXT_ONE_STEP]: Add missing TMP_FREE.
   
           * tune/speed.c, tune/tuneup.c: Allow for speed_cycletime of 0.0 in
           some diagnostic printouts.
           * tune/time.c (speed_cycletime): Note can be 0.0.
   
   2002-02-12  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/mul_1.asm: Add mpn_mul_1c entry.
   
           * mpn/pa64w/sqr_diagonal.asm: Use L() for labels.
   
   2002-02-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c (mpn_sb_get_str): Change declaration of rp to
           accommodate tuneup compiles.
   
   2002-02-11  Kevin Ryde  <kevin@swox.se>
   
           * mpn/alpha/default.m4, mpn/alpha/unicos.m4 (PROLOGUE_cpu): Add
           noalign option.
           * mpn/alpha/default.m4 (PROLOGUE_cpu): use ALIGN instead of ".align".
   
           * gmp.texi (Debugging): Notes on Checker.
           (Other Multiplication): Move note on float FFTs to here.
           (Assembler Floating Point): New text and revisions by Torbjorn,
           picture formatting by me.
           Simplify tex pictures elsewhere a bit, share heights, eliminate some
           gaps at line joins.
   
   2002-02-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c (mpn_sb_get_str): Rewrite to generate fraction
           limbs and use multiplication for digit development.  Trim allocation of
           buf.  Get rid of code for !USE_MULTILIMB.
   
   2002-02-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/set_str.c (mpn_set_str): Undo this:
           Change invocations of mpn_add_1 to instead use mpn_incr_u.
   
           * tests/mpz/convert.c: Free str only after it is used in error message.
   
           * mpn/generic/get_str.c (mpn_sb_get_str): Combine tail code for base 10
           and generic bases.
   
           * mpn/mp_bases.c: Add entries for base 256.  Remove __ prefix from
           table name.
           * gmp-impl.h (__mp_bases): Remove superflous `mp_' part of name, making
           it __gmpn_bases instead of __gmpn_mp_bases.
           (mp_bases): New #define.
           * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Allow bases up to 256.
           (SPEED_ROUTINE_MPN_GET_STR): Likewise.
   
   2002-02-09  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/set_str.c (mpn_set_str): Use mpn_mul_1c if available.
           Change invocations of mpn_add_1 to instead use mpn_incr_u.
   
   2002-02-09  Kevin Ryde  <kevin@swox.se>
   
           * mpz/array_init.c, mpz/cfdiv_q_2exp.c, mpz/cfdiv_r_2exp.c,
           mpz/cong_2exp.c, mpz/divis_2exp.c, mpz/hamdist.c, mpz/init2.c,
           mpz/mul_2exp.c, mpz/realloc2.c, mpz/scan0.c, mpz/scan1.c,
           mpz/setbit.c, mpz/tdiv_q_2exp.c, mpz/tdiv_r_2exp.c, mpz/tstbit.c,
           mpz/urandomb.c: Use GMP_NUMB_BITS.
   
           * mpz/iset_str.c [__CHECKER__]: Store a dummy value to the low limb to
           stop it appearing uninitialized.
   
           * gmp-h.in (__GMP_NOTHROW): New macro.
           (mp_set_memory_functions, mpz_cmp, mpz_cmp_si, mpz_cmp_ui, mpz_cmpabs,
           mpz_cmpabs_ui, mpz_congruent_2exp_p, mpz_divisible_2exp_p,
           mpz_fits_sint_p, mpz_fits_slong_p, mpz_fits_sshort_p, mpz_fits_uint_p,
           mpz_fits_ulong_p, mpz_fits_ushort_p, mpz_get_si, mpz_get_ui,
           mpz_getlimbn, mpz_hamdist, mpz_popcount, mpz_scan0, mpz_scan1,
           mpz_size, mpz_sizeinbase, mpz_swap, mpz_tstbit, mpq_equal, mpq_swap,
           mpf_cmp, mpf_cmp_si, mpf_cmp_ui, mpf_fits_sint_p, mpf_fits_slong_p,
           mpf_fits_sshort_p, mpf_fits_uint_p, mpf_fits_ulong_p,
           mpf_fits_ushort_p, mpf_get_default_prec, mpf_get_prec, mpf_get_si,
           mpf_get_ui, mpf_integer_p, mpf_set_default_prec, mpf_set_prec_raw,
           mpf_size, mpf_swap, mpn_add_1, mpn_cmp, mpn_hamdist, mpn_popcount,
           mpn_sub_1): Use it.
   
           * gmp-impl.h (MPN_SIZEINBASE, MPN_SIZEINBASE_16): New macros from
           mpn_sizeinbase, and use GMP_NUMB_BITS.
           * mpz/get_str.c, mpz/sizeinbase.c, mpbsd/mout.c, tune/speed.h: Use
           MPN_SIZEINBASE.
           * mpbsd/mtox.c: Use MPN_SIZEINBASE_16.
   
           * configure.in, mpn/Makefile.am, gmp-impl.h (mpn_sizeinbase): Remove.
           * mpn/generic/sizeinbase.c: Remove file.
   
           * gmp-impl.h (MPN_GET_STR_SIZE): Remove.
           * tests/mpn/t-g_str_size.c: Remove file.
           * tests/mpn/Makefile.am: Update.
   
           * Makefile.am (dist-hook): Don't distribute cvs merge ".#" files.
   
   2002-02-08  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in: Override extra_functions for all sparcv8 systems, not
           just supersparc.
   
   2002-02-06  Kevin Ryde  <kevin@swox.se>
   
           * tune/tuneup.c (tune_mul, tune_sqr): Disable FFTs until tuned.
           * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Fix memory clobber in
           destination cache priming.
   
           * printf/doprnt.c: Fix parsing of %s and %p conversions.
           * tests/misc/t-printf.c (check_misc): Add some tests.
   
   2002-02-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v8/udiv.asm: New file, from v8/supersparc.
   
           * mpn/generic/set_str.c: Rename indigits_per_limb => chars_per_limb.
           Remove redundant chars_per_limb.  Reverse 4 loops in basecase code for
           speed.  Use MP_BASES_CHARS_PER_LIMB_10.
   
   2002-02-03  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_PROG_NM): Ensure -B or -p get used when doing a
           cross compile with the native nm, helps OSF for instance.
           (GMP_ASM_LSYM_PREFIX): Remove ".byte 0" for the benefit of irix 6,
           allow "N" from nm for OSF, allow for "t" for other systems, but prefer
           no mention of the symbol at all.
   
           * tune/tuneup.c (print_define_remark): New function.
           Turn some "#if"s into plain "if"s.
   
           * tune/tuneup.c, gmp-impl.h, tune/Makefile.am
           (GET_STR_BASECASE_THRESHOLD, GET_STR_PRECOMPUTE_THRESHOLD): Tune these.
           * mpn/generic/get_str.c [TUNE_PROGRAM_BUILD]: Cope with non-constant
           GET_STR_PRECOMPUTE_THRESHOLD.
   
   2002-02-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c (mpn_get_str): Fix typo in a declaration.
   
   2002-02-02  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/set_str.c: Use MP_PTR_SWAP and POW2_P, add __GMP_PROTO
           to convert_blocks prototype, disable SET_STR_BLOCK_SIZE sanity check.
   
           * tune/set_strb.c, tune/set_strs.c: New files.
           * tune/speed.h, tune/speed.c, tune/common.c,tune/Makefile.am: Add them.
           * tune/tuneup.c: Tune SET_STR_THRESHOLD.
           (DEFAULT_MAX_SIZE): Renamed from MAX_SIZE, allow any param.max_size[].
   
   2002-02-01  Torbjorn Granlund  <tege@swox.com>
   
           * tests/mpz/convert.c: Increase operand size.  Add (yet disabled) code
           for testing with random strings.
   
           * mpn/generic/get_str.c (mpn_get_str): Rewrite to become sub-quadratic.
           (mpn_dc_get_str, mpn_sb_get_str): New functions.
   
   2002-01-31  Kevin Ryde  <kevin@swox.se>
   
           * gmpxx.h (cmp): Renamed from "compare".
   
           * configure.in (AC_C_BIGENDIAN): Don't abort when cross compiling.
           (PROLOGUE): Allow new style optional second parameter when grepping.
   
           * acinclude.m4 (GMP_HPC_HPPA_2_0, GMP_ASM_UNDERSCORE,
           GMP_ASM_ALIGN_LOG, GMP_ASM_LSYM_PREFIX, GMP_ASM_W32, GMP_ASM_X86_MMX):
           Use $ac_objext for object filenames.
           (GMP_ASM_UNDERSCORE): Use CCAS to assemble.
   
           * demos/pexpr-config-h.in: New file.
           * configure.in: Generate demos/pexpr-config.h.
           (AC_CHECK_FUNCS): Add clock, cputime, setrlimit, sigaction,
           sigaltstack, sigstack.
           * acinclude.m4 (GMP_SUBST_CHECK_FUNCS, GMP_SUBST_CHECK_HEADERS): New
           macros.
           * demos/pexpr.c: Use pexpr-config.h, not various #ifdefs.
           (setup_error_handler): Use signal if sigaction not available, allow
           for SIGBUS missing on mingw.
           (main): Use time() for random seed if gettimeofday not available.
           (cleanup_and_exit): Move SIGFPE out of LIMIT_RESOURCE_USAGE.
   
   2002-01-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/set_str.c: Rewrite to become sub-quadratic.
           (convert_blocks): New function.
   
   2002-01-30  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (GMP_NUMB_MASK, GMP_NAIL_MASK, GMP_NUMB_HIGHBIT,
           ASSERT_MPN, ASSERT_MP_LIMB_T): New macros.
   
           * mpn/generic/fib2_ui.c: Use GMP_NUMB_BITS, simplify the data
           generator program, share __gmp_fib_table initializers between bit
           sizes, cope with bit sizes other than those specifically setup.
           * gmp-impl.h (FIB_TABLE_LIMIT, FIB_TABLE_LUCNUM_LIMIT): Corresponding
           rearrangement of conditionals.
           * tests/mpz/t-fib_ui.c (check_fib_table): New test.
   
   2002-01-28  Kevin Ryde  <kevin@swox.se>
   
           * mpz/set_si.c, mpz/iset_si.c: Store to _mp_d[0] unconditionally, use
           an expression for _mp_size.
   
           * mpz/init.c, mpz/init2.c, mpz/iset.c, mpq/init.c [__CHECKER__]: Store
           dummy values to low limbs to stop them appearing uninitialized.
   
   2002-01-26  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/mpfr-test.h (MAX, MIN, ABS): Use instead a patch from Paul and
           Vincent.
   
   2002-01-24  Kevin Ryde  <kevin@swox.se>
   
           * configure.in: Extra quoting to get argument help messages right.
   
           * gmp.texi (Efficiency): Suggest hex or octal for input and output.
           (Formatted Output Strings): Mention "*" for width and precision.
   
           * mpn/generic/sizeinbase.c: New file, adapted from mpz/sizeinbase.c.
           Use POW2_P, use __mp_bases[base].big_base for log2(base).
           * configure.in, mpn/Makefile.am: Add it.
           * gmp-impl.h: Add prototype.
           * mpz/sizeinbase.c, tune/speed.h, mpn/generic/get_str.c,
           mpz/get_str.c, mpbsd/mout.c, mpbsd/mtox.c: Use it.
           * mpz/get_str.c: Write directly to user buffer, skip at most one
           leading zero, eliminate special case for x==0.
           * mpbsd/mtox.c: Allocate exact result space at the start, eliminate
           special case for x==0.
           * mpbsd/mout.c: Only need to skip one high zero with mpn_sizeinbase.
   
           * configure.in (--enable-nails): New option.
           (GMP_NAIL_BITS, GMP_LIMB_BITS, GMP_NUMB_BITS): New defines for gmp.h
           and config.m4.
           * gmp-h.in: Add templates.
   
           * mpfr/mpfr-test.h (MAX, MIN, ABS): Use #ifndef to avoid a redefine
           error on AIX xlc.
   
   2002-01-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c: Correct type of `out_len'.
   
   2002-01-22  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/pre_divrem_1.c: Corrections to some ASSERTs.
   
           * mpfr/mul_ui.c: Don't call mpn_lshift with 0 shift.
   
           * mpfr/mpz_set_fr.c: Produce correct mpz_t for f==0.
   
   2002-01-21  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (32-bit powerpc add_ssaaaa): Remove spurious commutative
           declaration.
           (64-bit powerpc add_ssaaaa): Likewise.
   
   2002-01-20  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_FUNC_VSNPRINTF): Use %n to better detect sparc
           solaris 2.7 problems.
   
   2002-01-19  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (mpz_eval_expr): Optimize s^rhs for -1 <= s <= 1.
           (cleanup_and_exit): Improve error message wording.
   
   2002-01-19  Kevin Ryde  <kevin@swox.se>
   
           * mpfr/mpfr.h (_PROTO): Use __GMP_PROTO, for compatibility with
           gmp-impl.h.
   
   2002-01-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpfr/mpfr-test.h: Test "__hpux", not "hpux".  Mask off mrand48
           return value to 31 bits to work around sloppy mpfr #include practices.
   
           * mpfr/tests/*.c: Use #include "", not <>, for gmp.h and mpfr.h.
           Make sure to #include mpfr-test.h from all files that use random().
   
   2002-01-17  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (__GMP_REALLOCATE_FUNC_MAYBE_TYPE): New macro.
           * gmp-impl.h, mpz/get_str.c, mpz/out_raw.c, mpq/get_str.c,
           mpq/set_str.c, mpf/get_str.c, printf/asprntffuns.c, printf/doprnt.c,
           printf/repl-vsnprintf.c, printf/snprntffuns.c, scanf/doscan.c,
           mpbsd/mtox.c: Some fixes to compile as C++.
   
           * mpn/generic/jacbase.c (JACOBI_BASE_METHOD): New tuned parameter,
           replacing COUNT_TRAILING_ZEROS_TIME test.  Add a third method too.
           * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Add
           measuring of mpn_jacobi_base methods.
           * tune/jacbase1.c, tune/jacbase2.c, tune/jacbase3.c: New files.
           * tune/tuneup.c (JACOBI_BASE_METHOD): Tune this.
           * mpn/x86/*/gmp-mparam.h (COUNT_TRAILING_ZEROS_TIME): Remove macro.
   
           * gmp-h.in: Use __gmp prefix on variables in inlines.
   
           * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Remove __i, unused.
   
           * mpn/generic/mul_fft.c: Use HAVE_NATIVE_mpn_addsub_n, not ADDSUB.
           Use CNST_LIMB for some constants.
   
   2002-01-15  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpbsd/Makefile.am: Add a convenience rule for ../libtests.la.
   
           * printf/Makefile.am: libdummy.la should be in EXTRA_LTLIBRARIES.
   
           * mpf/out_str.c: Use MPF_SIGNIFICANT_DIGITS, so mpf_out_str and
           mpf_get_str give the same for ndigits==0.
   
           * mpfr/exceptions.c (mpfr_set_emin, mpfr_set_emax): Work around a
           powerpc64 gcc 3.0 -O2 bug.
   
           * tests/memory.c, tests/tests.h (tests_memory_validate): New function.
   
   2002-01-14  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/sb_divrem_mn.c, mpn/generic/divrem_1.c,
           mpn/generic/divrem_2.c, mpn/generic/mod_1.c: Don't use UMUL_TIME and
           UDIV_TIME, just default to preinv.
           * gmp-impl.h (USE_PREINV_DIVREM_1, USE_PREINV_MOD_1): Ditto.
           (DIVEXACT_1_THRESHOLD, MODEXACT_1_ODD_THRESHOLD): Don't use UMUL_TIME
           and UDIV_TIME, make default thresholds 0.
           (UDIV_NORM_PREINV_TIME, UDIV_UNNORM_PREINV_TIME): Remove macros.
           * mpn/x86/*/gmp-mparam.h (UMUL_TIME, UDIV_TIME,
           UDIV_NORM_PREINV_TIME): Remove macros.
   
           * gmp.texi (Headers and Libraries): New section, being the header
           notes from "GMP Basics" and some new stuff.
           (Parameter Conventions): Notes on "const" parameters.
           (Formatted Output Strings): Add type N, tweak some wording.
   
           * tests/refmpn.c (refmpn_divmod_1c): Avoid a bug in i386 gcc 3.0.
   
   2002-01-12  Kevin Ryde  <kevin@swox.se>
   
           * mpz/root.c: Add <stdlib.h>, for abort().
   
           * mpfr/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
           * mpfr/mpfr.h, mpfr/mpfr-tests.h, reuse.c, tadd.c, tadd_ui.c, tagm.c,
           tatan.c, tcmp2.c, tcos.c, tdiv.c, tdiv_ui.c, teq.c, texp.c,
           tget_str.c, thyperbolic.c, tlog.c, tmul.c, tout_str.c, tpow.c,
           trandom.c, tset_z.c, tsin.c, tsqrt.c, tsqrt_ui.c, tsub_ui.c, ttan.c,
           tui_div.c: Fixes for K&R.
   
           * tests/misc/t-scanf.c (check_misc, check_misc):
   
           * tests/mpz/t-inp_str.c, tests/mpq/t-inp_str.c, tests/misc/t-scanf.c:
           Avoid strings in ASSERT, not enjoyed by K&R.
           * gmp-impl.h (ASSERT): Note this.
   
           * tests/tests.h (refmpn_mod_34lsub1): Add __GMP_PROTO.
   
           * mpbsd/Makefile.am: Avoid an automake problem with ansi2knr and
           sources in a different directory.
   
           * printf/repl-vsnprintf.c: Test HAVE_LONG_DOUBLE for long double.
   
           * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add mod_34lsub1.c,
           mul_2.c, pre_divrem_1.c.
   
           * gmp-h.in, gmp-impl.h (mpn_add_nc, mpn_addmul_1c, mpn_addsub_n,
           mpn_addsub_nc, mpn_divrem_1c, mpn_dump, mpn_mod_1c, mpn_mul_1c,
           mpn_mul_basecase, mpn_sqr_n, mpn_sqr_basecase, mpn_sub_nc,
           mpn_submul_1c): Move to gmp-impl.h, since they're undocumented.
   
           * gmp-impl.h (mpn_reciprocal): Remove, unused.
   
           * tune/many.pl (cntlz, cnttz): Use new SPEED_ROUTINE_COUNT_ZEROS.
   
   2002-01-11  Kevin Ryde  <kevin@swox.se>
   
           * mpn/hppa/*.asm, mpn/pa64/*.asm, mpn/pa64w/*.asm: Use L().
   
   2002-01-08  Kevin Ryde  <kevin@swox.se>
   
           * mpn/asm-defs.m4 (PROLOGUE, EPILOGUE): New scheme, optional function
           name to EPILOGUE, check for missing or wrong function name EPILOGUE.
           * mpn/alpha/unicos.m4, mpn/alpha/default.m4, mpn/m68k/m68k-defs.m4,
           mpn/mips3/mips.m4, mpn/ia64/default.m4, mpn/powerpc32/aix.m4,
           mpn/powerpc64/aix.m4, mpn/x86/x86-defs.m4: Consequent updates, add a
           few more asserts.
           * mpn/alpha/unicos.m4, mpn/alpha/default.m4, mpn/alpha/cntlz.asm,
           mpn/alpha/invert_limb.asm (PROLOGUE_GP): Change to an optional "gp"
           parameter on plain PROLOGUE.
   
           * gmp.texi (Low-level Functions): mpn_get_str doesn't clobber an extra
           limb, and doesn't clobber at all for power of 2 bases.
           (Language Bindings): Add python gmpy.
   
           * mpz/get_str.c: Determine realloc size arithmetically.
   
           * mpbsd/mtox.c: Size memory block returned to actual space needed.
           * gmp.texi (BSD Compatible Functions): Describe this.
   
           * mpz/get_str.c: Don't copy mpn_get_str input for power of 2 bases.
           * mpbsd/mtox.c: Ditto, and as a side effect avoid a memory leak from a
           missing TMP_FREE.
   
           * mpz/get_str.c, mpbsd/mout.c: No longer need for +1 limb for
           mpn_get_str clobber.
   
           * gmp-impl.h (MPN_GET_STR_SIZE): New macro.
           * mpn/generic/get_str.c, mpz/get_str.c, mpbsd/mout.c, mpbsd/mtox.c,
           tune/speed.h: Use it.
           * tests/mpn/t-g_str_size.c: New test.
           * tests/mpn/Makefile.am: Add it.
   
           * gmp-impl.h (POW2_P): New macro.
           * mpn/generic/get_str.c, tests/misc.c: Use it.
   
           * printf/doprnt.c: Add "N" for mpn, share some code between N, Q and Z.
           * tests/misc/t-printf.c: Add tests.
           * gmp-impl.h (ASSERT_CODE): New macro.
   
           * tests/mpbsd/t-mtox.c: New test.
           * tests/mpbsd/Makefile.am: Add it.
           (allfuns_LDADD): Don't link against libgmp when testing everything in
           libmp can link.
   
   2002-01-07  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Rewrite generic versions.
   
   2002-01-06  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/pre_divrem_1.c: Don't support size==0.
           * tests/devel/try.c: Update.
   
           * mpn/generic/get_str.c: Add special case for base==10.
           * gmp-impl.h (MP_BASES_CHARS_PER_LIMB_10, MP_BASES_BIG_BASE_10,
           MP_BASES_BIG_BASE_INVERTED_10, MP_BASES_NORMALIZATION_STEPS_10): New
           constants.
           * tests/t-constants.c: Add checks.
           * mpn/mp_bases.c [GENERATE_TABLE]: Print defines for gmp-impl.h, print
           all standard bits-per-limb by default.
   
           * demos/pexpr.c, demos/expr/expr.h, demos/expr/expr-impl.h: Use
           __GMP_PROTO.
   
           * gmp-h.in (mpn_divexact_by3c): Remove variables from prototype, to
           keep out of application namespace.
   
   2002-01-04  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h: Move _PROTO declaration to before its first usages.
   
   2002-01-04  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in, mp-h.in, tests/tests.h: Rename _PROTO to __GMP_PROTO, and
           don't use #ifndef just define it ourselves.
           * gmp-impl.h: Provide _PROTO as an alias for __GMP_PROTO, to avoid big
           edits internally, for the moment.
   
   2002-01-03  Torbjorn Granlund  <tege@swox.com>
   
           * tune/speed.c (usage): Insert "\n\" into a string.
   
   2001-12-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64/udiv_qrnnd.c: Remove file.
           * mpn/pa64w/udiv_qrnnd.c: Remove file.
   
           * gmp-impl.h (MPN_IORD_U): Change formatting (labels in pos 0, insns
           indented by tab).
           (MPN_INCR_U): Use "addl $1,foo; jc", not "incl foo; jz".
   
           * gmp-impl.h (udiv_qrnnd_preinv): Use plain subtract, not sub_ddmmss,
           in one more case.
   
   2001-12-30  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/get_str.c (udiv_qrnd_unnorm): New macro.
           Use "do while" for dig_per_u loop since it's non-zero.
           * acconfig.h (HAVE_HOST_CPU_m68k etc): Add templates.
   
           * mpn/generic/mul_basecase.c, mpz/mul.c, mpz/n_pow_ui.c,
           mpn/x86/pentium/mul_2.asm, tests/devel/try.c, tests/tests.h,
           tests/refmpn.c, tune/speed.c, tune/speed.h, tune/common.c,
           tune/many.pl (mpn_mul_2): New parameter style.
           * gmp-impl.h (mpn_mul_2): Add prototype.
           * configure.in (gmp_mpn_functions_optional): Add mul_2.
   
           * longlong.h (__vxworks__): Remove from powerpc tests, not correct,
           not on its own at least.
   
           * tune/speed.c: Add "aas" to specify 0xAA..AA data.
   
           * tune/tuneup.c (print_define_end): Indicate "never" and "always".
   
   2001-12-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpq/set_d.c: ANSI-fy.
           * mpz/invert.c: Use PTR and SIZ (cosmetic change).
   
           * mpz/cong.c: Rename `xor' to `sign' to avoid C++ reserved word.
   
   2001-12-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/sqr_diagonal.asm: New file.
   
   2001-12-28  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/get_str.c: Avoid one mpn_divrem_1 by running main loop
           only until msize==1.
   
           * tune/tuneup.c: Break up all() for clarity.
           (USE_PREINV_DIVREM_1, USE_PREINV_MOD_1): Compare against plain
           division udiv_qrnnd, not the tuned and possibly preinv version.
   
           * tune/freq.c: Split sysctl and sysctlbyname probes into separate
           functions, shorten some identifiers, put descriptions inside
           functions, define functions unconditionally and do nothing if
           requisites not available.
   
           * mpz/inp_raw.c: Avoid a gcc 3.0 powerpc64 bug on AIX.
   
           * acinclude.m4, configure.in (GMP_C_RESTRICT): New macro.
   
           * mpfr/sin.c: Patch from Paul to fix sign of sin(3pi/2).
   
           * demos/calc/calc.y: Improve some error messages.
   
   2001-12-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/mul_1.asm: Rename r72 -> r80.
           * mpn/sparc64/addmul_1.asm: Likewise.
   
   2001-12-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/tdiv_qr.c: Misc formatting cleanups.
           For switch case 2, replace `dn' with its value (2).
   
   2001-12-25  Torbjorn Granlund  <tege@swox.com>
   
           * tests/devel/mul_1.c: Add FIXED_XLIMB.
           * tests/devel/addmul_1.c: Likewise.
           * tests/devel/submul_1.c: Likewise.
   
           * tests/devel/add_n.c: Improve error message.
           Accept command line argument for # of tests.
           * tests/devel/sub_n.c: Likewise.
   
           * tests/devel/: Remove CLOCK settings.
   
           * mpn/sparc32/v9/mul_1.asm: Rewrite.
           * mpn/sparc32/v9/addmul_1.asm: Rewrite.
           * mpn/sparc32/v9/submul_1.asm: Rewrite.
   
   2001-12-24  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/mul_1.asm: Get rid of global constant 0.0 (L(noll)).
           * mpn/sparc64/addmul_1.asm: Likewise.
   
   2001-12-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c: Move final ASSERT to just before zero fill
           loop.
   
   2001-12-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/get_str.c: Move ASSERTs out of loops.  Split digit
           generation code into two loops, saving a test of msize in the loop.
   
   2001-12-22  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/x86-defs.m4, mpn/x86/*/*.asm: Remove L / LF scheme putting
           function name in local labels.
   
           * mpn/generic/get_str.c: Use mpn_preinv_divrem_1, add a couple of
           ASSERTs.
   
           * mpn/generic/pre_divrem_1.c: New file.
           * configure.in (gmp_mpn_functions): Add it.
           * gmp-impl.h (mpn_preinv_divrem_1): Add prototype.
           (USE_PREINV_DIVREM_1, MPN_DIVREM_OR_PREINV_DIVREM_1): New macros.
           * tests/devel/try.c, tune/speed.c, tune/speed.h, tune/common.c,
           tune/many.pl, tune/Makefile.am (mpn_preinv_divrem_1): Add testing and
           measuring.
           * tune/tuneup.c: Determine USE_PREINV_DIVREM_1.
           * tune/pre_divrem_1.c: New file.
           * tests/refmpn.c, tests/tests.h (refmpn_preinv_divrem_1): New function.
   
           * tests/mpz/t-io_raw.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/inp_raw.c, mpz/out_raw.c: Rewrite.
           * acinclude.m4, configure.in (AC_C_BIGENDIAN): New test.
           * gmp-impl.h (BSWAP_LIMB): New macro.
   
           * acinclude.m4 (GMP_PROG_CC_WORKS): For a native compile, demand
           executables will run, per AC_PROG_CC.  This detects ABI=64 is unusable
           in a native sparc solaris 7 build with the kernel in 32-bit mode.
           * gmp.texi (ABI and ISA): Add notes on this, add an example configure
           setting an ABI.
   
           * tune/tuneup.c, configure.in: Print the gmp-mparam.h filename.
           * tune/tuneup.c: Print the CPU frequency.
   
           * tune/time.c, tune/speed.h: Add s390 "stck" method, flatten
           conditionals in speed_time_init a bit, use have_* variables to let
           some code go dead in speed_starttime and speed_endtime.
   
           * tune/freq.c (speed_cpu_frequency_irix_hinv): New function.
   
           * Makefile.am, configure.in: Restore mpfr.
   
           * configure.in: Add --with-readline, AC_PROG_YACC and AM_PROG_LEX.
           * demos/calc/calc.y, demos/calc/calclex.l: Add readline support, add
           lucnum function.
           * demos/calc/Makefile.am: Add calcread.c, calc-common.h, use $(YACC),
           $(LEX) and $(LEXLIB).
           * demos/calc/calcread.c, demos/calc/calc-common.h,
           demos/calc/calc-config-h.in, demos/calc/README: New files.
   
           * configure.in: Put demos/expr configs in expr-config.h.
           * demos/expr/expr-config-h.in: New file.
           * demos/expr/expr-impl.h: Renamed from expr-impl-h.in, get configs
           from expr-config.h.
           * demos/expr/Makefile.am: Update.
   
           * demos/expr/exprfr.c: Use mpfr_sin and mpfr_cos, remove some spurious
           returns.
   
   2001-12-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/mul_1.asm: Trim an instruction.
           * mpn/sparc64/addmul_1.asm: Likewise.
   
           * mpn/ia64/add_n.asm: Rewrite.
           * mpn/ia64/sub_n.asm: Rewrite.
   
   2001-12-19  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/mul_1.asm: Rewrite.
           * mpn/ia64/addmul_1.asm: Rewrite.
           * mpn/ia64/submul_1.c: Use TMP_ALLOC_LIMBS.
   
           * tests/devel/mul_1.c: Improve error message.
           Accept command line argument for # of tests.
           * tests/devel/addmul_1.c: Likewise.
           * tests/devel/submul_1.c: Likewise.
   
   2001-12-18  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3/mul_1.asm: Add NOPs to save a cycle on R1x000.
   
   2001-12-18  Kevin Ryde  <kevin@swox.se>
   
           * gmpxx.h (gmp_randclass): Don't allow copy constructors or "=",
           implementation by Gerardo.
   
           * gmp-h.in (operator<<, operator>>): Remove parameter names from
           prototypes, to keep out of user namespace.
   
           * acinclude.m4 (GMP_FUNC_VSNPRINTF): Let the test program work as C++.
   
   2001-12-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/mul_1.asm: Rewrite.
           * mpn/sparc64/addmul_1.asm: Rewrite.
           * mpn/sparc64/submul_1.asm: Rewrite.
   
           * mpn/sparc64/addmul1h.asm: Remove.
           * mpn/sparc64/submul1h.asm: Remove.
           * mpn/sparc64/mul1h.asm: Remove.
   
   2001-12-15  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (mpn_add, mpn_add_1, mpn_cmp, mpn_sub, mpn_sub_1): Follow
           __GMP_INLINE_PROTOTYPES for whether to give prototype with inline.
   
           * configure.in (i686*-*-*, pentiumpro-*-*, pentium[23]-*-*,
           athlon-*-*, pentium4-*-*): Fall back on -march=pentium if
           -march=pentiumpro or higher is not good (eg. solaris cmov).
   
   2001-12-12  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (MPN_ZERO): Rewrite generic version to be similar to
           powerpc version.
   
   2001-12-12  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_PROG_CC_WORKS): Detect cmov problems with gcc
           -march=pentiumpro on solaris 2.8.
   
           * tune/common.c, tune/speed.h: Allow for commas in count_leading_zeros
           and count_trailing_zeros macros.
   
           * demos/expr/Makefile.am: Distribute exprfr.c and exprfra.c.
   
           * tune/Makefile.am (speed_ext_SOURCES): Should be speed-ext.c.
   
   2001-12-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/s390/addmul_1.asm: New file.
           * mpn/s390/submul_1.asm: New file.
           * mpn/s390/mul_1.asm: New file.
           * mpn/s390/gmp-mparam.h: Update.
   
   2001-12-07  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in, mp-h.in, gmp-impl.h: __GMP_DECLSPEC at start of
           prototypes, for the benefit of Microsoft C.
   
           * gmp.texi (Introduction to GMP): Mention ABI and ISA section.
           (Known Build Problems): Recommend GNU sed on solaris 2.6.
           (Assigning Integers): Direct feedback to bug-gmp.
           (References): Typo Knuth vol 2 is from 1998.
   
           * gmpxx.h (gmp_randclass): Add initializers for gmp_randinit_default
           and gmp_randinit_lc_2exp_size.
           gmp.texi (C++ Interface Random Numbers): Describe them.
   
           * tests/misc/t-locale.c, tests/cxx/t-locale.cc: Ensure mpf_clear is
           done when the localconv override doesn't work.  Reported by Mike
           Jetzer.
   
           * printf/doprnti.c: Don't showbase on a zero mpq denominator.
           * tests/misc/t-printf.c, tests/cxx/t-ostream.c: Add test cases.
   
   2001-12-04  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Known Build Problems): Update to gmp_randinit_lc_2exp_size
           for the sparc solaris 2.7 problem.
           (Reentrancy): SCO ctype.h affects all text-based input functions.
           (Formatted Output Strings): Correction to the mpf example.
           (Single Limb Division): Correction, should be q-1 not q+1.
           (Extended GCD): Clarify why single-limb is inferior.
           (Raw Output Internals): Clarify size is twos complement, note limb
           order means _mp_d doesn't get directly read or written.
           (Contributors): Clarify mpz_jacobi.
           And a couple of formatting tweaks elsewhere.
   
           * tests/cxx/t-headers.cc: New file.
           * tests/cxx/Makefile.am: Add it.
   
           * gmpxx.h: Add <strstream>, needed by mpf_class::get_str2.
   
           * gmp-h.in (mpq_inp_str, mpn_hamdist): Add __GMP_DECLSPEC.
   
   2001-12-01  Torbjorn Granlund  <tege@swox.com>
   
           * Version 4.0 released.
   
           * mpfr/README: Replace contents with explanation of why mpfr is gone.
   
   2001-12-01  Kevin Ryde  <kevin@swox.se>
   
           * Makefile.am, configure.in: Temporarily remove mpfr, just leave a
           README.
   
           * mpn/Makefile.am (EXTRA_DIST): Add Makeasm.am.
   
   2001-11-30  Gerardo Ballabio  <ballabio@sissa.it>
   
           * tests/cxx/t-constr.cc, tests/cxx/t-expr.cc: New files.
           * tests/cxx/Makefile.am (check_PROGRAMS): Add them.
   
   2001-11-30  Kevin Ryde  <kevin@swox.se>
   
           * mpfr: Update to 2001-11-16.  Patch TMP handling of agm.c and sqrt.c,
           use plain mpn_sqrtrem in sqrt.c, separate .c files for floor and ceil,
           disable an expression style assert in add1.c.
   
           * mpn/s370: Rename to s390.
           * configure.in (s3[6-9]0*-*-*): Update.
           * mpn/Makefile.am (TARG_DIST): Add s390.
   
           * mpz/fits_s.c, mpf/fits_s.c, mpf/fits_u.c: Remove files, unused since
           change to .h style.
   
   2001-11-29  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-h.in: Declare mpz_get_d_2exp and mpf_get_d_2exp.
           * Makefile.am: Add mpz/get_d_2exp$U.lo and mpf/get_d_2exp$U.lo.
           * mpf/Makefile.am: Add get_d_2exp.c.
           * mpz/Makefile.am: Add get_d_2exp.c.
   
   2001-11-29  Kevin Ryde  <kevin@swox.se>
   
           * mpn/*/gmp-mparam.h: Update measured thresholds.
           * mpn/s370/gmp-mparam.h: New file.
   
           * mpz/millerrabin.c: Mark for internal use only, for now.
           * gmp.texi (Number Theoretic Functions): Remove documentation.
   
   2001-11-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/get_d_2exp.c: New file.
           * mpz/get_d_2exp.c: New file.
   
           * mpz/realloc2.c: Fix typo.  Make more similar to mpz_realloc.
           * mpz/realloc.c: Use __GMP_REALLOCATE_FUNC_LIMBS.
   
   2001-11-27  Gerardo Ballabio  <ballabio@sissa.it>
   
           * gmpxx.h, mpfrxx.h: Various updates and improvements.
   
   2001-11-27  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Useful Macros and Constants): Add gmp_version, add @findex
           for mp_bits_per_limb.
   
           * demos/perl/GMP.pm, demos/perl/GMP.xs: Use new style gmp_randinit's.
           * demos/perl/test.pl: Update for this, and for mpz_perfect_power_p
           handling of 0 and 1.
   
   2001-11-26  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/realloc.c: Clear variable when decreasing allocation to less than
           needed.  Misc updates.
   
   2001-11-25  Kevin Ryde  <kevin@swox.se>
   
           * tests/misc/t-locale.c: Avoid printf in the normal case, since the
           replacement localeconv breaks it on SunOS 4.
   
           * gmp.texi (Build Options, Notes for Package Builds): Note libgmpxx
           depends on libgmp from same GMP version.
   
           * acinclude.m4, configure.in (GMP_FUNC_SSCANF_WRITABLE_INPUT): New
           test.
           * scanf/sscanf.c, scanf/vsscanf.c: Use it to ensure sscanf input is
           writable, if necessary.
   
           * tests/misc/t-scanf.c: Ensure sscanf arguments are writable, always.
           * configure.in (AC_CHECK_DECLS): Remove sscanf, no longer required.
   
           * configure.in (none-*-*): Fix default CFLAGS setups.
   
           * doc/configuration: Misc updates.
   
   2001-11-23  Kevin Ryde  <kevin@swox.se>
   
           * mpz/init2.c, mpz/realloc2.c: New files.
           * Makefile.am, mpz/Makefile.am: Add them.
           * gmp-h.in: Add prototypes.
           * gmp.texi (Efficiency): Mention these instead of _mpz_realloc.
           (Initializing Integers): Add documentation, reword other parts.
   
   2001-11-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/ieee/addmul_1.c: Fix logic for more_carries scalar loop.
           * mpn/cray/ieee/submul_1.c: Likewise.
   
   2001-11-20  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Known Build Problems): Note an out of memory on DJGPP.
           (Function Classes): Update function counts.
           Misc tweaks elsewhere.
   
           * configure.in (AC_CHECK_DECLS): Add sscanf.
           * tests/misc/t-scanf.c: Use it, for the benefit of SunOS 4.
   
           * tal-debug.c, gmp-impl.h: More checks of TMP_DECL/TMP_MARK/TMP_FREE
           consistency.
   
           * mpfr/Makefile.am (AR): Explicit AR=@AR@ to override automake
           default, necessary for powerpc64 ABI=aix64.
   
   2001-11-18  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/powm.c: Move TMP_MARK to before any TMP_ALLOCs.
   
   2001-11-18  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (--enable-fft): Make this the default.
           * gmp.texi (Build Options): Update.
   
           * Makefile.am (libmp_la_DEPENDENCIES): Revise mpz objects needed by
           new mpz/powm.c.
   
           * gmp.texi (Random State Initialization): Add gmp_randinit_default and
           gmp_randinit_lc_2exp_size, mark gmp_randinit as obsolete.
           (Random State Seeding): New section, taken from "Random State
           Initialization" and "Random Number Functions".
   
           * configure.in (AC_CHECK_DECLS): Add fgetc, fscanf, ungetc.
           * scanf/fscanffuns.c: Use these, for the benefit of SunOS 4.
   
           * gmp-impl.h, gmp-h.in (__gmp_default_fp_limb_precision): Move back to
           gmp-impl.h now not required for inlined mpf.
   
           * randlc2s.c (gmp_randinit_lc_2exp_size): New file, the size-based LC
           selection from rand.c.
           * rand.c (gmp_randinit): Use it.
           * randdef.c (gmp_randinit_default): New file.
           * gmp-impl.h (RANDS): Use it.
           (ASSERT_CARRY): New macro.
           * gmp-h.in (gmp_randinit_default, gmp_randinit_lc_2exp_size: Add
           prototypes.
           * Makefile.am (libgmp_la_SOURCES): Add randdef.c and randlc2s.c.
   
           * printf/asprntffuns.c: Include config.h before using its defines.
   
           * gmp-impl.h: Move C++ <string> to top of file to avoid the memset
           redefine upsetting configure tests.  Remove <iostream> since <iosfwd>
           in gmp.h suffices.
   
   2001-11-16  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Integer Exponentiation): mpz_powm supports negative
           exponents.
           (Assigning Floats, I/O of Floats, C++ Formatted Output, C++ Formatted
           Input): Decimal point follows locale.
           (Formatted Output Strings): %n accepts any type.
           (Formatted Input Strings): New section.
           (Formatted Input Functions): New section.
           (C++ Class Interface): Corrections and clarifications suggested by
           Gerardo.
   
           * scanf/doscan.c, scanf/fscanf.c, scanf/fscanffuns.c, scanf/scanf.c,
           scanf/sscanf.c, scanf/sscanffuns.c, scanf/vfscanf.c, scanf/vscanf.c,
           scanf/vsscanf.c, scanf/Makefile.am, tests/misc/t-scanf.c: New files.
           * gmp-h.in, gmp-impl.h, Makefile.am, configure.in: Consequent
           additions.
   
           * tests/misc: New directory.
           * tests/misc/Makefile.am: New file.
           * tests/misc/t-locale.c: New file.
           * tests/misc/t-printf.c: Moved from tests/printf.
           * tests/printf: Remove directory.
           * configure.in, tests/Makefile.am: Update.
   
           * tests/cxx/t-locale.cc: New file.
           * tests/cxx/Makefile.am: Add it.
   
           * mpf/set_str.c, cxx/ismpf.cc: Use localeconv for the decimal point.
   
           * acinclude.m4 (GMP_ASM_X86_MCOUNT): Update to $lt_prog_compiler_pic
           for current libtool, recognise non-PIC style mcount in windows DLLs.
   
           * gmp-impl.h (__gmp_replacement_vsnprintf): Add prototype.
   
           * gmp-impl.h (__gmp_rands, __gmp_rands_initialized,
           modlimb_invert_table): Add __GMP_DECLSPEC for the benefit of test
           programs using them from a windows DLL.
           * longlong.h (__clz_tab): Ditto.
   
           * mpn/x86/t-zdisp2.pl: New file.
   
           * mpn/x86/pentium4/README: New file.
   
   2001-11-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/powm.c (HANDLE_NEGATIVE_EXPONENT): #define to 1.
           * tests/mpz/reuse.c (main): Use mpz_invert to avoid undefined mpz_powm
           cases.
   
   2001-11-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/powm_ui.c: Rewrite along the lines of mpz/powm.c (except still no
           redc).
           * mpz/powm.c: Adjust for negative b, after exponentiation done.  Add
           (still disabled) code for handling negative exponents.  Misc cleanups.
   
   2001-11-14  Kevin Ryde  <kevin@swox.se>
   
           * mpf/out_str.c: Use localeconv for the decimal point.
   
           * tests/misc.c (tests_rand_end): Use time() if gettimeofday() not
           available (eg. on mingw).
   
   2001-11-11  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in: Remove parameter names from prototypes, to keep out of
           application namespace.
   
   2001-11-08  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_GCC_VERSION_GE): Fix sed regexps to work on
           Solaris 8.
   
           * printf/doprnt.c: Support %n of all types, per glibc.
   
           * gmp-h.in, gmp-impl.h, mpf/abs.c, mpf/neg.c, mpf/get_prc.c,
           mpf/get_dfl_prec.c, mpf/set_dfl_prec.c, mpf/set_prc_raw.c,
           mpf/set_si.c, mpf/set_ui.c, mpf/size.c: Revert mpf inlining, in order
           to leave open the possibility of keeping binary compatibility if mpf
           becomes mpfr.
   
           * mpn/x86/k7/mmx/lshift.asm, mpn/x86/k7/mmx/rshift.asm: Use Zdisp to
           force code size for computed jumps.
           * mpn/x86/k6/mod_34lsub1.asm, mpn/x86/k6/k62mmx/copyd.asm: Use Zdisp
           to force good code alignment.
           * mpn/x86/x86-defs.m4 (Zdisp): More instructions.
   
           * mpn/x86/pentium/sqr_basecase.asm, mpn/x86/k7/mmx/mod_1.asm,
           mpn/x86/k7/mmx/popham.asm: Remove some unnecessary "0" address offsets.
   
           * mpq/set_si.c, mpq/set_ui.c: Set _mp_den._mp_size correctly if den==0.
   
   2001-11-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/hppa/hppa1_1/udiv_qrnnd.asm: Work around gas bug.
   
           * mpn/asm-defs.m4 (PROLOGUE): Change alignment to 8 (probably a good
           idea in general; required for hppa/hppa1_1/udiv_qrnnd.asm).
   
   2001-11-06  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (MPN_COPY_INCR): Prepend local variable by `__'.
           (MPN_COPY_DECR): Likewise.
   
   2001-11-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/powm.c: Call mpn functions, not mpz functions, for computation
           mod m.  Streamline allocations to use a mixture of stack allocation and
           heap allocation.  Add currently disabled phi(m) exponent reduction
           code.  Misc optimizations and cleanups.
   
   2001-11-05  Kevin Ryde  <kevin@swox.se>
   
           * mpq/inp_str.c: Remove unused variable "ret".
   
           * mpn/x86/k7/sqr_basecase.asm: Fix a 0(%edi) to use Zdisp, so the
           computed jumps hit the right spot on old gas.
   
           * mpq/canonicalize.c: DIVIDE_BY_ZERO if denominator is zero.
   
           * mpn/lisp/gmpasm-mode.el (comment-start-skip): Correction to the way
           the first \( \) pair is setup.
           (gmpasm-font-lock-keywords): Don't fontify the space before a "#" etc.
           Misc tweaks to some comments.
   
   2001-11-03  Torbjorn Granlund  <tege@swox.com>
   
           * tests/refmpn.c (refmpn_overlap_p): Reverse return values.
   
   2001-11-02  Kevin Ryde  <kevin@swox.se>
   
           * tune/many.pl: Setup CFLAGS_PIC and ASMFLAGS_PIC, since that's no
           longer done by configure.
   
           * mpn/x86/pentium4/mmx/popham.asm: New file.
   
           * mpn/x86/x86-defs.m4 (psadbw): New macro.
           * mpn/x86/k7/mmx/popham.asm: Use it.
   
           * tests/refmpn.c (refmpn_overlap_p): New function, independent of
           MPN_OVERLAP_P.
   
   2001-10-31  Torbjorn Granlund  <tege@swox.com>
   
           * tests/mpz/t-powm.c: Print proper error message when finding
           discrepancy.
   
   2001-10-31  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/mod_34lsub1.asm: New file.
           * mpn/x86/k7/mod_34lsub1.asm: New file.
           * mpn/x86/mod_34lsub1.asm: New file.
   
   2001-10-30  Kevin Ryde  <kevin@swox.se>
   
           * tests/printf/t-printf.c (check_misc): Add checks from the glibc docs.
           (check_vasprintf, check_vsnprintf): Run these unconditionally.
   
           * gmp-impl.h (ASSERT_MPQ_CANONICAL): New macro.
           * mpq/cmp.c, mpq/cmp_si.c, mpq/cmp_ui.c, mpq/equal.c: Add ASSERTs for
           canonical inputs, where correctness depends on it.
   
           * mpn/lisp/gmpasm-mode.el (comment-start-skip): Add "dnl".
   
   2001-10-27  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c: Remove some unused variables.
           (main): Allocate more buffer space to accommodate minus sign.
   
   2001-10-27  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h, mpn/asm-defs.m4, configure.in, tune/speed.h,
           tune/speed.c, tune/common.c, tune/many.pl, tests/devel/try.c: Add
           mpn_mod_34lsub1.
           * tests/refmpn.c, tests/tests.h (refmpn_mod_34lsub1): New function.
   
           * mpn/generic/mod_34lsub1.c: New file.
           * mpn/x86/k6/mod_34lsub1.asm: New file.
           * mpn/x86/pentium4/sse2/mod_34lsub1.asm: New file.
           * mpn/x86/x86-defs.m4 (Zdisp): Add another instruction.
   
           * gmp-h.in, gmpxx.h: Use <iosfwd> not whole <iostream>.
   
           * gmp.texi (Known Build Problems): Add note on test programs with
           Windows DLLs.
   
   2001-10-26  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpq/t-get_d.c: Limit the size of "eps" for vax.
   
           * gmp.texi (maybepagebreak): New macro, use it in a few places.
           (Notes for Particular Systems): C++ Windows DLLs are not supported.
           (Known Build Problems): Note sparc solaris 2.7 gcc 2.95.2 shared
           library problems.
           (Autoconf): Tweak version numbers shown.
           (Integer Roots): mpz_perfect_square_p and mpz_perfect_power_p consider
           0 and 1 perfect powers, mpz_perfect_power_p accepts negatives.
           (Number Theoretic Functions): Add mpz_millerrabin, combined with a
           reworded mpz_probab_prime_p.
           (Formatted Output Strings): Misc clarifications.
           (Formatted Output Functions): gmp_asprintf, gmp_vasprintf,
           gmp_snprintf, gmp_vsnprintf always available.
           (C++ Formatted Output): Misc rewordings.
           (Formatted Input): New chapter.
           (C++ Class Interface): New chapter, by Gerardo and me.
           (Language Bindings): Update GMP++ now in GMP.
           (C++ Interface Internals): New section, by Gerardo and me.
   
           * printf/repl-vsnprintf.c: New file.
           * configure.in, acinclude.m4, Makefile.am, printf/Makefile.am: Use it
           if libc vsnprintf missing or bad.
           * configure.in (AC_CHECK_FUNCS): Add strnlen.
   
           * printf/snprntffuns.c, printf/vasprintf.c: Use
           __gmp_replacement_vsnprintf if libc vsnprintf not available.
           * printf/asprintf.c, printf/snprintf.c, printf/vasprintf.c,
           printf/vsnprintf.c: Provide these functions unconditionally.
           * acinclude.m4 (GMP_FUNC_VSNPRINTF): Remove warning about omissions
           when vsnprintf not available.
   
   2001-10-24  Kevin Ryde  <kevin@swox.se>
   
           * configure, aclocal.m4: Regenerate with a libtool patch for a stray
           quote in AC_LIBTOOL_PROG_LD_SHLIBS under mingw and cygwin.
   
           * gmp-impl.h (modlimb_invert): More comments.
   
           * printf/doprnt.c, printf/doprnti.c: Use the precision field to print
           leading zeros.
           * tests/printf/t-printf.c: Test this.
           * cxx/osdoprnti.cc, gmp-impl.h: Ignore precision in operator<<.
   
           * tune/speed.c, tune/speed.h, tune/common.c: Add mpn_mul_1_inplace.
   
   2001-10-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/pprime_p.c (mpz_millerrabin): Remove function and its descendant.
   
           * mpz/millerrabin.c: New file with code from pprime.c.
           * mpz/Makefile.am: Compile millerrabin.c.
           * Makefile.am (MPZ_OBJECTS): Ditto.
           * gmp-h.in: Declare mpz_millerrabin.
   
   2001-10-22  Torbjorn Granlund  <tege@swox.com>
   
           * tests/mpz/t-perfsqr.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
   
           * demos/factorize.c (factor): Check for number to factor == 0.
           (main): When invoked without arguments, read from stdin.
   
           * mpz/perfpow.c: Add code to handle negative perfect powers ((-b)^odd).
           Treat 0 and 1 as perfect powers.
   
           * mpn/sparc32/v9/sqr_diagonal.asm: Jump past .align.
   
   2001-10-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/perfsqr.c (sq_res_0x100): Remove bogus final `,'.
           (mpn_perfect_square_p): Suppress superfluous `&1' in sq_res_0x100 test.
           (mpn_perfect_square_p, O(n) test): Improve comments.  Combine remainder
           tests for some small primes.  Don't share code for different limb
           sizes.  Use single `if' with many `||' for better code density.
   
   2001-10-22  Kevin Ryde  <kevin@swox.se>
   
           * demos/perl/GMP.xs (mutate_mpz, tmp_mpf_grow): Make these "static".
   
           * mpn/x86/pentium/popcount.asm, mpn/x86/pentium/hamdist.asm
           (mpn_popcount_table): Use GSYM_PREFIX.
   
   2001-10-19  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/*.asm: Add some measured speeds on various x86s.
   
           * tests/mpz/reuse.c, tests/mpf/reuse.c: Disable tests when using a
           windows DLL, because certain global variable usages won't compile.
   
           * configure.in (AC_CHECK_FUNCS): Add alarm.
           * tests/spinner.c: Conditionalize alarm and SIGALRM availability, for
           the benefit of mingw32.
   
           * acinclude.m4 (GMP_ASM_TYPE, GMP_ASM_SIZE): Suppress .type and .size
           on COFF.
   
           * acinclude.m4 (GMP_PROG_HOST_CC): New macro.
           * configure.in: Use it for windows DLL cross-compiles.
           * aclocal.m4, configure: Regenerate with libtool patch to hold HOST_CC
           in the generated libtool script.
   
           * aclocal.m4, configure: Regenerate with libtool patch to suppress
           warnings when probing command line limit on FreeBSD.
   
           * demos/qcn.c (M_PI): Define if not already provided, helps mingw32.
   
   2001-10-17  Kevin Ryde  <kevin@swox.se>
   
           * printf/doprnt.c: Use <stdint.h> for intmax_t.
   
           * longlong.h: Recognise __sparcv8 for gcc on Solaris.  Reported by
           Mark Mentovai <mark@mentovai.com>.
   
           * gmp-impl.h (gmp_allocated_string): No need for inline on member funs.
   
   2001-10-16  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Debugging): Add mpatrol.
           (Integer Comparisons, Comparing Rationals, Float Comparison): Index
           entries for sign tests.
           (I/O of Floats): Clarify mpf_out_str exponent is in decimal.
           (C++ Formatted Output): mpf_t operator<< exponent now in decimal.
           (FFT Multiplication): Use an ascii art sigma.
           (Contributors): Add Gerardo Ballabio.
   
           * cxx/osfuns.cc (__gmp_doprnt_params_from_ios): Always give mpf_t
           exponent in decimal, irrespective of ios::hex or ios::oct.
           * tests/cxx/t-ostream.cc (check_mpf): Update.
   
           * printf/doprnt.c: Support %lln and %hhn.
   
           * mpn/x86/pentium4/sse2/submul_1.asm: Use a psubq to negate the
           initial carry (helps the submul_1c case), and improve the comments.
   
   2001-10-11  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4, configure.in (GMP_IMPL_H_IEEE_FLOATS): New macro.
   
           * ltmain.sh: Send some rm errors to /dev/null, helps during compiles
           on Solaris 2.7 and HP-UX 10.
   
           * tal-notreent.c: Renamed from stack-alloc.c.
           * Makefile.am, acinclude.m4, gmp-impl.h: Update.
   
           * gmp-h.in: Don't give both prototypes and inlines, except on gcc.
   
           * gmp-h.in, gmp-impl.h: Use #includes to get necessary standard
           classes, add std:: to prototypes.
           * cxx/*.cc, tests/cxx/t-ostream.cc: Add "use namespace std".
           * acinclude.m4 (GMP_PROG_CXX_WORKS): Ditto.
   
           * tests/*/Makefile.in, mpfr/tests/Makefile.in: Regenerate with
           automake patch to avoid Ultrix problem with empty $(TESTS).
   
           * */Makefile.in: Regenerate with automake patch to only rm *_.c in
           "make clean" when ansi2knr actually in use, helps DOS 8.3.
   
           * Makefile.in: Regenerate with automake patch to fix stamp-h
           numbering, avoiding an unnecessary config.status run.
   
   2001-10-09  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/hppa/hppa1_1/udiv_qrnnd.asm: Use L macros for labels.
           Quote L reloc operator.
   
           * gmp-impl.h: Declare class string.
   
           * mpn/asm-defs.m4 (INT32, INT64): Quote $1 to prevent further
           expansion.
   
           * mpn/alpha/ev6/mul_1.asm: New file.
   
   2001-10-09  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Introduction to GMP): Add pentium 4 to optimized CPUs.
           (Build Options): Note macos directory.
           (Notes for Package Builds): GMP 4 series binary compatible with 3.
           (Known Build Problems): Remove $* and ansi2knr note, now fixed, except
           possibly under --host=none.
           (Formatted Output Strings): Remove -1 prec for all digits.
   
           * mpz/add.c, mpz/sub.c: Don't use mpz path on #include (helps macos).
           * mpbsd/Makefile.am (INCLUDES): Add -I$(top_srcdir)/mpz.
   
           * printf/doprnt.c, tests/printf/t-printf.c: Remove support for %.*Fe
           prec -1 meaning all digits.
   
           * acinclude.m4 (GMP_PROG_AR): Override libtool, use AR_FLAGS="cq".
           (GMP_HPC_HPPA_2_0): Print version string to config.log.
   
           * Makefile.am (AUTOMAKE_OPTIONS): Remove check-news (permission notice
           in NEWS file is too big).
           (dist-hook): Don't distribute numbered or unnumbered emacs backups.
   
           * Makefile.am, cxx/Makefile.am: Updates for Gerardo's stuff.
   
   2001-10-09  Gerardo Ballabio  <ballabio@sissa.it>
   
           * cxx/isfuns.cc: New file.
           * gmp-impl.h: Add prototypes.
           * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: New files.
           * gmp-h.in: Add prototypes.
           * gmpxx.h, mpfrxx.h: New files.
   
   2001-10-08  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (with_tags): Establish a default based on --enable-cxx.
   
           * aclocal.m4: Regenerate with libtool patches for sed char range to
           help Cray, LTCC quotes and +Z warnings grep to help HP-UX.
   
           * gmp-impl.h (doprnt_format_t, doprnt_memory_t, doprnt_reps_t,
           doprnt_final_t): Use _PROTO.
   
   2001-10-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/asm-defs.m4 (INT32, INT64): Use LABEL_SUFFIX.
   
           * mpn/hppa: Convert files to `.asm'.
   
   2001-10-05  Kevin Ryde  <kevin@swox.se>
   
           * mpn/Makeasm.am (.S files): Revert to separate CPP and CCAS, use
           cpp-ccas, and only pass CPPFLAGS to CPP, not whole CFLAGS.
           * mpn/cpp-ccas: New file.
           * mpn/Makefile.am (EXTRA_DIST): Add it.
   
           * tune/common.c, tune/speed.h: Change SPEED_ROUTINE_MPN_COPY_CALL uses
           to SPEED_ROUTINE_MPN_COPY or new SPEED_ROUTINE_MPN_COPY_BYTES.  Avoids
           macro expansion problems on Cray.
   
           * configure.in (AC_PROG_CXXCPP): Add this, to make libtool happier.
   
   2001-10-04  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/rrandomb.c (gmp_rrandomb): Change bit_pos to be 0-based (was
           1-based); shift 2 (was 1) when making bit mask.  These two changes
           avoid undefined shift counts.
           (gmp_rrandomb): Avoid most calls to _gmp_rand by caching random values.
   
           * mpn/generic/random2.c: Changes for mirroring mpz/rrandomb.c.
   
   2001-10-04  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Add --enable-cxx.
           (Notes for Particular Systems): Mention pentium4 performance and SSE2.
           (Known Build Problems): Remove vax jsobgtr note, no longer needed.
           (Converting Floats): Tweak mpf_get_str description.
           (Low-level Functions): Correction to mpn_gcdext destination space
           requirements.
           (C++ Formatted Output): New section.
           (Language Bindings): Add ALP
           (Contributors): Add Paul Zimmermann's square root, update my things.
   
           * acinclude.m4 (GMP_PROG_CC_IS_GNU, GMP_PROG_CXX_WORKS): Send compiler
           errors to config.log.
   
           * mpq/Makefile.am (INCLUDES): Remove -DOPERATION_$*, not needed.
   
           * mpn/x86/*.asm: Change references to old README.family to just README.
   
           * mpz/README: Remove file, now adequately covered in the manual.
   
   2001-10-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/pentium4/copyi.asm: New file.
           * mpn/x86/pentium4/copyd.asm: New file.
   
           * gmp-impl.h: Implement separate MPN_COPY_INCR and MPN_COPY_DECR
           macros for CRAY systems.
           (CRAY _MPN_COPY): Delete.
   
   2001-10-02  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpz/t-popcount.c (check_data): Use "~ (unsigned long) 0" to
           avoid compiler warnings on sco.
   
           * mpbsd/Makefile.am: Compile mpz files directly, no copying.
           Use mpz/add.c and mpz/sub.c rather than mpz/aors.c.
           (INCLUDES): Remove -DOPERATION_$*, no longer needed (by mpz).
   
           * mpz/aors.h: Renamed from mpz/aors.c.
           * mpz/add.c, mpz/sub.c: New files, using mpz/aors.h.
           * mpz/aors_ui.h: Renamed from mpz/aors_ui.c.
           * mpz/add_ui.c, mpz/sub_ui.c: New files, using mpz/aors_ui.h.
           * mpz/fits_s.h: Renamed and adapted from mpz/fits_s.c.
           * mpz/fits_sshort.c, mpz/fits_sint.c, mpz/fits_slong.c: New files.
           * mpz/mul_i.h: Renamed from mpz/mul_siui.c.
           * mpz/mul_ui.c, mpz/mul_ui.c: New files, using mpz/mul_i.h.
           * mpz/Makefile.am: Consequent updates.
           (INCLUDES): Remove -DOPERATION_$*.
   
           * mpf/fits_s.h: Renamed and adapted from mpf/fits_s.c.
           * mpf/fits_sshort.c, mpf/fits_sint.c, mpf/fits_slong.c: New files.
           * mpf/fits_u.h: Renamed and adapted from mpf/fits_u.c.
           * mpf/fits_ushort.c, mpf/fits_uint.c, mpf/fits_ulong.c: New files.
           * mpf/Makefile.am: Consequent updates.
           (INCLUDES): Remove -DOPERATION_$*.
   
           * cxx/osfuns.cc (__gmp_doprnt_params_from_ios): Don't use ios::hex etc
           as cases in a switch, they're not constant in g++ 3.0.
   
           * mpn/Makeasm.am (.s.o, .s.obj, .S.o, .S.obj, .asm.o, .asm.obj):
           Locate source file with test -f the same as automake.
           (.S): Let CCAS do the preprocessing, and run libtool for .S.lo.
           (.asm.lo): Run libtool via m4-ccas to get new style foo.lo right.
           (COMPILE_FLAGS): Add $(DEFAULT_INCLUDES), per new automake.
           * mpn/m4-ccas: New file.
           * mpn/Makefile.am (EXTRA_DIST): Add it.
           * mpn/asm-defs.m4: Add m4_not_for_expansion(`DLL_EXPORT').
           * mpn/x86/x86-defs.m4: Undefine PIC if DLL_EXPORT is set.
           * configure.in (CFLAGS_PIC, ASMFLAGS_PIC): Remove, no longer needed.
   
           * acinclude.m4 (GMP_FUNC_VSNPRINTF): Warn what's omitted when
           vsnprintf not available.
   
           * mpn/underscore.h: Remove file, not used since m68k converted to asm.
           * mpn/Makefile.am (EXTRA_DIST): Remove it.
   
           * tests/refmpz.c: Add <stdlib.h>, for free().
   
   2001-10-01  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/pentium4/sse2/submul_1.asm: Apply some algebraic
           simplifications.
           * mpn/x86/pentium4/sse2/addmul_1.asm: Comment.
   
   2001-10-01  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (--enable-cxx): New option for C++ support.
           Add cxx and tests/cxx subdirectories.
           * ltmain.sh, aclocal.m4: Update to libtool 2001-09-30.
   
           * cxx/Makefile.am, cxx/Makefile.in, cxx/osdoprnti.cc, cxx/osfuns.cc,
           cxx/osmpf.cc, cxx/osmpq.cc, cxx/osmpz.cc: New files.
           * Makefile.am: Add them, in new libgmpxx.
           * gmp-h.in, gmp-impl.h: Prototypes and support.
           * tests/cxx/Makefile.am, tests/cxx/Makefile.in,
           tests/cxx/t-ostream.cc: New files.
   
           * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL,
           SPEED_ROUTINE_MPN_GCDEXT_ONE): mpn_gcdext needs size+1 for
           destinations.  Found by Torbjorn.
   
           * gmp-h.in (__GNU_MP__, __GNU_MP_VERSION): Bump to 4.0.
           * mp-h.in (__GNU_MP__): Ditto.
           * gmp.texi, Makefile.am, compat.c: Amend version 3.2 to 4.0.
   
           * acinclude.m4 (GMP_PROG_CXX_WORKS): New macro.
           (GMP_PROG_CC_WORKS): Write "conftest" test program, not a.out.
   
           * gmp-impl.h (struct gmp_asprintf_t): Moved from printf/vasprintf.c.
           (GMP_ASPRINTF_T_INIT): New macro.
           (GMP_ASPRINTF_T_NEED): New macro, adapted from vasprintf.c NEED().
           * printf/vasprintf.c: Use these.
   
           * printf/asprntffuns.c: New file.
           * printf/Makefile.am, Makefile.am: Add it.
           * printf/asprntffuns.c, printf/vasprintf.c, gmp-impl.h
           (__gmp_asprintf_memory, __gmp_asprintf_reps, __gmp_asprintf_final):
           Move to asprntffuns.c, rename to __gmp and make global, remove
           spurious formal parameters from __gmp_asprintf_final.
   
           * configure.in (j90-*-*, sv1-*-*): Don't duplicate $path in $add_path.
           (*-*-mingw*): Don't assemble with -DPIC (as per cygwin).
   
           * printf/snprntffuns.c (gmp_snprintf_final): Remove spurious formal
           parameters.
   
           * tune/tuneup.c (POWM_THRESHOLD): Reduce stop_factor to 1.1 to help
           Cray vector systems.
   
           * tests/misc.c (tests_rand_start): Print GMP_CHECK_RANDOMIZE=NN to
           facilitate cut and paste when re-running.
           * tests/mpz/t-inp_str.c (check_data): Add more diagnostic prints.
   
   2001-09-30  Kent Boortz  <kent@swox.com>
   
           * macos/configure, macos/Makefile.in, macos/README: Updates for gmp 4.
           * gmp-h.in (_GMP_H_HAVE_FILE): Recognise Apple MPW.
   
   2001-09-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/ieee/submul_1.c: Rewrite.  Streamline multiplications;
           use `majority' logic.
   
   2001-09-27  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-h.in (__GMPN_AORS_1): Rewrite to work around Cray compiler bug.
   
   2001-09-26  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/pentium4/sse2/gmp-mparam.h: New file.
   
   2001-09-26  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium4/sse2/dive_1.asm: New file.
           * mpn/x86/pentium4/sse2/submul_1.asm: New file.
           * mpn/x86/pentium4/sse2/sqr_basecase.asm: New file.
   
           * mpn/x86/pentium/copyi.asm: New file, based on past work by Torbjorn.
           * mpn/x86/pentium/copyi.asm: New file, ditto.
           * mpn/x86/pentium/com_n.asm: Rewrite, ditto.
   
           * printf/snprntffuns.c (gmp_snprintf_format): Copy va_list in case
           vsnprintf trashes it.
           * printf/vasprintf.c (gmp_asprintf_format): Ditto.
           * gmp-impl.h, doprnt.c (va_copy): Move to gmp-impl.h.
   
           * tests/mpz/t-cmp_d.c (check_low_z_one): Patch by Torbjorn for vax
           limited float range.
   
   2001-09-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/vax/lshift.s: Change `jsob*' to `sob*'.
           * mpn/vax/rshift.s: Likewise.
   
   2001-09-23  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium4/sse2/mul_basecase.asm: Some simple but real code.
   
           * printf/doprnt.c: Use va_copy for va_list variables, copy function
           parameter in case it's call-by-reference.
   
           * tune/freq.c (speed_cpu_frequency_bsd_dmesg): New function.
           (speed_cpu_frequency_table): Use it.
   
           * tune/many.pl (popcount, hamdist): Fix declared return value.
           (sb_divrem_mn): Remove a spurious duplicate entry.
           (CLEAN): Add tmp-$objbase.c when using that for .h files.
           (macro_speed): Give a default for .h files.
           Add ATTRIBUTE_CONST or __GMP_ATTRIBUTE_PURE as appropriate.
   
           * tune/speed.h (SPEED_ROUTINE_MPN_MOD_CALL,
           SPEED_ROUTINE_MPN_PREINV_MOD_1, SPEED_ROUTINE_MPN_POPCOUNT,
           SPEED_ROUTINE_MPN_HAMDIST, SPEED_ROUTINE_MPN_GCD_1N,
           SPEED_ROUTINE_MPN_GCD_1_CALL, SPEED_ROUTINE_MPZ_JACOBI): Use return
           values so gcc 3 won't discard calls to pure or const functions.
           (mpn_mod_1_div, mpn_mod_1_inv): Add __GMP_ATTRIBUTE_PURE.
   
   2001-09-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/pentium4/sse2/mul_basecase.asm: New file, placeholder
           for real code, hiding the default x86 mul_basecase.asm.
   
   2001-09-22  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (AC_PREREQ): Bump to 2.52.
           (m4_pattern_forbid, m4_pattern_allow): New calls, forbid GMP_.
           (AC_CHECK_HEADERS): Remove sys/types.h, already done by autoconf.
           * acinclude.m4, configure.in (GMP_GCC_NO_CPP_PRECOMP): New macro.
   
           * tests/devel/try.c (TYPE_PREINV_MOD_1): Don't run size==0.
           (malloc_region): Need fd=-1 for mmap MAP_ANON on BSD.
   
   2001-09-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/cong.c (mpz_congruent_p): Fix one-limb c<d test.
   
           * longlong.h: Rewrite __i370__ smul_ppmm; enable also for __s390__.
   
           * configure.in: Add support for IBM 360, 370, 390 families.
   
   2001-09-20  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium4/sse2/diveby3.asm: New file.
           * mpn/x86/pentium4/sse2/mode1o.asm: New file.
   
   2001-09-16  Kevin Ryde  <kevin@swox.se>
   
           * printf/doprnt.c: '#' means showpoint and showtrailing for %e, %f, %g.
           * tests/printf/t-printf.c (check_f): More test cases.
   
   2001-09-15  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-h.in (__GMPN_AORS_1): Remove param TEST, add OP and CB.
           Postpone zeroing of (cout).
           (__GMPN_ADD_1, __GMPN_SUB_1): Corresponding changes.
   
   2001-09-14  Kevin Ryde  <kevin@swox.se>
   
           * ChangeLog: Merge in tests/rand/ChangeLog.
           * tests/rand/ChangeLog: Remove file.
   
           * printf/doprnt.c: Fix handling of a plain format after a GMP one; no
           need to protect against negative precision internally.
           * tests/printf/t-printf.c (check_misc): More checks.
   
   2001-09-12  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/ieee/invert_limb.c: Add a PROLOGUE in a comment to have
           HAVE_NATIVE_... defined.
   
   2001-09-11  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, gmp-h.in (__GMP_HAVE_HOST_CPU_FAMILY_power,
           __GMP_HAVE_HOST_CPU_FAMILY_powerpc): New AC_SUBSTs.
           * gmp-h.in (__GMPN_COPY_INCR): Use them to select the power/powerpc
           code, rather than preprocessor defines.
   
           * acinclude.m4, configure.in (GMP_H_ANSI): New macro.
   
           * gmp-h.in (__GMP_EXTERN_INLINE): Add a definition for SCO 8 cc.
   
           * gmp-h.in, version.c (gmp_version): Make the pointer "const" as well
           as the string.
   
           * acinclude.m4, configure.in (GMP_PROG_CC_IS_XLC): Recognise xlc when
           invoked under another name (cc, xlc128, etc).
           * acinclude.m4 (GMP_PROG_CC_IS_GCC): Print a message when recognised.
   
   2001-09-11  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-h.in: Let __DECC mean __GMP_HAVE_CONST, etc.
           * mp-h.in: Likewise.
   
   2001-09-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/pentium4/mmx/lshift.asm: New file.
           * mpn/x86/pentium4/mmx/rshift.asm: New file.
   
           * tests/mpn/t-iord_u.c (check_incr_data): Work around HP compiler bug.
           (check_decr_data): Likewise.
   
   2001-09-08  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Integer Logic and Bit Fiddling): Update mpz_hamdist
           behaviour, clarify mpz_popcount a touch.
           (Language Bindings): Add mlton, fix alphabetical order.
           (Single Limb Division): Describe 2 or 1/2 limbs at a time style.
   
           * configure.in (AC_CHECK_FUNCS): Add mmap.
           * tests/devel/try.c (malloc_region): Use mmap if available.
   
           * tests/refmpz.c, tests/tests.h (refmpz_hamdist): New function.
           * tests/mpz/t-hamdist.c: New file.
           * tests/mpz/Makefile.am: Add it.
   
           * mpz/hamdist.c: Support neg/neg operands.
   
           * macos/Makefile.in: Remove dual compile of mpq/aors.c and
           mpn/generic/popham.c.
   
           * gmp-impl.h (popc_limb): New macro, adapted from mpn/generic/popham.c.
           For 64-bits reuse 0x33...33 constant.
           * mpn/generic/popcount.c, mpn/generic/hamdist.c: Split from popham.c,
           use popc_limb macro, remove unused "i", don't bother with "register"
           qualifiers.
           * mpn/generic/popham.c: Remove file.
   
           * ltmain.sh, configure, aclocal.m4: Update to libtool 1.4.1, with one
           ltdll.c generation patch.
           * doc/configuration: Misc updates, note libtool patch used.
   
           * mpn/x86/pentium4/sse2/mul_1.asm: Use pointer increments not indexed
           addressing, to get 4.0 c/l flat.
   
           * tests/mpq/t-cmp_si.c (check_data): Use ULONG_MAX for denominators.
   
           * tests/misc.c (mpz_negrandom): Use given rstate, not RANDS.
   
   2001-09-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/pentium4/sse2/addmul_1.asm: New file.
   
   2001-09-04  Kevin Ryde  <kevin@swox.se>
   
           * tune/freq.c: Define a HAVE for each speed_cpu_frequency routine to
           avoid duplicating conditionals.
           (speed_cpu_frequency_sco_etchw): New function.
           (speed_cpu_frequency_table): Use it.
           * tune/README: Mention SCO openunix 8 /etc/hw.
   
           * mpz/fib_ui.c: Use ?: to avoid a gcc 3 bug on powerpc64.
           Store back a carry for limb<long.
   
           * mpn/x86/k7/mmx/divrem_1.asm, mpn/x86/k7/mmx/mod_1.asm,
           mpn/x86/p6/mmx/divrem_1.asm: Fix a couple of comments.
   
           * config.guess: Give m68020 for 68020 or better, not m68k.
           * configfsf.guess: Update to 2001-09-04.
   
   2001-09-02  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (m68k-*-*): Let m68k mean 68000, not 68020.
           * gmp.texi (Notes for Particular Systems): Update.
   
           * gmp-impl.h (union ieee_double_extract) [m68k]: Use longs, since int
           might be only 16 bits.
   
           * tests/mpq/t-aors.c: New file.
           * tests/mpq/Makefile.am: Add it.
   
           * tests/refmpq.c: New file.
           * tests/Makefile.am: Add it.
           * tests/tests.h: Add prototypes.
   
           * mpq/aors.c: Share object code for mpq_add and mpq_sub.
           * Makefile.am, mpq/Makefile.am: Single mpq/aors.lo now.
   
           * tests/devel/try.c (TYPE_SUBMUL_1): Use correct reference routine.
   
   2001-08-30  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/x86-defs.m4 (cmov_available_p): Add pentium4.
   
           * gmp-h.in: Put #define renamings with prototypes.
           Remove commented out #defines of gmp-impl.h things.
           (mpn_invert_limb): Remove #define, already in gmp-impl.h.
           (mpn_lshiftc, mpn_rshiftc): Remove #defines, unused.
           (mpn_addsub_nc): Add prototype to #define.
   
   2001-08-28  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi: Switch to GFDL.
           (Top): Arrange copyright and conditions to appear here too.  For
           clarity have all this before the miscellaneous macro definitions.
           (Copying): Refer to COPYING.LIB file, mention plain GPL2 in demo
           programs.
           (Contributors, References): Use @appendix rather than @unnumbered.
           (GNU Free Documentation License): New appendix.
           (@contents): Move to start of document, use only for tex (not html).
           (Debugging): Add leakbug.
           (Build Options): Add pentium4.
           (I/O of Rationals): Add mpq_inp_str.
   
           * fdl.texi: New file, with two @appendix directive tweaks.
           * Makefile.am (gmp_TEXINFOS): Add it.
   
           * tests/mpz/io.c: Check mpz_inp_str return against ftell, send error
           messages just to stdout.
   
           * mpz/inp_str.c, gmp-impl.h (__gmpz_inp_str_nowhite): New function,
           and share a __gmp_free_func call.
           * mpq/inp_str.c: New file.
           * Makefile.am, mpq/Makefile.am: Add it.
           * tests/mpq/t-inp_str.c: New file.
           * tests/mpq/Makefile.am (check_PROGRAMS): Add it.
   
           * configure.in, acconfig.h (HAVE_HOST_CPU_FAMILY_power,
           HAVE_HOST_CPU_FAMILY_powerpc, HAVE_HOST_CPU_FAMILY_x86): AC_DEFINEs
           for processor families.
           * gmp-impl.h: Use them, rather than cpp defines.
   
           * demos/Makefile.am (primes_LDADD): Use $(LIBM), for log().
   
           * tune/many.pl, tune/Makefile.am: Fix some from clean and distclean.
   
   2001-08-26  Kevin Ryde  <kevin@swox.se>
   
           * tests/devel/try.c (ARRAY_ITERATION): Make types match on "?:" legs.
           (TYPE_MPZ_JACOBI, TYPE_MPZ_KRONECKER): Remove some superseded code.
   
           * tests/printf/t-printf.c (check_plain): Don't compare "all digits"
           precision against plain printf.
   
           * tune/Makefile.am: Eliminate empty TUNE_MPZ_SRCS.
   
           * configure, config.in, INSTALL.autoconf: Update to autoconf 2.52.
           * */Makefile.in, mdate-sh, missing, aclocal.m4, configure: Update to
           automake 1.5.
           * configfsf.guess, configfsf.sub: Update to 2001-08-23.
   
   2001-08-24  Torbjorn Granlund  <tege@swox.com>
   
           * demos/primes.c: Complete rewrite.
   
   2001-08-24  Kevin Ryde  <kevin@swox.se>
   
           * longlong.h: Test __ppc__ for apple darwin cc, reported by Jon
           Becker.  Also test __POWERPC__, PPC and __vxworks__.
   
           * tune/speed.h (speed_cyclecounter) [x86]: Don't clobber ebx in PIC.
   
   2001-08-22  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (x86 mmx): Correction to mmx path stripping.
   
   2001-08-17  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, acinclude.m4, Makefile.am, printf/Makefile.am,
           tests/printf/Makefile.am, gmp-h.in, gmp-impl.h, gmp.texi: Remove C++
           support, for the time being.
           * printf/doprntfx.cc, doprntix.cc, osfuns.cc, osmpf.cc, osmpq.cc,
           osmpz.cc, tests/printf/t-ostream.cc: Remove files.
   
           * printf/doprnt.c, printf/doprntf.c, gmp-impl.h: Use a single
           __gmp_doprnt_mpf, rather than a separate ndigits calculation.
           * printf/doprnt.c, printf/doprntf.c, gmp-impl.h, gmp.texi,
           tests/printf/t-printf.c: Let empty or -1 prec mean all digits for mpf.
           * printf/doprnt.c, tests/printf/t-printf.c: Accept h or l in %n; let
           negative "*" style width mean left justify.
   
           * gmp-impl.h, mpf/get_str.c (MPF_SIGNIFICANT_DIGITS): New macro,
           extracted from mpf/get_str.c.
   
           * libmp.sym: New file.
           * Makefile.am (libmp_la_LDFLAGS): Use it.
           (DISTCLEANFILES): Remove asm-syntax.h, no longer generated.
           Remove some comments about "make check".
   
           * demos/perl/GMP.pm, GMP.xs, GMP/Mpf.pm: Add printf and sprintf,
           change get_str to string/exponent for floats, remove separate
           mpf_get_str.
           * demos/perl/GMP/Mpf.pm (overload_string): Use $# (default "%.g").
           * demos/perl/typemap: Fix some duplicate string entries.
           * demos/perl/test.pl: Update tests, split overloaded constants into ...
           * demos/perl/test2.pl: ... this new file.
           * demos/perl/Makefile.PL (clean): Add test.tmp.
   
   2001-08-16  Kevin Ryde  <kevin@swox.se>
   
           * printf/snprntffuns.c (gmp_snprintf_format): Correction to bufsize-1
           return value handling.
   
           * demos/calc/calc.y: Reposition "%{" so copyright notice gets into
           generated files.
   
           * INSTALL: Use gmp_printf.
   
   2001-08-14  Kevin Ryde  <kevin@swox.se>
   
           * mpz/inp_str.c: Fix return value (was 1 too big).
           * tests/mpz/t-inp_str.c: New file.
           * tests/mpz/Makefile.am: Add it.
   
           * mpn/x86/pentium4/sse2/add_n.asm: New file.
           * mpn/x86/pentium4/sse2/sub_n.asm: New file.
           * mpn/x86/pentium4/sse2/mul_1.asm: New file.
   
   2001-08-12  Kevin Ryde  <kevin@swox.se>
   
           * printf/sprintffuns.c, printf/doprntf.c: Don't use sprintf return
           value (it's a pointer on SunOS 4).
   
           * acinclude.m4 (GMP_ASM_X86_SSE2, GMP_STRIP_PATH): New macros.
           * configure.in: Add pentium4 support.
           * mpn/x86/pentium4, mpn/x86/pentium4/mmx, mpn/x86/pentium4/sse2: New
           directories.
           * mpn/x86/README: Update.
   
   2001-08-10  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (setup_error_handler): Catch also SIGABRT.
   
   2001-07-31  Kevin Ryde  <kevin@swox.se>
   
           * tests/refmpn.c (refmpn_mul_1c): Allow low to high overlaps.
   
           * gmp-h.in, gmp-impl.h (_gmp_rand): Move prototype to gmp-impl.h.
   
           * tune/Makefile.am (EXTRA_DIST): Add many.pl.
   
   2001-07-28  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Random Number Functions): Old rand functions no longer use
           the C library.
   
           * configure.in, acinclude.m4 (GMP_FUNC_VSNPRINTF): New macro.
   
           * mpn/generic/get_str.c: Add an ASSERT for high limb non-zero.
   
   2001-07-24  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Add --enable-cxx.
           (Converting Floats): Note mpf_get_str only generates accurately
           representable digits.
           (Low-level Functions): Note mpn_get_str requires non-zero high limb.
           (Formatted Output): New chapter.
           (Multiplication Algorithms): Use @quotation with @multitable.
           (Toom-Cook 3-Way Multiplication): Ditto.
   
           * tests/memory.c (tests_free_nosize): New function.
           * tests/tests.h (tests_allocate etc): Add prototypes.
   
           * tests/printf: New directory.
           * tests/printf/Makefile.am, t-printf.c, t-ostream.cc: New files.
           * configure.in, tests/Makefile.am: Add them.
   
           * configure.in, acinclude.m4 (GMP_PROG_CXX): New macro.
           * configure.in (--enable-cxx): New option.
           (AC_CHECK_HEADERS): Add locale.h and sys/types.h, remove unistd.h.
           (AC_CHECK_TYPES): Add intmax_t, long double, long long, ptrdiff_t,
           quad_t.
           (AC_CHECK_FUNCS): Add localeconv, memset, obstack_vprintf, snprintf,
           strchr, vsnprintf.
           (AC_CHECK_DECLS): Add vfprintf.
   
           * gmp-h.in, gmp-impl.h: Additions for gmp_printf etc.
   
           * printf: New directory.
           * printf/Makefile.am, asprintf.c, doprnt.c, doprntf.c, doprntfx.cc,
           doprnti.c, doprntix.cc, fprintf.c, obprintf.c, obprntffuns.c,
           obvprintf.c, osfuns.cc, osmpf.cc, osmpq.cc, osmpz.cc, printf.c,
           printffuns.c, snprintf.c, snprntffuns.c, sprintf.c, sprintffuns.c,
           vasprintf.c, vfprintf.c, vprintf.c, vsnprintf.c, vsprintf.c: New
           files.
           * configure.in, Makefile.am: Add them.
   
           * configure.in (HAVE_INLINE): Remove AC_DEFINE, unused.
           (AC_CHECK_TYPES): Don't test for void, assume it always exists.
   
           * gmp-impl.h (__GMP_REALLOCATE_FUNC_MAYBE): New macro.
           * mpz/get_str.c, mpq/get_str.c, mpf/get_str.c: Use it.
   
           * gmp-impl.h (mpn_fib2_ui): Use __MPN.
           (MPN_COPY_DECR): Fix an ASSERT.
           (CAST_TO_VOID): Remove macro.
   
           * gmp-h.in (mpq_out_str): Give #define even without prototype.
           (mpz_cmp_d, mpz_cmpabs_d): Corrections to #defines.
   
           * tests/devel/try.c: Add mpn_add and mpn_sub, don't use CAST_TO_VOID.
   
   2001-07-23  Torbjorn Granlund  <tege@swox.com>
   
           * config.guess: Recognize pentium4.
           * config.sub: Recognize pentium4.
   
   2001-07-17  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GMPN_AORS_1): Remove x86 and gcc versions, leave just
           one version.
           (__GMPN_ADD, __GMPN_SUB): New macros, rewrite of mpn_add and mpn_sub.
           (mpn_add, mpn_sub): Use them.
           (__GMPN_COPY_REST): New macro.
   
           * gmp-h.in, gmp-impl.h, acinclude.m4: Remove __GMP_ASM_L and
           __GMP_LSYM_PREFIX, revert to ASM_L in gmp-impl.h and AC_DEFINE of
           LSYM_PREFIX.
   
   2001-07-11  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GMPN_ADD_1 etc) [x86]: Don't use this on egcs 2.91.
   
           * mpz/fits_uint.c, fits_ulong.c, mpz/fits_ushort.c: Split up fits_u.c.
           * mpz/fits_u.c: Remove file.
           * mpz/Makefile.am, macos/Makefile.in: Update.
   
           * tests/refmpn.c,tests.h (refmpn_copy): New function.
           * tests/devel/try.c (TYPE_ZERO): No return value from call.
           (TYPE_MODEXACT_1_ODD, TYPE_MODEXACT_1C_ODD): Share call with
           TYPE_MOD_1 and TYPE_MOD_1C.
           (MPN_COPY, __GMPN_COPY, __GMPN_COPY_INCR): Add testing.
   
   2001-07-10  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GMPN_COPY): Add form to help gcc on power and powerpc.
           * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR, MPN_ZERO): Ditto.
           * mpn/powerpc64/copyi.asm, mpn/powerpc64/copyd.asm: Remove files.
   
           * mpz/tdiv_ui.c: Eliminate some local variables (seems to save code on
           i386 gcc 2.95.x), remove a bogus comment about quotient.
   
           * errno.c, gmp-impl.h (__gmp_exception, __gmp_divide_by_zero,
           __gmp_sqrt_of_negative): New functions.
           * gmp-impl.h (GMP_ERROR, DIVIDE_BY_ZERO, SQRT_OF_NEGATIVE): Use them.
   
           * randclr.c, randraw.c: Use ASSERT(0) for unrecognised algorithms.
   
   2001-07-07  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (powerpc*-*-*): Use -no-cpp-precomp for Darwin.
   
           * tests/mpbsd/t-itom.c: Renamed from t-misc.c.
           * tests/mpbsd/t-misc.c: Remove file.
           * tests/mpbsd/Makefile.am: Update.
   
           * tests/mpf/t-set_si.c,t-cmp_si.c,t-gsprec.c: Split from t-misc.c.
           * tests/mpf/t-misc.c: Remove file.
           * tests/mpf/Makefile.am: Update.
   
           * tests/mpz/t-oddeven.c,t-set_si.c,t-cmp_si.c: Split from t-misc.c.
           * tests/mpz/t-misc.c: Remove file.
           * tests/mpz/Makefile.am: Update.
   
           * stack-alloc.c: Add some alignment ASSERTs.
   
           * gmp-impl.h (MPN_NORMALIZE): Add notes on x86 repe/scasl slow.
   
           * tests/devel/try.c (MPN_ZERO): Add testing.
           * tune/speed.c,speed.h,common.c,many.pl (MPN_ZERO): Add measuring.
   
           * mpn/x86/divrem_1.asm: Update a remark about gcc and "loop".
   
           * tests/mpq/t-cmp_si.c: New file.
           * tests/mpq/Makefile.am: Add it.
   
           * tests/misc.c,tests.h (mpq_set_str_or_abort): New function.
   
           * mpq/cmp_si.c: New file.
           * Makefile.am, mpq/Makefile.am: Add it.
           * gmp-h.in (mpq_cmp_si): Add prototype.
           * gmp.texi (Comparing Rationals): Add doco.
   
           * gmp-h.in (_GMP_H_HAVE_FILE): Add _FILE_DEFINED for microsoft, add
           notes on what symbols are for what systems.
   
   2001-07-06  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (ibm032 umul_ppmm): Fix typo.
           * longlong.h (sparclite sdiv_qrnnd): Fix typo.
   
   2001-07-03  Kevin Ryde  <kevin@swox.se>
   
           * mpz/bin_ui.c (DIVIDE): Use MPN_DIVREM_OR_DIVEXACT_1.
           * mpz/bin_uiui.c (MULDIV): Ditto, and use local variables for size and
           pointer.
   
           * acinclude.m4 (GMP_INCLUDE_GMP_H): New macro, use it everywhere gmp.h
           is wanted at configure time.
           * acinclude.m4, configure.in (GMP_H_EXTERN_INLINE, GMP_H_HAVE_FILE):
           New macros.
   
           * gmp-h.in (__GMP_EXTERN_INLINE): Set to "inline" for C++.
           (mpn_add, mpn_sub): Use new style __GMP_EXTERN_INLINE.
           * gmp-h.in, mp-h.in, gmp-impl.h (_EXTERN_INLINE): Remove, unused.
           * mpn/generic/add.c, mpn/generic/sub.c: New files.
           * mpn/generic/inlines.c: Remove file.
           * configure.in, mpn/Makefile.am: Update.
   
           * gmp.texi (GMP Basics): Note the need for stdio.h to get FILE
           prototypes.
   
   2001-07-01  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options, Reentrancy): Updates for new
           --enable-alloca behaviour.
           (Debugging): Describe --enable-alloca=debug.
           (Miscellaneous Integer Functions): Note mpz_sizeinbase ignores signs.
           (Low-level Functions): Give a formula for mpn_gcdext cofactor.
           (Factorial Algorithm): New section.
           (Binomial Coefficients Algorithm): New section.
           Misc tweaks elsewhere.
   
           * mpf/set_prc.c: Merge the two truncation conditionals, misc cleanups,
           no functional changes.
   
           * mpn/*/gmp-mparam.h (DIVEXACT_1_THRESHOLD): Add tuned values.
           * gmp-impl.h (DIVEXACT_1_THRESHOLD): Make the default 0 when
           2*UMUL_TIME < UDIV_TIME.
   
           * mpn/x86/p6/dive_1.asm: New file.
   
           * mpn/x86/dive_1.asm: New file.
           * mpn/x86/gmp-mparam.h (DIVEXACT_1_THRESHOLD): Use it always.
   
           * tests/refmpn.c, tests.h (refmpn_zero): New function.
           * tests/devel/try.c: Use it.
   
           * tests/refmpn.c (refmpn_sb_divrem_mn): Use refmpn_cmp, not mpn_cmp.
   
           * tests/mpf/t-get_d.c (main): Use || not |.
   
           * tests/misc.c, tests/t-modlinv.c, tests/mpq/t-get_str.c,
           tests/mpf/reuse.c: Add string.h.
   
   2001-06-29  Kevin Ryde  <kevin@swox.se>
   
           * tune/speed.h (SPEED_ROUTINE_MPN_FIB2_UI,
           SPEED_ROUTINE_COUNT_ZEROS_C): Corrections to TMP block handling.
   
           * gmp-impl.h (MPN_TOOM3_MUL_N_MINSIZE, MPN_TOOM3_SQR_N_MINSIZE):
           Corrections to these to account for adding tD into E.
           (MPN_INCR_U, MPN_DECR_U) [WANT_ASSERT]: Add size
           assertions, since mpn_add_1 and mpn_sub_1 from gmp.h don't get them.
           (MPN_DIVREM_OR_DIVEXACT_1): Add an assert of no remainder.
   
           * assert.c: Add stdlib.h for abort prototype.
           * tests/spinner.c, trace.c, t-constants.c, t-count_zeros.c,
           t-gmpmax.c, t-modlinv.c: Ditto.
           * tests/mpz/t-bin.c, t-cmp.c, t-get_si.c, t-misc.c, t-popcount.c,
           t-set_str.c, t-sizeinbase.c: Ditto.
           * tests/mpq/t-equal.c, t-get_str.c, t-set_f.c, t-set_str.c: Ditto.
           * tests/mpf/t-fits.c, t-get_d.c, t-get_si.c, t-int_p.c, t-misc.c,
           t-trunc.c: Ditto.
           * tests/mpbsd/allfuns.c, t-misc.c: Ditto.
   
           * mpn/generic/mul_n.c, mpz/cfdiv_r_2exp.c: Use MPN_INCR_U rather than
           mpn_incr_u.
   
           * tests/devel/try.c (TYPE_SB_DIVREM_MN): More fixes for calling method.
   
           * mpn/x86/k6/cross.pl: More insn exceptions.
   
   2001-06-23  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (__GMPN_ADD_1, __GMPN_SUB_1) [i386]: Fix some asm output
           constraints.
   
           * gmp-impl.h (modlimb_invert): Mask after shifting, so mask constant
           fits a signed byte.
   
           * tests/devel/try.c (TYPE_SB_DIVREM_MN): Fix initial fill of quotient
           with garbage.
   
   2001-06-20  Kevin Ryde  <kevin@swox.se>
   
           * config.guess (rs6000-*-aix4* | powerpc-*-aix4*): Suppress error
           messages if $CC_FOR_BUILD or program don't work.
   
           * mpz/sqrt.c,sqrtrem.c: Special case for op==0, to avoid TMP_ALLOC(0).
           * tests/refmpf.c (refmpf_add, refmpf_sub): Avoid TMP_ALLOC(0).
   
           * tests/mpn/t-aors_1.c: New file.
           * tests/mpn/Makefile.am: Add it.
   
           * gmp-h.in (__GMPN_ADD_1, __GMPN_SUB_1): New macros, rewrite of
           mpn_add_1 and mpn_sub_1, better code for src==dst and/or n==1,
           separate versions for gcc x86, gcc generic, and non-gcc.
           (mpn_add_1, mpn_sub_1): Use them.
           (mpn_add, mpn_sub): Ditto, to get inlines on all compilers.
           (extern "C") [__cplusplus]: Let this encompass the extern inlines too.
           * mpn/generic/add_1.c,sub_1.c: New files, force code from gmp.h.
           * configure.in, mpn/Makefile.am: Add them.
   
           * acinclude.m4 (GMP_ASM_LSYM_PREFIX): AC_SUBST __GMP_LSYM_PREFIX
           rather than AC_DEFINE LSYM_PREFIX.
           * gmp-h.in (__GMP_LSYM_PREFIX): New substitution.
           (__GMP_ASM_L): New macro.
           * gmp-impl.h (ASM_L): Use it.
   
           * acinclude.m4, configure.in (GMP_C_ATTRIBUTE_MALLOC): New macro.
           * gmp-impl.h: Use it for all the malloc based TMP_ALLOCs.
   
           * stack-alloc.h: Remove file.
           * tal-reent.c: New file.
           * Makefile.am: Update.
   
           * acinclude.m4, configure.in (GMP_OPTION_ALLOCA): New macro, add
           malloc-reentrant method, use stack-alloc.c as malloc-notreentrant,
           make "reentrant" the default.
           * gmp-impl.h (__TMP_ALIGN): Moved from stack-alloc.c, use a union to
           determine the value, and demand only 4 bytes align on 32-bit systems.
           * gmp-impl.h (WANT_TMP_NOTREENTRANT): Move global parts of
           stack-alloc.h to here, allow non power-of-2 __TMP_ALIGN in TMP_ALLOC.
           * gmp-impl.h: Extend extern "C" to TMP_ALLOC declarations.
           * stack-alloc.c (tmp_stack): Move private parts of stack-alloc.h to
           here, use gmp-impl.h.
   
           * gmp-impl.h (TMP_ALLOC_LIMBS_2): New macro.
           * mpz/fib_ui.c, mpz/jacobi.c, mpq/cmp.c, mpn/generic/fib2_ui.c: Use it.
   
           * mpfr/exp2.c: Patch by Paul to match TMP_MARK and TMP_FREE in loop.
           * mpfr/sqrt.c: Scope nested TMP_DECL into nested { } block, patch by
           Paul, tweaked by me.
           * mpfr/agm.c: Ditto, and add a final TMP_FREE(marker2).
   
           * gmp-h.in (mpn_cmp): Add __GMP_ATTRIBUTE_PURE.
   
           * INSTALL: Clarify "make install", tweak formatting a bit.
   
   2001-06-17  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, Makefile.am, gmp-impl.h: Add a debugging TMP_ALLOC,
           selected with --enable-alloca=debug.
           * tal-debug.c: New file.
           * configure.in, Makefile.am: Compile stack-alloc.c only for
           --disable-alloca.
           * assert.c (__gmp_assert_header): New function, split from
           __gmp_assert_fail.
   
           * mpz/lcm.c: Don't TMP_MARK and then just return. Remove unnecessary
           _mpz_realloc prototype.
   
           * mpn/generic/mul.c (mpn_sqr_n): Use __gmp_allocate_func for toom3
           temporary workspace.
   
   2001-06-15  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpz/t-set_f.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/set_f.c: Share MPN_COPY between pad and trunc cases, do exp<=0
           test earlier, store SIZ(w) earlier.
   
           * tests/t-count_zeros.c: New file.
           * tests/t-gmpmax.c: New file.
           * tests/Makefile.am (check_PROGRAMS): Add them.
   
           * mp_clz_tab.c: Compile the table only if longlong.h says it's needed;
           add an internal-use-only comment.
           * tune/common.c: Force a __clz_tab for convenience when testing.
   
           * mpn/x86/pentium/gmp-mparam.h, mpn/x86/pentium/mmx/gmp-mparam.h: Add
           COUNT_LEADING_ZEROS_NEED_CLZ_TAB, for mod_1.asm.
   
           * longlong.h (count_leading_zeros) [pentium]: Decide to go with float
           method for p54.
           (count_leading_zeros) [alpha]: Add COUNT_LEADING_ZEROS_NEED_CLZ_TAB.
           (__clz_tab): Provide a prototype only if it's needed.
   
           * tests/trace.c (mpz_trace): Don't use = on structures.
           (mpn_trace): Set _mp_alloc when creating mpz.
   
   2001-06-12  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/divrem_1.asm: Amend some comments about P5 speed.
   
           * tune/README: Clarify reconfigure on gmp-mparam.h update.
   
           * mpn/x86/p6/copyd.asm: New file.
           * mpn/x86/p6/README: Update copyd and mod_1.
           * mpn/x86/copyd.asm: Amend some comments.
   
           * gmp-impl.h (__builtin_constant_p): Add dummy for non-gcc.
           (mpn_incr_u, mpn_decr_u): Recognise incr==1 at compile time in the
           generic code on gcc.
   
           * gmp-impl.h (ASSERT_ZERO_P, ASSERT_MPN_NONZERO_P): New macros.
           * mpn/generic/gcd_1.c, mpn/generic/mul_fft.c: Use them.
           * mpz/get_d.c: Add a private mpn_zero_p.
           * mpfr/trunc.c: Use own mpn_zero_p.
           * tune/speed.h (SPEED_ROUTINE_MPN_GCD_1N): Use refmpn_zero_p.
           * gmp-impl.h (mpn_zero_p): Remove, no longer needed.
   
           * gmp-h.in, gmp-impl.h: Move MPN_CMP to gmp.h as __GMPN_CMP, leave an
           MPN_CMP alias in gmp-impl.h.
           * gmp-h.in (mpn_cmp): Add an inline version.
           * mpn/generic/cmp.c: Use __GMP_FORCE_mpn_cmp to get code from gmp.h.
   
           * acinclude.m4 (GMP_C_ATTRIBUTE_MODE): New macro.
           * configure.in: Call it.
           * gmp-impl.h (SItype etc): Use it.
   
           * randraw.c (lc): Change mpn_mul_basecase->mpn_mul,
           mpn_incr_u->MPN_INCR_U, abort->ASSERT_ALWAYS(0).
   
           * longlong.h (count_leading_zeros) [pentiumpro]: Work around a partial
           register stall on gcc < 3.
   
           * gmp.texi (Introduction to GMP): Add IA-64.
           (Notes for Particular Systems): i386 means generic x86.
   
           * tests/t-modlinv.c: Use tests_start and tests_end.
   
   2001-06-10  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Number Theoretic Functions): mpz_jacobi only defined for b
           odd.  Separate the jacobi/legendre/kronecker descriptions.
           (Low-level Functions): Document mpn_mul_1 "incr" overlaps.
           (Language Bindings): New chapter.
   
           * mpz/jacobi.c: Don't retaining old behaviour of mpz_jacobi on even b
           (it wasn't documented in 3.1.1).
           * mpz/jacobi.c, gmp-h.in (mpz_kronecker, mpz_legendre): Remove
           separate entrypoints, just #define to mpz_jacobi.
           * compat.c (__gmpz_legendre): Add compatibility entrypoint.
   
           * mpn/generic/mul_1.c: Allow "incr" style overlaps.
           * tests/devel/try.c (param_init): Test this.
   
           * mpf/mul_ui.c: Do size==0 test earlier.
   
   2001-06-08  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (ULONG_HIGHBIT, UINT_HIGHBIT, USHRT_HIGHBIT): Cast
           ULONG_MAX etc to unsigned long etc before attempting to right shift.
   
           * acinclude.m4 (GMP_ASM_LSYM_PREFIX): Add an AC_DEFINE of LSYM_PREFIX.
           * gmp-impl.h (ASM_L): New macro.
           (mpn_incr_u, mpn_decr_u, MPN_INCR_U, MPN_DECR_U): Add i386 optimized
           versions.
   
           * mpn/hppa/*.s,S,asm: Use .label so the code works with gas on hppa
           GNU/Linux too, reported by LaMont Jones <lamont@smallone.fc.hp.com>.
           * mpn/hppa/README: Add some notes on this.
           * acinclude.m4 (GMP_ASM_LABEL_SUFFIX): Ditto.
   
           * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add dive_1.c,
           fib2_ui.c.
   
           * tests/mpn/t-iord_u.c: New file.
           * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
   
           * configure.in (mips*-*-irix[6789]*): Make ABI=n32 the default, same
           as in gmp 3.1.
           * gmp.texi (ABI and ISA): Update.
   
           * gmp.texi (Build Options): Misc tweaks.
           (Notes for Particular Systems): Describe windows DLL handling.
           (Known Build Problems): DJGPP needs bash 2.04.
           (Number Theoretic Functions): mpz_invert returns 0<=r<modulus; add
           mpz_fib2_ui, mpz_lucnum_ui, mpz_lucnum2_ui.
           (Fibonacci Numbers Algorithm): Update for new formulas used.
           (Lucas Numbers Algorithm): New section.
   
           * tune/speed.c,speed.h,common.c,many.pl: Add mpn_fib2_ui, mpz_fib2_ui,
           mpz_lucnum_ui, mpz_lucnum2_ui.
           * demos/expr/exprz.c,README: Add lucnum.
           * demos/perl/GMP.pm,GMP.xs,GMP/Mpz.pm,test.pl: Add fib2, lucnum,
           lucnum2.
   
           * tests/mpz/t-lucnum_ui.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
           * tests/mpz/t-fib_ui.c: Check mpz_fib2_ui too, updates for new style
           MPN_FIB2_SIZE.
   
           * tune/tuneup.c, tune/Makefile.am, gmp-impl.h, mpn/*/gmp-mparam.h:
           Remove FIB_THRESHOLD, no longer required.
   
           * mpz/fib2_ui.c, mpz/lucnum_ui.c mpz/lucnum2_ui.c: New files.
           * Makefile.am, mpz/Makefile.am: Add them.
           * gmp-h.in (mpz_fib2_ui, mpz_lucnum_ui, mpz_lucnum2_ui): Add
           prototypes.
   
           * mpn/generic/fib2_ui.c: New file.
           * configure.in (gmp_mpn_functions): Add it.
           * gmp-impl.h (mpn_fib2_ui, FIB_TABLE, etc): Add these.
           * mpz/fib_ui.c: Rewrite.
   
           * acinclude.m4 (GMP_C_SIZES): Fix _LONG_LONG_LIMB define for mp_limb_t
           size test.
           (GMP_FUNC_ALLOCA): Add dummy __GMP_BITS_PER_MP_LIMB for gmp-h.in work.
   
           * configure.in (CPPFLAGS): Remove -D__GMP_WITHIN_GMP, don't want it
           everywhere.
           * Makefile.am, mpn/Makefile.am, mpz/Makefile.am, mpq/Makefile.am,
           mpf/Makefile.am, mpbsd/Makefile.am (INCLUDES): Set -D__GMP_WITHIN_GMP.
   
           * configure.in (*-*-msdosdjgpp*): Forcibly disable shared libraries,
           to make libtests.la work.
   
           * acconfig.h (_LONG_LONG_LIMB, HAVE_MPFR): Remove dummy defines, no
           longer needed.
   
           * mpz/set_ui.c: Store to _mp_d[0] unconditionally.
   
   2001-05-27  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, gmp-h.in, mp-h.in: Add support for windows DLLs.
   
   2001-05-26  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (ABI and ISA, Reentrancy): Minor tweaks
           (Notes for Package Builds): Note gmp.h is a generated file.
           (Notes for Particular Systems): -march=pentiumpro is used for gcc
           2.95.4 and up.
           (Assembler Loop Unrolling): Mention non power-of-2 unrolling.
           (Internals): New chapter.
           * mpf/README: Remove file.
   
           * demos/expr/README: Miscellaneous rewordings.
   
           * demos/perl: New directory.
           * demos/Makefile.am: Add it.
           * demos/perl/INSTALL, Makefile.PL, GMP.pm, GMP.xs, typemap,
           GMP/Mpz.pm, GMP/Mpq.pm, GMP/mpf.pm, GMP/Rand.pm, sample.pl, test.pl:
           New files.
   
           * configure, aclocal.m4: Update to autoconf 2.50.
   
           * configure, aclocal.m4, ltmain.sh: Update to libtool 1.4.
   
           * configure, aclocal.m4, missing, ansi2knr.c, */Makefile.in: Update to
           automake 1.4f.
           * Makefile.am: Conditionalize mpfr in $(SUBDIRS) to handle mpfr.info.
           * mpfr/Makefile.am (INFO_DEPS): Remove previous mpfr.info handling.
           * mpn/Makefile.am (GENERIC_SOURCES): Remove this, just put mp_bases.c
           in libmpn_la_SOURCES.
           * tests/Makefile.am (tests.h): Move from EXTRA_HEADERS to
           libtests_la_SOURCES.
           * ltconfig: Remove file, no longer needed.
   
           * Makefile.am (gmp-impl.h, longlong.h, stack-alloc.h): Move from
           EXTRA_DIST to libgmp_la_SOURCES, so they get included in TAGS.
           * tests/rand/Makefile.am (gmpstat.h): Move to libstat_la_SOURCES
           similarly.
   
           * config.guess (68k-*-*): Use $SHELL not "sh", tweak some comments.
   
           * mpfr/mpfr.texi (Introduction to MPFR): Tweak table formatting, note
           non-free programs must be able to be re-linked.
   
   2001-05-20  Kevin Ryde  <kevin@swox.se>
   
           * mpn/powerpc64/addmul_1.asm,mul_1.asm,submul_1.asm: Add carry-in
           entrypoints.
   
   2001-05-17  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (ge): Fix definition for info.
           (Notes for Particular Systems): Mention 68k dragonball and cpu32.
           (Efficiency): Add static linking, more about in-place operations,
           describe mpq+/-integer using addmul.
           (Reporting Bugs): A couple of words about self-contained reports.
           (Floating-point Functions): Note exponent limitations of mpf_get_str
           and mpf_set_str.
           (Initializing Floats): Clarify mpf_get_prec, mpf_set_prec and
           mpf_set_prec_raw a bit.
           (Float Comparison): Note current mpf_eq deficiencies.
   
           * gmp-h.in (__GMP_HAVE_CONST, __GMP_HAVE_PROTOTYPES,
           __GMP_HAVE_TOKEN_PASTE): Merge GNU ansidecl.h tests for ANSI compilers.
           * demos/expr/expr-impl-h.in: Ditto.
   
           * gmp-impl.h (BITS_PER_MP_LIMB): Define from __GMP_BITS_PER_MP_LIMB if
           not already in gmp-mparam.h.
           * tests/t-constants.c (BITS_PER_MP_LIMB, __GMP_BITS_PER_MP_LIMB):
           Check these are the same.
   
           * gmp-h.in (mpf_get_default_prec, mpf_get_prec, mpf_set_default_prec,
           mpf_set_prec_raw): Provide "extern inline" versions, use __GMPF on the
           macros.
           * mpf/get_dfl_prc.c, mpf/get_prc.c, mpf/set_dfl_prc.c,
           mpf/set_prc_raw.c: Get code from gmp.h using __GMP_FORCE.
   
           * gmp-h.in, gmp-impl.h (__gmp_default_fp_limb_precision): Move from
           gmp-impl.h to gmp-h.in.
           (__GMPF_BITS_TO_PREC, __GMPF_PREC_TO_BITS): Ditto, and use __GMPF
           prefix and add a couple of casts.
           * gmp-h.in (__GMP_MAX): New macro.
           * mpf/init2.c mpf/set_prc.c: Update for __GMPF prefix.
   
           * gmp-h.in (__GMP_BITS_PER_MP_LIMB): New templated define.
           * acinclude.m4 (GMP_C_SIZES): Add AC_SUBST __GMP_BITS_PER_MP_LIMB,
           remove AC_DEFINE BITS_PER_MP_LIMB.
   
   2001-05-13  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in, gmp.texi, Makefile.am, mpz/Makefile.am, tests/mpz/t-pow.c:
           Remove mpz_si_pow_ui, pending full si support.
           * mpz/si_pow_ui.c: Remove file.
   
   2001-05-11  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/dive_1.asm: New file.
   
           * mpn/powerpc32/umul.asm: Use r on registers.
           * mpn/powerpc64/umul.asm: New file.
           * configure.in (powerpc*-*-*): Enable umul in extra_functions.
   
           * tests/refmpn.c, tests/tests.h (refmpn_umul_ppmm): Use same arguments
           as normal mpn_umul_ppmm.
           (refmpn_mul_1c): Update.
           * tests/devel/try.c, tune/many.pl: Add some umul_ppmm testing support.
   
           * mpn/x86/k6/mmx/popham.asm, mpn/x86/k7/mmx/popham.asm: Don't support
           size==0.
           * mpn/x86/pentium/popcount.asm, mpn/x86/pentium/hamdist.asm: Ditto,
           and shave a couple of cycles from the PIC entry code.
   
           * mpz/mul.c: Use mpn_mul_1 for size==1 and mpn_mul_2 (if available)
           for size==2, to avoid copying; do vsize==0 test earlier.
   
           * mpf/sub.c: Test r!=u before calling mpf_set.
           * mpf/add.c: Ditto, and share mpf_set between usize==0 and vsize==0.
   
           * mpn/generic/tdiv_qr.c, mpq/get_d.c, mpf/div.c, mpf/set_q.c,
           mpf/set_str.c, mpf/ui_div.c: Test for high bit set, not for
           count_leading_zeros zero.
   
           * acinclude.m4 (GMP_PROG_AR, GMP_PROG_NM): Print a message if extra
           flags are added.
   
           * tests/mpz/t-mul_i.c: New file.
           * tests/mpz/Makefile.am: Add it.
   
           * mpz/mul_siui.c (mpz_mul_si): Fix for -0x80..00 on long long limb.
   
           * gmp-h.in (mpf_set_si, mpf_set_ui): Revert last change, set exp to 0
           when n==0.
           * mpf/ceilfloor.c, mpf/trunc.c: Fix exp to 0 when setting r to 0.
           * gmp-impl.h (MPF_CHECK_FORMAT): Check exp==0 when size==0.
   
   2001-05-07  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in (mpf_set_si, mpf_set_ui): Don't bother setting _mp_exp to 0
           when n==0 (use 1 unconditionally).
           * tests/mpf/t-misc.c (check_mpf_set_si): Don't demand anything of
           _mp_exp when _mp_size is zero.
   
           * mpn/x86/README: Note gas _GLOBAL_OFFSET_TABLE_ with leal problem.
   
           * gmp-h.in (mpz_fits_uint_p, mpz_fits_ulong_p, mpz_fits_ushort_p):
           Provide these as "extern inline"s.
           (__GMP_UINT_MAX, __GMP_ULONG_MAX, __GMP_USHRT_MAX): New macros.
           (mpz_popcount): Use __GMP_ULONG_MAX.
           * gmp-impl.h (UINT_MAX, ULONG_MAX, USHRT_MAX): Use __GMP_U*_MAX, if
           not already defined.
           * mpz/fits_u.c: Use the code from gmp.h.
   
   2001-05-06  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k7/dive_1.asm: New file.
           * mpn/x86/k7/gcd_1.asm: New file.
           * mpn/asm-defs.m4 (m4_count_trailing_zeros): New macro.
   
           * gmp-h.in (mpz_get_ui, mpz_getlimbn, mpz_set_q, mpz_perfect_square_p,
           mpz_popcount, mpz_size, mpf_set_ui, mpf_set_si, mpf_size): Provide
           these as "extern inlines".
           Use just one big extern "C" block.
           * mpz/getlimbn.c, mpz/get_ui.c, mpz/perfsqr.c, mpz/popcount.c
           mpz/set_q.c, mpz/size.c, mpf/set_si.c, mpf/set_ui.c, mpf/size.c: Use
           __GMP_FORCE to get code from gmp.h.
   
   2001-05-03  Kevin Ryde  <kevin@swox.se>
   
           * extract-dbl.c: Add ASSERT d>=0.
   
           * gmp.texi (Efficiency): Add mpz_addmul etc for mpz+=integer, add
           mpz_neg etc in-place.
           (Integer Arithmetic): Add mpz_addmul, mpz_submul, mpz_submul_ui.
           (Initializing Rationals): Add mpq_set_str.
           (Low-level Functions): mpn_set_str requires strsize >= 1.
   
           * gmp-h.in (__GMP_EXTERN_INLINE, __GMP_ABS): New macros.
           (mpz_abs, mpq_abs, mpf_abs, mpz_neg, mpq_neg, mpf_neg): Provide inline
           versions.
           * mpz/abs.c, mpq/abs.c, mpf/abs.c, mpz/neg.c, mpq/neg.c, mpf/neg.c:
           Add suitable __GMP_FORCE to turn off inline versions.
   
           * tests/mpz/t-aorsmul.c,t-cmp_d.c,t-popcount,t-set_str.c: New files.
           * tests/mpz/Makefile.am: Add them.
   
           * mpz/aorsmul_i.c: New file, rewrite of addmul_ui.c.  Add
           mpz_submul_ui entrypoint, share more code between some of the
           conditionals, use mpn_mul_1c if available.
           * mpz/addmul_ui.c: Remove file.
           * mpz/aorsmul.c: New file.
           * Makefile.am, mpz/Makefile.am: Update.
           * gmp-h.in (mpz_addmul, mpz_submul, mpz_submul_ui): Add prototypes.
           * gmp-impl.h (mpz_aorsmul_1): Add prototype.
   
           * tests/mpq/t-set_str.c: New file.
           * tests/mpq/Makefile.am: Add it.
   
           * mpq/set_str.c: New file.
           * Makefile.am, mpq/Makefile.am: Add it.
           * gmp-h.in (mpq_set_str): Add prototype.
   
           * mpz/set_str.c: Fix for trailing white space on zero, eg. "0 ".
           * mpn/generic/set_str.c: Add ASSERT str_len >= 1.
   
           * gmp-h.in, gmp-impl.h (mpn_incr_u, mpn_decr_u): Move to gmp-impl.h.
           * gmp-impl.h (MPN_INCR_U, MPN_DECR_U): New macros.
   
   2001-04-30  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpz/t-lcm.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/lcm.c: Add one limb special case.
   
           * mpz/lcm_ui.c: New file.
           * Makefile.am, mpz/Makefile.am: Add it.
           * gmp-h.in (mpz_lcm_ui): Add prototype.
           * gmp.texi (Number Theoretic Functions): Add mpz_lcm_ui, document lcm
           now always positive.
   
           * mp-h.in (mp_size_t, mp_exp_t): Fix typedefs to match gmp-h.in.
   
           * gmp-h.in (mpn_add_1, mpn_add, mpn_sub_1, mpn_sub): Remove K&R
           function defines (ansi2knr will handle mpn/inline.c, and just ansi is
           enough for gcc extern inline).
   
           * gmp-h.in (__GMP_HAVE_TOKEN_PASTE): New macro.
           (__MPN): Use it.
           * gmp-impl.h (CNST_LIMB): Ditto.
   
           * gmp-h.in, mp-h.in (__gmp_const, __gmp_signed, _PROTO, __MPN): Use
           ANSI forms on Microsoft C.
           (__GMP_HAVE_CONST): New define.
           * gmp-impl.h (const, signed): Use it.
   
           * demos/expr/expr-impl-h.in (<stdarg.h>): Use this with Microsoft C.
           (HAVE_STDARG): New define.
           * demos/expr/expr.c,exprz.c,exprq.c,exprf.c,exprfr.c: Use it.
   
           * acinclude.m4 (GMP_C_STDARG): New macro.
           * configure.in: Call it.
           * rand.c: Use it.
   
           * configure.in (AC_PROG_CC_STDC): New test.
   
   2001-04-25  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/mmx/dive_1.asm: New file.
           * mpn/x86/x86-defs.m4 (Zdisp): Two more insns.
   
           * mpn/x86/pentium/mul_2.asm: New file.
           * mpn/asm-defs.m4: Add define_mpn(mul_2).
           * acconfig.h (HAVE_NATIVE_mpn_divexact_1, mul_2): Add templates.
   
           * configure.in (ABI): Use AC_ARG_VAR.
   
           * tests/devel/try.c: Run reference function when validate fails.
   
           * mpq/get_str.c: Fixes for negative bases.
           * tests/mpq/t-get_str.c: Check negative bases.
           * tests/misc.c,tests.h (__gmp_allocate_strdup, strtoupper): New
           functions.
   
   2001-04-24  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/lcm.c (mpz_lcm): Make result always positive.
   
           * gmp-h.in (mpz_inp_binary, mpz_out_binary): Remove declarations.
   
   2001-04-22  Kevin Ryde  <kevin@swox.se>
   
           * mpn/powerpc64/addsub_n.asm: Use config.m4 not asm-syntax.m4.
   
           * mpz/cmp_d.c, mpz/cmpabs_d.c: New files.
           * Makefile.am, mpz/Makefile.am: Add them.
           * mpf/cmp_d.c, mpf/get_dfl_prec.c: New files.
           * Makefile.am, mpf/Makefile.am: Add them.
           * gmp-h.in (mpz_cmp_d, mpz_cmpabs_d, mpf_cmp_d, mpf_get_default_prec):
           Add prototypes.
           * gmp.texi: Add documentation.
   
           * mpf/set_prc.c: Avoid a realloc call if already the right precision.
   
           * gmp-impl.h (MPF_BITS_TO_PREC, MPF_PREC_TO_BITS): New macros.
           * mpf/get_prc.c, init2.c, set_dfl_prec.c, set_prc.c, set_prc_raw.c:
           Use them.
   
   2001-04-20  Kevin Ryde  <kevin@swox.se>
   
           * tests/devel/try.c: Don't test size==0 on mpn_popcount and
           mpn_hamdist; add testing for mpn_divexact_1; print some limb values
           with mpn_trace not printf.
   
           * mpz/popcount.c, mpz/hamdist.c: Don't pass size==0 to mpn_popcount
           and mpn_hamdist.
           * mpn/generic/popham.c: Don't support size==0.
   
           * config.guess (m68k-*-*): Detect m68010, return m68360 for cpu32,
           cleanup the nesting a bit.
   
           * gmp.texi (Integer Division): Fix mpz_congruent_2exp_p "c" type.
           (Integer Division): Add mpz_divexact_ui.
           (Number Theoretic Functions): Fix mpz_nextprime return type.
           (Exact Remainder): Divisibility tests now implemented.
           And more index entries in a few places.
   
           * tests/mpz/dive_ui.c: New file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/dive_ui.c: New file.
           * Makefile.am, mpz/Makefile.am: Add it.
           * gmp-h.in (mpz_divexact_ui): Add prototype.
   
           * tune/many.pl, tune/speed.h: Add special mpn_back_to_back for
           development.
   
           * gmp-impl.h (MPN_DIVREM_OR_DIVEXACT_1): New macro.
           * mpz/divexact.c: Use it.
   
           * gmp-impl.h (DIVEXACT_1_THRESHOLD): New threshold.
           * tune/tuneup.c: Tune it.
   
           * tune/speed.c,speed.h,common.c,many.pl: Add measuring of
           mpn_divexact_1, mpn_copyi, mpn_copyd.
   
           * mpn/generic/dive_1.c: New file.
           * configure.in (gmp_mpn_functions): Add it.
           * gmp-impl.h (mpn_divexact_1): Add prototype.
           * mpn/asm-defs.m4: Add define_mpn(divexact_1).
   
           * tests/mpn: New directory.
           * tests/Makefile.am: Add it.
           * tests/mpn/Makefile.am: New file.
           * configure.in (AC_OUTPUT): Add it.
           * tests/mpn/t-asmtype.c: New file.
   
           * configure, config.in: Update to autoconf 2.49d.
   
           * configure.in, gmp-h.in, mp-h.in, demos/expr/expr-impl-h.in: Revert
           to generating gmp.h, mp.h and expr-impl.h with AC_OUTPUT and AC_SUBST.
   
           * configure.in (m68*-*-*): Oops, m683?2 is 68000, m68360 is cpu32.
           * mpn/m68k/m68k-defs.m4 (scale_available_p): Ditto.
   
           * configure.in (underscore, asm_align): Remove these variables, unused.
           (GMP_ASM_*): Sort by AC_REQUIREs, to avoid duplication.
           * acinclude.m4 (GMP_ASM_UNDERSCORE, GMP_ASM_ALIGN_LOG): Remove support
           for actions, no longer needed.
   
   2001-04-17  Kevin Ryde  <kevin@swox.se>
   
           * config.guess (m68k-*-*): Look for cpu in linux kernel /proc/cpuinfo.
   
           * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): The -mpentiumpro problem is
           fixed in 2.95.4, so test for that.
           (GMP_ASM_TYPE): Amend some comments.
   
           * tune/freq.c (speed_cpu_frequency_sysctl): Avoid having unused
           variables on GNU/Linux.
   
           * mpn/asm-defs.m4 (m4_instruction_wrapper): Fix a quoting problem if
           the name of the file is a macro.
   
   2001-04-15  Kevin Ryde  <kevin@swox.se>
   
           * mpn/powerpc64/*.asm: Add speeds on ppc630.
   
           * acconfig.h: Add dummy templates for _LONG_LONG_LIMB and HAVE_MPFR.
           * configure.in: Ensure config.in is the last AM_CONFIG_HEADER,
           which autoheader requires.
   
           * mpn/x86/pentium/popcount.asm: New file.
           * mpn/x86/pentium/hamdist.asm: New file.
   
           * mpn/asm-defs.m4: (m4_popcount): New macro.
           Amend a few comments elsewhere.
   
           * acinclude.m4 (GMP_ASM_RODATA): If possible, grep compiler output for
           the right directive.
   
           * tune/speed.c: Print clock speed in MHz, not cycle time.
   
           * configure.in (AC_CHECK_HEADERS): Check for sys/processor.h.
           * tune/freq.c (speed_cpu_frequency_processor_info): Require
           <sys/processor.h> to exist, to differentiate the different
           processor_info on Darwin.
           (speed_cpu_frequency_sysctlbyname): Remove hw.model test which is in
           speed_cpu_frequency_sysctl.
           (speed_cpu_frequency_sysctl): Add hw.cpufrequency for Darwin.
   
           * gmp-impl.h (MPN_LOGOPS_N_INLINE, mpn_and_n ... mpn_xnor_n): Use a
           single expression argument for the different operations, necessary for
           the Darwin "smart" preprocessor.
   
           * mpn/m68k/t-m68k-defs.pl: Allow white space in m4_definsn and
           m4_defbranch.
   
           * tune/many.pl: Change RM_TMP_S to RM_TMP to match mpn/Makeasm.am,
           avoid a possibly undefined array in a diagnostic, add more renaming to
           hamdist.
   
   2001-04-13  Kevin Ryde  <kevin@swox.se>
   
           * ltmain.sh, aclocal.m4, configure, config.in: Update to libtool 1.3d.
           * configure.in: Change ac_ to lt_ in lt_cv_archive_cmds_need_lc and
           lt_cv_proc_cc_pic.
   
           * config.guess (m68*-*-*): Detect exact cpu with BSD sysctl hw.model,
           detect 68000/68010 with trapf, detect 68302 with bfffo.
   
   2001-04-11  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_ASM_M68K_INSTRUCTION, GMP_ASM_M68K_ADDRESSING,
           GMP_ASM_M68K_BRANCHES): New macros.
           * configure.in: Use them, remove old 68k configs, use mc68020 udiv and
           umul.
   
           * mpn/m68k/m68k-defs.m4: New file.
           * mpn/m68k/t-m68k-defs.pl: New file.
           * mpn/m68k/*.asm: New files, converted from .S.  Merge add_n and sub_n
           to aors_n, ditto mc68020 addmul_1 and submul_1 to aorsmul_1.  No
           object code changes (except .type and .size now used on NetBSD 1.4).
           * mpn/m68k/README: New file.
           * mpn/m68k/*.S, */*.S, syntax.h: Remove files.
   
           * configure.in (m68*-*-netbsd1.4*): Pretend getrusage doesn't exist.
           * tune/README: Update.
   
           * configure.in (powerpc*-*-*): For the benefit of Darwin 1.3, add cc
           to cclist, make gcc_cflags -Wa,-mppc optional.
   
   2001-04-06  Kevin Ryde  <kevin@swox.se>
   
           * mpn/lisp/gmpasm-mode.el (gmpasm-comment-start-regexp): Add | for 68k.
           (gmpasm-mode-syntax-table): Add to comments.
   
           * tests/mpz/reuse.c (dsi_div_func_names): Add names for cdiv_[qr]_2exp.
   
   2001-04-04  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_M4_M4WRAP_SPURIOUS): Fix test so as to actually
           detect the problem, add notes on m68k netbsd 1.4.1.
   
           * gmp.texi (Compatibility with older versions): Note libmp
           compatibility.
   
   2001-04-03  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpz/reuse.c: Add mpz_cdiv_q_2exp and mpz_cdiv_r_2exp.
   
           * tests/mpz/t-pow.c: Drag in refmpn.o when testing mpz_pow_ui etc with
           refmpn_mul_2.
   
           * tune/speed.c,speed.h,common.c,many.pl: Add measuring of mpn_com_n
           and mpn_mul_2.
           * tests/devel/try.c: Add testing of mpn_mul_2, and a
           DATA_MULTIPLE_DIVISOR attribute.
   
           * gmp.texi (Build Options): List more m68k's.
           (Build Options): Add cross reference to tex2html.
           (Notes for Particular Systems): Add m68k means 68020 or up.
           (Rational Conversions): New section, with mpq_get_d, mpq_set_d and
           mpq_set_f from Miscellaneous, and new mpq_set_str.
           (Applying Integer Functions): Move mpq_get_num, mpq_get_den,
           mpq_set_num and mpq_set_den from Misc.
           (Miscellaneous Rational Functions): Remove section.
           (Custom Allocation): Partial rewrite for various clarifications.
           (References): Improve line breaks near URLs.
   
           * acinclude.m4 (GMP_GCC_M68K_OPTIMIZE): New macro.
           * configure.in (m68*-*-*): Use it to run gcc 2.95.x at -O not -O2.
           (m680?0-*-*, m683?2-*-*, m68360-*-*): Add optional gcc -m options.
   
           * tests/mpz/t-cmp.c: New file.
           * tests/mpz/t-sizeinbase.c: New file.
           * tests/mpz/Makefile.am: Add them.
   
           * gmp-impl.h (MPN_CMP): New macro.
           * mpz/cmp.c,cmpabs.c: Use it, and minor cleanups too.
   
           * tests/mpq/t-equal.c: New file.
           * tests/mpq/t-get_str.c: New file.
           * tests/mpq/Makefile.am: Add them.
   
           * mpq/get_str.c: New file.
           * Makefile.am, mpq/Makefile.am: Add it.
           * gmp-h.in (mpq_get_str): Add prototype.
   
           * mpq/equal.c: Rewrite using inline compare loops.
   
           * tests/refmpn.c,tests.h (refmpn_mul_2): Fix parameter order.
           * mpz/n_pow_ui.c: Fix mpn_mul_2 calls parameter order.
   
   2001-03-29  Kevin Ryde  <kevin@swox.se>
   
           * tests/mpf/t-trunc.c: New file.
           * tests/mpf/Makefile.am (check_PROGRAMS): Add it.
           * gmp-impl.h (MPF_CHECK_FORMAT): New macro.
   
           * mpf/trunc.c: New file, rewrite of integer.c, preserve prec+1 in
           copy, don't copy if unnecessary.
           * mpf/ceilfloor.c: New file likewise, and use common subroutine for
           ceil and floor.
           * mpf/integer.c: Remove file.
           * Makefile.am, mpf/Makefile.am, macos/Makefile.in: Update.
   
           * acinclude.m4 (GMP_GCC_VERSION_GE): New macro.
           (GMP_GCC_MARCH_PENTIUMPRO): Use it, remove CCBASE parameter (don't
           bother checking it's gcc).
           (GMP_GCC_ARM_UMODSI): New macro.
           * configure.in (GMP_GCC_MARCH_PENTIUMPRO): Update parameters.
           (arm*-*-*): Use GMP_GCC_ARM_UMODSI.
           * gmp.texi (Notes for Particular Systems): Add arm gcc requirements.
   
   2001-03-28  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Converting Integers): Document mpz_getlimbn using absolute
           value and giving zero for N out of range, move to end of section.
   
           * tests/refmpn.c (refmpn_tdiv_qr): Use refmpn_divmod_1 rather than
           refmpn_divrem_1.
           * tests/tests.h: Add some prototypes that were missing.
   
           * mpz/tdiv_q_ui.c: Remove a comment that belonged to mpz_tdiv_r_ui.
   
   2001-03-26  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/gcdext.c: Handle carry overflow after m*n multiply code
           in both arms.  Partially combine multiply arms.
   
   2001-03-24  Kevin Ryde  <kevin@swox.se>
   
           * longlong.h: Add comments to P5 count_leading_zeros.
   
           * demos/expr/exprz.c,t-expr.c,README: Add congruent_p and divisible_p.
   
   2001-03-23  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (GMPceil, GMPfloor, ge, le): New macros.
           (Integer Division, mpn_cmp, mpn_sqrtrem, Algorithms): Use them.
           (mpn_bdivmod): Refer to mp_bits_per_limb, not BITS_PER_MP_LIMB, and
           improve formatting a bit.
           (mpn_lshift, mpn_rshift): Clarify the return values, and use {rp,n}
           for the destination.
           Miscellaneous minor rewordings in a few places.
   
           * mpn/arm/arm-defs.m4: New file.
           * configure.in (arm*-*-*): Use it.
           * mpn/arm/*.asm: Use changecom and registers from arm-defs.m4, use L()
           for local labels.
   
           * mpn/x86/k6/mmx/com_n.asm: Relax code alignment (same speed).
   
           * gmp-h.in (__GMP_ATTRIBUTE_PURE): Use __pure__ to avoid application
           namespace.
   
           * gmp-impl.h (ABS): Add parens around argument.
   
   2001-03-20  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_PROG_M4): Use AC_ARG_VAR on $M4.
   
           * acinclude.m4 (GMP_M4_M4WRAP_SPURIOUS): New macro.
           * configure.in: Use it.
           * mpn/asm-defs.m4: Ditto.
   
   2001-03-18  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/logops_n.asm: New file.
   
           * mpn/x86/k6/k62mmx/copyd.asm: Rewrite, smaller and simpler, faster on
           small sizes, slower on big sizes (about half the time).
           * mpn/x86/k6/k62mmx/copyi.asm: Remove file, in favour of generic x86.
           * mpn/x86/copyi.asm: Add some comments.
           * mpn/x86/k6/README: Update.
   
           * mpn/x86/k6/gcd_1.asm: New file.
   
           * gmp-impl.h (NEG_MOD): Fix type of __dnorm.
   
           * acinclude.m4 (GMP_C_SIZES): Fix use of __GMP_WITHIN_CONFIGURE.
   
   2001-03-15  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (GMPabs): New macro.
           (Float Comparison - mpf_reldiff): Use it.
           (Integer Comparisons - mpz_cmpabs): Ditto, puts "abs" in info.
           (Reentrancy): Update notes on old random functions.
           (Karatsuba Multiplication): Better characterize the effect of basecase
           speedups on the thresholds, pointed out by Torbjorn.
   
           * tune/README: Notes on the 1x1 div threshold for mpn_gcd_1.
   
           * tests/misc.c (mpz_pow2abs_p, mpz_flipbit, mpz_errandomb,
           mpz_errandomb_nonzero, mpz_negrandom): New functions.
           (mpz_erandomb, mpz_erandomb_nonzero): Use urandom().
           * tests/spinner.c (spinner_wanted, spinner_tick): Make global.
           * tests/tests.h: Update prototypes.
   
           * tests/mpz/t-cong.c, tests/mpz/t-cong_2exp.c: New files.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add them.
   
           * mpz/cong.c, mpz/cong_2exp.c, mpz/cong_ui.c: New files.
           * Makefile.am, mpz/Makefile.am: Add them.
           * gmp-impl.h (NEG_MOD): New macro.
           * gmp-h.in (mpz_congruent_p, mpz_congruent_2exp_p,
           mpz_congruent_ui_p): Add prototypes.
           * gmp.texi (Integer Division, Efficiency): Add documentation.
   
           * mpq/aors.c: No need for ABS on denominator sizes.
   
           * gmp-impl.h (mpn_divisible_p): Use __MPN.
   
           * gmp-impl.h (LOW_ZEROS_MASK): New macro.
           * mpz/divis_ui.c, mpn/generic/divis.c: Use it.
   
           * mpz/setbit.c: Fix normalization for case of a negative ending up
           with a zero high limb.
           * tests/mpz/bit.c (check_single): New test for this problem.
   
           * configure.in (none-*-*): Fix cclist for default ABI=long.
   
   2001-03-10  Kevin Ryde  <kevin@swox.se>
   
           * mpz/cfdiv_q_2exp.c: Don't scan for non-zero limbs if they don't
           matter to the rounding.
   
           * mpz/get_ui.c: Fetch _mp_d[0] unconditionally, so the code can come
           out branch-free.
   
   2001-03-08  Kevin Ryde  <kevin@swox.se>
   
           * tests/devel/try.c (param_init): Fix reference functions for and_n
           and nand_n.
   
           * tune/speed.c, tests/devel/try.c: Seed RANDS, not srandom etc.
           * configure.in (AC_CHECK_FUNCS): Remove srand48 and srandom.
           * macos/configure (coptions): Remove random/srandom, now unnecessary.
   
           * configure.in (gmp.h, mp.h, demos/expr/expr-impl.h): Generate using
           AM_CONFIG_HEADER.
           (_LONG_LONG_LIMB, HAVE_MPFR): Change to AC_DEFINEs.
           * gmp-h.in, mp-h.in, demos/expr/expr-impl-h.in: Change to #undef's.
           * acinclude.m4 (GMP_FUNC_ALLOCA, GMP_C_SIZES): Use gmp-h.in, not gmp.h.
           * Makefile.am (EXTRA_DIST): Remove gmp-h.in and mp-h.in, now done
           automatically.
           * acinclude.m4 (GMP_FUNC_ALLOCA), gmp-impl.h: Set and use
           __GMP_WITHIN_CONFIGURE rather than GMP_FUNC_ALLOCA_TEST.
   
           * mpf/random2.c: Use _gmp_rand and RANDS instead of random() for the
           exponent, ensures full range of values too.
   
           * tests/mpz/t-div_2exp.c (check_various): Start with d based on i, but
           don't let it go negative.
   
           * tune/tuneup.c (KARATSUBA_MUL_THRESHOLD): Limit probing to
           TOOM3_MUL_THRESHOLD_LIMIT, the size of the workspace in mul_n.c.
           Use a -1 with this too, so size<LIMIT not <=.
   
   2001-03-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/cfp/mul_1.c: Don't call mpn_add_n with size 0.
           * mpn/cray/cfp/addmul_1.c: Likewise.
           * mpn/cray/cfp/submul_1.c: Don't call mpn_sub_n with size 0.
   
           * tests/mpz/t-div_2exp.c (check_various): Start 2nd d loop from 0
           (avoid problems with Cray compilers).
   
   2001-03-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/ieee/submul_1.c: Don't call mpn_sub_n with size 0.
   
           * mpn/cray/ieee/mul_basecase.c: New file.
           * mpn/cray/ieee/sqr_basecase.c: New file, derived from mul_basecase.c.
   
   2001-03-06  Kevin Ryde  <kevin@swox.se>
   
           * tests/devel/try.c (pointer_setup): Allow dst_size == SIZE_SIZE2 for
           the benefit of mpn_tdiv_qr.
   
           * tune/tuneup.c (all): Start karatsuba probing at size==4, for the
           benefit of cray t90 ieee which has speed oddities at size==2.
   
           * gmp-impl.h (USE_LEADING_REGPARM): Use __GMP_GNUC_PREREQ.
           Use __GMP_ATTRIBUTE_PURE and ATTRIBUTE_CONST in a few places.
   
           * gmp-h.in (__GMP_GNUC_PREREQ) New macro.
           (__GMP_ATTRIBUTE_PURE): New macro, use it in many places.
   
           * gmp-impl.h, gmp-h.in (mpn_jacobi_base): Move prototype to
           gmp-impl.h, use ATTRIBUTE_CONST.
   
           * tune/speed.h (speed_cyclecounter): Inline asm version for i386.
   
           * mpz/cfdiv_r_2exp.c (cfdiv_r_2exp): Only reread "up" after second
           realloc, first is under w!=u.
   
   2001-03-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/sub_n.c: Rewrite using `majority' logic.
   
           * mpz/cfdiv_r_2exp.c (cfdiv_r_2exp): Reread `up' after realloc of w.
   
           * mpn/cray/ieee/mul_1.c: Rewrite.  Streamline multiplications;
           use `majority' logic.
           * mpn/cray/ieee/addmul_1.c: Likewise.
   
           * mpn/cray/add_n.c: Rewrite using `majority' logic.
   
   2001-03-04  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (CRAY udiv_qrnnd): No longer conditional on CRAYMPP.
           (64-bit hppa add_ssaaaa): New.
           (64-bit hppa sub_ddmmss): New.
   
           * mpn/cray/ieee/invert_limb.c: New file.
   
           * gmp-impl.h (RANDS): Add a `,0' to make it compile on more compilers.
   
   2001-03-03  Kevin Ryde  <kevin@swox.se>
   
           * mpz/n_pow_ui.c (ULONG_PARITY): Move to gmp-impl.h.
           * gmp-impl.h (ULONG_PARITY): i386 part from n_pow_ui.c, new generic
           form by Torbjorn.
   
           * tests/mpz/t-div_2exp.c: New file, rewrite of t-2exp.c.
           * tests/mpz/t-2exp.c: Remove file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Update.
   
           * gmp-h.in (mpz_cdiv_q_2exp, mpz_cdiv_q_2exp): Add prototypes.
           * gmp.texi (Integer Division): Add mpz_cdiv_q_2exp and mpz_cdiv_q_2exp.
   
           * mpz/cfdiv_q_2exp.c: New file, partial rewrite of fdiv_q_2exp.c, add
           mpz_cdiv_q_2exp entrypoint.
           * mpz/cfdiv_r_2exp.c: New file, rewrite of fdiv_r_2exp.c, use all mpn,
           add mpz_cdiv_r_2exp entrypoint.
           * mpz/fdiv_q_2exp.c, mpz/fdiv_r_2exp.c: Remove files.
           * mpz/Makefile.am (libmpz_la_SOURCES): Update.
           * Makefile.am (MPZ_OBJECTS): Ditto.
   
           * gmp-impl.h (USE_LEADING_REGPARM): Use __i386__ same as longlong.h
           (REGPARM_2_1, REGPARM_3_1, REGPARM_ATTR): New macros.
           * mpz/jacobi.c (jac_or_kron): Use them.
   
           * configure.in (HAVE_ABI_$ABI): Re-enable this for config.m4, with
           dots changed to underscores (necessary for hppa).
   
           * tests/mpz/t-divis.c, tests/mpz/t-divis_2exp.c: New files.
           * tests/mpz/Makefile.am (check_PROGRAMS): Add them.
   
           * gmp-h.in (mpz_divisible_p, mpz_divisible_ui_p,
           mpz_divisible_2exp_p): Add prototypes.
           * gmp.texi (Integer Division): Add mpz_divisible_p.
           (Efficiency): Add remarks about divisibility testing.
   
           * mpz/divis.c, mpz/divis_ui.c, mpz/divis_2exp.c: New files.
           * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
           * Makefile.am (MPZ_OBJECTS): Ditto.
   
           * mpn/generic/divis.c: New file.
           * configure.in (gmp_mpn_functions): Add it.
           * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Ditto.
           * gmp-impl.h (mpn_divisible_p): Add prototype.
   
           * urandom.h: Remove file.
           * Makefile.am (EXTRA_DIST): Remove it.
   
           * tests/mpz/convert.c, dive.c, io.c, logic.c, reuse.c, t-2exp.c,
           t-fdiv.c, t-fdiv_ui.c, t-gcd.c, t-jac.c, t-mul.c, t-pow.c,
           t-powm.c, t-powm_ui.c, t-root.c, t-sqrtrem.c, t-tdiv.c,
           t-tdiv_ui.c: Use RANDS, initialized by tests_rand_start.
   
           * tests/mpz/t-pow.c: New file, being t-pow_ui renamed and with some
           further tests added.
           * tests/mpz/t-pow_ui.c: Remove file.
           * tests/mpz/Makefile.am (check_PROGRAMS): Update.
   
           * tests/t-modlinv.c: Don't use urandom.h.
           * tests/mpz/bit.c, tests/mpz/t-scan.c: Ditto.
           * tests/mpq/t-cmp.c, tests/mpq/t-cmp_ui.c, tests/mpq/t-get_d.c: Ditto.
           * tests/mpf/reuse.c, t-add.c, t-conv.c, t-dm2exp.c, t-muldiv.c,
           t-sqrt.c, t-sub.c: Ditto.
   
           * tests/misc.c (tests_rand_start, tests_rand_end): New functions.
           (tests_start, tests_end): Use them.
           (urandom): New function.
           * tests/tests.h: Add prototypes.
   
           * mpz/random.c: Rewrite using mpz_urandomb and RANDS.
           * mpn/generic/random.c: Rewrite using _gmp_rand and RANDS.
           * mpn/generic/random2.c: Use RANDS not random() etc.
   
           * gmp-impl.h (__gmp_rands, __gmp_rands_initialized): Add externs.
           (gmp_randstate_ptr): New typedef.
           (RANDS, RANDS_CLEAR): New macros.
   
           * rands.c: New file.
           * Makefile.am (libgmp_la_SOURCES): Add it.
   
           * configure.in (mpn_objs_in_libmp): New AC_SUBST.
           * Makefile.am (libmp_la_DEPENDENCIES): Use it.
   
   2001-03-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64/udiv_qrnnd.asm: New file.
   
   2001-03-01  Kevin Ryde  <kevin@swox.se>
   
           * mpbsd/rpow.c: New file.
           * mpbsd/Makefile.am (libmpbsd_la_SOURCES): Add it
           (nodist_libmpbsd_la_SOURCES): Remove pow_ui.c.
           * Makefile.am (MPBSD_OBJECTS): Add rpow.lo, remove pow_ui.lo.
           (libmp_la_DEPENDENCIES): Add mpz/n_pow_ui.lo.
   
           * mpz/ui_pow_ui.c: Rewrite using mpz_n_pow_ui.
           * mpz/pow_ui.c: Ditto, and no longer provide rpow for mpbsd.
   
           * mpz/n_pow_ui.c: New file, rewrite of pow_ui.c and ui_pow_ui.c.  Use
           less temporary memory, strip factors of 2 from the base, use mpn_mul_2
           if available.
           * mpz/si_pow_ui.c: New file.
           * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
           * Makefile.am (MPZ_OBJECTS): Ditto.
           * gmp-impl.h (mpz_n_pow_ui): Add prototype.
           * gmp-h.in (mpz_si_pow_ui): Add prototype.
           * gmp.texi (Integer Exponentiation): Add mpz_si_pow_ui.
   
           * acinclude.m4 (GMP_C_SIZES): Add BITS_PER_ULONG.
           Correction to mp_limb_t working check.
           * configure.in (limb_chosen): New variable.
           * tests/t-constants.c (BITS_PER_ULONG): Check this value.
           Add some reminders about tests that fail on Cray.
   
           * tests/refmpn.c (refmpn_mul_2): New function.
           * tests/refmpz.c (refmpz_pow_ui): Copied from tests/mpz/t-pow_ui.c
           * tests/tests.h: Add prototypes.
   
           * configure.in (none-*-*): Add ABI=longlong.
           * doc/configuration (Long long limb testing): Describe it.
   
           * gmp.texi (Low-level Functions): Move some commented out remarks ...
           * mpn/generic/mul_basecase.c: ... to here.
   
           * mpn/x86/README: Note "%=" as an alternative to "1:" in __asm__.
   
           * tests/trace.c (mp_trace_start): Print "bin" for binary.
   
           * mpn/generic/dump.c: Add a couple of casts to keep gcc quiet.
   
           * gmp-h.in (mpn_incr_u, mpn_decr_u): Add parens around arguments.
   
           * mpbsd/mout.c, mpbsd/mtox.c (num_to_text): Remove unused variable.
   
           * mpfr/set_d.c (mpfr_get_d2): Declare "q" for 64-bit limbs.
   
   2001-02-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64w/udiv_qrnnd.asm: Tune.
   
   2001-02-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64w/udiv_qrnnd.asm: New file.
   
   2001-02-26  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (arm): Optimize sub_ddmmss by testing for constant
           operands.
           * mpn/arm/invert_limb.asm: New file.
   
   2001-02-24  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/lshift.c: Rewrite.
           * mpn/generic/rshift.c: Rewrite.
   
           * longlong.h: Use UWtype for external interfaces that expect mp_limb_t.
   
           * longlong.h (arm): #define invert_limb.
   
           * mpn/arm: Make labels have local scope.
   
           * configure.in (arm*-*-*): Set extra_functions.
           * longlong.h (arm): #define udiv_qrnnd.
           * mpn/arm/udiv.asm: New file.
   
   2001-02-24  Kevin Ryde  <kevin@swox.se>
   
           * tune/many.pl: Add mpn_count_leading_zeros, mpn_count_trailing_zeros
           and mpn_invert_limb.  Add count_leading_zeros, count_trailing_zeros
           from a .h file.  Correction to modexact_1_odd prototype.  Support
           ansi2knr.
           * tune/speed.h, tune/common.c: Consequent changes.
   
           * demos/expr/*: Make a few more functions available in expressions,
           create only libexpr.a, misc minor updates.
   
           * mpn/Makeasm.am: Add some comments about suffix ordering.
   
           * tests/refmpn.c (rshift_make, lshift_make): No need to compare
           unsigned to zero.
   
           * mpq/mul.c: Detect and optimize squaring.
   
   2001-02-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3: Convert files to `.asm'.
   
           * mpn/arm: Convert files to `.asm'.  Misc cleanups.
           * mpn/arm/submul_1.asm: New file.
   
   2001-02-21  Kevin Ryde  <kevin@swox.se>
   
           * tune/tuneup.c (all): Only one compiler print should match, no need
           for #undef PRINTED_COMPILER.
   
           * mpfr/mpfr.h (mpfr_sgn): Use mpfr_cmp_ui (patch from Paul).
   
           * mpz/fib_ui.c: Update some remarks about alternative algorithms.
           * gmp.texi (Fibonacci Numbers Algorithm): Ditto.
           (Assigning Floats): Clarify mpf_swap swaps the precisions too.
           (Low-level Functions): Try to be clearer about negative cofactors.
   
   2001-02-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/copyi.asm: Streamline for small operands.
           * mpn/sparc64/add_n.asm: Likewise.
           * mpn/sparc64/sub_n.asm: Likewise.
   
           * mpn/sparc64/copyd.asm: New file.
   
   2001-02-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/lshift.asm: Rewrite.
           * mpn/sparc64/rshift.asm: Rewrite.
   
   2001-02-19  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/add_n.asm: Rewrite using `majority' logic.
           * mpn/sparc64/sub_n.asm: Likewise.
   
           * tune/tuneup.c (all): Recognise DECC and MIPSpro compilers.
   
           * mpn/pa64/sqr_diagonal.asm: Use PROLOGUE/EPILOGUE.
           * mpn/pa642/sqr_diagonal.asm: Likewise.
   
           * configure.in (HAVE_ABI_$abi): Disable for now.
   
           * mpn/asm-defs.m4 (PROLOGUE): Use LABEL_SUFFIX.
   
           * acinclude.m4 (GMP_ASM_ATTR): New check, for hppa oddities.
   
   2001-02-18  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/hppa/hppa1_1/gmp-mparam.h: New file.
           * mpn/hppa/hppa2_0/gmp-mparam.h: New file.
   
           * mpn/pa64/sqr_diagonal.asm: New file.
           * mpn/pa64w/sqr_diagonal.asm: New file.
           * mpn/hppa/hppa1_1/sqr_diagonal.asm: New file.
           * mpn/hppa/hppa2_0/sqr_diagonal.asm: New file.
   
           * mpn/sparc32/v9/add_n.asm: Use `fitod' instead of `fxtod' for dummy
           FA-pipeline insns.
           * mpn/sparc32/v9/sub_n.asm: Likewise.
   
   2001-02-18  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Known Build Problems): Notes on make, $* and K&R, misc
           tweaks elsewhere.
           (Low-level Functions): Use {} notation in mpn_sqrtrem.
           (Basecase Multiplication): Mention BASECASE_SQR_THRESHOLD.
   
           * mpfr/isnan.c (mpfr_number_p): Infinity is not a number.
           * mpfr/out_str.c: Pass strlen+1 for the block size to free.
           * mpfr/get_str.c: Correction for realloc to strlen+1.
   
           * acinclude.m4 (GMP_C_SIZES): Generate an error if mp_limb_t doesn't
           seem to work for some reason.
   
   2001-02-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v9/gmp-mparam.h: Retune.
   
           * mpn/sparc32/v9/add_n.asm: New file.
           * mpn/sparc32/v9/sub_n.asm: New file.
   
           * mpn/sparc32/v9/mul_1.asm: Tune function entry.
           * mpn/sparc32/v9/addmul_1.asm: Likewise.
           * mpn/sparc32/v9/submul_1.asm: Likewise.
   
           * mpn/sparc32/v9/sqr_diagonal.asm: New file.
   
   2001-02-16  Kevin Ryde  <kevin@swox.se>
   
           * configure.in: Fix flags selection when $CC is a compiler known to us.
   
           * demos/expr/exprfr.c (e_mpfr_cos, e_mpfr_sin): mpfr_sin_cos now
           allows NULL for one parameter.
   
           * mpfr/*: Update to 20010215.
           * mpfr/trunc.c: Use -DOPERATION scheme, and gmp mpn_zero_p.
           * mpfr/sqrt.c: Use plain mpn_sqrtrem, not mpn_sqrtrem_new.
           * mpfr/sqrtrem.c: Remove file.
           * mpfr/Makefile.am (libmpfr_a_SOURCES): Add isnan.c and set_ui.c,
           remove sqrtrem.c and srandom.h.
   
           * configfsf.guess: Update to 2001-02-13.
           * configfsf.sub: Update to 2001-02-16.
           * config.sub (j90, t90): Remove special handing, configfsf.sub now ok.
   
           * Makefile.am (MPF_OBJECTS): Add a couple of missing $U's.
   
           * tune/tuneup.c: Identify compiler used (GCC and Sun C so far).
   
   2001-02-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v9/mul_1.asm: Change `ld' to `lduw' and `st' to `stw'.
           * mpn/sparc32/v9/addmul_1.asm: Likewise.
           * mpn/sparc32/v9/submul_1.asm: Likewise.
   
   2001-02-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3/mips.m4: New file.
           * configure.in (mips*-*-irix[6789]*): Use mips3/mips.m4.
   
           * mpn/powerpc64/sqr_diagonal.asm: New file.
   
           * mpn/mips3/sqr_diagonal.asm: New file.
   
   2001-02-12  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc32/sqr_diagonal.asm: New file.
   
           * mpn/generic/sqr_basecase.c: Remove declaration of mpn_sqr_diagonal.
           Fix typo in header comment.
   
   2001-02-12  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mul.c, mpn/generic/mul_n.c, gmp-impl.h: Use
           mpn_mul_basecase for squaring below new BASECASE_SQR_THRESHOLD.
           * tune/tuneup.c gmp-impl.h: Tune BASECASE_SQR_THRESHOLD.
   
           * Makefile.am (libgmp.la, libmp.la): Revert change to build from
           mpn/libmpn.la etc, go back to explicitly listed objects.
   
           * configure.in: Recognise sparc64-*-*, not just sparc64-*-linux*.
   
   2001-02-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/asm-defs.m4 (sqr_diagonal): New define_mpn.
   
           * mpn/alpha/sqr_diagonal.asm: New file.
   
   2001-02-11  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Low-level Functions): Note mpn_get_str clobbers its input
           plus 1 extra limb.
   
           * mpfr/add.c,agm.c,exp2.c,exp3.c,generic.c,log2.c,pi.c,print_raw.c,
           set_d.c,sin_cos.c,sqrtrem.c,sub.c: Apply some tweaks for K&R.
           * tests/mpz/reuse.c, tests/mpq/t-md_2exp.c, demos/pexpr.c,
           demos/expr/t-expr.c: Ditto.
   
           * configure.in (HAVE_ABI_$abi): New define in config.m4.
   
           * gmp-impl.h (mpn_sqr_diagonal): Add prototype and define.
           * tune/speed.c,speed.h,common.c,many.pl: Add measuring of
           mpn_sqr_diagonal.
   
           * gmp.texi, acinclude.m4: Mention x86 solaris 2.7 has the reg->reg
           movq bug the same as 2.6.
   
           * mpfr/Makefile.am (EXTRA_DIST): Add mpfr-test.h and mpf2mpfr.h.
   
           * mpn/x86/README: Merge contents of README.family.
           * mpn/x86/README.family: Remove file.
   
           * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add mode1o, gcd_finda,
           invert_limb, sqr_diagonal; remove mod_1_rs; sort alphabetically.
   
   2001-02-10  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (gmp_mpn_functions_optional): List sqr_diagonal.
   
           * mpn/powerpc32/aix.m4: Use unnamed csects.
           * mpn/powerpc64/aix.m4: Likewise.
   
           * acconfig.h: Add #undef of mpn_sqr_diagonal.
           Remove lots of spacing.
   
           * configure.in (syntax testing section): Match power* instead of
           powerpc*.
           * mpn/power: Convert files to `.asm'.
           Prefix umul_ppmm and sdiv_qrnnd.
           Update some comments.
   
   2001-02-09  Kevin Ryde  <kevin@swox.se>
   
           * acconfig.h: Add HAVE_NATIVE_mpn_modexact_1_odd and
           HAVE_NATIVE_mpn_modexact_1c_odd.
   
           * configure.in (CCAS): Don't override a user selection.
   
           * mpq/cmp_ui.c: DIVIDE_BY_ZERO if den2==0.
   
   2001-02-08  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/sqr_basecase.c: Use mpn_sqr_diagonal when appropriate.
   
   2001-02-07  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Low-level Functions): mpn_preinv_mod_1 now undocumented.
   
           * mpn/generic/random2.c (myrandom): Use rand() on mingw.
   
           * mpn/alpha/gmp-mparam.h: Update tuned parameters.
   
   2001-02-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev6/gmp-mparam.h: Retune.
   
   2001-02-05  Kevin Ryde  <kevin@swox.se>
   
           * Makefile.am (libgmp, libmp): Construct from mpn/libmpn.la etc rather
           than explicitly listed objects.
   
           * urandom.h: Use rand() on mingw.
   
           * mpn/powerpc64/lshift.asm,addsub_n.asm: Use r1 not 1.
   
   2001-02-04  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/copyi.asm: New file.
           * mpn/ia64/copyd.asm: New file.
   
   2001-02-04  Kevin Ryde  <kevin@swox.se>
   
           * mpn/alpha/ev5/gmp-mparam.h, mpn/mips3/gmp-mparam.h,
           mpn/powerpc32/gmp-mparam.h, mpn/powerpc64/gmp-mparam.h,
           mpn/sparc64/gmp-mparam.h, mpn/x86/*/gmp-mparam.h:
           Update tuned parameters.
   
           * mpn/x86/i486: New directory.
           * configure.in (i486-*-*): Use it.
           * mpn/x86/i486/gmp-mparam.h: New file.
   
           * mpn/x86/pentium/mode1o.asm: New file.
           * mpn/x86/p6/mode1o.asm: New file.
   
           * tune/many.pl: Use $(ASMFLAGS_PIC) and $(CFLAGS_PIC).
   
           * gmp.texi (Integer Division): Another rewording of 2exp divisions.
   
   2001-02-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/arm/gmp-mparam.h: Tune.
   
           * mpn/ia64/popcount.asm: Put a `;;' break at end of main loop.
   
           * configure.in (arm*-*-*): Set gcc_cflags in order to pass
           $fomit_frame_pointer.
   
           * tests/mpz/t-mul.c (base_mul): Remove an unused variable.
   
   2001-02-02  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (TIME): New macro.
           (main): Use TIME--print timing more accurately.
           (setup_error_handler): Increase RLIMIT_DATA to 16 Mibyte.
   
           * longlong.h (arm): Add __CLOBBER_CC to add_ssaaaa and sub_ddmmss.
   
   2001-02-02  Kevin Ryde  <kevin@swox.se>
   
           * configure.in: Don't remove gmp-mparam.h and mpn source links under
           --no-create since in that case they're not re-created.
   
           * demos/expr: New directory.
           * Makefile.am (SUBDIRS, allprogs): Add it.
           * demos/expr/README, Makefile.am, expr.c, exprv.c, exprz.c, exprza.c,
           exprq.c, exprqa.c, exprfa.c, exprf.c, exprfr.c, exprfra.c, expr.h,
           expr-impl-h.in, run-expr.c, t-expr.c: New files.
           * configure.in: Generate demos/expr/Makefile & demos/expr/expr-impl.h.
   
           * Makefile.am: Remove mpfr from main libgmp.
           * mpfr/Makefile.am: Build and install separate libmpfr.a.
           * mpfr/*: Update to mpfr 2001.
   
           * gmp-h.in (__GNU_MP_VERSION_MINOR): Bump to 2.
           * Makefile.am (libtool -version-info): Bump appropriately.
           * NEWS: Updates.
   
           * tune/divrem1div.c, tune/divrem1inv.c, tune/divrem2div.c,
           tune/divrem2inv.c: Renamed from divrem_1_div.c, divrem_1_inv.c,
           divrem_2_div.c, divrem_2_inv.c, to be unique in DOS 8.3 filenames.
           * tune/Makefile.am (libspeed_la_SOURCES): Update.
   
           * mpn/x86/*/README, mpn/x86/README.family: Misc updates.
           * tune/README: Misc updates.
           * doc/configuration: Misc updates.
   
           * mpn/x86/pentium/mmx/gmp-mparam.h: Change UDIV_PREINV_TIME to
           UDIV_NORM_PREINV_TIME.
   
           * mpz/pprime_p.c: Use ASSERT_ALWAYS instead of abort.
   
           * rand.c (__gmp_rand_lc_scheme): Add "const".
           (struct __gmp_rand_lc_scheme_struct): Make astr "const char *".
   
           * demos/calc/calc.y, demos/calc/calclex.l: Add kron function.
   
           * tests/devel/try.c: Partial rewrite, new scheme of function types,
           allow result validation functions, add sqrtrem and jacobi testing.
           * tune/many.pl: Corresponding updates.
           * tests/devel/Makefile.am: Add a convenience rule for libtests.la.
   
           * tests/refmpz.c: New file.
           * tests/Makefile.am: Add it.
           * tests/misc.c (mpz_erandomb, mpz_erandomb_nonzero): New functions.
           * tests/tests.h: Add prototypes.
   
           * mpn/x86/k6/cross.pl: Add a couple more exceptions.
   
           * gmp.texi: Don't use @nicode{'\0'}, it doesn't come out right in tex.
           (Introduction to GMP): Mention Cray vector systems.
           (Build Options): Describe --enable-mpfr, refer to its manual.  Add
           Crays under supported CPUs.
           (Debugging): Add notes on source file paths.
           (Autoconf): New section.
           (Assigning Integers): Note truncation by mpz_set_d, mpz_set_q and
           mpz_set_f.
           (Converting Integers): Note the size mpz_get_str allocates.
           (Floating-point Functions): Rewrite introduction, clarifying some
           points about precision handling.
           (Converting Floats): Note the size mpf_get_str allocates, and that it
           gives an empty string for zero.  Add mpf_get_si and mpf_get_ui.
           (Float Comparison): Give the formula mpf_reldiff calculates.
           (Miscellaneous Float Functions): Add mpf_integer_p and mpf_fits_*_p.
           (Random Number Functions): Misc rewordings for clarity.
           (Random State Initialization): Ditto.
           (Custom Allocation): Remove note on deallocate_function called with 0,
           misc rewording and clarifications.
           (Exact Remainder): New section.
           (Binary GCD): A few words on initial reduction using division.
           (Accelerated GCD): Refer to exact remainder section.
           (Extended GCD): Extra remarks on single versus double selection.
           (Jacobi Symbol): Update for mpz/jacobi.c rewrite and modexact_1_odd.
           (Modular Powering Algorithm): Refer to exact remainder section.
           (Assembler SIMD Instructions): Update remarks on MMX.
           (Contributors): Amend to "Divide and Conquer" division.
           (References): Tweak some formatting.  Add "Proof of GMP Fast Division
           and Square Root Implementations" by Paul Zimmermann.
   
   2001-01-31  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in: Don't ever pass -mips3; let ABI flags imply ISA.
   
   2001-01-31  Kevin Ryde  <kevin@swox.se>
   
           * tune/time.c: Remove unnecessary longlong.h.
           (speed_endtime): Add some extra diagnostics.
   
           * tests/mpz/t-fdiv_ui.c, tests/mpz/t-tdiv_ui.c: Use unsigned long for
           the divisor, not mp_limb_t.
           * tests/mpz/t-jac.c (try_base): Use %llu for long long limb.
           * tests/trace.c: Add <string.h> for strlen.
   
           * tune/freq.c (speed_cpu_frequency_proc_cpuinfo): Ignore "cycle
           frequency" of 0, allow "BogoMIPS" as well as "bogomips".
   
           * macos/Makefile.in: Add mpf/fits_s.c and mpf/fits_u.c objects.
   
   2001-01-30  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h: Add add_ssaaaa and sub_ddmmss for 64-bit sparc.
   
   2001-01-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc64/addmul_1.asm: Prefix registers with an `r'.
           * mpn/powerpc64/submul_1.asm: Likewise.
           * mpn/powerpc64/mul_1.asm: Likewise.
   
           * configure.in (alpha*-*-*): Amend last change to handle pca*.
   
   2001-01-29  Kevin Ryde  <kevin@swox.se>
   
           * tune/speed.h (SPEED_ROUTINE_INVERT_LIMB_CALL): Don't let the
           compiler optimize everything away.
   
           * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Measure
           operator_div, operator_mod, mpn_divrem_2_div, mpn_divrem_2_inv,
           mpn_sb_divrem_m3, mpn_sb_divrem_m3_div, mpn_sb_divrem_m3_inv,
           mpn_dc_divrem_sb_div, mpn_dc_divrem_sb_inv.
           * tune/divrem_2_div.c, tune/divrem_2_inv.c, tune/sb_div.c,
           tune/sb_inv.c: New files.
   
           * tune/tuneup.c, gmp-impl.h, tune/speed.h, tune/common.c,
           tune/Makefile.am: Tune SB_PREINV_THRESHOLD and DIVREM_2_THRESHOLD.
   
           * mpn/generic/divrem_2.c: Use new DIVREM_2_THRESHOLD.
           * mpn/generic/sb_divrem_mn.c: Use new SB_PREINV_THRESHOLD.
   
           * mpn/x86/p6/mmx/lshift.asm, mpn/x86/p6/mmx/rshift.asm: New files,
           just m4 include()ing the P55 code.
           * configure.in (pentium[23]-*-*): Remove x86/pentium/mmx from path.
   
   2001-01-27  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (AC_CHECK_FUNCS): Add srand48.
           * tune/speed.c: Use this test.
   
           * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): Allow "egcs-" prefix on gcc
           --version, warn if the format is unrecognised.
           (GMP_COMPARE_GE): Guard against empty $1 not only on last arg.
           (GMP_INIT, GMP_FINISH, GMP_PROG_M4): Obscure or eliminate literal
           "dnl"s since autoconf thinks they indicate faulty macros.
   
           * mpz/get_str.c, mpf/get_str.c: Make allocated string block exactly
           strlen(str)+1 bytes.
           * mpz/dump.c, mpf/dump.c, tests/mpz/convert.c: Use this size when
           freeing.
           * tests/mpf/t-conv.c: Ditto, and ensure x==0 is exercised.
   
           * tests/mpz/t-fits.c: New file.
           * tests/mpz/Makefile.am: Add it.
   
           * tests/mpf/t-fits.c: New file.
           * tests/mpf/t-get_si.c: New file.
           * tests/mpf/t-int.c: New file.
           * tests/mpf/Makefile.am: Add them.
   
           * mpf/fits_s.c: New file.
           * mpf/fits_u.c: New file.
           * mpf/get_si.c: New file.
           * mpf/get_ui.c: New file.
           * mpf/int_p.c: New file.
           * Makefile.am, mpf/Makefile.am: Add them.
           * gmp-h.in (mpf_fits_*_p, mpf_get_si, mpf_get_ui, mpf_integer_p): Add
           prototypes.
   
           * tests/memory.c (tests_allocate, tests_reallocate): Guard against
           size==0.
   
           * tests/mpz/*.c, tests/mpq/*.c, tests/mpf/*.c: Uses tests_start and
           tests_end.
   
           * gmp-impl.h (USE_LEADING_REGPARM): Fix conditionals.
   
   2001-01-23  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, mpn/Makeasm.am (ASMFLAGS_PIC): New substitution,
           allowing -DPIC to be suppressed on cygwin.
           (CFLAGS_PIC): New substitution, use it and $(CCAS) directly, rather
           than $(LIBTOOL), avoiding a problem with FreeBSD 2.2.8.
   
           * mpn/x86/k6/mode1o.asm, mpn/x86/k7/mode1o.asm: Remove an unnecessary
           +[.-L(here)] from _GLOBAL_OFFSET_TABLE_, avoids a segv from gas 1.92.3.
           * mpn/x86/README.family: Add notes on the problem.
   
   2001-01-20  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (alpha*-*-*): Default `flavour' to ev4.
   
   2001-01-19  Kevin Ryde  <kevin@swox.se>
   
           * assert.c, gmp-impl.h (__gmp_assert_fail): Change return type to
           void, since it's no longer used in expressions.
   
           * mpn/x86/addsub_n.S: Remove file, since it doesn't work and it upsets
           tune/many.pl.
   
           * mpz/jacobi.c: Rewrite, but still binary algorithm; accept zero and
           negative denominators; merge mpz_jacobi and mpz_legendre, add
           mpz_kronecker; use mpn directly, add special cases for size==1.
           * gmp.texi (Number Theoretic Functions): Update.
           * gmp-h.in (mpz_kronecker): Add prototype.
           * gmp-impl.h (USE_LEADING_REGPARM): New macro.
           * tests/mpz/t-jac.c: Test mpz_kronecker.
           * mpz/legendre.c: Remove file.
           * Makefile.am, mpz/Makefile.am: Update.
   
           * longlong.h (alpha count_leading_zeros): Use __attribute__ ((const))
           when possible, add parameter to prototype.
           (ia64 udiv_qrnnd): Use for all compilers, not just gcc.
           (pentium count_trailing_zeros): Use count_leading_zeros.
   
           * acinclude.m4 (GMP_C_ATTRIBUTE_CONST, GMP_C_ATTRIBUTE_NORETURN): New
           macros.
           * configure.in: Use them.
           * gmp-impl.h (ATTRIBUTE_CONST, ATTRIBUTE_NORETURN): New macros.
           (mpn_invert_limb): Add ATTRIBUTE_CONST.
           (__gmp_assert_fail): Add ATTRIBUTE_NORETURN.
   
   2001-01-18  Kevin Ryde  <kevin@swox.se>
   
           * gmp-h.in, gmp-impl.h (__gmp_allocate_func, __gmp_reallocate_func,
           __gmp_free_func): Move prototypes from gmp-impl.h to gmp-h.in, for the
           benefit of gmp++.h.
   
           * gmp-impl.h, tests/misc.c, tests/tests.h: Move MPZ_SET_STR_OR_ABORT
           and MPF_SET_STR_OR_ABORT to mpz_set_str_or_abort and
           mpf_set_str_or_abort in libtests.
           * tests/mpz/convert.c, tests/mpz/t-bin.c, tests/mpz/t-get_si.c,
           tests/mpz/t-jac.c, tests/mpz/t-misc.c, tests/mpq/t-md_2exp.c,
           tests/mpq/t-set_f.c, tests/mpf/t-conv.c, tests/mpf/t-misc.c: Update.
   
           * mpn/generic/sqrtrem.c: Use MPN_COPY_INCR (for when rp==NULL).
   
           * tests/mpz/reuse.c: Only run mpz_divexact_gcd on positive divisors.
   
   2001-01-18  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (main): Accept -vml option.
           (fns): List `hamdist', `pow', `nextprime'.
           (mpz_eval_expr): Return -1 for `popc' of negative.
           (mpz_eval_expr): Handle `hamdist', `pow', `nextprime'.
   
   2001-01-15  Kevin Ryde  <kevin@swox.se>
   
           * mpn/alpha/ev5/mode1o.c: New file.
   
           * tune/freq.c (speed_cpu_frequency_measure): Check cycles_works_p
           before running speed_cyclecounter.
           * tune/speed.h (cycles_works_p): Add prototype.
   
   2001-01-13  Torbjorn Granlund  <tege@swox.com>
   
           * tests/rand/t-rand.c (farr): Fix typo.
           (zarr): Fix typo.
   
   2001-01-12  Kevin Ryde  <kevin@swox.se>
   
           * mpz/kronsz.c: Don't depend on right shifting a negative.
   
           * mpn/x86/gmp-mparam.h: New file.
   
           * mpn/x86/pentium/mmx/mul_1.asm: New file.
   
   2001-01-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/kronsz.c: Temporary workaround for Cray right shift oddities.
           Explicitly compare against zero in tests.
   
   2001-01-10  Kevin Ryde  <kevin@swox.se>
   
           * mpz/kronzs.c: Don't depend on right shifting a negative.
   
   2001-01-09  Torbjorn Granlund  <tege@swox.com>
   
           * tests/t-constants.c: Disable some undefined tests.
           (CHECK_MAX_S): Remove workaround for gcc 2.95.2 bug recently added.
   
   2001-01-09  Kevin Ryde  <kevin@swox.se>
   
           * tests/t-constants.c: Add more diagnostics.
           (CHECK_MAX_S): Fix for gcc 2.95.2 -mpowerpc64 -maix64.
   
           * mpn/x86/k6/mode1o.asm: New file.
           * mpn/x86/k7/mode1o.asm: New file.
   
           * mpn/asm-defs.m4 (modexact_1_odd, modexact_1c_odd): New define_mpn's.
           (__clz_tab, modlimb_invert_table, PROLOGUE, EPILOGUE): Add asserts for
           GSYM_PREFIX.
           * mpn/x86/x86-defs.m4 (Zdisp): Add a movzbl.
   
           * tests/mpz/t-jac.c (check_a_zero): New test.
           (check_squares_zi): Fix to use (a^2/b), not (a*b/b); revert last
           change avoiding a,b=0, both are fine.
           (try_2den): Don't use mpz_kronecker_ui for the expected answer.
           (try_*): Call abort rather than exit.
   
           * mpz/kronzu.c, mpz/kronzs.c: Fix for a=0.
   
           * tune/tuneup.c (USE_PREINV_MOD_1): Fix to use new DATA_HIGH_LT_R.
   
   2001-01-08  Torbjorn Granlund  <tege@swox.com>
   
           * urandom.h: Amend 2000-11-21 change to also handle cygwin.
   
   2001-01-08  Kevin Ryde  <kevin@swox.se>
   
           * tune/many.pl: Updates for move to tests/devel, add modexact_1_odd,
           don't assume C files can't have carry-in entrypoints, remove
           $(TRY_TESTS_OBJS) now in libtests.
   
           * tests/devel/try.c, tests/refmpn.c, tests/tests.h: Remove
           mpn_mod_1_rshift testing.
   
           * tune/tuneup.c (fft_step_size): Test for overflow using the actual
           mp_size_t, don't use BITS_PER_INT.
   
           * tune/speed.c (r_string): "r" is a limb, use BITS_PER_MP_LIMB and
           change LONG_ONES to LIMB_ONES.
           * tune/time.c (M_2POWU): Use INT_MAX rather than BITS_PER_INT.
   
           * extract-dbl.c (BITS_PER_PART): Use BITS_PER_MP_LIMB not
           BITS_PER_LONGINT.
   
           * mpz/inp_raw.c, mpz/out_raw.c: Add private defines of BITS_PER_CHAR.
           * mpz/fac_ui.c, tests/mpz/t-fac_ui.c: Don't use BITS_PER_LONGINT.
           * tests/mpz/t-get_si.c: Don't use BITS_PER_LONGINT, do the LONG_MAX
           tests with some explicit code.
   
           * mpn/*/gmp-mparam.h, acinclude.m4, tests/t-constants.c
           (BITS_PER_LONGINT, BITS_PER_INT, BITS_PER_SHORTINT, BITS_PER_CHAR):
           Remove defines, remove probings, remove tests.
   
           * tune/tuneup.c (MODEXACT_1_ODD_THRESHOLD): Add tuning.
   
           * tune/speed.c,speed.h,common.c: Add measuring of mpn_modexact_1_odd,
           mpn_gcd_finda, and an "N" form for mpn_gcd_1.
   
           * tests/mpz/t-jac.c (check_squares_zi): Ensure random a,b != 0.
   
   2001-01-07  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (gmp_mpn_functions): Add mode1o, remove mod_1_rs.
   
           * mpn/generic/mod_1_rs.c: Remove file, no longer needed.
           * gmp-h.in (mpn_mod_1_rshift): Remove prototype and define.
   
           * mpq/set_f.c: Use MPN_STRIP_LOW_ZEROS_NOT_ZERO.
   
           * mpz/kronzu.c, mpz/kronzs.c, mpz/kronuz.c, mpz/kronsz.c: Use
           mpn_modexact_1_odd, new style MPN_STRIP_LOW_ZEROS_NOT_ZERO, and new
           JACOBI macros.  Various rearrangements supporting all this.
   
           * mpn/generic/gcd_1.c: Use mpn_modexact_1_odd, reduce u%v if u much
           bigger than v when size==1, some rearrangements supporting this.
   
           * gmp-impl.h (JACOBI_*): More macros, add some casts to "int".
           (MPN_STRIP_LOW_ZEROS_NOT_ZERO): Add a "low" parameter.
           (mpn_modexact_1_odd, mpn_modexact_1c_odd): Add prototype and defines.
           (MODEXACT_1_ODD_THRESHOLD): New threshold.
           (MPN_MOD_OR_MODEXACT_1_ODD, JACOBI_MOD_OR_MODEXACT_1_ODD): New macros.
   
           * mpn/generic/mode1o.c: New file.
   
           * tests/mpz/reuse.c: Add testing of mpz_divexact_gcd.
           * tests/mpz/t-fac_ui.c: Use libtests for memory leak checking.
           * tests/mpz/t-fib_ui.c: Add a usage comment.
   
           * tests/mpz/bit.c: Use libtests.
           * tests/mpz/t-scan.c: Remove unused subroutines.
           * tests/devel/try.c: Use libtests, define PROT_NONE if the system
           doesn't.
   
           * tests/spinner.c, tests/x86check.c: Use tests.h.
           * tests/trace.c: Use tests.h, add mpf_trace.
           * tests/refmpn.c: Use tests.h, add refmpn_malloc_limbs_aligned,
           refmpn_tstbit, refmpn_neg.
   
           * tune/common.c, tune/speed.h: Update for functions moved to
           tests/misc.c.
   
           * tune/Makefile.am, tests/mpz/Makefile.am, tests/mpq/Makefile.am,
           tests/mpf/Makefile.am: Use tests/libtests.la.
   
           * configure.in (AC_OUTPUT): Update for new directories.
           (x86 CALLING_CONVENTIONS_OBJS): Use .lo for libtests.la, allow
           ansi2knr on x86check.c.
   
           * tests/Makefile.am: Establish new libtests.la convenience library,
           add mpz, mpq, mpf, mpbsd subdirectories.
           * tests/tests.h: New file.
           * mpn/tests/ref.h,try.h: Remove files, now in tests.h.
   
           * tests/mpf/ref.c: Move to tests/refmpf.c, rename functions to refmpf.
           * tests/mpf/t-add.c, tests/mpf/t-sub.c: Use libtests.
           * tests/mpf/Makefile.am: Update.
   
           * tests/memory.c: New file.
           * tests/misc.c: New file, a few subroutines from the test programs.
   
           * mpz/tests, mpq/tests, mpf/tests, mpbsd/tests: Move directories to
           tests/mpz etc.
           * mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am, mpbsd/Makefile.am
           (SUBDIRS): Remove.
   
           * tests/devel: New directory.
           * mpn/tests/*.c: Move programs to tests/devel.
           * mpn/tests/Makefile.am, mpn/tests/README: Move to tests/devel, update.
   
           * mpn/tests/ref.c: Move to tests/refmpn.c.
           * mpn/tests/spinner.c,trace.c,x86call.asm,x86check.c: Move to tests
           directory.
   
           * tests/t-constants.c: Add checks of HIGHBIT, MAX and MIN constants,
           simplify ANSI vs K&R stringizing, use correct printf format types, do
           all tests before aborting.
   
   2001-01-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/ieee/gmp-mparam.h: Retune.
   
   2001-01-05  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (mp.h): Only create this under --enable-mpbsd.
   
           * demos/calc: New subdirectory, move demos/calc* to it.
           * demos/calc/Makefile.am: New file, split from demos/Makefile.am.
           * demos/Makefile.am: Update.
           * configure.in (AC_OUTPUT): Add demos/calc/Makefile.
   
           * tests/t-constants.c (CALC_BITS_PER_TYPE etc): Use a run-time test
           for how many bits work in a give type, don't assume bits==8*sizeof.
   
   2001-01-04  Kevin Ryde  <kevin@swox.se>
   
           * mpz/fits_s.c, mpz/fits_u.c: New files, split from fits.c, use plain
           UINT_MAX etc, not MPZ_FITS_UTYPE_SDT etc.
           * mpz/fits.c: Remove file.
           * mpz/Makefile.am, macos/Makefile.in: Update.
   
           * gmp-impl.h (UNSIGNED_TYPE_MAX etc): Remove these generic forms.
           (MPZ_FITS_[SU]TYPE_SDT): Remove these.
           (UINT_MAX etc): Provide a full set of defaults.
           * gmp-h.in (__GMP_MP_SIZE_T_INT): New define.
   
           * mpz/tests/t-scan.c: New file.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/scan0.c, mpz/scan1.c: Rewrite, don't read beyond allocated
           memory, support negatives, return ULONG_MAX for no bit found.
           * gmp.texi (Integer Logic and Bit Fiddling): Update.
   
   2001-01-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/dive.c: Generate test operands using new random functions.
           * mpz/tests/io.c: Likewise.
           * mpz/tests/logic.c: Likewise.
           * mpz/tests/t-2exp.c: Likewise.
   
           * stack-alloc.c (__gmp_tmp_alloc): Round `now' to required alignment.
   
           * stack-alloc.h (__TMP_ALIGN): Append `L'.
   
           * gmp-impl.h: For Cray, #include limits.h.
           (LONG_MIN): New #define.
           (ULONG_HIGHBIT): #define in terms of ULONG_MAX.
           (LONG_HIGHBIT): #define as LONG_MIN.
           (USHRT_MAX): New name for USHORT_MAX.
           (SHRT_MAX): New name for SHORT_MAX.
           (SHRT_MIN): New #define.
           (USHORT_HIGHBIT,SHORT_HIGHBIT): Removed.
   
           * mpbsd/tests/t-misc.c (check_itom [data]): *SHORT* => *SHRT*;
           remove code disabling a test for Cray.
   
           * tests/t-constants.c (CHECK_CONSTANT): Cast parameters to long.
   
           * mpn/generic/mul_n.c (mpn_kara_sqr_n): Remove unused variable `t'.
           (mpn_kara_mul_n): Likewise.
   
           * mpz/fac_ui.c (MPZ_SET_1_NZ): Actually use `__z'.
   
           * mpz/tests/t-jac.c
           (main, check_squares_zi): Generate test operands using new random
           functions.
   
           All changes below on this date for enabling `make; make check'
           with C++ compilers:
   
           * mpz/tests/t-pow_ui.c (debug_mp, ref_mpz_pow_ui): Provide prototypes.
   
           * mpz/tests/t-mul.c (debug_mp, base_mul, ref_mpz_mul):
           Provide prototypes.
           (dump_abort): Provide prototype and declare properly for C++.
   
           * mpz/tests/t-jac.c: #include stdlib.h and sys/time.h.
   
           * mpz/tests/t-fdiv.c
           (dump_abort): Provide prototype and declare properly for C++.
           (debug_mp): Provide prototype.
           * mpz/tests/t-fdiv_ui.c: Likewise.
           * mpz/tests/t-gcd.c: Likewise.
           * mpz/tests/t-powm.c: Likewise.
           * mpz/tests/t-powm_ui.c: Likewise.
           * mpz/tests/t-sqrtrem.c: Likewise.
           * mpz/tests/t-tdiv_ui.c: Likewise.
           * mpz/tests/t-tdiv.c: Likewise.
   
           * mpz/tests/t-2exp.c: #include stdlib.h and sys/time.h.
           Remove #include of longlong.h.
   
           * mpz/tests/io.c: #include config.h, stdlib.h, sys/time.h, and
           conditionally unistd.h.
   
           * mpz/tests/dive.c: #include stdlib.h and sys/time.h.
           (dump_abort): Provide prototype and declare properly for C++.
           (debug_mp): Provide prototype.
           * mpz/tests/logic.c: Likewise.
   
           * mpz/tests/convert.c (debug_mp): Provide prototype.
           * mpz/tests/t-root.c (debug_mp): Likewise.
   
           * mpz/tests/bit.c: #include stdlib.h and sys/time.h.
   
           * mpq/tests/t-get_d.c: #include stdlib.h and sys/time.h.
           (dump): Provide prototype and declare properly for C++.
   
           * mpq/tests/t-cmp_ui.c: #include stdio.h, stdlib.h and sys/time.h.
           (ref_mpq_cmp_ui): Declare properly for C++.
   
           * mpq/tests/t-cmp.c: #include stdlib.h and sys/time.h.
           (ref_mpq_cmp): Declare properly for C++.
           (dump): Delete unused function.
   
           * mpf/random2.c (myrandom): New function.
           (mpf_random2): Use it.
   
           * mpn/generic/random2.c: #include stdlib.h (for random/mrand48).
           (myrandom): New function.
           (mpn_random2): Use it.
   
           * mpf/tests/t-add.c: #include stdlib.h and sys/time.h.
           (oo): Remove unused function.
           * mpf/tests/t-conv.c: Likewise.
           * mpf/tests/t-sub.c: Likewise.
           * mpf/tests/t-dm2exp.c: Likewise.
           * mpf/tests/t-muldiv.c: Likewise.
           * mpf/tests/t-sqrt.c: Likewise.
   
           * mpf/tests/reuse.c: #include stdlib.h and sys/time.h.
           Use PROTO on some typedefs.
           (oo): Remove function.
           (dump_abort): Call mpf_dump instead of oo.
   
           * mpf/set_str.c: #include stdlib.h (for strtol).
   
           * mpf/random2.c: #include stdlib.h (for random/mrand48).
           * mpn/alpha/udiv_arnnd: File deleted.
   
           * Remove K&R function headers.
   
   2001-01-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul.c: Clean up spacing and indentation.
   
           * mpn/generic/mul_fft.c (mpn_fft_add_modF): Use mpn_decr_u.
           Clean up spacing and indentation.
   
           * extract-dbl.c: Generalize to handle smaller limb sizes.
   
   2001-01-01  Torbjorn Granlund  <tege@swox.com>
   
           * mpbsd/mout.c: Output newline after "0".
   
   2000-12-31  Torbjorn Granlund  <tege@swox.com>
   
           * ltmain.sh: Remove space between `#!' and `$SHELL' when generating
           `libtool'.
   
           * mpbsd/tests/t-misc.c (check_itom): Exclude test for all Cray
           vector systems.  Correct comment.
   
   2000-12-31  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (ABI and ISA): New enough gcc needed for mips n32 etc, gcc
           2.95 needed for sparc 64-bit ABI, gcc 2.8 needed for -mv8plus.
   
           * configure.in ([cjt]90,sv1-cray-unicos*): Preserve user specified
           MPN_PATH, amend test program indenting.
           (none-*-*): Add -DNO_ASM to gcc to disable longlong.h asm macros in
           generic C.
   
           * config.sub (j90, t90): Preserve these, don't let configfsf.sub turn
           them into c90.
   
           * config.guess (m68k-*-nextstep*,m68k-*-openstep*): Don't transform
           m68k to m68020, since m68k is already interpreted as 68020.
   
   2000-12-30  Kevin Ryde  <kevin@swox.se>
   
           * mpq/neg.c: Rewrite, use mpn, avoid denominator copy if unnecessary.
   
           * mpz/tstbit.c: Rewrite, slightly simplified.
           * mpz/tests/bit.c (check_tstbit): New test, and add a couple more
           diagnostics elsewhere.
   
           * configure.in (x86 gcc_cflags_cpu): Add -m486 for gcc 2.7.2.
           (ccbase): Only use a known compiler in eval statements (avoids
           problems with non-symbol characters).
           (ccbase): Use GMP_PROG_CC_IS_GNU to identify gcc installed under a
           different name.
           (cclist): Use same style $abi as other variables.
   
           * acinclude.m4 (GMP_PROG_CC_IS_GNU): New macro.
           (GMP_GCC_MARCH_PENTIUMPRO): Use $ccbase to identify gcc.
           (GMP_ASM_TYPE): Define TYPE to empty, not "dnl", when no .type needed.
           (GMP_ASM_SIZE): Ditto for SIZE, which ensures EPILOGUE on the last
           line of a file doesn't leave a tab and no newline.
           (GMP_ASM_UNDERSCORE): Add a prototype for C++.
   
           * configure.in (sys/mman.h, mprotect): New tests.
           * mpn/tests/try.c: Use them, and HAVE_UNISTD_H too.
   
           * configure.in (getopt.h): Remove test.
           * tune/speed.c, mpn/tests/try.c (getopt.h): Remove include, since
           plain getopt() is in <unistd.h>.
   
           * configure.in, gmp-h.in (mips*-*-irix6*): Set limb_n32=longlong
           rather than using _ABIN32.
   
   2000-12-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/reuse.c: Rename dump_abort => dump.
           * mpz/tests/reuse.c: Generate operands using gmp_rand*.
           * mpz/tests/convert.c: Likewise.
   
           * configure.in: Detect T90-ieee systems; move Cray path
           selection to after AC_PROG_CC.  Invoke AC_PROG_CPP.
           * mpn/cray/cfp: New directory.  Move cfp specific files here.
           * mpn/cray/cfp/mulwwc90.s: New file.
           * mpn/cray/cfp/mulwwj90.s: New file.
           * mpn/cray/mulww.s: Delete.
   
   2000-12-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/cray/ieee/mul_1.c: New file.
           * mpn/cray/ieee/addmul_1.c: New file.
           * mpn/cray/ieee/submul_1.c: New file.
           * mpn/cray/ieee/gmp-mparam.h: New file.
   
           * mpn/cray/gmp-mparam.h: Disable UMUL_TIME and UDIV_TIME.
   
           * mpn/cray/hamdist.c: New file.
           * mpn/cray/popcount.c: New file.
           * mpn/cray/rshift.c: New file.
           * mpn/cray/lshift.c: New file.
   
           * longlong.h: Add count_leading_zeros for _CRAY.
           Reorganize _CRAY stuff.
   
   2000-12-24  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (alpha*-cray-unicos*): Disable SPEED_CYCLECOUNTER_OBJ,
           as tune/alpha.asm doesn't suit.
   
           * mpn/generic/sqrtrem.c, mpz/pow_ui.c, mpz/powm_ui.c, mpf/get_str.c,
           mpf/set_str.c: Use mpn_sqr_n when applicable, not mpn_mul_n.
   
   2000-12-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul_fft.c: Reformat.
           (mpn_fft_neg_modF): Remove.
           (mpn_fft_mul_2exp_modF): Inline mpn_fft_neg_modF.
   
           * mpn/cray/gmp-mparam.h: Retune.
   
           * configure.in (*-cray-unicos*): Pass `-O3 -htask0'.
           (vax*-*-*): Fix typo.
   
           * mpn/cray/mul_1.c: Use dynamic arrays, get rid of TMP_*.
           * mpn/cray/addmul_1.c: Likewise.
           * mpn/cray/submul_1.c: Likewise.
           * mpn/cray/add_n.c: Likewise.
           * mpn/cray/sub_n.c: Likewise.
   
           * configure.in (default cc_cflags,cc_64_cflags): Remove -g/add -O.
           (mips*-*-irix[6789]*]): Remove -g from cc_*_cflags.
   
   2000-12-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul_n.c: Delete K&R function headers.
   
           * mpn/generic/mul_n.c (mpn_kara_mul_n): Clean up type confusion
           between mp_limb_t and mp_size_t.
           (mpn_kara_sqr_n): Likewise.
   
           * mpn/generic/mul_n.c (mpn_kara_mul_n): Use mpn_incr_u.
           (mpn_kara_sqr_n): Likewise.
   
           * mpn/generic/mul_n.c (mpn_kara_mul_n): Change handling of `sign'
           to work around GCC 2.8.1 MIPS bug.
   
           * configure.in (implied alpha*-cray-unicos*): Remove -g from cc_cflags.
   
   2000-12-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/invert_limb.asm: Simplify a bit.
           Add handling of bigend systems.
           * mpn/alpha/unicos.m4: Define `bigend'.
           * mpn/alpha/default.m4: Define `bigend' (to expand to nothing).
   
           * tests/t-constants.c (CHECK_CONSTANT): Print using %lx.
   
           * mpn/alpha/gmp-mparam.h: Remove sizes for plain C types.
           * mpn/alpha/ev5/gmp-mparam.h: Likewise.
           * mpn/alpha/ev6/gmp-mparam.h: Likewise.
   
           * mpn/alpha/unicos.m4: Define LEA.
           * mpn/alpha/default.m4: Likewise.
           * mpn/alpha/invert_limb.asm: Use LEA for loading symbolic addresses.
           * mpn/alpha/cntlz.asm: Likewise.
   
           * mpn/alpha/cntlz.asm: Don't use `ldbu', use slightly slower
           `ldq_u' + `extbl' instead.
   
           * mpn/alpha/unicos.m4: Define EXTERN.
           * mpn/alpha/default.m4: Define EXTERN (to expand to nothing).
           * mpn/alpha/cntlz.asm: Declare __clz_tab usign `EXTERN' (for the
           benefit of Unicos).
   
   2000-12-21  Kevin Ryde  <kevin@swox.se>
   
           * mpn/alpha/unicos.m4 (GSYM_PREFIX): Define for the benefit of
           __clz_tab.
   
   2000-12-20  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h: Add udiv_qrnnd and count_leading_zeros for _CRAYMPP
           systems.
   
   2000-12-19  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (*sparc*-*-*): Remove -g from cc_cflags and acc_cflags.
   
           * mpn/generic/sqrtrem.c (mpn_sqrtrem): Separate `limb' values from
           `size' values.
   
           * configure.in (*-cray-unicos*): Add `-Wa,-B' to cc_cflags.
   
           * demos/pexpr.c (rstate): New variable.
           (main): Initialize rstate.
           (enum op_t): Add RANDOM.
           (fns): Add field for RANDOM.
           (mpz_eval_expr): Handle RANDOM.
   
   2000-12-19  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/sqrtrem.c: Rewrite by Paul Zimmermann, based on his
           Karatsuba Square Root algorithm.
           * gmp.texi (Square Root Algorithm): Update.
   
           * tune/many.pl: New file.
   
           * mpn/tests/try.c,ref.[ch] (mpn_preinv_mod_1, mpn_sb_divrem_mn,
           mpn_tdiv_qr, mpn_gcd_finda, mpn_kara_mul_n, mpn_kara_sqr_n,
           mpn_toom3_mul_n, mpn_toom3_sqr_n): Add testing.
           * mpn/tests/ref.c: Cast some "0"s in function calls.
   
           * mpn/x86/k7/mmx/mod_1.asm: Add preinv_mod_1 entrypoint, remove extra
           variable for loop termination.
   
           * mpn/x86/p6/mmx/mod_1.asm: Remove file, in favour of the following.
           * mpn/x86/p6/mod_1.asm: New file.
   
           * mpn/x86/pentium/mod_1.asm: New file.
   
   2000-12-18  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (mips*-*-irix[6789]*): Pass options to compiler using
           `-Wc'.
   
   2000-12-18  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/pre_mod_1.asm: New file.
   
           * tune/tuneup.c (USE_PREINV_MOD_1): Tune this, rearrange mpn_divrem_1
           and mpn_mod_1 handling in support of it.
           * tune/Makefile.am: Consequent changes to divrem_1.c and mod_1.c.
   
           * gmp-impl.h (USE_PREINV_MOD_1, MPN_MOD_OR_PREINV_MOD_1): New macros.
           * mpn/generic/perfsqr.c, mpz/pprime_p.c: Use MPN_MOD_OR_PREINV_MOD_1.
   
           * configure.in: Let an asm mod_1 provide a preinv_mod_1 entrypoint.
   
           * mpn/alpha/default.m4: Remove some newlines, add some asserts.
           (r0 etc, f0 etc): Use defreg and deflit.
           (PROLOGUE, PROLOGUE_GP, EPILOGUE): Use GSYM_PREFIX.
           * mpn/alpha/unicos.m4: Remove some newlines, add some asserts.
           * mpn/alpha/invert_limb.asm: Remove unused second DATASTART parameter.
           * mpn/alpha/cntlz.asm: Use mpn_count_leading_zeros and __clz_tab.
   
           * mpn/asm-defs.m4 (changecom): Comments on portability.
           (__clz_tab, modlimb_invert_table): New macros, matching gmp-impl.h.
           (count_leading_zeros, count_trailing_zeros): New define_mpn's.
           (PROLOGUE etc): Comments on usage, add some asserts.
           (OPERATION_[lr]shift): Use m4_not_for_expansion, for the benefit of
           lorrshift multifunc.
   
           * mpn/Makeasm.am (RM_TMP): New variable controlling tmp-*.s
           removal, for development purposes.
   
           * mpz/fac_ui.c: Fix for long long limb by using mpn_mul_1 not
           mpz_mul_ui, and note some possible enhancements.
   
           * mpz/tests/t-fac_ui.c: New test.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
           * macos/Makefile.in: Ditto, and add t-fib_ui too.
   
           * mpn/generic/[lr]shift.c: Remove some DEBUG code adequately covered
           by new parameter ASSERTs.
   
           * longlong.h (count_trailing_zeros): Assert x!=0.
   
           * doc/configuration: Updates for new configure things, add some notes
           on test setups.
   
   2000-12-16  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (*-*-aix): Pass -qmaxmem=20000 to xlc also for 64-bit
           compiles.
           * configure.in: Disable shared libs for *-*-ultrix*.
   
   2000-12-15  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (powerpc*-*-*): Pass -Wa,-mppc when using gcc.
   
           * gmp-impl.h (_EXTERN_INLINE): #define different for GCC and other
           compilers.
   
           * gmp-h.in (__gmp_inline): Remove.
           * mp-h.in: Likewise.
           * mpn/generic/gcd.c: Use `inline' instead of `__gmp_inline'.
   
           * configure.in (mips*-*-irix[6789]*): Define *_ldflags.
   
   2000-12-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/pre_mod_1.c: Use proper type for udiv_qrnnd
           parameter `dummy'.
   
           * mpn/generic/divrem_1.c: Use explicit `!= 0' in if statement.
           * mpn/generic/mod_1.c: Likewise.
   
   2000-12-14  Kevin Ryde  <kevin@swox.se>
   
           * config.guess (mips-*-irix[6789]*): Transform to mips64.
           (m68k-*-nextstep* | m68k-*-openstep*): Transform to m68020.
   
   2000-12-13  Torbjorn Granlund  <tege@swox.com>
   
           * tests/t-constants.c (main): Conditionalize use of PP_INVERTED.
   
           * mpn/mp_bases.c: Handle 4-bit limbs.
           (main): Add code for generating tables.
   
           * mpn/generic/popham.c: Handle limb bitsizes of 4, 8, 16.
           Suffix all 32-bit constant with `L'.
           Use CNST_LIMB for 64-bit constants.
   
   2000-12-13  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (FIB_THRESHOLD): Defaults for 4,8,16 bits per limb, and
           an arbitrary fallback default.
           (modlimb_invert): Add efficient code for 8,16 (or 4) bits per limb.
   
           * configure.in (mips3, mips64): Don't bother with o32 (mips2 32-bit
           limb) on IRIX 6.
   
           * Makefile.am (SUBDIRS): Put "tests" first so tests/t-constants.c is
           run first, to pick up any limb size mismatch.
   
           * tune/tuneup.c (DIVREM_1, MOD_1): Fix result values, were off by 1.
   
           * mpz/fib_ui.c (table1, table2): Add data for 4,8,16 bits per limb.
   
   2000-12-12  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (LIMBS_PER_DOUBLE): Define for any limb bitsize.
   
   2000-12-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mp_bases.c: Add tables for 8-bit and 16-bit limbs.
           Round existing `double' values properly.
   
           * gmp-h.in (__gmp_randstate_struct): Prefix field names with _mp_
           to keep out of user name space.
           (__gmp_randata_lc): Likewise.
           * randclr.c, randlc.c, randlc2x.c, randraw.c, randsd.c, randsdui.c:
           Corresponding changes.
   
           * gmp-impl.h (PP): #define for machines with BITS_PER_MP_LIMB
           of 2, 4, 8, and 16.
           (PP_FIRST_OMITTED): New, define for various BITS_PER_MP_LIMB.
           (PP_MASK): Remove.
           (PP_MAXPRIME): Remove.
   
           * mpn/generic/perfsqr.c: Generalize PP handling for machines with
           limbs of < 32 bits.  Allow PP_INVERTED to be undefined.
           * mpz/pprime_p.c: Likewise.
   
   2000-12-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul_1.c: Declare parameters in C89 style.
   
   2000-12-10  Kevin Ryde  <kevin@swox.se>
   
           * tune/Makefile.am (speed_LDFLAGS, speed_ext_LDFLAGS, tune_LDFLAGS):
           Don't use -all-static, as gcc 2.95.2 on i386 solaris 8 doesn't like
           it.
   
           * configure.in (mips3,mips64): Add ABI=64, name the others ABI=n32 and
           ABI=o32.
           * mpn/mips3/gmp-mparam.h (BITS_PER_LONGINT): Remove #define and let
           configure determine it, since it varies with ABI=64 or ABI=n32.
           * gmp.texi (ABI and ISA): Update.
           (mpz_mod_ui): Remark that it's identical to mpz_fdiv_r_ui.
           (mpn_divexact_by3): Qualify a statement needing mp_bits_per_limb even.
   
           * mul_fft.c (mpn_fft_mul_modF_K etc): Patch by Paul Zimmermann to fix
           results in certain cases of recursing into a further FFT.
   
   2000-12-09  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/cmpabs.c: Remove unused variable.
           * mpz/rrandomb.c: Likewise.
           * mpz/xor.c: Likewise.
   
   2000-12-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/gcdext.c: Handle double carry when computing s1.
           Merge two code blocks for computing s0 and s1.
   
   2000-12-07  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (hppa*-*-*): Remove -Aa -D_HPUX_SOURCE from
           cc_cflags/cppflags, and instead let AM_C_PROTOTYPES add it, or -Ae,
           whichever works.
   
           * configure.in (*-*-aix[34]*): Disable shared by default, but let
           the user override that, if desired.
           * gmp.texi (Notes for Particular Systems): Update.
   
   2000-12-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpq/cmp_ui.c: Streamline.
   
   2000-12-06  Kevin Ryde  <kevin@swox.se>
   
           * tune/divrem_1_div.c,divrem_1_inv.c,mod_1_div.c,mod_1_inv.c,
           gcdext_double.c: New files for measuring.
           * tune/Makefile.am (libspeed_la_SOURCES): Add them.
           * tune/speed.c,speed.h,common.c: Add measuring of them.
           (mpn_preinv_mod_1, mpz_jacobi, mpz_powm_ui): Add measuring.
   
           * speed.c (getopt_long): Don't use this, just plain getopt.
           * configure.in (getopt_long): Remove test.
   
           * gmp-impl.h (MPN_KARA_MUL_N_TSIZE, MPN_KARA_MUL_N_MINSIZE,
           MPN_TOOM3_MUL_N_TSIZE, MPN_TOOM3_MUL_N_MINSIZE): New macros, and
           assume toom3 square tsize was meant to be the same as the mul (both
           are overestimates).
           * tune/tuneup.c, mpn/generic/mul.c, mpn/generic/mul_n.c: Use them.
           * mpn/generic/mul_n.c (mpn_toom3_sqr_n): Fix an ASSERT to use
           TOOM3_SQR_THRESHOLD not TOOM3_MUL_THRESHOLD, add a few that might
           be more realistic size checks.
           * tune/speed.h (SPEED_ROUTINE_MPN_MUL_N_TSPACE etc): Use minsize.
   
           * mpn/generic/divrem_1.c: Partial rewrite, merge fractional part
           calculation, skip a divide step in more cases, introduce
           DIVREM_1_NORM_THRESHOLD and DIVREM_1_UNNORM_THRESHOLD.
           * mpn/generic/mod_1.c: Partial rewrite, skip a divide step in more
           cases, introduce MOD_1_NORM_THRESHOLD, MOD_1_UNNORM_THRESHOLD.
           * longlong.h (UDIV_PREINV_ALWAYS): New define, set for alpha and ia64.
           * tune/tuneup.c (DIVREM_1_NORM_THRESHOLD, DIVREM_1_UNNORM_THRESHOLD,
           MOD_1_NORM_THRESHOLD, MOD_1_UNNORM_THRESHOLD): Tune these.
           * gmp-impl.h [TUNE_PROGRAM_BUILD]: Support for this.
           * tune/Makefile.am (TUNE_MPN_SRCS): Add divrem_1.c and mod_1.c.
   
           * gmp-impl.h (UDIV_NORM_PREINV_TIME): Renamed from UDIV_PREINV_TIME.
           * mpn/generic/perfsqr.c, mpn/generic/sb_divrem_mn.c,
           mpn/x86/*/gmp-mparam.h: Ditto.
           * gmp-impl.h (UDIV_UNNORM_PREINV_TIME): New define.
   
           * configure.in (AC_C_INLINE, HAVE_INLINE): New test and define.
           * gmp-impl.h (inline): Remove, use config.h.
           (_EXTERN_INLINE): Redefine based on HAVE_INLINE.
           (mpn_zero_p): Use HAVE_INLINE.
   
           * acinclude.m4 (GMP_PROG_AR, GMP_PROG_NM): Don't add flags to a user
           selected $AR or $NM.
   
           * tune/tuneup.c (all): Print how long the tuning took.
   
           * configure.in (AM_C_PROTOTYPES): Use this, not GMP_ANSI2KNR.
           * acinclude.m4 (GMP_ANSI2KNR): Remove.
   
           * Makefile.am (gmp.h, mp.h): In DISTCLEANFILES not CLEANFILES.
   
           * gmp-h.in (mpn_divmod, mpn_divmod_1, mpn_divexact_by3): Cast some
           zeros, for the benefit of K&R if long!=int.
   
           * mpn/lisp/gmpasm-mode.el (gmpasm-comment-start-regexp): Add "*" for
           the benefit of cray.
   
           * compat.c (mpn_divexact_by3, mpn_divmod_1): Return types should be
           mp_limb_t, not int, and need an actual "return".
   
   2000-12-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v8/supersparc/gmp-mparam.h: Retune.
           * mpn/alpha/gmp-mparam.h: Tune for 21064.
   
           * longlong.h: Reformat to avoid newlines within strings.
   
           * gmp-impl.h (inline): Disable if GCC has defined __STRICT_ANSI__.
   
           * configure.in: Do a `mkdir tune' before creating tune/sqr_basecase.c.
   
           * Makefile.am: Treat mp.h analogously to gmp.h.
   
           configure.in (*-*-aix): Pass -qmaxmem=20000 to xlc.
   
           * mp-h.in: Renamed from mp.h.
           Add #define for _LONG_LONG_LIMB.
           Move some other fixes from gmp-h.in.
           * mp.h: Removed.
           * configure.in: Generate mp.h from mp-h.in like we handle
           gmp-h.in/gmp.h.
   
   2000-12-04  Torbjorn Granlund  <tege@swox.com>
   
           * acinclude.m4: Fix typo testing for bad HP compiler.
   
   2000-12-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpbsd/tests/t-misc.c (check_itom): Exclude some tests for Cray
           CFP systems.
   
           * longlong.h (CRAYIEEE umul_ppmm): New.
   
           * mpn/cray/gmp-mparam.h (BITS_PER_SHORTINT): 32 => 64.
           (*_THRESHOLD): Tune.
   
           * configure.in: Disable shared libs for *-*-unicos*.
   
   2000-12-03  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, tune/Makefile.am: Create tune/sqr_basecase.c during
           configure, and use it unconditionally in $(nodist_tuneup_SOURCES).
           Fixes a problem with sqr_basecase.lo under --disable-static.
   
   2000-12-01  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/tests/t-get_d.c (LOW_BOUND,HIGH_BOUND): #define for non-IEEE
           Cray systems.
   
           * gmp-impl.h (union ieee_double_extract): Test for _CRAYIEEE.
   
   2000-11-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-mul.c (base_mul): Fix re-evaluation problems in macro
           invocations.
           (ref_mpz_mul): New name from mpz_refmul.  Make static.
           (base_mul): New name for _mpn_mul_classic.
   
   2000-11-30  Kevin Ryde  <kevin@swox.se>
   
           * configure.in: Rewrite of CC/CFLAGS selection scheme, introduce a
           notion of ABI, merge compiler and mpn path selection, add flags
           selection for AR and NM, let CC without CFLAGS work.
           (AC_PROG_CC): Use this, not GMP_SELECT_CC.
           * acinclude.m4 (GMP_PROG_CC_WORKS): Don't use AC_TRY_COMPILE, combine
           cc/cflags parameter.
           (GMP_PROG_CC_FIND, GMP_CHECK_CC_64BIT, GMP_PROG_CC_SELECT): Remove.
           * gmp.texi (Installing GMP): Updates for new scheme.
   
           * configure.in (AC_CANONICAL_HOST): Use this and $host, not $target.
           * acinclude.m4, acconfig.h, longlong.h, mpn/x86/x86-defs.m4,
           mpn/x86/k7/mmx/popham.asm: Ditto, renaming HAVE_TARGET_CPU to
           HAVE_HOST_CPU.
           * gmp.texi (Build Options, and elsewhere): Update.
   
           * acinclude.m4 (GMP_COMPARE_GE): New macro.
           (GMP_GCC_MARCH_PENTIUMPRO): Use it, add CC parameter, check for GCC.
           (GMP_HPC_HPPA_2_0): New macro, adapted from GMP_CHECK_CC_64BIT.
   
           * acinclude.m4 (GMP_PROG_AR): New macro, using AC_CHECK_TOOL, adding
           GMP flags.
           * configure.in: Use it
   
           * gmp-h.in: Renamed from gmp.h.
           (@define_LONG_LONG_LIMB@): Placeholder for instantiation.
           (__GNU_MP__): Bump to 3.
           * acinclude.m4 (GMP_VERSION): Get version from gmp-h.in.
           * configure.in: Create gmp.h from gmp-h.in to set _LONG_LONG_LIMB.
           * gmp.texi.h (ABI and ISA): Mention this.
           * acconfig.h (_LONG_LONG_LIMB): Remove undef.
           * Makefile.am: Distribute gmp-h.in, not gmp.h.
   
           * configure.in (AC_PROG_CPP, AC_PROG_INSTALL, AC_PROG_LN_S): Remove,
           dragged in by other macros.
           (gmp_asm_syntax_testing): Renamed from gmp_no_asm_syntax_testing.
           (AC_EXEEXT, AC_OBJEXT): Remove, done automatically by libtool.
           * configure.in, acinclude.m4: Remove "" from "`foo`", being
           unnecessary and not portable.
   
           * configure.in (GMP_LDFLAGS): New AC_SUBST flags for libtool link.
           (powerpc64*-*-aix*): Use for -Wc,-maix to fix shared library creation,
           but can't build shared and static at the same time.
           * Makefile.am (libgmp_la_LDFLAGS, libmp_la_LDFLAGS): Use
           $(GMP_LDFLAGS).
           * gmp.texi (Notes for Particular Systems): Update AIX problem
   
           * configure.in (AC_CONFIG_LINKS): Use where needed, not via gmp_links.
           (gmp_srclinks): Build up as needed, not via gmp_links.
   
           * acinclude.m4 (GMP_INIT): Do CONFIG_TOP_SRCDIR and asm-defs.m4 here.
           * configure.in (asm-defs.m4): Consequent changes.
   
           * acinclude.m4 (GMP_INCLUDE_MPN): Using include_mpn(), replacing
           GMP_INCLUDE and GMP_SINCLUDE.
           * configure.in (gmp_m4postinc): Remove this scheme, use
           GMP_INCLUDE_MPN instead.
   
           * configure.in (*-*-sco3.2v5*): Force ac_cv_archive_cmds_need_lc=no,
           until libtool does this itself.
           * gmp.texi (Known Build Problems): Remove SCO -lc problem.
   
           * configure, INSTALL.autoconf, etc: Update to autoconf 2000-11-29.
           * acinclude.m4 (GMP_C_SIZES): Use AC_CHECK_SIZEOF.
           * gmp.texi (Known Build Problems): Remove version.c sed/config.h
           problem, fixed.
   
           * ltmain.sh, aclocal.m4: Update to libtool 2000-11-25.
           * ltconfig: No longer required, but leave an empty dummy for automake.
           * gmp.texi (Known Build Problems): Remove SunOS native ar ranlib
           problem, fixed.
   
           * */Makefile.in, aclocal.m4: Update to automake 2000-11-25.
           * mpbsd/tests/Makefile.am, mpfr/tests/Makefile.am (check_PROGRAMS):
           Remove dummy, no longer required.
           * mpbsd/tests/dummy.c, mpfr/tests/dummy.c: Remove files.
           * depcomp: Remove file, no longer required (with no-dependencies).
   
           * texinfo.tex: Update to 2000-11-09.
           * gmp.texi (Build Options): Mention PDF from gmp.texi.
           * Makefile.am (MOSTLYCLEANFILES): Add gmp.tmp, from new texinfo.tex.
   
           * gmp.texi (Build Options): List alphaev56, alphapca56, alphaev67,
           hppa2.0n and power among supported CPUs.
   
   2000-11-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-mul.c: Increase max operand size from 2^17 bits
           to 2^19 bits.  Misc cleanups.
   
   2000-11-26  Kevin Ryde  <kevin@swox.se>
   
           * tune/tuneup.c (FIB_THRESHOLD): Cope better with different speeds of
           odd and even sizes.
   
           * longlong.h (alpha): Use udiv_qrnnd and count_leading_zeros on all
           compilers, not just gcc.
   
           * pre_mod_1.c: Use conditional subtract to always skip a division.
           (UMUL_TIME, UDIV_TIME): Remove defaults, now in longlong.h.
   
   2000-11-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64w/gmp-mparam.h: Retune.
           * mpn/pa64/gmp-mparam.h: Retune.
           * mpn/sparc64/gmp-mparam.h: Retune.
   
   2000-11-22  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (ABOVE_THRESHOLD, BELOW_THRESHOLD): New macros.
           * mpn/generic/gcdext.c: Use them.
   
           * mpn/generic/gcdext.c [WANT_GCDEXT_ONE_STEP]: Force only one step.
           * tune/gcdextos.c, tune/gcdextod.c: New files, one step gcdext, single
           and double.
           * tune/Makefile.am (libspeed_la_SOURCES): Add them.
           (TUNE_MPN_SRCS): Remove gcdext.c.
           * tune/speed.h, tune/common.c, tune/speed.c: Add measuring.
           * tune/tuneup.c: Use for GCDEXT_THRESHOLD, plus check if double limb
           is ever better.  Should be more accurate, and hopefully faster.
   
           * tune/gcdext_single.c: New file, gcdext forced to single limbs.
           * tune/Makefile.am: Add it.
           * tune/speed.h, tune/common.c, tune/speed.c: Add measuring, and of
           invert_limb.
   
           * tune/speed.h (speed_params r): Use mp_limb_t, not long.
           * tune/speed.h, tune/common.c: Don't "switch" on "r".
           * tune/speed.c (r_string): Accept limb sized constants.
           (choice scale): Add a scale factor (eg. "2.33*mpn_add_n").
           * tune/common.c (SPEED_ROUTINE_UDIV_QRNND_A): Default r to
           __mp_bases[10].big_base, being a full limb value.
   
           * configure.in (alphapca56*-*-*): Use ev5 mpn path.
           (am29000*-*-*): Remove this, leave the canonical a29k.
           (z8k*-*-*, z8kx*-*-*): Changed from z8000, since z8k is canonical.
           (gmp_mpn_functions_optional): Add invert_limb, use for alpha and ia64.
   
           * configure.in (alloca): Accept yes/no/detect, generate an error if
           "yes" but not available.
           * gmp.texi (Build Options): Update.
   
           * acinclude.m4 (GMP_TRY_ASSEMBLE): Make conftest.out available.
           (GMP_ASM_ALIGN_FILL_0x90): Use it.
   
           * acinclude.m4 (GMP_ASM_X86_MMX) [*-*-solaris*]: Check for solaris
           2.6 "as" movq bug.
           * gmp.texi (Notes for Particular Systems): Update x86 MMX note.
   
   2000-11-21  Torbjorn Granlund  <tege@swox.com>
   
           * tune/Makefile.am (EXTRA_DIST): List hppa2w.asm.
   
           * tune/hppa2.asm: Change level directive to "2.0n".
           * tune/hppa2w.asm: New file.
           * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Separate out hppa2.0w.
   
           * mpn/pa64/gmp-mparam.h (BITS_PER_LONGINT): 64 => 32.
   
   2000-11-21  Kevin Ryde  <kevin@swox.se>
   
           * urandom.h (random): No prototype if glibc stdlib.h has already
           provided it (avoids an int32_t/long conflict).
   
           * tune/Makefile.am (LDFLAGS): Use -all-static.
           (speed-dynamic): Dynamic linked version of speed.c.
           * tune/README: Update.
   
           * mpn/generic/gcd.c (find_a): Use native version if available.
           * acconfig.h (HAVE_NATIVE_mpn_gcd_finda): Add #undef.
           * gmp-impl.h (mpn_gcd_finda): Add prototype and define.
           * mpn/asm-defs.m4 (mpn_gcd_finda): New define_mpn.
           * tune/gcd_finda_gen.c: #undef any HAVE_NATIVE_mpn_gcd_finda.
           * configure.in (gmp_mpn_functions_optional): Add gcd_finda.
           * mpn/x86/k6/gcd_finda.asm: New file.
   
           * tune/tuneup.c (POWM_THRESHOLD): Slightly bigger size steps.
   
           * gmp-impl.h (__GMP_IMPL_H__): Protect against multiple inclusion.
           * tune/gcd_bin.c, tune/powm_mod.c, tune/powm_redc.c: Use #undef after
           gmp-impl.h to force thresholds.
           * tune/tuneup.c (print_define, fft): No need for #ifndefs on
           thresholds any more.
   
   2000-11-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-powm.c: Analogous changes as made 2000-11-12 to t-mul.c.
           * mpz/tests/t-powm_ui.c: Likewise.
           * mpz/tests/t-pow_ui.c: Likewise.
           * mpz/tests/t-root.c: Likewise.
   
           * configure.in [compiler switch]: Pass "-Aa -D_HPUX_SOURCE" to cc for
           all hppa versions.
   
           * mpn/hppa/hppa1_1/udiv_qrnnd.S: Reference data using PC relative
           addressing (was r19 relative addressing).
   
   2000-11-18  Torbjorn Granlund  <tege@swox.com>
   
           * rand.c: (__gmp_rand_lc_scheme): Convert strings to hexadecimal.
           (gmp_randinit): Expect strings in hexadecimal.
   
   2000-11-18  Kevin Ryde  <kevin@swox.se>
   
           * configfsf.guess, configfsf.sub: Update to 2000-11-16.
           * config.guess (alpha*-*-openbsd*): Do exact cpu detection.
   
   2000-11-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-fdiv.c: Analogous changes as made 2000-11-12 to t-mul.c.
           * mpz/tests/t-tdiv_ui.c: Likewise.
           * mpz/tests/t-fdiv_ui.c: Likewise.
           * mpz/tests/t-sqrtrem.c: Likewise.
           * mpz/tests/t-gcd.c: Likewise.
   
   2000-11-13  Kevin Ryde  <kevin@swox.se>
   
           * mpn/Makeasm.am: New file, splitting out assembler rules.
           * mpn/Makefile.am, tune/Makefile.am: Use it.
   
           * mpn/Makefile.am (@CPP@): Remove this, automake already gives it.
   
           * configure.in (AC_CHECK_LIBM): New test, and AC_SUBST it.
           * Makefile.am (MPFR_LIBADD_OPTION): Use it.
           * demos/Makefile.am (qcn_LDADD): Ditto.
           * tune/Makefile.am (libspeed_la_LIBADD): Ditto.
           * tests/rand/Makefile.am (libstat_la_LIBADD): Ditto.
   
           * tune/time.c (timeval_diff_secs): Better calculation.
           (read_real_time): New measuring method for AIX power/powerpc.
           (speed_endtime): Protect against negative times.
           * tune/common.c (speed_measure): Protect against big reps.
           * tune/freq.c (speed_cpu_frequency_measure_one): Better timeval diff.
           * tune/speed.h (TIMEVAL_DIFF_SEC,USEC): Remove macros.
           * configure.in: (sys/systemcfg.h, read_real_time): New tests.
   
   2000-11-13  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-mul.c: Remove #include urandom.h.
           * mpz/tests/t-tdiv.c: Likewise.
   
           * configure.in [SPEED_CYCLECOUNTER_OBJS switch]:
           Declare hppa.asm as just 32 bits (cyclecounter_size=1).
   
   2000-11-12  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-mul.c
           (main): Generate random numbers using gmp_rand* functions.
           (main): Distribute random numbers non-uniformly.
           (main): Seed by current time if GMP_CHECK_RANDOMIZE is set.
           (_mpn_mul_classic): Streamline.
           * mpz/tests/t-tdiv.c: Analogous changes.
   
           * demos/pexpr.c (HAVE_sigaltstack): Fix typo in testing for _UNICOS.
           Also test for __hpux.
   
   2000-11-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev5/gmp-mparam.h: Retune.
   
           * mpn/alpha/ev6/gmp-mparam.h: Retune.
   
           * mpn/alpha/ev6/add_n.asm: Misc cleanups.
   
           * mpn/alpha/ev6/sub_n.asm: New file.
   
   2000-11-10  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [path switch] (alphaev6*-*-*): Add alpha/ev5 to path.
   
           * mpn/alpha/ev6/add_n.asm: New file.
   
   2000-11-10  Kevin Ryde  <kevin@swox.se>
   
           * mpz/powm.c (redc): Make global under WANT_REDC_GLOBAL.
           * tune/powm_mod.c, tune/powm_redc.c: New files.
           * tune/Makefile.am (libspeed_la_SOURCES): Add them.
           * tune/*: Add measuring of redc, mpz_mod, mpz_powm_mod, mpz_powm_redc.
   
           * tune/tuneup.c (POWM_THRESHOLD): Determine from redc and mpz_mod.
           * tune/Makefile.am (TUNE_MPZ_SRCS): Remove powm.
   
   2000-11-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3/gmp-mparam.h: Retune.
   
           * configure.in (os_64bit): Rename to check_64bit_compiler.
   
   2000-11-09  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Choose hppa/hppa2 code
           depending on $CC64.
   
   2000-11-09  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/mul_1.asm: Unroll 2x, saving 1 c/l when in L1.
           Add 1c entrypoint.
           * mpn/x86/pentium/aorsmul_1.asm: Add 1c entrypoints, shave a couple
           of cycles at entry and exit.
   
           * configure.in (power1,2,2sc): Support these as synonyms for plain
           power.
   
           * acinclude.m4 (GMP_ASM_X86_SHLDL_CL): GMP_DEFINE WANT_SHLDL_CL here.
           (GMP_ASM_X86_MMX, GMP_ASM_X86_SHLDL_CL): Add X86 into the names.
           * configure.in: Consequent changes.
   
           * gmp.texi (Notes for Particular Systems): Remarks about power/powerpc.
           (Reentrancy): Remarks about simultaneous writing.
           (Reporting Bugs): Ask for configfsf.guess.
   
   2000-11-08  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_FUNC_ALLOCA): New macro.
           * configure.in: Use it.
           * gmp-impl.h (alloca): Conditionals and setups as per autoconf
           (should make alloca available on more non-gcc compilers).
   
           * acinclude.m4: Misc reformatting, simplify some quoting.
           (GMP_ASM_UNDERSCORE, GMP_ASM_X86_MCOUNT): Use $CC $CFLAGS $CPPFLAGS.
           (GMP_ASM_UNDERSCORE, GMP_ASM_ALIGN_FILL_0x90, GMP_ASM_RODATA): Put
           AC_REQUIREs outside AC_CACHE_CHECK.
           (GMP_C_SIZES): Use $srcdir/gmp.h, not -I; use $CPPFLAGS.
           (GMP_ASM_UNDERSCORE): Use "gmp_compile" variable, and only rm
           conftes1* conftes2*.
           (GMP_PROG_NM): New macro, require it in appropriate GMP_ASM_*.
           (GMP_TRY_ASSEMBLE): New macro, use it in various GMP_ASM_*.
           * configure.in: Use GMP_PROG_NM.
   
           * mpn/tests/spinner.c (spinner_signal): Use RETSIGTYPE.
           (spinner_init): Force output to unbuffered.
   
           * mpn/x86/README.family: Notes about GOT table and imul, misc updates.
           * mpn/x86/k7/diveby3.asm: Change to 3 operands for immediate imul.
           * mpn/x86/k6/diveby3.asm: Ditto.
   
   2000-11-06  Torbjorn Granlund  <tege@swox.com>
   
           * urandom.h: Simplify and make it work properly for 64-bit
           machines also in environments without `random'.
   
   2000-11-04  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [path switch]: Don't match rs6000-*-*, in
           particular don't assume POWER.
   
           * tune/tuneup.c (fft): Remove usleep calls.
   
           * config.guess: Don't pass "$@" when it is known to be empty.
   
           * Makefile.am (EXTRA_DIST): List configfsf.guess and configfsf.sub.
   
   2000-11-04  Kevin Ryde  <kevin@swox.se>
   
           * configfsf.guess, configfsf.sub: Moved from config.guess and
           config.sub.
           * config.guess, config.sub: New files, wrappers around around
           configfsf versions.
           * configfsf.guess: Update to FSF 2000-10-23.
           * configfsf.sub: Update to FSF 2000-10-25.
   
           * acinclude.m4 (GMP_ASM_POWERPC_R_REGISTERS): New macro.
           * mpn/powerpc32/powerpc-defs.m4: New file, regmap.m4 r0 etc macros
           conditionalized by GMP_ASM_POWERPC_R_REGISTERS.
           * mpn/powerpc32/regmap.m4: Remove file.
           * configure.in (powerpc*-*-*): Use all this.
   
           * mpz/divegcd.c: New file, providing mpz_divexact_gcd.
           * Makefile.am, mpz/Makefile.am: Add it.
           * gmp-impl.h (mpz_divexact_gcd): Add prototype.
           * mpq/aors.c,canonicalize.c,div.c,mul.c: Use it.
   
           * longlong.h [pentium] (count_leading_zeros): New macro.
           (__clz_tab): Always provide prototype.
           * acconfig.h (HAVE_TARGET_CPU_): Add x86s.
   
           * tune/speed.[ch],common.c (count_leading_zeros,
           count_trailing_zeros, __udiv_qrnnd_c): Add measuring.
   
           * configure.in (X86_PATTERN): Move from here ...
           * acinclude.m4 (X86_PATTERN): ... to here.
           (GMP_ASM_RODATA): Use it.
   
           * configure.in (srandom): New test.
           * mpn/tests/try.c: Use it.
           * tune/speed.c: Ditto, and conditionalize getrusage and headers.
   
   2000-11-02  Kevin Ryde  <kevin@swox.se>
   
           * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add udiv_qrnnd.c
           and udiv_w_sdiv.c.
   
           * mpn/generic/mul_n.c (mpn_kara_sqr_n): Remove a duplicate
           subtract at the evaluate stage.
   
   2000-11-01  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [compiler switch] (sparc64-*-linux*): Spell
           gmp_xoptcflags_gcc properly, and pass same options as for other
           sparcv9 configs.
   
           * tune/speed.h (SPEED_ROUTINE_MPN_GET_STR): Fix type of wsize.
   
   2000-10-31  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [compiler switch] (sparc64-*-linux*): Remove -mvis
           from gmp_xoptflags_gcc, this might not be an ultrasparc.
           Remove -m32 from gmp_cflags_gcc; add -Wa,-xarch=v8plus.
   
   2000-10-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/lorrshift.asm: New file.
   
           * configure.in: New mulfunc `lorrshift' for lshift and rshift.
   
   2000-10-29  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mul_n.c (mpn_kara_sqr_n): Delete code performing
           superfluous mpn_sub_n calls.
   
           * configure.in (found_asm, M4): Account for SPEED_CYCLECOUNTER_OBJ,
           for the benefit of targets whose only .asm is a cycle counter.
   
           * tune/tuneup.c (fft): Remove bogus usleep calls.
   
   2000-10-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/invert_limb.asm: Get return value for 0x800...00 right.
   
           * tune/Makefile.am (EXTRA_DIST): Add ia64.asm.
   
           * tune/ia64.asm: Fix typo.
   
           * add_n.asm addmul_1.asm mul_1.asm popcount.asm sub_n.asm:
           Preserve ar.lc as required by ABI.
           * longlong.h (ia64 udiv_qrnnd): New.
   
           * configure.in [path switch] (ia64*-*-*): Set extra_functions.
           * mpn/ia64/invert_limb.asm: New file.
   
   2000-10-27  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [compiler switch]:
           Get rid of c89 for all hppa flavours--it is an evil compiler!
   
           * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Fix type of xp.
           (SPEED_ROUTINE_MPN_GET_STR): Fix type of wp.
   
   2000-10-27  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Fibonacci Number Algorithm): New section.
   
           * mpz/tests/t-fib_ui.c: New file.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/fib_ui.c: Rewrite, same formulas but using mpn functions and
           some lookup tables, much faster at small to moderate sizes.
           * gmp-impl.h (MPZ_FIB_SIZE): New macro.
           (FIB_THRESHOLD): Establish default here.
           * tune/tuneup.c (FIB_THRESHOLD): Start search after the new table
           data.
   
           * mpn/x86/x86-defs.m4 (mcount_movl_GOT_ebx): Rename from movl_GOT_ebx,
           and don't use GSYM_PREFIX with _GLOBAL_OFFSET_TABLE_.
   
           * tune/freq.c (speed_cpu_frequency_measure): New test comparing
           gettimeofday and speed_cyclecounter, should cover many systems.
   
   2000-10-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/gmp-mparam.h: Retune.
   
   2000-10-26  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (ia64): Set UMUL_TIME and UDIV_TIME.
   
           * mpn/ia64/submul_1.c: Fix typo.
   
   2000-10-25  Kevin Ryde  <kevin@swox.se>
   
           * tune/freq.c (speed_cpu_frequency_sysctl): New test, supporting
           hw.model for BSD flavours.
           * configure.in (sysctl, sys/param.h): New tests.
   
   2000-10-24  Torbjorn Granlund  <tege@swox.com>
   
           * tune/freq.c: Explicitly #include config.h before other include files.
   
           * mpz/tests/reuse.c (FAIL2): New #define.
           (main): Use FAIL2.  Now this test properly returns non-zero exit
           status when it fails.
   
           * mpn/powerpc32/gmp-mparam.h: Retune.
           * mpn/powerpc64/gmp-mparam.h: Retune.
   
   2000-10-24  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/cross.pl: Support 8 and 16 byte code alignment.
   
           * mpq/aors.c, mpq/canonicalize.c: Skip two mpz_divexact calls if
           gcd gives 1, which should be 60% of the time.
           * gmp-impl.h (MPZ_EQUAL_1_P): New macro.
           * mpq/mul.c, mpq/div.c: Use it, and a new DIV_OR_SET.
   
           * tune/tuneup.c (xp_block, yp_block): Initialize these with random
           data.  Fixes GCD_ACCEL and GCDEXT thresholds, and latest POWM.
   
   2000-10-23  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Add ia64 case.
   
           * mpn/ia64/gmp-mparam.h: Fill in some parameters.
   
           * mpn/ia64/submul_1.c: New file.
   
           * tune/ia64.asm: New file.
   
           * gmp-impl.h (union ieee_double_extract): Handle ia64.
   
           * mpn/mp_bases.c: Decrease chars_per_bit_exactly for entry 1 to
           work around buggy ia64-linux.
   
           * longlong.h (ia64 umul_ppmm): Update register flags to match new GCC.
   
   2000-10-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev6/gmp-mparam.h (DC_THRESHOLD): Update.
           * mpn/alpha/ev6/submul_1.asm: New file.
   
   2000-10-22  Kevin Ryde  <kevin@swox.se>
   
           * tune/gcd_bin.c: New file.
           * tune/gcd_finda_gen.c: New file.
           * tune/Makefile.am (libspeed_la_SOURCES): Add them.
           * tune/speed.[ch],common.c (mpn_gcd_binary, find_a): Add measuring.
   
           * * (__gmp_allocate_func etc): Rename from _mp_allocate_func etc.
           (__gmp_default_allocate etc): Rename from _mp_default_allocate etc.
           * gmp-impl.h (__GMP_REALLOCATE_FUNC_TYPE,
           __GMP_REALLOCATE_FUNC_LIMBS): New macros.
   
           * gmp-impl.h (DC_THRESHOLD): Establish default here, set to 3*KARA
           since that's the measured average.
           * mpn/generic/dc_divrem_n.c, mpn/generic/tdiv_qr.c (DC_THRESHOLD):
           Remove default.
   
   2000-10-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/Makefile.am (TARG_DIST): Add ia64.
   
   2000-10-21  Kevin Ryde  <kevin@swox.se>
   
           * *: Change BZ -> DC.
           * mpn/generic/dc_divrem_n.c: Renamed from bz_divrem_n.c.
   
           * doc/multiplication: Remove file, now in the manual.
           * doc/assembly_code: Ditto.
           * tune/README: Remove some parts now in the manual.
   
           * gmp.texi (@m etc): Add and use some new macros.
           (Integer Division - mpz_[cft]div_*): Merge descriptions, for brevity
           and to emphasise similarities.
           (Low-Level Functions - mpn_[lr]shift): Specify count as 1 to
           mp_bits_per_limb-1.
           (Algorithms): New chapter.
           (References): Add some papers.
   
           * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Remove some
           unused variables.
           * mpn/generic/mul_fft.c (mpn_fft_best_k): Ditto.
   
           * tune/freq.c: New file, split from time.c.
           * tune/time.c: Rewrite, now more automated.
           * configure.in, tune/*: Consequent changes.
   
   2000-10-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/default.m4: New file.
           * configure.in [config.m4 switch] (ia64*-*-*): Use ia64/default.m4.
   
           * mpn/ia64/mul_1.asm: New file.
           * mpn/ia64/addmul_1.asm: New file.
           * mpn/ia64/add_n.asm: New file.
           * mpn/ia64/sub_n.asm: New file.
           * mpn/ia64/popcount.asm: New file.
           * mpn/ia64/README: New file.
   
           * mpn/alpha/cntlz.asm: Override `.set noat' from ASM_START.
   
           * configure.in (HAVE_TARGET_CPU_*): Support hppa1.0, hppa1.1, hppa2.0
           by sed'ing the period into `_'.
   
           * acconfig.h: Add #undefs for hppa targets.
   
           * longlong.h (udiv_qrnnd): Fix typo in last change.
   
           * mpz/tstbit.c: Rewrite (partly to work around GCC 2.95.2 HPPA bug).
   
           * configure.in [path switch]:
           (hppa2.0*-*-*): For non-CC64 case, update path.
   
           * configure.in [compiler switch]:
           (hppa2.0w-*-*): Match with same regexp in both places.
           (hppa*-*-*): New case.
           (all hppa alternatives): Don't inherit default gmp_cflags_cc,
           gmp_cflags_c89.
   
   2000-10-18  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (alpha*-*-*): Define gmp_xoptcflags_gcc like for
           alpha*-*-osf*.
   
           * longlong.h (x86 udiv_qrnnd): Change `d' => `dx' to avoid K&R C
           stringification.
   
   2000-10-15  Kevin Ryde  <kevin@swox.se>
   
           * doc/configuration: Updates.
   
           * demos/calc.y: Remove some comments.
   
   2000-10-14  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Parameter Conventions, Memory Management): New sections
           split from "Variable Conventions".
           (Efficiency, Debugging, Profiling): New sections in "GMP Basics".
           (Reentrancy): Some rewording, add note on standard I/O.
           (Build options): Add --enable-assert and --enable-profiling.
   
           * configure.in (--enable-profiling): New option.
           * acinclude.m4 (GMP_ASM_X86_MCOUNT): New macro, finding how to profile.
           * mpn/x86/x86-defs.m4 (PROLOGUE_cpu, call_mcount): Profiling support.
   
           * acinclude.m4, configure.in (GMP_ASM_*): Rename from GMP_CHECK_ASM_*,
           to follow autoconf conventions.
   
           * configure.in: Run GMP_CHECK_ASM tests only if needed.
           * acinclude.m4 (GMP_CHECK_ASM_MMX): Don't use GMP_CHECK_ASM_TEXT.
   
           * mpn/x86/x86-defs.m4 (ASSERT): Allow no condition, to just emit code.
   
   2000-10-13  Kevin Ryde  <kevin@swox.se>
   
           * mpq/md_2exp.c: New file.
           * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
           * Makefile.am (MPQ_OBJECTS): Ditto.
           * gmp.h (mpq_mul_2exp, mpq_div_2exp): Add prototypes.
           * gmp.texi (Rational Arithmetic): Add documentation.
   
           * mpq/tests/t-md_2exp.c: New file.
           * mpq/tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpn/generic/perfsqr.c: Add/amend some comments.
   
           * gmp.texi (Known Build Problems): Note VERSION problem with old
           sed, do some minor rewording.
           (Build Options): Add cygwin and djgpp URLs, mention INSTALL.autoconf,
           mention HTML.
           (Getting the Latest Version of GMP): Move this ...
           (Introduction to GMP): ... to here.
           (Compatibility with older versions): Just refer to 2.x and 3.x, not
           every minor version.
           (Initializing Integers): Note restrictions on mpz_array_init'ed
           variables.
           (Integer Logic and Bit Fiddling): Note bits are numbered from 0.
   
           * INSTALL.autoconf: New file.
           * Makefile.am (EXTRA_DIST): Add it.
   
           * tune/Makefile.am, tune/tuneup.c, configure.in, gmp-impl.h: New
           scheme for recompiled objects used by tune program.  Don't use
           libgmptune.a, make better use of libtool, work with ansi2knr.
   
           * tune/speed.h,common.c (SPEED_ROUTINE_MPZ_POWM): Use s->yp and
           s->xp_block, make exponent a fixed size.
   
   2000-10-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3/gmp-mparam.h: Retune.
   
           * mpn/generic/mul_n.c (USE_MORE_MPN): Revert last change.
   
   2000-10-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3/add_n.s: Decrease carry recurrence from 4 to 3 cycles.
           * mpn/mips3/sub_n.s: Likewise.
   
   2000-10-04  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (sparc64-*-linux*): Set path according to CC64.
   
   2000-10-04  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Use LABEL_SUFFIX, not a
           hard-coded ":".
   
           * config.sub: Don't demand "86" in CPU name for SCO.
   
           * configure.in (supersparc-*-*): Remove -DSUPERSPARC.
           * longlong.h: Use HAVE_TARGET_CPU_supersparc.
   
           * configure.in (HAVE_TARGET_CPU_*): AC_DEFINE from $target_cpu.
           * acconfig.h: Add #undefs, but only for targets of interest.
   
   2000-10-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/cntlz.asm: Rewrite.
   
           * mp_clz_tab.c (__clz_tab): Half table size to 128 entires.
           * longlong.h (count_leading_zeros): Demand just 128 entries from
           __clz_tab.
   
           * configure.in (mips-sgi-irix6.*): Pass -mips3 in addition to options
           for n32 ABI.
   
           * longlong.h: Move NO_ASM test around all assembly code.
           From gcc:
           * longlong.h (count_leading_zeros): Sparclite scan instruction was
           being invoked incorrectly.
           Replace __mc68332__ with __mcpu32__.
           Add ARC support.
   
   2000-10-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/mips3/gmp-mparam.h: Retune for both gcc and cc.
   
           * mpn/generic/mul_n.c (USE_MORE_MPN): Remove exception for __mips.
           (interpolate3): Cast mp_limb_t variables to mp_limb_signed_t
           when testing sign bit.
   
           * mpn/alpha/ev6/gmp-mparam.h: Retune.
           * mpn/powerpc32/gmp-mparam.h: Retune.
           * mpn/powerpc64/gmp-mparam.h: Retune.
           * mpn/x86/pentium/gmp-mparam.h: Retune.
           * mpn/x86/pentium/mmx/gmp-mparam.h: Retune.
           * mpn/sparc32/v9/gmp-mparam.h: Retune.
           * mpn/x86/k6/gmp-mparam.h: Retune.
           * mpn/x86/p6/gmp-mparam.h: Retune.
           * mpn/x86/k7/gmp-mparam.h: Retune.
           * mpn/sparc64/gmp-mparam.h: Retune.
   
           * mpn/m68k/gmp-mparam.h: New file.
           * mpn/alpha/ev5/gmp-mparam.h: New file.
   
           * gmp-impl.h (default MPN_COPY): Remove final `;'.
   
           * tune/time.c (speed_endtime): Rewrite.
   
           * tune/speed.h (SPEED_ROUTINE_MPZ_POWM): Set base to a large value,
           not 2.
   
           * demos/pexpr.c (setup_error_handler): Fix typo.
   
           * mpz/powm.c (redc): New function, based on old mpz_redc.  Don't
           multiply here.
           (mpz_redc): Remove.
           (mpz_powm): Major changes, partially reverting to mpn calls.
           Multiply before calling redc.
           (mpz_powm): Use TMP_ allocation.
           (mpz_powm): Refine calculation of k (width of exponent window).
           (mpz_powm): Cast constants to mp_limb_t before left shifting.
   
           * longlong.h: Use ia64 count_leading_zeros just when __GNUC__.
   
   2000-09-29  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_C_SIZES): New macro.
           * configure.in: Use it.
           * acconfig.in (BYTES_PER_MP_LIMB etc): Add #undefs.
           * mpn/generic/gmp-mparam.h (BYTES_PER_MP_LIMB etc): Remove #defines.
           * gmp.texi (Known Build Problems): Remove 64-bit generic C
           gmp-mparam.h problem, now fixed.
   
           * configure.in: Only run GMP_PROG_M4 if it's actually needed.
   
   2000-09-27  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c: Clean up code for systems not supporting
           sigaltstack.  Handle old Linux without sigaltstack.  Properly
           disable all stuff related to sigaltstack under Unicos.
   
           * mpn/alpha/ev6/addmul_1.asm: Use explicit offset for all load and
           store insns.  Helps old gas.
   
           * longlong.h (count_leading_zeros): Define for ia64.
   
   2000-09-27  Paul Zimmermann  <Paul.Zimmermann@loria.fr>
   
           * mpn/generic/bz_divrem_n.c: Fix qhl handling, simplify.
   
   2000-09-27  Kevin Ryde  <kevin@swox.se>
   
           * mpn/Makefile.in (.SUFFIXES): Regenerate with patched automake to
           get .s before .c, which is needed to override ansi2knr .c rules.
   
           * gmp.texi (mpn_sqrtrem): Fix r2p==NULL return value description
           to match the code (change by Torbjorn).
           (mpn_gcd, mpn_gcdext, mpn_sqrtrem, mpn_tdiv_qr): Note most
           significant limbs must be non-zero.
           (mpn_gcd, mpn_gcdext, mpn_sqrtrem): Clarify destination size
           requirements.
           (mpn_gcd_1): Clarify value must be non-zero, not just size.
   
           * gmp-impl.h (mpn_zero_p): New inline function.
           * mpn/generic/inlines.c: Add gmp-impl.h.
           * mpf/integer.c, mpz/get_d.c, mpn/generic/mul_fft.c: Use it.
   
           * mpn/generic/gcd.c: Use MPN_COPY_INCR not MPN_COPY.
           * mpf/add_ui.c: Ditto.
           * mpf/add.c: Ditto, and fix test to skip copy.
   
   2000-09-26  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h, longlong.h, mpn/generic/*.c: Add ASSERTs for various
           parameter restrictions.
   
           * gmp-impl.h (UDIV_PREINV_TIME): New macro.
           * mpn/generic/sb_divrem_mn.c: Use it.
           * mpn/generic/perfsqr.c: Ditto.
           * mpn/x86/*/gmp-mparam.h (UDIV_PREINV_TIME): Add values.
   
           * macos/Makefile.in: Add mpz/tests/t-get_si.c, mpf/tests/t-set_f.c,
           and new multi-function mpz and mpq files.
   
   2000-09-25  Kevin Ryde  <kevin@swox.se>
   
           * randlc.c, randlc2x.c, randsd.c, mpz/urandomb.c, mpz/urandomm.c:
           Use mpz_ptr and mpz_srcptr for parameters.
           * gmp.h (gmp_randinit_lc, gmp_randinit_lc_2exp, gmp_randseed,
           mpz_urandomb, mpz_urandomm): Corresponding change to prototypes.
           * randsdui.c: Remove wrong K&R parameters part.
   
   2000-09-12  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (mpn_tdiv_qr): Move prototype from here ...
           * gmp.h (mpn_tdiv_qr): ... to here.
   
           * gmp.texi (Miscellaneous Rational Functions): Comment-out and
           move version 1 compatibility note to "Compatibility" section.
           (Rational Number Functions): Ditto for canonicalization note.
   
   2000-09-10  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/com_n.asm: New file.
   
           * gmp.texi (Rational Arithmetic): Add mpq_abs.
           (Miscellaneous Rational Functions): Merge and simplify descriptions of
           mpq_get_num, mpq_get_den, mpq_set_num, mpq_set_den.
   
           * mpq/abs.c: New file.
           * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
           * Makefile.am (MPQ_OBJECTS): Add it.
           * gmp.h (mpq_abs): Add prototype.
   
           * mpq/set_den.c: Don't discard sign when copying, this makes the
           code match the manual.
   
   2000-09-07  Torbjorn Granlund  <tege@swox.com>
   
           * tune/alpha.asm: Rewrite to actually work right.
   
   2000-09-07  Kevin Ryde  <kevin@swox.se>
   
           * tune/common.c,speed.[ch]: Add measuring of mpn_sqrtrem,
           mpn_get_str, mpn_set_str.
           * tune/README: Various updates.
   
   2000-09-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/fits.c: Correct type of `data'.
   
   2000-09-06  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Clarify where to find CFLAGS.
           (Known Build Problems): Note SCO -lc problem.
   
           * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL): Fix for sizes > 512 limbs.
   
           * doc/multiplication: Corrections and additions suggested by Paul.
   
           * tune/modlinv.c: New file with alternate modlimb_inverts.
           * tune/Makefile.am, tune/speed.[ch]: Add measuring of them.
           * tune/speed.c (FLAG_NODATA): New attribute, use for mpz_bin_uiui,
           mpz_fib_ui, mpz_fac_ui.
   
           * mpn/x86/t-zdisp.sh: New file.
   
           * tests/t-modlinv.c: New file.
           * tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpq/tests/t-set_f.c: New file.
           * mpq/tests/Makefile.am (check_PROGRAMS): Add it.
   
           * gmp-impl.h (MPQ_CHECK_FORMAT): New macro.
           * mpq/tests/t-get_d.c: Use it.
   
           * mpq/set_f.c: New file.
           * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
           * Makefile.am (MPQ_OBJECTS): Ditto.
           * gmp.h: Add prototype.
           * gmp.texi (Miscellaneous Rational Functions): Document mpq_set_f,
           correct return type of mpq_set_d.
   
   2000-09-03  Kevin Ryde  <kevin@swox.se>
   
           * mpz/aors_ui.c: New file merging add_ui.c and sub_ui.c, no object
           code changes.
           * mpz/add_ui.c, mpz/sub_ui.c: Remove files.
           * mpz/Makefile.am: Update.
   
           * gmp-impl.h (MPZ_FITS_STYPE_SDT, MPZ_FITS_UTYPE_SDT): New macros.
           * mpz/fits.c: New file merging six separate fits*.c.
           * mpz/fits_sshort_p.c, fits_sint_p.c, fits_slong_p.c, fits_ushort_p.c,
           fits_uint_p.c, fits_ulong_p.c: Remove files
           * mpz/Makefile.am: Use new fits.c, change object names from
           fits_*_p.lo to fits_*.lo to avoid SunOS 4 native "ar" warnings.
           * Makefile.am (MPZ_OBJECTS): Change from fits_*_p.lo to fits_*.lo.
   
           * acinclude.m4 (GMP_CHECK_ASM_RODATA): New macro, defining RODATA.
           * configure.in: Use it.
           * mpn/x86/k[67]/mmx/popham.asm: Use it.
   
           * mpn/x86/*/*.asm: Use "TEXT" not ".text".
   
   2000-09-02  Kevin Ryde  <kevin@swox.se>
   
           * mpq/aors.c: New file merging add.c and sub.c, no object code changes.
           * mpq/add.c, mpq/sub.c: Remove files.
           * mpq/Makefile.am: Update.
   
           * mpz/aors.c: New file merging add.c and sub.c, no object code changes.
           * mpz/add.c, mpz/sub.c: Remove files.
           * mpz/Makefile.am, mpbsd/Makefile.am: Update.
   
           * configure.in: Re-apply "PROLOGUE.*" regexp change for the
           benefit of alpha PROLOGUE_GP, lost in path search reorganisation.
   
           * mpn/x86/x86-defs.m4 (jadcl0, cmov_simulate, ASSERT,
           movl_text_address): Don't use "1:" style labels.
           (Zdisp): Rearrange a bit, switch to all hex.
           * mpn/x86/README.family: Note SCO "as" doesn't support "1:" style
           local labels, misc rewordings.
   
   2000-08-29  Torbjorn Granlund  <tege@swox.com>
   
           * demos/primes.c: Include string.h.
   
           * config.guess (x86 variant recog code): Remove dummy*.o files
           generated by some compilers.
   
   2000-08-28  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix Solaris 2.8
           warning message supression, add notes about SCO.
   
           * Makefile.am (MPZ_OBJECTS etc): Move some comments.
   
   2000-08-25  Kevin Ryde  <kevin@swox.se>
   
           * mpz/pprime_p.c (mpz_millerrabin): Fix a TMP_FREE.
   
           * gmp.texi (Copying): Refer to Lesser not Library GPL.
           (GMP and Reentrancy): Note stack-alloc.c is not reentrant, and
           that SCO <ctype.h> is potentially not reentrant.
   
           * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Test by attempting to
           link with or without an underscore.
           * gmp.texi (Known Build Problems): Remove SunOS 4 native grep
           GSYM_PREFIX problem, now fixed.
   
           * gmp-impl.h (MODLIMB_INVERSE_3): New constant.
           * mpn/generic/diveby3.c: Use it instead of own INVERSE_3.
           * mpn/generic/mul_n.c: Ditto.
           * tests/t-constants.c: Check it, and PP_INVERTED too.
   
           * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): New macro.
           * configure.in [p6 and athlon] (gmp_optcflags_gcc): Use it to
           possibly add -march=pentiumpro.
   
           * gmp-impl.h (MPZ_SET_STR_OR_ABORT, MPF_SET_STR_OR_ABORT): New macros.
           * mpz/tests/t-bin.c, mpz/tests/t-get_si.c, mpz/tests/t-jac.c,
           mpz/tests/t-misc.c: Use them.
           * mpf/tests/t-conv.c, mpf/tests/t-misc.c: Ditto.
           * mpz/tests/convert.c: Ditto and amend diagnostics slightly.
           * mpz/tests/t-misc.c (check_mpz_set_si): Remove a superfluous init.
           * mpz/tests/io.c: Differentiate between I/O and data conversion errors.
   
           * mpn/generic/aors_n.c: New file merging add_n and sub_n, no
           object code changes.
           * mpn/generic/add_n.c: Remove file.
           * mpn/generic/sub_n.c: Remove file.
   
           * mpn/generic/aorsmul_1.c: New file merging addmul_1 and submul_1,
           no object code changes.
           * mpn/generic/addmul_1.c: Remove file.
           * mpn/generic/submul_1.c: Remove file.
   
           * mpn/generic/popham.c: New file merging popcount and hamdist, no
           object code changes.
           * mpn/generic/popcount.c: Remove file.
           * mpn/generic/hamdist.c: Remove file.
   
   2000-08-24  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (mpn_com_n): Fix typo.
   
   2000-08-23  Torbjorn Granlund  <tege@swox.com>
   
           * demos/primes.c (main): Don't call mpz_probab_prime_p for numbers
           that are known to be prime after sieving.
           (main): Declare and initialize max_s_prime_squared.
           (MAX_S_PRIME): Increase.
           (ST_SIZE): Increase.
   
   2000-08-23  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (ASSERT_ALWAYS): Change to statement style.
           (JACOBI_TWO_U_BIT1): Remove ASSERT.
           (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS as a statement.
   
   2000-08-21  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (ASSERT): Use do..while for dummy version.
   
           * mpf/get_str.c: Don't set n_digits from digits_computed_so_far
           when the converted operand becomes zero.  Misc cleanups.
   
   2000-08-21  Kevin Ryde  <kevin@swox.se>
   
           * mpz/fdiv_r_2exp.c, mpz/lcm.c, mpz/urandomm.c: Add missing
           TMP_MARK/FREE, avoiding memory leak when using stack-alloc.c.
   
   2000-08-20  Kevin Ryde  <kevin@swox.se>
   
           * mpz/set.c [BERKELEY_MP] (move): Add conditionals to build as
           "move" for libmp.
           * mpbsd/Makefile.am: Use mpz/set.c, not move.c.
           * Makefile.am (MPBSD_OBJECTS): Corresponding change.
           * mpbsd/move.c: Remove file.
   
           * mpn/Makefile.am, mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am,
           mpbsd/Makefile.am (-DOPERATION_foo): Use "foo" even for ansi2knr
           "foo_" objects.  Do this with the makefiles to keep the sources
           cleaner.
           * mpz/mul_siui.c, mpf/integer.c: Revert to plain OPERATION_* forms.
   
           * mpn/lisp/gmpasm-mode.el (gmpasm-remove-from-list): Renamed from
           gmpasm-delete-from-list, because it's non-destructive.
           (gmpasm-font-lock-keywords): Add some more keywords.
   
   2000-08-16  Kevin Ryde  <kevin@swox.se>
   
           * tune/mul_n_mpn.c, tune/mul_n_open.c: New files, being forced
           open-coded and mpn #includes of mpn/generic/mul_n.c.
           * tune/*: Add measuring of them.
           * tune/speed.c: Print command line into *.gnuplot file.
   
           * mpn/generic/mul_n.c (USE_MORE_MPN): Change to #if not #ifdef for
           using the value, add #ifndef for providing the default.
           * mpn/sparc64/gmp-mparam.h (USE_MORE_MPN): Add #ifndef.
   
           * tests/t-constants.c: New file.
           * tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/get_si.c: Use LONG_MAX, not BITS_PER_MP_LIMB, so the result
           doesn't depend on limb size when outside the range of a long
           (though such results are not actually documented).
           * mpz/tests/t-get_si.c: New file.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpn/tests/try.c (call): Cast popcount and hamdist calls,
           for the benefit of long long limb.
   
   2000-08-15  Kevin Ryde  <kevin@swox.se>
   
           * mp.h (mp_set_memory_functions): Add missing #define.
           * mpbsd/tests/allfuns.c (mp_set_memory_functions): Verify its
           existance.
   
           * mpf/tests/t-misc.c (check_mpf_getset_prec): New test, verifying
           reverted behaviour of mpf_get_prec.
   
           * mpn/tests/ref.c (refmpn_strip_twos): Use refmpn_copyi, not
           MPN_COPY_INCR.
   
           * mpz/mul_siui.c, mpf/integer.c: Recognise OPERATION_*_ forms
           produced under ansi2knr.
   
           * configure.in (mpn_objects, mpn_objs_in_libgmp): Add $U to .c
           objects when ansi2knr in use.
   
           * mpn/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
           (libdummy.la): Add this, not built, to create ansi2knr style rules
           for all potential .c files.
           * mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am, mpfr/Makefile.am,
           mpbsd/Makefile.am, mpq/tests/Makefile.am, tests/Makefile.am
           (AUTOMAKE_OPTIONS): Enable ansi2knr (now everywhere).
           * Makefile.am (MPZ_OBJECTS, MPQ_OBJECTS, MPF_OBJECTS, MPFR_OBJECTS,
           MPBSD_OBJECTS, libmp_la_DEPENDENCIES): Add $U to all .lo filenames.
   
   2000-08-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev6/addmul_1.asm: Correct number of cycles to 3.5/28.
   
   2000-08-02  Torbjorn Granlund  <tege@swox.com>
   
           * Version 3.1 released.
   
           * gmp.texi: Rephrase mpf_urandomb documentation.
   
           * mpn/alpha/ev6: New directory with ev6/21264 optimized code.
           * mpn/alpha/ev6/addmul_1.asm: New file.
           * mpn/alpha/ev6/gmp-mparam.h: New file.
   
   2000-08-02  Kevin Ryde  <kevin@swox.se>
   
           * demos/factorize.c (random): Don't use "inline".
   
           * mpfr/log.c, mpfr/mul_ui.c, mpfr/round.c, mpfr/set.c, mpfr/set_d.c:
           Corrections to K&R parts.
   
           * Makefile.am (EXTRA_HEADERS): Omit $(MPFR_HEADERS_OPTION).
           * mpfr/Makefile.am (EXTRA_DIST): Add mpfr.h.
   
           * gmp.texi (Known Build Problems): Note problem stripping libgmp.a.
   
   2000-08-02  Kent Boortz  <kent@swox.com>
   
           * mpfr: Integrated experimental version of mpfr-0.4.
           * configure.in: Changes for option --enable-mpfr.
           * Makefile.am: Changes for option --enable-mpfr.
   
   2000-08-01  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/popcount.c: Disable SPARC v9 popc_limb pattern.
           * mpn/generic/hamdist.c: Likewise.
   
   2000-08-01  Kevin Ryde  <kevin@swox.se>
   
           * mpn/tests/try.c (try_init): Account for ALIGNMENTS when sizing
           source and dest regions.
   
   2000-07-31  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/get_str.c: Develop three extra digits, not just one.
   
   2000-07-31  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (References): Add URL for invariant division.
   
   2000-07-30  Kevin Ryde  <kevin@swox.se>
   
           * tune/time.c (speed_cpu_frequency_proc_cpuinfo): Add support for
           alpha linux "cycle frequency".
   
           * mpn/sparc64/gmp-mparam.h: Re-run tune program for FFT thresholds.
   
   2000-07-29  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (ABI and ISA): Add sparc64-*-linux*.
           * configure.in [sparc64-*-linux*] (gmp_cflags64_gcc): Same flags
           as under solaris.
   
           * configure.in (--enable-fft): New option, default "no".
           * gmp.texi (Build Options): Describe it.
           * mpn/generic/mul.c, mpn/generic/mul_n.c [WANT_FFT]: Use it.
           * tune/tuneup.c [WANT_FFT]: By default don't probe FFTs if not enabled.
           * NEWS: Multiplication optionally using FFT.
   
           * tune/README: Notes on FFT and GCD thresholds, other minor updates.
   
           * Makefile.am: Expunge the macos generated files update stuff.
   
   2000-07-28  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/*/gmp-mparam.h: Add some FFT thresholds.
   
   2000-07-28  Kent Boortz  <kent@swox.se>
   
           * macos/Asm*, macos/CmnObj, macos/Mp*: Delete directories.
           * macos/Makefile: Delete file.
           * macos/Makefile.cw: Delete file.
           * macos/config.h: Delete file.
           * macos/Asm/*.s: Delete files.
           * macos/configure: Create target directories. Don't transform
           '(C)' to '(;)' in a 'dnl' line comment in .asm file.
           * Makefile.am: Delete macos targets.
           * macos/README: Reflect that we reverted back to a build
           process that require ""macos/configure" to run on MacOS.
           This imply that MacPerl is needed for a build in MacOS.
   
   2000-07-27  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mul_fft.c: New file, by Paul Zimmermann, minor mods
           applied.
           * configure.in (gmp_mpn_functions): Add it.
           * mpn/generic/mul.c, mpn/generic/mul_n.c: Use it.
           * doc/multiplication: Describe it (briefly).
   
           * gmp-impl.h (FFT_MUL_THRESHOLD etc): New thresholds.
           (mpn_fft_best_k, mpn_fft_next_size, mpn_mul_fft, mpn_mul_fft_full):
           New functions.
           (numberof, TMP_ALLOC_TYPE etc, _MP_ALLOCATE_FUNC_TYPE etc,
           UNSIGNED_TYPE_MAX etc): New macros.
   
           * tune/*: Add FFT threshold tuning and speed measuring.
           * tune/common.c: Avoid huge macro expansions for umul and udiv.
   
           * mpz/tests/t-bin.c, mpz/tests/t-jac.c, mpz/tests/t-misc.c,
           mpbsd/tests/t-misc.c, mpf/tests/t-misc.c, mpn/tests/try.c,
           mpn/tests/spinner.c: Use new gmp-impl.h macros.
   
           * demos/Makefile.am (BUILT_SOURCES): Don't need calc.c etc under this.
   
   2000-07-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/ia64/gmp-mparam.h: New file.
   
   2000-07-26  Torbjorn Granlund  <tege@swox.com>
   
           * demos/isprime.c: Handle any number of arguments and print
           classification for each.  Add `-q' option for old behaviour.
   
   2000-07-26  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Build Options): Mention djgpp stack size.
           (Notes for Package Builds): New section.
           (Compatibility with older versions): Update for 3.1, add mpf_get_prec.
   
           * demos/factorize.c [__GLIBC__]: Don't declare random() under glibc.
   
           * gmp.h (gmp_version): Add prototype and define.
   
           * Makefile.am: Keep macos directory generated files up-to-date
           during development and on a "make dist".
   
   2000-07-25  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/hppa/gmp-mparam.h: Update threshold values from new `tune' run.
   
           * mpn/pa64/gmp-mparam.h: Fill in values from `make tune' run.
           * mpn/pa64w/gmp-mparam.h: Likewise.
           * mpn/mips3/gmp-mparam.h: Likewise.
   
           * tune/hppa2.asm: Fix typo in .level directive.
   
           * configure.in: Add sparc64-*-linux* support (from Jakub Jelinek).
           * configure: Regenerate.
   
           * mpn/sparc64/rshift.asm: Use %g5 instead of volatile stack frame area
           for return value (from Jakub Jelinek).
           * mpn/sparc64/lshift.asm: Likewise.
   
           * mpf/get_prc.c: Revert Aug 8, 1996 change.
   
           * version.c: No longer static.
   
           * mpn/pa64/gmp-mparam.h: Only #define *_THRESHOLD if not already
           defined.
           * mpn/pa64w/gmp-mparam.h: Likewise.
           * mpn/arm/gmp-mparam.h: Likewise.
           * mpn/mips3/gmp-mparam.h: Likewise.
   
   2000-07-25  Kevin Ryde  <kevin@swox.se>
   
           * INSTALL: It's "info -f ./gmp.info" to be sure of hitting the
           gmp.info in the current directory.
   
           * Makefile.am (libmp_la_DEPENDENCIES): Add mpz/cmp.lo, for last
           mpz/powm.c fix.
   
           * mpn/sparc64/addmul1h.asm, mpn/sparc64/submul1h.asm: Renamed from
           addmul_1h.asm, submul_1h.asm to avoid name conflicts on an 8.3
           filesystem.
           * mpn/sparc64/addmul_1.asm, mpn/sparc64/submul_1.asm,
           mpn/sparc64/mul_1.asm: Update include_mpn()s.
   
   2000-07-24  Torbjorn Granlund  <tege@swox.com>
   
           * Update header of all files previously under the Library GPL
           to instead be under the Lesser GPL.
   
           * COPYING.LIB: Now Lesser GPL.
           * demos/primes.c: Change license to GPL (was Library GPL).
           * demos/isprime.c: Change license to GPL (was Library GPL).
   
           * gmp.h (error code enum): Add GMP_ERROR_BAD_STRING (currently unused).
   
           * mpz/tests/t-mul.c: Default SIZE to a function of TOOM3_MUL_THRESHOLD.
           Improve error messages.  Decrease reps.
   
   2000-07-22  Kevin Ryde  <kevin@swox.se>
   
           * tune/speed.h: Decrease the amount of data used for gcd and powm
           measuring, to make the tune go a bit faster.
   
   2000-07-21  Kent Boortz  <kent@swox.se>
   
           * macos/Asm*, macos/CmnObj, macos/Mp*: Directories no longer created
           from configure script, now part of dist.
           * macos/Makefile
           * macos/Makefile.cw
           * macos/config.h
           * macos/Asm/*.s
           New files and directories that is the output from configure. This way
           no Perl installation is required to build on MacOS, just MPW.
           * macos/configure: Added prefix '__g' to exported assembler labels.
           Changed to handle new m4 syntax instead of the old cpp syntax in asm.
           * macos/Makefile.in: Corrected 'clean' target, added 'distclean'
           and 'maintainer_clean'. Added "mpn/mp_bases.c" to build.
           * macos/README: Reflect the new build process without configure.
           Corrected the file structure for Apple MPW installation.
   
   2000-07-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/tests/t-muldiv.c: Relax error limit.  Make precision depend
           on SIZE.  Misc changes.
   
           * configure: Regenerate.
   
   2000-07-20  Kent Boortz  <kent@swox.com>
   
           * macos/Makefile.in: Removed hard coded targets, added special
           targets found in Makefile.am files.
           * macos/configure: Generate targets from top configure script and
           Makefile.am files. Made script runnable from Unix for testing.
           * macos/README: Notes about search paths for includes, contributed
           by Marco Bambini.
           * configure.in: Added comment about lines that the "macos/configure"
           script depend on.
   
   2000-07-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/powm.c (mpz_powm): After final mpz_redc call, subtract `mod'
           from result if it is greater than `mod'.
   
   2000-07-19  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/hppa/gmp-mparam.h: Fill in values from `make tune' run.
           * mpn/alpha/gmp-mparam.h: Likewise.
           * mpn/powerpc32/gmp-mparam.h: Likewise.
   
           * tune/hppa.asm: New file.
           * tune/hppa2.asm: New file.
           * configure.in (SPEED_CYCLECOUNTER_OBJS): Set for hppa2*-*-* and
           hppa*-*-*.
           * tune/Makefile.am (EXTRA_DIST): Add hppa.asm and hppa2.asm.
   
           * tune/speed.h (SPEED_ROUTINE_MPN_BZ_DIVREM_CALL): Declare `marker';
           invoke TMP_FREE.
   
           * mpn/hppa/hppa1_1/udiv_qrnnd.S: Use "%" instead of "'" for
           reloc/symbol delimiter.
   
   2000-07-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc64/gmp-mparam.h: Update with output from tune utility.
           * mpn/powerpc64/copyi.asm: New file.
           * mpn/powerpc64/copyd.asm: New file.
   
   2000-07-16  Kevin Ryde  <kevin@swox.se>
   
           * tune/*: Add measuring for umul_ppmm and udiv_qrnnd.
   
   2000-07-14  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/k62mmx: New directory.
           * configure.in (k6[23]*-*-*): Use it.
           * mpn/x86/k6/k62mmx/copyi.asm, mpn/x86/k6/k62mmx/copyd.asm: Move from
           mmx directory, improve code alignment a bit.
           * mpn/x86/k6/k62mmx/lshift.asm, mpn/x86/k6/k62mmx/rshift.asm: Ditto,
           and improve addressing modes for pre-CXT cores.
           * mpn/x86/x86-defs.m4 (Zdisp): Add an instruction.
           * mpn/x86/k6/mmx/lshift.asm, mpn/x86/k6/mmx/rshift.asm: New files,
           suiting plain K6.
           * mpn/x86/README, mpn/x86/k6/README: Updates.
           * mpn/x86/k6/mmx/*.asm: Update some comments.
   
           * mpn/tests/Makefile.am: Use $(MAKE) in .asm rules, not "m".
           * tune/Makefile.am: Use $(EXEEXT) and libtool --config objdir, for
           the benefit of djgpp.
   
           * */Makefile.in: Regenerate with patched automake that adds
           $(EXEEXT) to EXTRA_PROGRAMS.
   
           * mpn/tests/try.c: Add #ifdef to SIGBUS, for the benefit of djgpp.
           * config.guess: Recognise pc:*:*:* as an x86, for djgpp.
   
           * configure: Regenerate with patched autoconf to fix temp file
           ".hdr" which is invalid on a DOS 8.3 filesystem, and to fix two
           sed substitutes that clobbered a ":" in $srcdir (eg. a DOS drive
           spec).
   
           * mpz/tests/io.c: Use one fp opened "w+", since separately opened
           input and output doesn't work on MS-DOS 6.21.
   
           * tests/rand/Makefile.am (allprogs): Pseudo-target to build everything.
           (CLEANFILES): Add EXTRA_PROGRAMS and EXTRA_LTLIBRARIES.
           (manual-test, manual-bigtest): Add $(EXEEXT) to dependencies.
   
           * tests/rand/*/Makefile.in: Regenerate with patched automake that adds
           $(EXEEXT) to EXTRA_PROGRAMS.
   
   2000-07-13  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/t-root.c: Also test mpz_perfect_power_p.
           Generate `nth' so that there will be fewer trivial values.
   
           * mpz/root.c: Reverse return value in tests for detecting root of +1
           and -1.
   
           * mpz/perfpow.c: Use TMP_ALLOC interface.
   
   2000-07-12  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/perfpow.c (primes): Make it const.
   
   2000-07-06  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/cross.pl: New file.
   
           * mpn/x86/*/gmp-mparam.h: Updates to thresholds, conditionalize
           all _TIME defines.
           * mpn/x86/pentium/mmx/gmp-mparam.h: New file.
           * mpn/sparc64/gmp-mparam.h: Update thresholds.
           * mpn/sparc32/v9/gmp-mparam.h: Ditto.
   
   2000-07-04  Kevin Ryde  <kevin@swox.se>
   
           * NEWS: Updates.
           * mpn/x86/*/README: Miscellaneous updates.
   
           * tune/speed-ext.c: New file.
           * tune/Makefile.am: Add it.
           * tune/README: Updates.
           * tune/speed.h (SPEED_ROUTINE_MPN_DIVREM_2): Bug fixes.
   
           * demos/calc.y,calclex.l: New files.
           * demos/calc.c,calc.h,calclex.c: New files, generated from .y and .l.
           * demos/Makefile.am: Add them.
   
           * gmp.h (mpq_swap, mpf_swap): Add prototypes and defines.
   
   2000-07-01  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (ABI and ISA): New section, bringing together ABI notes.
           (Build Options): Add MPN_PATH, various updates.
           (Build Options): Add note on setting CFLAGS when setting CC.
           (Notes for Particular Systems): Add -march=pentiumpro problem.
           (Known Build Problems): Note on gmp-mparam.h for 64-bit generic C.
           (GMP Variable Conventions): Add some info on user defined functions.
           (Reporting Bugs): Minor rewording.
   
           * configure.in (MPN_PATH): Renamed from mpn_path.
   
           * gmp-impl.h (ULONG_MAX,ULONG_HIGHBIT,...,SHORT_MAX): New defines.
           * mp[zf]/tests/t-misc.c: Use them.
   
           * mpbsd/tests/t-misc.c: New file.
           * mpbsd/tests/Makefile.am: Add it.
   
           * Makefile.am (LIBGMP_LT_*, LIBMP_LT_*): Bump version info.
           * gmp.h (__GNU_MP_VERSION_*): Bump to 3.1.
   
           * mpf/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
   
           * Makefile.am (libmp_la_SOURCES): Add mp_set_fns.c, accidentally
           omitted in gmp 3.0.x.
           * gmp.texi (Custom Allocation): Note this is available in mpbsd,
           and some minor rewording.
   
   2000-06-30  Torbjorn Granlund  <tege@swox.com>
   
           * demos/factorize.c (random): New function, defined conditionally.
           (factor_using_pollard_rho): Use it, not mrand48.
   
           * mpn/cray/README: New file.
   
   2000-06-30  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/aorsmul_1.asm: Add MULFUNC_PROLOGUE.
   
           * mpz/tests/t-jac.c: Test limbs on mpn_jacobi_base, not just ulongs.
   
           * gmp-impl.h, mpn/tests/try.c, mpn/tests/spinner.c, tune/speed.c:
           Use config.h unconditionally, not under HAVE_CONFIG_H.
   
           * demos/pexpr.c [__DJGPP__]: Patch by Richard Dawe to not use
           setup_error_handler on djgpp.
   
           * tune/*: Locate data to help direct-mapped caches, add measuring
           of mpz_init/clear, mpz_add and mpz_bin_uiui, various cleanups.
           * configure.in (AC_CHECK_FUNCS): Add popen.
   
   2000-06-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/mul_2exp.c: Streamline criterion for whether to use mpn_lshift or
           mpn_rshift.  Increase precision when exp is a multiple of
           BITS_PER_MP_LIMB primarily to make exp==0 be a noop.
           * mpf/div_2exp.c: Analogous changes.
   
           * mpf/tests/t-dm2exp.c: Set u randomly in loop.  Perform more
           mpf_mul_2exp testing.
   
           * configure.in: Recognize cray vector processors with a broad `*';
           move after alpha* not to match that.
   
   2000-06-28  Kevin Ryde  <kevin@swox.se>
   
           * mpz/tests/io.c: Use a disk file, not a pipe, switch to ansi2knr
           style, switch from MP_INT to mpz_t, add a couple of error checks.
           * mpz/tests/Makefile.am (CLEANFILES): Add io.tmp, in case io.c fails.
   
   2000-06-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/tests/t-get_d.c: Be more lax about relative error, to handle Cray
           floating point format.
   
           * mpq/tests/t-get_d.c: Decrease default reps to 1000.
   
           * mpf/tests/t-conv.c: Correct type of `bexp'.
   
           * configure.in (cray vector machines): Don't inherit gmp_cflags_cc.
   
           * tune/Makefile.am (EXTRA_DIST): Delete sparc64.asm.
   
           * configure.in (cray vector machines): Set extra_functions.
   
           * mpn/cray/mulww.f: New file with vectorizing cray code.
           * mpn/cray/mulww.s: Generated from mulww.f.
           * mpn/cray/mul_1.c: New file.
           * mpn/cray/addmul_1.c: New file.
           * mpn/cray/submul_1.c: New file.
           * mpn/cray/add_n.c: New file.
           * mpn/cray/sub_n.c: New file.
   
   2000-06-26  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix so it actually
           detects solaris 2.6, and also suppress warning on solaris 2.8.
           * configure.in (SPEED_CYCLECOUNTER): Remove spurious "athlon" from
           sparc case.
   
           * mpn/lisp/gmpasm-mode.el: Move keymap to the top of the docstring.
   
   2000-06-21  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mul_n.c (mpn_kara_mul_n, mpn_kara_sqr_n): Use
           mp_size_t for n2.
           (mpn_toom3_mul_n, mpn_toom3_sqr_n): Use mp_size_t for size
           parameters and "l" variables.
           * gmp-impl.h (mpn_toom3_mul_n, mpn_toom3_sqr_n): Update prototypes.
   
           * mpbsd/itom.c, mpbsd/sdiv.c: Add casts for correct handling of
           -0x80...00 on systems with sizeof(short)==sizeof(int).
   
           * mpz/tests/t-misc.c: Move "bin" test from here ...
           * mpz/tests/t-bin.c: ... to here, and add a new (2k,k) test too.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add t-bin.
   
           * mpz/bin_ui.c [_LONG_LONG_LIMB]: Use mpn_divrem_1, since kacc is
           a limb not a ulong.
           * mpz/bin_uiui.c [_LONG_LONG_LIMB]: Ditto, and use mpn_mul_1 too,
           since nacc is a limb.
   
           * mpf/tests/t-misc.c (check_mpf_set_si, check_mpf_cmp_si):
           New file, testing mpf_set_si, mpf_init_set_si, and mpf_cmp_si.
           * mpf/tests/Makefile.am (check_PROGRAMS): Add it.
   
           * mpz/tests/t-misc.c (check_mpz_set_si, check_mpz_cmp_si):
           New tests, for mpz_set_si, mpz_init_set_si, and mpz_cmp_si.
   
           * mpz/set_si.c, mpz/iset_si.c, mpz/cmp_si.c [_LONG_LONG_LIMB]: Fix
           handling of -0x80..00.
           * mpf/set_si.c, mpf/iset_si.c, mpf/cmp_si.c [_LONG_LONG_LIMB]: Ditto.
   
   2000-06-19  Torbjorn Granlund  <tege@swox.com>
   
           * demos/primes.c: Properly handle arguments `m +n'.
   
   2000-06-17  Torbjorn Granlund  <tege@swox.com>
   
           * config.sub: Recognize k5 and k6 with common pattern.
   
           * mpq/tests/t-get_d.c: Also test mpq_set_d.  Misc improvements.
   
           * mpq/set_d.c: Special case 0.0.  Don't call mpn_rshift with 0 count.
           Allocate correct amount of memory for numerator.  Delete spurious
           ASSERT_ALWAYS(1).
   
   2000-06-17  Kevin Ryde  <kevin@swox.se>
   
           * mpz/perfsqr.c: Fix so that zero is considered a perfect square.
           (Was wrongly calling mpn_perfect_square_p with size==0.)
   
   2000-06-16  Kevin Ryde  <kevin@swox.se>
   
           * configure.in: Set k5*-*-* to use basic i386 code until there's
           something specific.  Add path=x86 as a default for x86s.
   
           * acinclude.m4 (GMP_CHECK_ASM_ALIGN_LOG): Generate
           ALIGN_LOGARITHMIC setting, not a full ALIGN definition.
           (GMP_CHECK_ASM_ALIGN_FILL_0x90): New test.
           * configure.in [x86-*-*]: Use GMP_CHECK_ASM_ALIGN_FILL_0x90.
           * mpn/asm-defs.m4 (ALIGN): New macro.
           * mpn/x86/x86-defs.m4 (ALIGN): Remove supplementary definition.
   
           * tune/*: Plain "unsigned" for speed_cyclecounter.
           * configure.in: Use tune/sparcv9.asm for 32 and 64 bit modes.
           * tune/sparc64.asm: Remove file.
   
   2000-06-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/k7/mmx/copyi.asm: Use `testb' instead of `test'.
           * mpn/x86/k7/mmx/copyd.asm: Likewise.
   
           * mpn/x86/k7/mmx/lshift.asm: Avoid using `~' (Solaris as problems).
           * mpn/x86/k7/mmx/rshift.asm: Likewise.
           * mpn/x86/k6/aors_n.asm: Likewise.
           * mpn/x86/k7/aors_n.asm: Likewise.
           * mpn/x86/k7/mul_basecase.asm: Likewise.
   
   2000-06-13  Torbjorn Granlund  <tege@swox.com>
   
           * tune/sparcv9.asm: Tune, deleting two instructions.
   
           * tune/alpha.asm: Update to unified speed_cyclecounter.
   
   2000-06-11  Kevin Ryde  <kevin@swox.se>
   
           * mpz/tests/reuse.c (FAIL): Add a K&R version.
           Use _PROTO on some typedefs.
           * mpz/tests/t-misc.c: Add gmp-impl.h for "const".
   
           * configure.in: Rework mpn multi-function and optional files.
           Names standardized, no need for explicit declarations, all picked
           up in one $path traversal.
           * doc/configuration: Updates.
   
           * tests/rand/t-rand.c (main): Change "usage" to work with K&R.
   
   2000-06-10  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/mmx/popham.asm, mpn/x86/p6/mmx/popham.asm,
           mpn/x86/p6/p3mmx/popham.asm, mpn/x86/p6/diveby3.asm: Add
           MULFUNC_PROLOGUE for correct HAVE_NATIVE_* matching.
   
           * mpn/x86/x86-defs.m4 (cmov_bytes_tttn): Use eval() on expressions.
           (cmov_available_p): Switch to list CPUs which do have cmov.
           * mpn/x86/p6/sqr_basecase.asm, mpn/x86/k6/sqr_basecase.asm,
           mpn/x86/k7/sqr_basecase.asm: Use eval() for multiplication.
           * mpn/x86/README.family: Various updates.
   
   2000-06-09  Kevin Ryde  <kevin@swox.se>
   
           * mpbsd/tests/allfuns.c (main): Call exit() instead of doing return.
   
           * doc/tasks.html, doc/projects.html: Moved from projects directory.
           * doc/multiplication: New file.
           * Makefile.am (EXTRA_DIST): Remove projects, add doc.
   
           * Makefile.am (libgmp_la_LIBADD, libmp_la_LIBADD): Remove
           unnecessary -lm.
           * INSTALL: Remove -lm from instructions.
           * demos/Makefile.am (qcn_LDADD): Add -lm.
   
           * tune/*: Add measuring for mpn_divrem_2 and modlimb_invert,
           improve addsub_n.  Switch to unified speed_cyclecounter.
           * configure.in: Update configs for speed_cyclecounter.
   
           * gmp-impl.h (MP_LIMB_T_MAX, MP_LIMB_T_HIGHBIT): New macros.
           * mpn/generic/diveby3.c, mpn/generic/mul_n.c, mpn/generic/gcd.c,
           tune/speed.c, mpn/tests/ref.c: Use them.
   
           * mpn/tests/spinner.c: Remove setitimer, just alarm is enough.
           * configure.in (AC_CHECK_FUNCS): Remove setitimer.
           * mpn/tests/x86call.asm: Start with junk in %eax, %ecx, %edx.
           * mpn/tests/ref.[ch] (refmpn_addsub_nc): New function.
           * mpn/tests/try.c: Add some support for mpn_addsub_nc.
           * mpn/tests/Makefile.am (EXTRA_PROGRAMS): Remove addsub_n and
           addsub_n_2 which don't currently build.
           * mpn/tests/copy.c: Test MPN_COPY_INCR, not __gmpn_copy.
   
           * tests/rand/Makefile.am (libstat_la_LIBADD): Add -lm, no longer on
           libgmp.la.
           (findlc_LDADD): Use libstat.la.
           (AUTOMAKE_OPTIONS): Use ansi2knr.
   
   2000-06-08  Torbjorn Granlund  <tege@swox.com>
   
           * configure.in (alpha*-*-osf*): Default `flavour' to ev6 for ev6 and
           higher.
           (alpha*-*-*): Likewise.
           (alpha*-*-osf*: gmp_optcflags_cc): Move -arch/-tune flags from
           gmp_xoptcflags_gcc.
   
           * mpn/Makefile.am (TARG_DIST): Add pa64w.
   
           * longlong.h: Wrap 64-bit hppa code in #ifndef LONGLONG_STANDALONE.
   
   2000-06-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/remove.c: Fail for `src' being zero.
   
           * mpz/tests/reuse.c: Test more functions.
           (FAIL): New define.
   
           * mpz/tests/t-powm.c: Loop during operand generation while they
           are mathematically ill-defined (used to just skip such tests).
   
           * mpz/powm.c (mpz_redc): Clean up argument declarations.
   
           * configure.in (gmp_cflags64_gcc): Don't add bogus -mWHAT option.
           (sparcv9-*-solaris2.[7-9]], gmp_cflags64_gcc):
           Inherit from previous gmp_cflags64_gcc; pass `-m64 -mptr64'.
           (ia64*-*-*): New.
   
           * mpn/generic/dump.c: Make it work when an mp_limb_t is not `long'.
   
           * mpf/set_prc.c: MPN_COPY => MPN_COPY_INCR.
   
   2000-06-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n):
           Use mpn_incr_u for final carry propagation.
   
           * mpz/tests/t-gcd.c: Add calls to mpz_gcdext with argument t == NULL.
   
           * mpz/tests/reuse.c: Major rewrite; test many more functions.
   
           * mpz/powm_ui.c: When exp is 0, change res assign order in order
           to handle argument overlap.
           * mpz/powm.c: When exp is 0, change res assign order in order
           to handle argument overlap.  Handle negative exp and mod arguments.
   
           * mpz/gcdext.c: Rework code after mpn_gcdext call to handle
           argument overlap.
   
           * mpz/fdiv_qr.c: Read dividend->_mp_size before calling mpz_tdiv_qr
           in order to handle argument overlap.
           * mpz/cdiv_qr.c: Likewise.
   
           * mpf/tests/reuse.c: Fix typo that effectively disabled `dis_funcs'
           tests.  Clean up test for mpf_ui_div.
   
   2000-06-06  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/p6/sqr_basecase.asm: New file.
           * mpn/x86/mod_1.asm: Avoid one conditional jump.
           * mpn/x86/p6/gmp-mparam.h: Update thresholds, #ifndef UMUL_TIME
           and UDIV_TIME, add COUNT_TRAILING_ZEROS_TIME.
   
           * mp_minv_tab.c: New file.
           * Makefile.am (libgmp_la_SOURCES, libmp_la_SOURCES): Add it.
           * gmp-impl.h (modlimb_invert): New macro.
           * mpz/powm.c: Remove mpz_dmprepare, use modlimb_invert instead.
           * mpn/generic/bdivmod.c: Use modlimb_invert instead of a loop.
           * mpn/generic/gcd.c: Inline two small mpn_bdivmod calls, use
           MPN_COPY_INCR not MPN_COPY in one place.
   
   2000-06-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/tests/reuse.c (dsi_funcs): Add mpf_mul_2exp and mpf_div_2exp.
           (main): Clean up test for mpf_div_ui.
   
           * mpf/mul_2exp.c: Correct criterion for whether to use mpn_lshift or
           mpn_rshift.  MPN_COPY => MPN_COPY_INCR.  Coerce the two assignments to
           r->_mp_size.
   
           * mpf/div_2exp.c: Use mpn_rshift instead of mpn_lshift when overlap
           so requires.  MPN_COPY => MPN_COPY_INCR.
   
           * mpf/tests/t-dm2exp.c: Correct type of res_prec.
   
   2000-06-04  Kevin Ryde  <kevin@swox.se>
   
           * mpz/bin_uiui.c: Fix result for n==0 and n==k.
           * mpz/bin_ui.c: Fix result for k>n, add support for n<0.
           * gmp.texi (Number Theoretic Functions): Update mpz_bin_ui to
           note n<0 is supported.
   
           * mpz/tests/t-misc.c: New file.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
   
   2000-05-31  Kevin Ryde  <kevin@swox.se>
   
           * tune/speed.* (FLAG_R_OPTIONAL): New option for routines, use on
           mpn_gcd_1 and mpn_mul_basecase.
           * tune/README: Update.
   
           * tune/alpha.asm: New file, by Torbjorn.
           * tune/Makefile.am (EXTRA_DIST): Add it.
           * configure.in (alpha*-*-*): Use it.
   
   2000-05-31  Linus Nordberg  <linus@swox.se>
   
           * doc/configuration: New file.
   
   2000-05-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul_basecase.c: Call mpn_mul_2 and mpn_addmul_2
           if available.  Don't include longlong.h.
   
           * doc/isa_abi_headache: New file.
   
   2000-05-30  Linus Nordberg  <linus@swox.se>
   
           * configure.in (NM): Use AC_PROG_NM rather than AC_CHECK_TOOL to
           find `nm'.  (AC_PROG_NM comes with Libtool and is needed to get
           the `-B' option (BSD compatible output) included in $NM.)
           (AR): Use AC_CHECK_PROG rather than AC_CHECK_TOOL to find `ar'.
           (Now that NM isn't a cross compilation tool, don't give the
           impression that we know how to cross compile.)
           (CCAS): Remove spurious comment.
   
           * gmp.texi (Notes for Particular Systems): Remove comment about
           using GNU `nm' on AIX since system nm now works.
   
   2000-05-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/power/mul_1.s: Remove [PR] from first word in function
           descriptor.
           * mpn/power/addmul_1.s: Likewise.
           * mpn/power/submul_1.s: Likewise.
   
   2000-05-28  Kevin Ryde  <kevin@swox.se>
   
           * configure.in, tune/*: Change pentium rdtsc cycle scheme to
           HAVE_SPEED_CYCLECOUNTER and SPEED_CYCLECOUNTER_OBJS.
           * tune/pentium.asm: Renamed and converted from rdtsc.asm.
           * tune/sparcv9.asm: New file, by Torbjorn.
           * tune/sparc64.asm: New file.
           * tune/tuneup.c: Put a limit on gcdext search.
   
           * gmp.h (mp_set_memory_functions): Add extern "C".
           * mp.h (__GNU_MP__): Bump to "3".
           * mpz/add.c,mul.c,powm.c,sub.c,sqrtrem.c,tdiv_qr.c [BERKELEY_MP]:
           Include mp.h for mpbsd compile.
           * mpz/gcd.c: Ditto, and remove _mpz_realloc declaration.
   
           * gmp.texi (Integer Functions): Flatten @subsections into @sections.
           (Floating-point Functions): Ditto.
           (Integer Random Numbers): Split from miscellaneous as a sep section.
           (Installing GMP): Make nodes for the sections.
           Add more "@cindex"s.
           (Known Build Problems): Remove SunOS get_d problem, believed fixed.
           (Notes for Particular Systems): Remove HPPA note since now PIC.
           (References): URL for Jebelean.
   
   2000-05-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64w: New directory, contents based on corresponding mpn/pa64
           files.
           * configure.in (hppa2.0w-*-*): New.
           * mpz/tests/io.c (_INCLUDE_POSIX_SOURCE): Define when __hpux before
           including stdio.h.
           * gmp-impl.h: Always define DItype and UDItype.
   
   2000-05-27  Kevin Ryde  <kevin@swox.se>
   
           * tune/common.c (speed_measure): Correction to array sorting,
           better diagnostic when measuring fails.
           * tune/time.c: Add microsecond accurate getrusage method.
   
           * tune/time.c (speed_cpu_frequency_processor_info): New function.
           * configure.in (AC_CHECK_FUNCS): Add processor_info.
   
   2000-05-26  Linus Nordberg  <linus@swox.se>
   
           * gmp.texi (Installing GMP): Shared libraries work for AIX < 4.3
           if using GNU nm.
   
   2000-05-26  Torbjorn Granlund  <tege@swox.com>
   
           * tune/tuneup.c (SIGNED_TYPE_MAX): Shift `-1' instead of `1' to
           avoid signed overflow.
   
           * demos/pexpr.c (setup_error_handler): Don't call sigaltstack on
           Unicos.
   
   2000-05-25  Torbjorn Granlund  <tege@swox.com>
   
           * insert-dbl.c: Work around GCC 2.8 bug.
           * extract-dbl.c: Likewise.
   
           * config.sub: Allow i586, i686, i786 again.
   
           * config.guess: Use X86CPU for lots more systems.
   
   2000-05-25  Linus Nordberg  <linus@swox.se>
   
           * mpbsd/tests/dummy.c (main): Call exit() instead of doing return
           (some old SysV machines don't get this correct, I've heard.)
   
   2000-05-25  Kevin Ryde  <kevin@swox.se>
   
           * mpf/iset_str.c: Initialize _mp_size and _mp_exp to 0, in case no
           digits in string, so it's the same as a separate init and set_str.
   
   2000-05-24  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/reuse.c: Use mpz_random2 instead of mpz_random.
   
           * mpz/divexact.c: Read pointers after reallocation.
           Compare `quot' and `den' instead of `qp' and `dp' in overlap check.
           Use MPN_COPY_INCR for copying from `np'.
   
           (*-*-aix4.[3-9]*): Disable shared libs just for problematic AIX
           versions.
           * configure.in (*-cray-unicos*): Disable asm syntax checking; set
           compiler explicitly.
           * configure.in (hppa*-*-*): Remove code disabling shared libs.
   
   2000-05-24  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_PROG_CC_WORKS): Don't report progress to user
           when doing the AIX specific test to avoid "nested output".
   
   2000-05-22  Kevin Ryde  <kevin@swox.se>
   
           * mp.h (_PROTO): Copy from gmp.h, use on prototypes.
           Add extern "C" too.
           * mpbsd/tests/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
           * mpbsd/tests/allfuns.c: Don't execute mout, just link to it.
           (main): ANSI style definition.
   
           * gmp-impl.h (MP_BASE_AS_DOUBLE): Change the expression to
           something that works on SunOS native cc.  Seems to fix the
           mp*_get_d problems.
   
           * mpn/tests/ref.c (refmpn_strip_twos): Use MPN_COPY_INCR.
           * mpn/tests/Makefile.am: Let .asm.o rules work with absolute $srcdir.
   
   2000-05-21  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k7/sqr_basecase.asm: Replace file with K7 specific code.
           * mpn/x86/k7/README: Update.
           * mpn/x86/k7/gmp-mparam.h: Tune thresholds.
           (COUNT_TRAILING_ZEROS_TIME): New define.
           * mpn/x86/k6/gmp-mparam.h: Ditto.
   
           * mpn/x86/pentium/mmx/popham.asm: New file (include_mpn of K6 version).
           * mpn/x86/p6/diveby3.asm: New file (include_mpn of P5 version).
           * mpn/x86/p6/mmx/popham.asm: New file (include_mpn of K6 version).
           * mpn/x86/p6/p3mmx/popham.asm: New file (include_mpn of K7 version).
           * configure.in (pentium3-*-*): Add p3mmx to $path.
   
           * gmp.texi (Integer Arithmetic): Clarify mpz_jacobi op2; add
           mpz_*_kronecker_*.
           (Miscellaneous Integer Functions): Add mpz_odd_p and mpz_even_p.
           (Low-level Functions): Put mpn_divmod_1 with mpn_divrem_1 and note
           it's now a macro.
           (References): Add Henri Cohen.
   
           * gmp.h (mpn_addmul_1c, mpn_divrem_1c, mpn_mod_1c, mpn_mul_1c,
           mpn_submul_1c): Add prototypes.
           (mpz_odd_p, mpz_even_p): New macros.
   
           * mpn/asm-defs.m4 (m4wrap_prepend): New macro.
           (m4_error): Use it.
           (m4_not_for_expansion): Corrections to OPERATION symbols.
           More comments about variations between m4 versions.
           * mpn/x86/x86-defs.m4 (PROLOGUE): Use m4wrap_prepend (fixes error
           exit under BSD m4, previously m4_error printed the message but the
           exit code was 0).
   
           * gmp.h (mpn_divmod_1): Change to a macro calling mpn_divrem_1.
           * mpn/generic/divrem_1.c: Move divmod_1.c code to here, make it
           static and call it __gmpn_divmod_1_internal.
           * mpn/generic/divmod_1.c: Remove file.
           * configure.in (gmp_mpn_functions): Remove divmod_1.
           * mpn/asm-defs.m4 (define_mpn): Remove divmod_1 and divmod_1c.
           * compat.c (mpn_divmod_1): Add compatibility function.
           * tune/*: Remove mpn_divmod_1 measuring (leave just divrem_1).
   
           * acconfig.h (HAVE_NATIVE_mpn_*): Add some missing carry-in
           variants, remove divmod_1.
   
           * mpn/x86/diveby3.asm: Use imul, update comments.
   
           * demos/qcn.c: New file.
           * demos/Makefile.am (EXTRA_PROGRAMS): Add it.
   
           * mpz/tests/t-jac.c: New file.
           * mpz/tests/Makefile.am (check_PROGRAMS): Add it. Enable ansi2knr.
   
           * mpz/kronsz.c: New file.
           * mpz/kronuz.c: New file.
           * mpz/kronzs.c: New file.
           * mpz/kronzu.c: New file.
           * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
           * Makefile.am (MPZ_OBJECTS): Add them.
           * gmp-impl.h (JACOBI_*, MPN_STRIP_LOW_ZEROS_NOT_ZERO): New macros.
           * gmp.h (mpz_*_kronecker_*): New defines and prototypes.
   
           * mpn/generic/jacbase.c: New file.
           * mpn/generic/mod_1_rs.c: New file.
           * configure.in (gmp_mpn_functions): Add them.
           * gmp.h (mpn_jacobi_base, mpn_mod_1_rshift): New defines and
           prototypes.
           * longlong.h (COUNT_TRAILING_ZEROS_TIME): New define.
           * mpn/tests/ref.c (refmpn_mod_1_rshift): New function.
           * mpn/tests/try.c: Add mpn_mod_1_rshift.
           * tune/*: Add measuring for mpn_jacobi_base.
   
           * acinclude.m4 (GMP_FINISH): Add ifdefs to allow multiple
           inclusion of config.m4.
           (GMP_PROG_M4): Put "good" message through to config.log.
   
           * mpz/powm.c: Use a POWM_THRESHOLD for where redc stops.
           * tune/*: Add mpz_powm measuring, and tune POWM_THRESHOLD.
           * gmp-impl.h [TUNE_PROGRAM_BUILD] (POWM_THRESHOLD): Conditional
           redefinition for use when tuning.
   
           * mpz/powm_ui.c: Use DIVIDE_BY_ZERO.
   
           * mpz/iset_str.c: Initialize _mp_size to 0, in case no digits in
           string; this makes it the same as a separate init and set_str.
   
   2000-05-20  Kevin Ryde  <kevin@swox.se>
   
           * mpn/asm-defs.m4: Note &,|,^ aren't bitwise in BSD m4 eval().
           * mpn/x86/k6/sqr_basecase.asm: Use "%" not "&" in m4 eval()s.
   
           * mpn/x86/x86-defs.m4 (Zdisp): Yet more instruction forms.
   
   2000-05-19  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't use shell variable
           `ac_compile' for our own compile command string since other
           Autoconf macros may depend on it.
   
   2000-05-19  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Fix
           carry propagation in final coefficient additions.
   
   2000-05-18  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Set NM before looking for compiler since
           GMP_CHECK_CC_64BIT needs it.
   
           * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't execute on target.
           (GMP_PROG_CC_FIND): Before checking if the compiler knows how to
           produce 64-bit code, verify that it works at all.  The background
           is that /usr/ucb/cc on Solaris 7 successfully compiles in 64-bit
           mode but fails when doing final link.
           (GMP_PROG_CC_WORKS): Report to user what's happening.
   
   2000-05-17  Linus Nordberg  <linus@swox.se>
   
           * config.guess: Use X86CPU for x86 Cygwin.
   
   2000-05-16  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/p6/mmx/divrem_1.asm: New file.
           * mpn/x86/p6/mmx/mod_1.asm: New file.
           * mpn/x86/p6/README: Update.
           * mpn/x86/divrem_1.asm: Update comments.
           * mpn/x86/mod_1.asm: Ditto.
   
   2000-05-14  Kevin Ryde  <kevin@swox.se>
   
           * tune/speed.h: Run gcd functions on a set of data.
   
           * mpn/tests/try.c: New file.
           * mpn/tests/try.h: New file.
           * mpn/tests/spinner.c: New file.
           * mpn/tests/trace.c: New file.
           * mpn/tests/x86call.asm: New file.
           * mpn/tests/x86check.c: New file.
           * mpn/tests/ref.c (refmpn_hamdist): Allow size==0.
           (refmpn_gcd): New function, and other additions supporting it.
           * mpn/tests/ref.h: More prototypes.
           * mpn/tests/Makefile.am: Add try program, use ansi2knr.
   
           * mpn/x86/k7/mmx/popham.asm: New file.
           * mpn/x86/k6/mmx/popham.asm: New file.
           * mpn/x86/k6/sqr_basecase.asm: Unroll the addmul, for approx 1.3x
           speedup above 15 limbs.
           * mpn/x86/k7/README: Update.
           * mpn/x86/k6/README: Update, and add notes on plain K6 and pre-CXT
           K6-2 problems.
           * configure.in (k6*-*-*, athlon-*-*): Add popham.
   
           * mpn/x86/pentium/diveby3.asm: New file.
           * mpn/x86/pentium/README: Update.
   
           * gmp.texi (Installing GMP): Add note on bad OpenBSD 2.6 m4.
           (Reporting Bugs): Ask for config.m4 if asm file related.
           (I/O of Rationals): New section, add mpq_out_str.
           (References): Add url for on-line gcc manuals.
           A few node and menu updates.
   
           * INSTALL: Better command line argument checking for test progs.
           Change MP -> GMP.
   
           * configure.in (WANT_ASSERT, USE_STACK_ALLOC, HAVE_PENTIUM_RDTSC):
           Put descriptions here, not in acconfig.h.
           (CALLING_CONVENTIONS_OBJS): New AC_SUBST (for mpn/tests/try).
           (HAVE_CALLING_CONVENTIONS): New AC_DEFINE.
           (AC_CHECK_HEADERS): Add sys/time.h.
           (AC_CHECK_FUNCS): Add getpagesize, setitimer.
           (KARATSUBA_SQR_THRESHOLD): Strip trailing comments from the
           #define when passing through to config.m4.
           * acconfig.h (PACKAGE, VERSION, WANT_ASSERT, USE_STACK_ALLOC,
           HAVE_PENTIUM_RDTSC): No need for #undefs, autoheader gets them
           from configure.in.
   
           * acinclude.m4 (GMP_PROG_M4): Check for broken OpenBSD 2.6 m4
           eval(), put messages into config.log.
           * mpn/asm-defs.m4: Add notes and test for OpenBSD 2.6 m4.
   
           * mpq/out_str.c: New file.
           * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
           * Makefile.am (MPQ_OBJECTS): Ditto.
           * gmp.h (mpq_out_str): New define and prototype.
   
   2000-05-12  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (CONFIG_TOP_SRCDIR): Fix to use $srcdir not
           $top_srcdir (which doesn't exist).
           * acinclude.m4 (GMP_C_ANSI2KNR): Fix setting U=_.
           * gmp-impl.h (mpn_com_n, MPN_LOGOPS_N_INLINE): Fix missing "do"
           (not currently used, probably no ill effect anyway).
   
   2000-05-11  Torbjorn Granlund  <tege@swox.com>
   
           * randraw.c (lc): Major overhaul (pending rewrite).
           (_gmp_rand): Rewrite.
   
   2000-05-08  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/convert.c: Call free via _mp_free_func.
           * mpf/tests/t-conv.c: Likewise.
   
           * memory.c: Add code enabled for DEBUG that adds special patterns
           around allocated blocks.
   
   2000-05-05  Linus Nordberg  <linus@swox.se>
   
           * gmp.texi (Miscellaneous Float Functions): Correct parameter list
           for mpf_urandomb().
   
           * configure.in: Invoke AC_REVISION.
   
   2000-05-05  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi: Use @dircategory and @direntry.
           (Installing GMP): Clarification for --target, updates on SunOS
           problems.
           (Integer Arithmetic): Add mpz_mul_si.
           (Initializing Rationals): Add mpq_swap.
           (Assigning Floats): Add mpf_swap.
           (Low-level Functions): Add mpn_divexact_by3c, and details of what
           the calculation actually gives.
           (Low-level Functions): Note extra space needed by mpn_gcdext,
           clarify the details a bit.
   
           * compat.c: New file, entry points for upward binary compatibility.
           (mpn_divexact_by3): Compatibility function.
           * Makefile.am (libgmp_la_SOURCES): Add compat.c.
   
           * mpn/tests/ref.c: Rearrange macros for ansi2knr.
           (div1): Renamed from div to avoid library function.
           (refmpn_divexact_by3c, refmpn_gcd_1, refmpn_popcount,
           refmpn_hamdist): New functions.
           * mpn/tests/ref.h: Add extern "C", add new prototypes.
   
           * gmp.h (gmp_randinit, etc): Add extern "C".
           (_mpq_cmp_ui): Fix prototype name from mpq_cmp_ui.
           (mpn_divexact_by3): Now a macro calling mpn_divexact_by3c.
           (mpn_divexact_by3c): New prototype and define.
   
           * mpn/x86/diveby3.asm: Change to mpn_divexact_by3c.
           * mpn/x86/k6/diveby3.asm: Ditto.
           * mpn/generic/diveby3.c: Ditto.
           * mpn/asm-defs.m4: Ditto on the define_mpn.
           * acconfig.h (HAVE_NATIVE_mpn_divexact_by3c): New define.
   
           * mpq/swap.c: New file, derived from mpz/swap.c.
           * mpf/swap.c: Ditto.
           * mpq/Makefile.am: Add swap.c.
           * mpf/Makefile.am: Ditto.
           * Makefile.am: Add two new "swap.lo"s.
   
           * mpn/x86/k6/mmx/com_n.asm: Fix an addressing bug (fortunately
           this code hasn't been used anywhere yet).
   
           * mpn/x86/k7/mmx/divrem_1.asm: New file.
           * mpn/x86/k7/mmx/mod_1.asm: New file.
           * mpn/x86/k7/diveby3.asm: New file.
           * mpn/x86/k7/README: Update.
   
           * mpn/x86/k7/aorsmul_1.asm: Use new cmovCC, no object code change.
           * mpn/x86/k7/mul_basecase.asm: Ditto.
           * mpn/x86/p6/aorsmul_1.asm: Ditto.
   
           * mpn/x86/x86-defs.m4 (defframe_empty_if_zero): Eval the argument.
           (cmovCC): New macros, replacing individual cmovCC_reg_reg forms.
           (Zdisp): Recognise more instructions.
           (shldl,etc): Use m4_instruction_wrapper().
           (ASSERT, movl_text_address): New macros.
   
           * mpn/asm-defs.m4: Add remarks on SunOS /usr/bin/m4 and new
           OpenBSD m4.
           (m4_assert_numargs_internal_check): Remove a spurious parameter.
           (m4_empty_if_zero): Eval the argument.
           (m4_assert, m4_assert_numargs_range, m4_config_gmp_mparam,
           m4_instruction_wrapper): New macros.
   
   2000-05-04  Linus Nordberg  <linus@swox.se>
   
           * gmp.texi (Reporting Bugs): Be explicit about output from running
           a command.
   
   2000-05-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/bz_divrem_n.c (mpn_bz_divrem_n): Handle non-zero return
           from first mpn_bz_div_3_halves_by_2 call.
           (mpn_bz_divrem_aux): Likewise.
   
   2000-04-30  Kevin Ryde  <kevin@swox.se>
   
           * tune/* (GCD_ACCEL_THRESHOLD, GCDEXT_THRESHOLD): Tune these.
   
           * mpn/generic/gcdext.c (GCDEXT_THRESHOLD): Rename from THRESHOLD,
           use with >=, adjust default to 17 accordingly.
           Use new *_SWAP macros.
   
           * mpn/generic/gcd.c (GCD_ACCEL_THRESHOLD): Rename from
           ACCEL_THRESHOLD, use with >=, adjust default to 5 accordingly.
           Use new *_SWAP macros.
   
           * mpf/get_str.c, mpf/set_str.c, mpf/sub.c, mpz/add.c, mpz/ior.c,
           mpz/and.c, mpz/sub.c, mpz/xor.c, mpz/ui_pow_ui.c,
           mpn/generic/mul.c: Use new *_SWAP macros.
   
           * stack-alloc.h: Add extern "C" around prototypes.
   
           * gmp-impl.h: (MP_PTR_SWAP, etc): New macros.
           (_mp_allocate_func, etc): Use _PROTO.
           [TUNE_PROGRAM_BUILD]: More changes in tune program build part.
   
   2000-04-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/pa64/add_n.s: Add `,entry' to export directive.
           * mpn/pa64/addmul_1.S, mpn/pa64/lshift.s, mpn/pa64/mul_1.S,
           mpn/pa64/rshift.s, mpn/pa64/sub_n.s, mpn/pa64/submul_1.S,
           mpn/pa64/umul_ppmm.S: Likewise.
           * mpn/hppa/hppa1_1/udiv_qrnnd.S: New name for udiv_qrnnd.s.
           Add PIC support.
   
   2000-04-29  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h [TUNE_PROGRAM_BUILD] (TOOM3_MUL_THRESHOLD_LIMIT): New
           define.
           * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Use
           TOOM3_MUL_THRESHOLD_LIMIT, not a hard coded 500.
   
           * memory.c: Use <stdlib.h> for malloc etc, and use _PROTO.
           * stack-alloc.c: Don't use C++ reserved word "this".
           * urandom.h: Put extern "C" around prototypes.
           * mpz/powm.c: Switch a couple of parameters to "const", which they
           are, to satisfy g++.
   
           * randraw.c, stack-alloc.c, mpbsd/mout.c, mpbsd/mtox.c: Add casts to
           help g++.
   
           * stack-alloc.c: Provide dual ANSI/K&R function definitions.
           * mpz/addmul_ui.c,get_d.c,inp_str.c,perfpow.c,powm.c,pprime_p.c,
           rrandomb.c,set_str.c,ui_pow_ui.c: Ditto.
           * mpf/integer.c,set_str.c: Ditto.
           * mpbsd/min.c,xtom.c: Ditto.
           * mpn/generic/bz_divrem_n.c,dump.c,gcd_1.c,get_str.c,hamdist.c,
           popcount.c,random.c,random2.c,set_str.c: Ditto.
   
           * rand.c: Use <stdio.h> for NULL.
           * mpz/gcd_ui.c,gcdext.c,mul.c,perfpow.c,powm_ui.c,root.c,sqrt.c,
           sqrtrem.c: Ditto
           * mpf/sqrt.c,sqrt_ui.c: Ditto.
           * mpn/generic/perfsqr.c,sqrtrem.c: Ditto.
   
           * gmp-impl.h (NULL, malloc, realloc, free): Don't define/declare.
           (extern "C"): Add around function prototypes.
           (mpn_kara_mul_n, mpn_kara_sqr_n, mpn_toom3_mul_n, mpn_toom3_sqr_n):
           Add prototypes.
           [TUNE_PROGRAM_BUILD] (FIB_THRESHOLD): Add necessary redefinitions for
           use by tune program.
           * mpn/generic/mul_n.c: Remove mpn_toom3_mul_n prototype.
   
           * acinclude.m4 (GMP_C_ANSI2KNR): New macro.
           (GMP_CHECK_ASM_MMX, GMP_CHECK_ASM_SHLDL_CL): Fix to use
           $gmp_cv_check_asm_text which is what GMP_CHECK_ASM_TEXT sets.
           * configure.in (GMP_C_ANSI2KNR): Use this instead of AM_C_PROTOTYPES,
           for reasons described with its definition.
   
           * demos/Makefile.am (ansi2knr): Use $(top_builddir) nor $(top_srcdir).
   
           * mpz/fib_ui.c (FIB_THRESHOLD): Rename from FIB_THRES, for consistency.
           (FIB_THRESHOLD): Conditionalize so gmp-mparam.h can define a value.
           (mpz_fib_bigcase): Use >= FIB_THRESHOLD, same as main mpz_fib_ui.
           * tune/tuneup.c,Makefile.am (FIB_THRESHOLD): Tune this.
   
           * configure.in (*-*-aix* gmp_m4postinc): Fix setting (don't overwrite
           a value just stored).
   
   2000-04-26  Kevin Ryde  <kevin@swox.se>
   
           * mpn/sparc32/udiv_fp.asm: Use mpn_udiv_qrnnd macro.
           * mpn/sparc32/udiv_nfp.asm: Ditto.
           * mpn/sparc32/v8/supersparc/udiv.asm: Ditto.
           * mpn/sparc32/umul.asm: Name the function mpn_umul_ppmm.
           * mpn/sparc32/v8/umul.asm: Ditto.
           * mpn/powerpc32/umul.asm: Ditto.
   
           * mpn/x86/syntax.h: Remove file, since now unused.
   
           * configure.in (x86): Remove -DBROKEN_ALIGN and -DOLD_GAS
           previously used by .S files.
           (x86 extra_functions): Add udiv and umul.
           (GMP_PROG_M4): Use this instead of AC_CHECK_PROG(M4,m4,...)
           (HAVE_NATIVE_*): Loosen up the regexp to "PROLOGUE.*" so as to
           accept PROLOGUE_GP on alpha.
   
           * acconfig.h (HAVE_NATIVE_mpn_umul_ppmm, udiv_qrnnd, invert_limb):
           New template defines.
           * mpn/asm-defs.m4 (mpn_umul_ppmm, mpn_udiv_qrnnd): New define_mpn()s.
           * longlong.h (umul_ppmm, udiv_qrnnd): Use a library version if
           it's available and an asm macro isn't.
           * gmp-impl.h (invert_limb): Ditto.
   
           * gmp-impl.h (ASSERT_NOREALLOC): Not a good idea, remove it.
   
           * acinclude.m4 (GMP_PROG_M4): New macro.
   
   2000-04-25  Linus Nordberg  <linus@swox.se>
   
           * gmp.texi (Random State Initialization): Correct arguments to
           `gmp_randinit'.
   
           * acinclude.m4 (GMP_VERSION): Change `eval' --> `m4_eval'.  Fix
           from Kevin.
           * aclocal.m4: Regenerate.
   
   2000-04-25  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/aors_n.asm: Remove parentheses around an immediate that
           Solaris "as" doesn't like, change by Torbjorn.
   
   2000-04-24  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (AC_CHECK_FUNCS): Add strtoul.
   
           * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Bigger
           array for karatsuba temporary space for tune program build.
           (mpn_toom3_sqr_n) Remove an unused variable.
   
           * demos/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
           Add "allprogs:" pseudo-target.
           * demos/factorize.c, demos/isprime.c: Switch to ANSI functions,
           rely on ansi2knr.
   
           * gmp.texi (Getting the Latest Version of GMP): Add reference to
           ftp.gnu.org mirrors list.
           * INSTALL: Add arg count check to example programs.
   
           * mpn/x86/*/*.asm: Convert to FORTRAN ... or rather to
           FORTRAN-style "C" commenting to support Solaris "as".
           * mpn/x86/x86-defs.m4: Ditto, and add another Zdisp insn.
           * mpn/asm-defs.m4 (C): Update comments.
           * mpn/x86/README.family: Add a note on commenting, remove
           description of .S files.
   
           * mpn/sparc64/addmul_1.asm, mul_1.asm, submul_1.asm: Use
           include_mpn().
   
   2000-04-23  Torbjorn Granlund  <tege@swox.com>
   
           * config.sub: Merge with FSF version of April 23.
   
           * mpn/powerpc32: Use dnl/C instead of `#' for comments.
   
           * config.guess: Get "model" limit between pentium 2 and pentium3 right.
           Get rid of code determining `_' prefix; use double labels instead.
           * config.guess: Partially merge with FSF version of April 22.
           (Don't bring over NetBSD changes for now.)
   
   2000-04-23  Kevin Ryde  <kevin@swox.se>
   
           * tune/Makefile.am, tune/README, tune/common.c, tune/rdtsc.asm,
           tune/speed.c, tune/speed.h, tune/time.c, tune/tuneup.c: New files.
           * tune/Makefile.in: New file, generated from Makefile.am.
   
           * gmp-impl.h (ASSERT_NOREALLOC,TMP_ALLOC_LIMBS): New macros.
           [TUNE_PROGRAM_BUILD] Further mods for tune program builds.
   
           * mpz/Makefile.am: Add -DOPERATION_$* for new mul_siui.c.
           Add rules to build mul_si and mul_ui from a common mul_siui.c.
           * mpz/mul_siui.c: New file, derived from and replacing mul_ui.c.
           * gmp.h (mpz_mul_si): New prototype and define.
   
           * mpn/tests/*.c [__i386__] (CLOCK): Don't use floating point in
           CLOCK because cpp can't handle floats in #if's (TIMES is derived
           from CLOCK by default).
   
           * mpn/asm-defs.m4 (include_mpn): New macro.
           (m4_assert_numargs) Changes to implementation.
   
           * mpf/Makefile.am: Add -DOPERATION_$* for new integer.c.
           Remove explicit rules for floor.o etc.
           * mpf/integer.c: Use OPERATION_$* for floor/ceil/trunc.
   
           * mpn/Makefile.am: Put "tests" in SUBDIRS.
           * mpn/tests/Makefile.am: New file providing rules to build test
           programs, nothing done in a "make all" or "make check" though.
           * mpn/tests/README: New file.
   
           * acconfig.h (HAVE_PENTIUM_RDTSC): New define.
   
           * configure.in (x86): Rearrange target cases.
           Add mulfunc aors_n and aorsmul_1 for x86 and pentium (now all x86s).
           Remove asm-syntax.h generation not needed.
           Remove now unused family=x86.
           (sparc) Remove unused family=sparc.
           (HAVE_PENTIUM_RDTSC) New AC_DEFINE and AM_CONDITIONAL.
           (AM_C_PROTOTYPES) New test, supporting ansi2knr.
           (AC_CHECK_HEADERS) Add getopt.h, unistd.h and sys/sysctl.h for
           tune progs.
           (AC_CHECK_FUNCS) Add getopt_long, sysconf and sysctlbyname for
           tune progs.
           (config.m4 CONFIG_TOP_SRCDIR) Renamed from CONFIG_SRCDIR.
           (config.m4 asm-defs.m4) Use CONFIG_TOP_SRCDIR and include().
           (gmp_m4postinc) Use include_mpn().
           (gmp_links) Omit asm-defs.m4/asm.m4 and gmp_m4postinc's.
           (MULFUNC_PROLOGUE) Fix regexps so all functions get AC_DEFINE'd.
           (PROLOGUE) Ditto (native copyi and copyd were unused in gmp 3).
           (KARATSUBA_SQR_THRESHOLD) Copy from gmp-mparam.h into config.m4.
           (AC_OUTPUT) Add tune/Makefile, mpn/tests/Makefile.
   
           * Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
           (SUBDIRS): Add tune, reorder directories.
           (MPZ_OBJECTS): Add mpz/mul_si.lo.
           (libmp_la_SOURCES): Use this for top-level objects, not .lo's.
           * ansi2knr.c, ansi2knr.1: New files, provided by automake.
   
           * mpn/x86/aors_n.asm: Convert add_n.S and sub_n.S to a
           multi-function aors_n.asm, no object code change.
           * mpn/x86/pentium/aors_n.asm: Ditto.
           * mpn/x86/aorsmul_1.asm: Ditto for addmul/submul.
           * mpn/x86/pentium/aorsmul_1.asm: Ditto.
   
           * mpn/x86/lshift.asm, mpn/x86/mul_1.asm, mpn/x86/mul_basecase.asm,
           mpn/x86/rshift.asm: Convert from .S, no object code change.
           * mpn/x86/pentium/lshift.asm, mpn/x86/pentium/mul_1.asm,
           mpn/x86/pentium/mul_basecase.asm, mpn/x86/pentium/rshift.asm: Ditto.
   
           * gmp.texi (Reporting Bugs): Itemize the list of things to include.
           (Miscellaneous Float Functions): Correct typo in mpf_ceil etc
           argument types.
           Change @ifinfo -> @ifnottex for benefit of makeinfo --html.
           Remove unnecessary @iftex's around @tex.
   
   2000-04-22  Torbjorn Granlund  <tege@swox.com>
   
           * config.guess: Generalize x86 cpu determination code.
           Now works on Solaris.
   
           * mpz/nextprime.c: Rewrite still disabled code.
   
           * configure.in: Specifically match freebsd[3-9].
   
   2000-04-21  Torbjorn Granlund  <tege@swox.com>
   
           * rand.c: Call mpz_clear for otherwise leaking mpz_t.
   
           * mpz/pprime_p.c (mpz_probab_prime_p): Merge handling of negative
           n into code for handling small positive n.  Merge variables m and n.
           After dividing, simply call mpz_millerrabin.
           (isprime): Local variables now use attribute `long'.
           (mpz_millerrabin): New static function, based on code from
           mpz_probab_prime_p.
           (millerrabin): Now simple workhorse for mpz_millerrabin.
   
   2000-04-19  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h: Fix parenthesis error in test for __APPLE_CC__.
   
   2000-04-18  Linus Nordberg  <linus@swox.se>
   
           * NEWS: Add info about shared libraries.  Remove reference to
           gmp_randinit_lc.
   
   2000-04-17  Torbjorn Granlund  <tege@swox.com>
   
           * Version 3.0 released.
   
           * mpn/arm/add_n.S: New version from Robert Harley.
           * mpn/arm/addmul_1.S: Likewise.
           * mpn/arm/mul_1.S: Likewise.
           * mpn/arm/sub_n.S: Likewise.
   
           * gmp.h (__GNU_MP_VERSION_PATCHLEVEL): Now 0.
   
   2000-04-17  Linus Nordberg  <linus@swox.se>
   
           * configure.in (hppa2.0*-*-*): Pass `+O3' to cc/c89 in 64-bit mode
           to avoid compiler bug.
           (ns32k*-*-*): Fix typo in path.  Change by Kevin.
           (alpha*-*-osf*): New case.  Pass assembly flags for architecture
           to gcc.
           (alpha*-*-*): Don't bother searching for cc.
           * configure: Regenerate.
   
           * Makefile.am (EXTRA_DIST): Add `macos', `.gdbinit'.
           * Makefile.in: Regenerate.
           * mpn/Makefile.am (EXTRA_DIST): Add `m88k', `lisp'.
           * mpn/Makefile.in: Regenerate.
   
   2000-04-16  Kevin Ryde  <kevin@swox.se>
   
           * README: Updates, and don't duplicate the example in INSTALL.
           * INSTALL: Minor updates.
           * gmp.texi (Installing MP): Minor edits, restore CC/CFLAGS description.
   
   2000-04-16  Linus Nordberg  <linus@swox.se>
   
           * configure.in (*-*-cygwin*): Select BSD_SYNTAX to avoid
           .type/.size in PROLOGUE for ELF_SYNTAX.  Override ALIGN definition
           from x86/syntax.h.
           (gmp_xoptcflags_${CC}): New set of variables, indicating
           ``exclusive optional cflags''.
           (most sparcs): Use gmp_xoptcflags instead of gmp_optcflags to
           ensure that we pass CPU type to older gcc.
           (CFLAGS): CFLAGS on the command line was spoiled.
           * configure: Regenerate.
   
   2000-04-16  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Invoke AC_PROG_LIBTOOL directly.
   
           * acinclude.m4 (GMP_PROG_CC_FIND): Quote source variable when
           setting CC64 and CFLAGS64.
           (GMP_PROG_CC_SELECT): Cache result.
           (GMP_PROG_LIBTOOL): Remove.
   
           * aclocal.m4: Regenerate.
           * configure: Regenerate.
   
   2000-04-16  Linus Nordberg  <linus@swox.se>
   
           * tests/rand/t-rand.c (main): Add non-ANSI function declaration.
           Don't use `const'.
   
   2000-04-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/dump.c: Suppress output of leadign zeros.
   
           * mpz/inp_str.c: Fix memory leakage.
   
           * mpz/tests/reuse.c (dss_func_division): Add a final 1.
   
           * longlong.h (alpha count_leading_zeros): Wrap in __MPN.
           * mpn/alpha/cntlz.asm: Use __gmpn prefix (by means of __MPN).
   
           * longlong.h (__umul_ppmm, __udiv_qrnnd): Wrap in __MPN.
           * mpn/alpha/udiv_qrnnd.S: Use __gmpn prefix.
           * mpn/hppa/udiv_qrnnd.s: Likewise.
           * mpn/hppa/hppa1_1/udiv_qrnnd.s: Likewise.
           * mpn/pa64/udiv_qrnnd.c: Likewise (by means of __MPN).
           * mpn/pa64/umul_ppmm.S: Likewise.
           * mpn/sparc32/udiv_fp.asm: Likewise (by means of MPN).
           * mpn/sparc32/udiv_nfp.asm: Likewise (by means of MPN).
           * mpn/sparc32/v8/supersparc/udiv.asm: Likewise (by means of MPN).
   
           * mpn/generic/tdiv_qr.c: Work around gcc 2.7.2.3 i386 register handling
           bug.
   
           * mpn/generic/tdiv_qr.c: Use udiv_qrnnd instead of mpn_divrem_1
           when computing appropriate quotient; mpn_divrem_1 writes too
           many quotient limbs.
   
           * mpn/asm-defs.m4: invert_normalized_limb => invert_limb.
           * mpn/alpha/invert_limb.asm: mpn_invert_normalized_limb =>
           mpn_invert_limb.
           * gmp.h: Likewise.
           * gmp-impl.h (alpha specific): invert_normalized_limb => invert_limb;
           wrap with __MPN.
           * longlong.h (alpha udiv_qrnnd): Likewise.
   
   2000-04-16  Kevin Ryde  <kevin@swox.se>
   
           * gmp.h (mp_set_memory_functions,mp_bits_per_limb,gmp_errno): Add
           #defines so the library symbols are __gmp_*.
           * errno.c: Include gmp.h.
           * gmp-impl.h (_mp_allocate_func,etc): Add #defines to __gmp_*.
           (__clz_tab): New #define to __MPN(clz_tab).
           * stack-alloc.c (__gmp_allocate_func,etc): Change from _mp_*.
   
           * Makefile.am (libmp_la_DEPENDENCIES): Add some mpz files needed
           for new mpz_powm (pow in libmp).
           (EXTRA_DIST): Add projects directory.
   
           * mpn/*: Change __mpn to __gmpn.
           * gmp.h (__MPN): Ditto.
           * stack_alloc.c,stack-alloc.h: Change __tmp to __gmp_tmp.
   
           * mpn/generic/sb_divrem_mn.c (mpn_sb_divrem_mn): Avoid gcc 2.7.2.3
           i386 register handling bug (same as previously in mpn_divrem_classic).
   
           * mpn/generic/divrem.c: Now contains mpn_divrem, which is not an
           internal function, so remove warning comment.
   
           * gmp.texi (Compatibility with Version 2.0.x): Source level only.
   
   2000-04-16  Linus Nordberg  <linus@swox.se>
   
           * configure.in (hppa1.0*): Prefer c89 to cc.
           * configure: Regenerate.
   
   2000-04-15  Linus Nordberg  <linus@swox.se>
   
           * configure.in: If `mpn_path' is set by user on configure command
           line, use that as path.
           * configure: Regenerate.
   
   2000-04-15  Linus Nordberg  <linus@swox.se>
   
           * configure.in (hppa2.0*): Use path "hppa/hppa1_1 hppa" if no
           64-bit compiler was found.
           * configure: Regenerate.
   
   2000-04-15  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Honor `CC' and `CFLAGS' set by user on configure
           command line.
           * acinclude.m4: (GMP_PROG_CC_SELECT): Set CFLAGS if not set already.
           * aclocal.m4: Regenerate.
           * configure: Regenerate.
   
   2000-04-15  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_PROG_CC_FIND): Remove debug output.  Remove
           commented out code.
           * aclocal.m4: Regenerate.
           * configure: Regenerate.
   
           * configure.in: Make all `-mcpu' options to gcc optional.
           * configure: Regenerate.
   
           * tests/rand/Makefile.am: Don't do anything for target 'all'.
           * tests/rand/Makefile.in: Regenerate.
   
   2000-04-15  Kevin Ryde  <kevin@swox.se>
   
           * README: Small updates.
           * NEWS: Add some things about 3.0.
   
           * mpz/Makefile.am (EXTRA_DIST): Remove dmincl.c.
   
           * Makefile.am: Use -version-info on libraries, not -release.
   
           * mpz/tdiv_qr.c: Add mdiv function header #ifdef BERKELEY_MP.
           * mpbsd/Makefile.am: Use mpz/tdiv_qr.c, not mdiv.c.
           * Makefile.am (MPBSD_OBJECTS): Change mdiv.lo to tdiv_qr.lo.
           (libmp_la_DEPENDENCIES): Add mp_clz_tab.lo.
           * mpbsd/mdiv.c: Remove file.
   
           * config/mt-linux,mt-m68k,mt-m88110,mt-ppc,mt-ppc64-aix,mt-pwr,
           mt-sprc8-gcc,mt-sprc9-gcc,mt-supspc-gcc,mt-vax,mt-x86,
           mpn/config/mt-pa2hpux,mt-sprc9,t-oldgas,t-ppc-aix,t-pwr-aix:
           Remove configure fragments not used since change to autoconf.
   
           * mpn/generic/bz_divrem_n.c,sb_divrem_mn.c: Add comment that
           internal functions are changeable and shouldn't be used directly.
   
   2000-04-15  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Remove debug output.
           * configure: Regenerate.
   
   2000-04-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/tdiv_qr.c: Don't use alloca directly.
   
           * mpz/tdiv_qr.c: Fix typo.
           * mpz/tdiv_r.c: Fix typo.
           * mpz/tdiv_q.c: Fix typo.
   
           * configure.in: Disable -march=pentiumpro due to apparent compiler
           problems.
   
           * mpz/powm.c: Replace with new code from Paul Zimmermann.
   
           * mpz/tdiv_q.c: Remove debug code.
   
           * mpn/generic/divrem.c: Remove C++ style `//' commented-out code.
           * mpn/generic/sb_divrem_mn.c: Likewise.
   
   2000-04-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/cdiv_q.c: Change temp allocation for new requirements of
           mpz_tdiv_qr.
           * mpz/fdiv_q.c: Likewise.
   
           * mpn/sparc64/gmp-mparam.h: Set up parameters for TOOM3.
   
           * mpz/dmincl.c: Delete file.
           * mpz/tdiv_qr.c: Rewrite using mpn_tdiv_qr.
           * mpz/tdiv_r.c: Likewise.
           * mpz/tdiv_q.c: Likewise.
   
           * mpn/generic/tdiv_qr.c: New file.
           * mpn/generic/bz_divrem_n.c: New file.
           * mpn/generic/sb_divrem_mn.c: New file.
   
           * gmp-impl.h (MPZ_REALLOC): New macro.
           (mpn_sb_divrem_mn): Declare.
           (mpn_bz_divrem_n): Declare.
           (mpn_tdiv_qr): Declare.
   
           * configure.in (gmp_mpn_functions): Delete divrem_newt and divrem_1n;
           add tdiv_qr, bz_divrem_n, and sb_divrem_mn.
           * mpn/generic/divrem_newt.c: Delete file.
           * mpn/generic/divrem_1n.c: Delete file.
   
           * gmp.h (mpn_divrem_newton): Remove declaration.
           (mpn_divrem_classic): Remove declaration.
   
           * gmp.h (mpn_divrem): Remove function definition.
           * mpn/generic/divrem.c: Replace mpn_divrem_classic with a
           mpn_divrem wrapper.
   
   2000-04-14  Kevin Ryde  <kevin@swox.se>
   
           * mpf/dump.c, mpz/dump.c, mpn/generic/dump.c,
           mpn/generic/divrem.c, mpn/generic/divrem_1n.c,
           mpn/generic/divrem_2.c, mpn/generic/divrem_newt.c,
           mpn/generic/mul.c, mpn/generic/mul_basecase.c,
           mpn/generic/mul_n.c, mpn/generic/sqr_basecase.c,
           mpn/generic/udiv_w_sdiv.c: Add comment that internal functions are
           changeable and shouldn't be used directly.
   
           * mpq/div.c: Use DIVIDE_BY_ZERO (previously didn't get an
           exception on zero divisor).
   
           * mpf/tests/t-get_d.c, mpz/tests/reuse.c: Add K&R function
           definitions.
           * mpz/tests/t-2exp.c: Don't use ANSI-ism 2ul.
   
           * gmp.texi (Installing MP): Build problem notes for GSYM_PREFIX
           and ranlib on native SunOS.
           Particular systems notes about AIX and HPPA shared libraries
           disabled.
           (MP Basics): Add that undocumented things shouldn't be used.
           (Introduction to MP): Add to CPUs listed.
   
           * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Don't depend on C
           having "void".
   
   2000-04-13  Linus Nordberg  <linus@swox.se>
   
           * mpn/pa64/udiv_qrnnd.c (__udiv_qrnnd64): Add K&R function
           definition.
   
           * configure.in: Disable shared libraries for hppa*.
           (mips-sgi-irix6.*): Fix flags for 64-bit gcc.
           (hppa2.0*-*-*): Prefer c89 to cc.
           * configure: Regenerate.
   
           * gmp.h (gmp_randalg_t): Remove comma after last element.
   
           * tests/rand/t-rand.c: Add copyright notice.
   
   2000-04-13  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/mul_n.c, mpn/generic/gcdext.c, mpz/nextprime.c,
           mpz/remove.c, mpz/root.c: Add K&R function definitions.
           * mpz/rrandomb.c: Fix typo in K&R part.
           * stack-alloc.c: Add K&R style function pointer declarations.
   
           * mpz/root.c: Use SQRT_OF_NEGATIVE on even roots of negatives.
           Use DIVIDE_BY_ZERO on a "zero'th" root.
   
           * configure: Regenerate with autoconf backpatched to fix --srcdir
           absolute path wildcards that bash doesn't like, change by Linus.
   
           * gmp.texi (Integer Arithmetic): Document mpz_nextprime.
           (Miscellaneous Integer Functions): Fix mpz_fits_* formatting.
           (Installing MP): Comment-out CC and CFLAGS description.
   
   2000-04-13  Linus Nordberg  <linus@swox.se>
   
           * rand.c (gmp_randinit): Don't combine va_alist with ordinary
           arguments for non STDC.
   
   2000-04-13  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/nextprime.c: Use proper names of new random types and functions.
   
           * mpz/rrandomb.c: New file.
           * mpz/Makefile.am: List it.
           * mpz/Makefile.in: Regenerate.
           * Makefile.am: Here too.
           * Makefile.in: Regenerate.
           * gmp.h: Declare mpz_rrandomb.
   
   2000-04-12  Linus Nordberg  <linus@swox.se>
   
           * Makefile.am, demos/Makefile.am, mpbsd/Makefile.am,
           mpbsd/tests/Makefile.am, mpf/Makefile.am, mpf/tests/Makefile.am,
           mpn/Makefile.am, mpq/Makefile.am, mpq/tests/Makefile.am,
           mpz/Makefile.am, mpz/tests/Makefile.am, tests/Makefile.am,
           tests/rand/Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'.
   
           * Makefile.in, demos/Makefile.in, mpbsd/Makefile.in,
           mpbsd/tests/Makefile.in, mpf/Makefile.in, mpf/tests/Makefile.in,
           mpn/Makefile.in, mpq/Makefile.in, mpq/tests/Makefile.in,
           mpz/Makefile.in, mpz/tests/Makefile.in, tests/Makefile.in,
           tests/rand/Makefile.in: Regenerate.
   
   2000-04-12  Linus Nordberg  <linus@swox.se>
   
           * randlc.c (gmp_randinit_lc): Disable function.
           * gmp.texi (Random State Initialization): Remove gmp_randinit_lc.
   
           * acinclude.m4 (GMP_CHECK_CC_64BIT): Compiling an empty main
           successfully with `-n32' will have to suffice on irix6.
           * aclocal.m4: Regenerate.
   
           * configure.in (sparc): Don't pass -D_LONG_LONG_LIMB to compiler.
           (mips-sgi-irix6.*): Use compiler option `-n32' rather than `-64'
           for 64-bit `cc'.  Add options for gcc.
           * configure: Regenerate.
   
           * mpf/urandomb.c (mpf_urandomb): Add third parameter 'nbits'.  If
           'nbits' doesn't make even limbs, shift up result before
           normalizing.
   
           * gmp.h (mpf_urandomb): Add parameter to prototype.
   
           * mpf/urandom.c: Rename file to ...
           * mpf/urandomb.c: ... this.
           * Makefile.am (MPF_OBJECTS): Change urandom.lo --> urandomb.lo.
           * Makefile.in: Regenerate.
           * mpf/Makefile.am (libmpf_la_SOURCES): Change urandom.c --> urandomb.c.
           * mpf/Makefile.in: Regenerate.
   
           * config.in: Regenerate for HAVE_DECL_OPTARG.
   
           * randraw.c (_gmp_rand): Fix bug with _LONG_LONG_LIMB.
           (lc): Change return type.
           Use one temporary storage instead of two.
           Handle seed of size 0.
           Avoid modulus operation in some cases.
           Abort if M is not a power of 2.
           Fix bug with 64-bit limbs.
           Fix bug with small seed, small A and large M.
   
           * tests/rand/gen.c (main): Include gmp.h.  Remove macros MIN, MAX.  Add
           option '-q'.  Don't demand argument N.  Change parameters in call
           to mpf_urandomb.
   
           * tests/rand/t-rand.c: New file for testing random number generation.
   
           * tests/rand/Makefile.am: Run t-rand for 'make check'.
           (test, bigtest): Rename to manual-test, manual-bigtest.
           * tests/rand/Makefile.in: Regenerate.
   
   2000-04-12  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h: Include config.h before TMP_ALLOC, so
           --disable-alloca works.
   
           * mpbsd/Makefile.am: Don't recompile top-level sources here.
           * Makefile.am (libmp_la_DEPENDENCIES): Put objects here instead,
           add errno.lo and stack-alloc.lo.
   
           * mpn/asm-defs.m4: Add a test and message for the unsuitable SunOS m4.
           * gmp.texi (Installing MP): Update note on SunOS m4 failure.
   
           * acconfig.h: Add copyright notice using @TOP@.
   
           * stack-alloc.c: Use _mp_allocate_func, not malloc.
           * gmp.texi (Installing MP): Note this under --disable-alloca.
   
           * gmp.texi (Comparison Functions): mpz_cmp_abs => mpz_cmpabs.
           (Integer Arithmetic): mpz_prime_p not yet implemented, comment out.
           (Float Arithmetic): mpf_pow_ui now implemented, uncomment-out.
           (Miscellaneous Float Functions): Add mpf_ceil, mpf_floor, mpf_trunc.
           (Low-level Functions): Add mpn_random2, with mpn_random.
   
           * mpn/m68k/mc68020/udiv.S: Rename from udiv.s.
           * mpn/m68k/mc68020/umul.S: Ditto.
   
           * mpn/alpha/umul.asm: Rename from umul.s, remove .file and
           compiler identifiers.
   
           * mpn/powerpc32/syntax.h: Removed, no longer used.
   
           * mpn/a29k/udiv.s: Remove .file and compiler identifiers.
           * mpn/a29k/umul.s: Ditto.
   
           * mpn/tests/ref.c: Use WANT_ASSERT.
           * mpn/tests/ref.h: Use _PROTO.
   
           * mpbsd/configure.in: Removed, no longer required.
   
           * mpf/div.c: Use DIVIDE_BY_ZERO.
           * mpf/div_ui.c: Ditto.
           * mpf/ui_div.c: Ditto.
           * mpq/inv.c: Ditto.
           * mpf/sqrt.c: Use SQRT_OF_NEGATIVE.
           * mpz/sqrt.c: Ditto.
           * mpz/sqrtrem.c: Ditto.
   
           * gmp-impl.h (GMP_ERROR,SQRT_OF_NEGATIVE): New macros.
           (DIVIDE_BY_ZERO): Use GMP_ERROR.
           (__mp_bases): #define to __MPN(mp_bases).
   
   2000-04-11  Linus Nordberg  <linus@swox.se>
   
           * tests/rand/stat.c (main): Initialize `l1runs' at declaration.
   
   2000-04-11  Kevin Ryde  <kevin@swox.se>
   
           * mpz/fib_ui.c: Add K&R function definitions.
   
           * mpbsd/tests/Makefile.am (TESTS): Add a dummy test to avoid a
           shell problem with an empty "for tst in $(TESTS) ; ...".
           * mpbsd/tests/dummy.c: New file.
   
   2000-04-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/bin_uiui.c: Delete several unused variables.
           Add copyright notice.
           * mpz/bin_ui.c: Add copyright notice.
   
           * longlong.h: Declare __count_leading_zeros for alpha.
   
   2000-04-10  Linus Nordberg  <linus@swox.se>
   
           * rand.c (gmp_randinit): Change parameter list to (rstate, alg, ...).
           * gmp.h: Change prototype accordingly.
           * mpz/pprime_p.c (millerrabin): Change call accordingly.
   
           * configure.in: Check for `optarg'.
           * configure: Regenerate.
   
           * mpn/Makefile.am: Remove incorrect comment.
           * mpn/Makefile.in: Regenerate.
   
           * gmp.h: Rename most of the random number functions, structs and
             some of the struct members.
           * rand.c (gmp_randinit): Likewise.
           * randclr.c (gmp_randclear): Likewise.
           * randlc.c (gmp_randinit_lc): Likewise.
           * randlc2x.c (gmp_randinit_lc_2exp): Likewise.
           * randraw.c (lc): Likewise.
           (_gmp_rand_getraw): Likewise.
           * randsd.c (gmp_randseed): Likewise.
           * randsdui.c (gmp_randseed_ui): Likewise.
           * gmp.texi: Likewise.
   
           * gmp.texi: Use three hyphens for a dash.
           (Low-level Functions): Remove documentation for gmp_rand_getraw.
           (Random Number Functions): Add info on where to find documentation
           on the random number functions.
   
           * tests/rand/Makefile.am (test, bigtest): Quote argument to grep.
           * tests/rand/Makefile.in: Regenerate.
   
           * tests/rand/gen.c: Declare optarg, optind, opterr if not already
           declared.
           (main): Use new names for the random stuff.
           (main): Don't use strtoul() if we don't have it.  Use strtol()
           instead, if we have it.  Otherwise, use atoi().
           (main): Use srandom/srandomdev for __FreeBSD__ only.
           (main): Use new parameter order to gmp_randinit().
   
           * tests/rand/stat.c: Declare optarg, optind, opterr if not already
           declared.
   
   2000-04-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/pprime_p.c: Pass 0L for mpz_scan1.  mpz_mmod => mpz_mod.
           (millerrabin): Use new random interface.
           (millerrabin): ... and don't forget to call gmp_randclear.
   
           * mpz/nextprime.c: New file.
           * gmp.h: Declare mpz_nextprime.
           * mpz/Makefile.am: List nextprime.c.
           * mpz/Makefile.in: Regenerate.
           * Makefile.am: List mpz/nextprime.lo.
           * Makefile.in: Regenerate.
   
   2000-04-10  Kevin Ryde  <kevin@swox.se>
   
           * move-if-change, mpz/tests/move-if-change, mpq/tests/move-if-change,
           mpf/tests/move-if-change: Remove, no longer used.
   
           * Makefile.am (SUBDIRS): Add tests, demos, mpbsd.
           (libmp.la): New target, conditional on WANT_MPBSD.
           (libgmp_la_LIBADD): Add -lm.
           (AUTOMAKE_OPTIONS): Add check-news.
           (include_HEADERS): Setup to install gmp.h and possibly mp.h.
           (DISTCLEANFILES): Add generated files.
           (check): Remove explicit target (now uses check-recursive).
   
           * configure.in: Use AM_CONFIG_HEADER.
           Add --enable-mpbsd setting automake conditional WANT_MPBSD.
           Output demos/Makefile, mpbsd/Makefile and mpbsd/tests/Makefile.
   
           * mpz/Makefile.am: Add SUBDIRS=tests, shorten INCLUDES since now
           using AM_CONFIG_HEADER.
           * mpq/Makefile.am: Ditto.
           * mpf/Makefile.am: Ditto, and add DISTCLEANFILES.
           * mpn/Makefile.am: Shorten INCLUDES, amend some comments.
           * mpz/tests/Makefile.am: Use TESTS and $(top_builddir).
           * mpf/tests/Makefile.am: Ditto.
           * mpq/tests/Makefile.am: Ditto.
           * demos/Makefile.am: New file.
   
           * mpbsd/Makefile.am: New file, derived from old mpbsd/Makefile.in.
           * mpbsd/Makefile.in: Now generated from Makefile.am.
           * mpbsd/realloc.c: Removed, use mpz/realloc.c instead.
           * mpbsd/tests/Makefile.am: New file.
           * mpbsd/tests/Makefile.in: New file, generated from Makefile.am.
           * mpbsd/tests/allfuns.c: New file.
   
           * gmp.texi (Top): Use @ifnottex, to help makeinfo --html.
           (Installing MP): Describe --enable-mpbsd and demo programs.
   
           * tests/rand/statlib.c: mpz_cmp_abs => mpz_cmpabs.
   
           * tests/rand/Makefile.am (LDADD): Don't need -lm (now in libgmp.la).
           (EXTRA_PROGRAMS): Not noinst_PROGRAMS.
           (INCLUDES): Shorten to -I$(top_srcdir) now using AM_CONFIG_HEADER.
   
   2000-04-09  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/urandomm.c: Get type of count right.
           Simplify computation of nbits.
   
   2000-04-08  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/urandomb.c: Fix reallocation condition.
           Simplify size computation.
   
   2000-04-08  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_CHECK_CC_64BIT): Add special handling for
           HPUX.
           (GMP_CHECK_ASM_W32): Ditto.
           * aclocal.m4: Regenerate.
   
           * mpn/Makefile.am: Use $(CCAS) for assembling.
           (.asm.obj): Add rule.
           * mpn/Makefile.in: Regenerate.
   
           * gmp.texi (Miscellaneous Integer Functions): Fix typos.
   
           * configure.in: Never pass `-h' to grep.
           (mips-sgi-irix6.[2-9]*): Try to find 64-bit compiler.
           (hppa1.0*-*-*): New flag for cc.
           (hppa2.0*-*-*): Try to find 64-bit compiler.  Chose path, set
           CCAS.
           * configure: Regenerate.
   
   2000-04-08  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/bin_ui.c: Don't depend on ANSI C features.
           * mpz/bin_uiui.c: Likewise.
   
           * Makefile.am (MPZ_OBJECTS): mpz/cmp_abs* => mpz/cmpabs*.
           (MPQ_OBJECTS): Add mpq/set_d.lo.
           (MPZ_OBJECTS): Add mpz/fits*.lo.
           * Makefile.in: Regenerate.
   
           * mpz/cmpabs.c: New name for mpz/cmp_abs.c.
           * mpz/cmpabs_ui.c: New name for mpz/cmp_abs_ui.c.
           * mpz/Makefile.am: Corresponding changes.
           * mpz/Makefile.in: Regenerate.
           * gmp.h: mpz_cmp_abs* => mpz_cmpabs*.
   
           * mpz/addmul_ui.c (mpn_neg1): Don't depend on ANSI C features.
   
           * mpz/invert.c: Use TMP_MARK since we invoke MPZ_TMP_INIT.
   
           * gmp.h (mpq_set_d): Declare correctly.
           (mpz_root): Use _PROTO.
           (mpz_remove): Use _PROTO.
           (mpf_pow_iu): Use _PROTO.
   
           * mpn/asm-defs.m4 (MPN_PREFIX): Revert previous change.
           * gmp.h (__MPN): Revert previous change.
   
           * mpz/perfpow.c: De-ANSI-fy.  Add copyright notice.
   
           * mpz/set_d.c: Misc cleanups.
   
           * mpq/set_d: New file.
           * gmp.h: Declare mpq_set_d.
           * mpq/Makefile.am: List set_d.c.
           * mpq/Makefile.in: Regenerate.
   
   2000-04-07  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/fits_sint_p.c: New file.
           * mpz/fits_slong_p.c: New file.
           * mpz/fits_sshort_p.c: New file.
           * mpz/fits_uint_p.c: New file.
           * mpz/fits_ulong_p.c: New file.
           * mpz/fits_ushort_p.c: New file.
           * gmp.h: Declare mpz_fits_*.
           * mpz/Makefile.am: List fits_* files.
           * mpz/Makefile.in: Regenerate.
   
   2000-04-06  Kevin Ryde  <kevin@swox.se>
   
           * gmp.texi (Installing MP): Add known build problem SunOS 4.1.4 m4
           failure.
   
           * mpn/x86/pentium/gmp-mparam.h: Tune thresholds.
           * mpn/x86/p6/gmp-mparam.h: Ditto.
           * mpn/x86/k6/gmp-mparam.h: Tune thresholds, add UMUL_TIME, UDIV_TIME.
           * mpn/x86/k7/gmp-mparam.h: Tune thresholds, amend UMUL_TIME.
   
           * mpn/generic/mul_n.c (mpn_kara_mul_n): Add an ASSERT.
           (mpn_kara_sqr_n): Add an ASSERT, use KARATSUBA_SQR_THRESHOLD.
           (mpn_toom3_sqr_n): Eliminate second evaluate3.
   
           * gmp-impl.h (mpn_com_n,MPN_LOGOPS_N_INLINE): Don't allow size==0.
           (tune_mul_threshold,tune_sqr_threshold): Conditionalize
           declarations on TUNE_PROGRAM_BUILD.
   
           * mpn/generic/sqr_basecase.c: Add an assert.
   
   2000-04-05  Torbjorn Granlund  <tege@swox.com>
   
           * gmp.h, mpn/asm-defs.m4: List the same functions for __MPN, but
           leave some commented out.
   
           * gmp-impl.h (MPN_LOGOPS_N_INLINE): Optimize.
           (mpn_com_n): Optimize.
   
           * gmp.h (__MPN): Make it use __gmpn instead of __mpn for consistency.
           * mpn/asm-defs.m4 (MPN_PREFIX): Likewise.
   
           * gmp.h (GMP_ERROR_ALLOCATE): New errcode.
   
           * gmp-impl.h (MPN_MUL_N_RECURSE): Delete.
           (MPN_SQR_RECURSE): Delete.
   
           * gmp-impl.h (TARGET_REGISTER_STARVED): New define.
   
           * gmp-impl.h (mpn_kara_sqr_n): Remap with __MPN.
           (mpn_toom3_sqr_n): Likewise.
           (mpn_kara_mul_n): Likewise.
           (mpn_toom3_mul_n): Likewise.
           (mpn_reciprocal): Likewise.
   
           * gmp-impl.h (__gmpn_mul_n): Remove declaration.
           (__gmpn_sqr): Likewise.
           * gmp.h (mpn_sqr_n): Declare/remap.
           * mpn/generic/mul.c (mpn_sqr_n): New name for mpn_sqr.
   
           * gmp.h (mpn_udiv_w_sdiv): Move __MPN remap from here...
           * gmp-impl.h: ...to here.
   
   2000-04-05  Linus Nordberg  <linus@swox.se>
   
           * gmp.texi (Top): Add `Random Number Functions' to menu.
           (Introduction to MP): Fix typo.
           (MP Basics): Create menu for all sections.  Move `Random Number
           Functions' to its own chapter.  Add nodes for all sections.
           (Function Classes): Mention random generation functions under
           miscellaneous.
           (Miscellaneous Integer Functions): Update mpz_urandomb,
           mpz_urandomm.
           (Low-level Functions): Remove mpn_rawrandom.
           (Random State Initialization): Update.
   
           * mpf/urandom.c (mpf_urandomb): Remove SIZE parameter.  Normalize
           result correctly.
   
           * gmp.h (mpf_urandomb): Remove SIZE parameter.
   
           * randraw.c (gmp_rand_getraw): Handle the case where (1) the LC
           scheme doesn't generate even limbs and (2) more than one LC
           invokation is necessary to produce the requested number of bits.
   
   2000-04-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/mul_n.c (INVERSE_3): New name for THIRD, define for
           any BITS_PER_MP_LIMB.
           (MP_LIMB_T_MAX): New.
           (mpn_divexact3_n): Remove.
           (interpolate3): Use mpn_divexact_by3 instead of mpn_divexact3_n.
   
   2000-04-05  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h (KARATSUBA_MUL_THRESHOLD<2): Remove cpp test.
           (tune_mul_threshold,tune_sqr_threshold): Add declarations, used in
           development only.
   
           * mpn/x86/k7/sqr_basecase.asm: New file, only a copy of k6 for now.
   
   2000-04-04  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (TOOM3_MUL_THRESHOLD): Provide default.
           (TOOM3_SQR_THRESHOLD): Provide default.
   
           * mpn/generic/mul_n.c: Rewrite (mostly by Robert Harley).
           * mpn/generic/mul.c: Rewrite (mostly by Robert Harley).
   
           * configure.in (sparcv9 64-bit OS): Set extra_functions.
   
   2000-04-04  Linus Nordberg  <linus@swox.se>
   
           * mpn/generic/rawrandom.c: Remove file and replace with randraw.c
           on top level.
           (mpn_rawrandom): Rename to gmp_rand_getraw.
   
           * randraw.c: New file; essentially a copy of
           mpn/generic/rawrandom.c.
           (gmp_rand_getraw): New function (formerly known as mpn_rawrandom).
   
           * mpz/urandomb.c (mpz_urandomb): Change mpn_rawrandom -->
           gmp_rand_getraw.
           * mpz/urandomm.c (mpz_urandomb): Ditto.
           * mpf/urandom.c (mpf_urandomb): Ditto.
   
           * gmp.h (gmp_rand_getraw): Add function prototype.
           (mpn_rawrandom): Remove function prototype.
   
           * Makefile.am (libgmp_la_SOURCES): Add randraw.c.
           * Makefile.in: Regenerate.
   
           * configure.in (gmp_mpn_functions): Remove rawrandom.
           * configure: Regenerate.
   
   2000-04-04  Linus Nordberg  <linus@swox.se>
   
           * gmp.h (GMP_ERROR enum): Remove comma after last enumeration
           since the AIX compiler (xlc) doesn't like that.
   
           * randlc.c (gmp_rand_init_lc): Allocate enough space for seed to
           hold any upcoming seed.
           * randlc2x.c (gmp_rand_init_lc_2exp): Likewise.
   
           * mpn/generic/rawrandom.c: Remove debugging code.
           (mpn_lc): Don't reallocate seed.
   
           * mpz/urandomm.c (mpz_urandomm): Implement function.
   
           * mpz/urandomb.c (mpz_urandomb): Fix typo in function definition.
   
   2000-04-04  Kevin Ryde  <kevin@swox.se>
   
           * make.bat: Removed (no longer works, no longer supported).
           * mpn/msdos/asm-syntax.h: Removed (was used only by make.bat).
   
   2000-04-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/brandom.c: New file, replacing random2.
   
   2000-04-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v9/submul_1.asm: Change some carry-form instructions
           into their plain counterparts.
   
           * mpn/sparc64/copyi.asm: Avoid executing ALIGN.
   
           * mpn/sparc64/mul_1.asm: Handle overlap of rp/sp.
           * mpn/sparc64/addmul_1.asm: Likewise.
           * mpn/sparc64/submul_1.asm: Likewise.
   
   2000-04-01  Linus Nordberg  <linus@swox.se>
   
           * gmp.h: Fix function prototypes for randomization functions.
           (__gmp_rand_lc_scheme_struct): Replace `m' with `m2exp'. Remove
           unused `bits'.
           (__gmp_rand_data_lc): Add `m2exp' as another way of representing
           the modulus.
           (__gmp_rand_state_struct): Remove unused `size'.
   
           * rand.c (__gmp_rand_scheme): Use better multipliers.  Remove test
           schemes.  Replace `m' with `m2exp'.
           (gmp_rand_init): Change parameters and return type.  Use `m2exp'
           instead of `m'.  Set `gmp_errno' on error.  Disable BBS algorithm.
   
           * randlc.c (gmp_rand_init_lc): Don't use malloc().  Change
           parameters.
   
           * randclr.c (gmp_rand_clear): Don't use free().  Disable BBS
           algorithm.  Set `gmp_errno' on error.
   
           * randlc2x.c (gmp_rand_init_lc_2exp): New function.
           * randsd.c (gmp_rand_seed): New function.
           * randsdui.c (gmp_rand_seed_ui): New function.
           * randlcui.c: Remove unused file.
   
           * mpn/generic/rawrandom.c (mpn_rawrandom): Rewrite.
           (mpn_lc): New static function.
   
           * mpz/urandomb.c (mpz_urandomb): Use ABSIZ() instead of SIZ() for
           determining size of ROP.
   
           * mpf/urandom.c (mpf_urandomb): Add third parameter, nbits.  (Not
           used yet!)
           Change parameter order to mpn_rawrandom().
   
           * Makefile.am (libgmp_la_SOURCES): Add errno.c, randlc2x.c,
           randsd.c, randsdui.c.  Remove randui.c.
           (MPZ_OBJECTS): Rename urandom.lo --> urandomb.lo.  Add urandomm.lo.
           * Makefile.in: Regenerate.
   
           * mpz/Makefile.am (libmpz_la_SOURCES): Change urandom.c -->
           urandomb.c.  Add urandomm.c.
           * mpz/Makefile.in: Regenerate.
   
           * tests/rand/Makefile.am (noinst_PROGRAMS): Change findcl --> findlc.
           Add gen.static.
           * tests/rand/Makefile.in: Regenerate.
   
           * tests/rand/gen.c (main): Add mpz_urandomm.  Add command line options
           `-C', `-m', extend `-a'.  Use *mp*_*rand*() with new parameters.  Call
           gmp_rand_seed().
   
   2000-04-01  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_DATA): Plain .data for hpux.
           * configure.in (CCAS): No CFLAGS, they're added when it's used.
           (CONFIG_SRCDIR): New define for config.m4.
           * mpn/sparc64/addmul_1.asm: Use it for an include().
           * mpn/sparc64/submul_1.asm: Ditto.
           * mpn/sparc64/mul_1.asm: Ditto.
   
   2000-03-31  Linus Nordberg  <linus@swox.se>
   
           * mpz/urandom.c: Rename to...
           * mpz/urandomb.c: ...this.
   
           * mpz/urandomb.c (mpz_urandomb): Change operand order in call to
           mpn_rawrandom().  Use ABSIZ() instead of SIZ() when checking size
           of ROP.
   
           * mpz/urandomm.c: New file.
   
   2000-03-31  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_MMX): Give a warning when mmx code
           will be omitted.
   
   2000-03-30  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/mul_1h.asm: New file.
           * mpn/sparc64/addmul_1h.asm: New file.
           * mpn/sparc64/submul_1h.asm: New file.
           * mpn/sparc64/mul_1.asm: Rewrite.
           * mpn/sparc64/addmul_1.asm: Rewrite.
           * mpn/sparc64/submul_1.asm: Rewrite.
   
   2000-03-28  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v9/mul_1.asm: Fix typo in branch prediction.
           * mpn/sparc32/v9/addmul_1.asm: Likewise.
           * mpn/sparc32/v9/submul_1.asm: Likewise.
   
   2000-03-25  Kevin Ryde  <kevin@swox.se>
   
           * mpn/lisp/gmpasm-mode.el: Fix some comment detection, use custom,
           fontify more keywords, turn into a standalone mode.
   
           * stamp-vti: New file, generated together with version.texi.
   
           * acinclude.m4 (GMP_VERSION,GMP_HEADER_GETVAL): New macros.
           * configure.in (AM_INIT_AUTOMAKE): Use GMP_VERSION.
   
   2000-03-24  Kevin Ryde  <kevin@swox.se>
   
           * INSTALL: Updates for new configure system.
   
           * configure.in: Add gmp_optcflags_gcc for the x86s, setting -mcpu
           and -march.
   
   2000-03-23  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (mpz_eval_expr): Properly initialize rhs/lhs
           for ROOT.
   
   2000-03-23  Kevin Ryde  <kevin@swox.se>
   
           * config.guess (i?86:*:*:*): Use uname -m if detection program fails.
   
           * mpn/x86/README: Remove remarks on the now implemented MMX shifts.
           * mpn/x86/k6/README: Add speed of mpn_divexact_by3, update mpn_mul_1.
   
           * gmp.texi (Installing MP): Corrections to target CPUs.
   
           * version.c: Use VERSION from config.h, add copyright comment,
           restore "const" somehow lost.
   
           * configure.in (a29k*-*-*): Fix directory name.
   
   2000-03-22  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (op_t): Add ROOT.
           (fns): Add ROOT.
           (mpz_eval_expr): Add ROOT.
   
           * mpz/root.c: Handle roots of negative numbers.
           Fix other border cases.
           Fix rare memory leakage.
   
           * errno.c: New file.
   
   2000-03-21  Torbjorn Granlund  <tege@swox.com>
   
           * gmp.h (error number enum): New anonymous enum.
           (gmp_errno): New.
   
           * gmp.h (__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR): Bump for GMP 3.0.
   
   2000-03-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/unicos.m4 (FLOAT64): New define.
           * mpn/alpha/default.m4 (FLOAT64): New define.
           * mpn/alpha/invert_limb.asm (C36): Use FLOAT64.
   
   2000-03-21  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/diveby3.asm: Tiny speedup.
   
           * acinclude.m4 (GMP_CHECK_ASM_SHLDL_CL): New macro.
           * configure.in: Use it, set WANT_SHLDL_CL in config.m4.
           * mpn/x86/x86-defs.m4 (shldl,shrdl,shldw,shrdw): New macros, using
           WANT_SHLDL_CL.
           * mpn/x86/k6/mmx/lshift.asm: Use shldl macro.
           * mpn/x86/k7/mmx/lshift.asm: Ditto.
           * mpn/x86/pentium/mmx/lshift.asm: Ditto.
           * mpn/x86/k6/mmx/rshift.asm: Use shrdl macro.
           * mpn/x86/k7/mmx/rshift.asm: Ditto.
           * mpn/x86/pentium/mmx/rshift.asm: Ditto.
           * mpn/x86/README.family: Add a note about this.
   
   2000-03-20  Linus Nordberg  <linus@swox.se>
   
           * mpn/generic/rawrandom.c (mpn_rawrandom): Handle seed value of 0
           correctly.
   
           * configure.in: Fix detection of alpha flavour.
           Set compiler options for `sparcv8'.
           * configure: Regenerate.
   
           * rand.c (__gmp_rand_scheme): Clean up some.  Use slightly better
           multipliers.
   
           * configure.in (AC_OUTPUT): Add tests/Makefile and
           tests/rand/Makefile.
   
           * acinclude.m4 (AC_CANONICAL_BUILD): Define to
           `_AC_CANONICAL_BUILD' to deal with incompabilities between
           Autoconf and Libtool.
           (AC_CHECK_TOOL_PREFIX): Likewise.
   
           * Makefile.am (EXTRA_DIST): Add directory `tests'.
   
           * mkinstalldirs: Update (Automake 2000-03-17).
           * ltconfig: Update (Libtool 2000-03-17).
           * ltmain.sh: Ditto.
   
           * configure: Regenerate with new autoconf/-make/libtool suite.
           * aclocal.m4: Ditto.
           * config.in: Ditto.
           * all Makefile.in's: Ditto.
   
   2000-03-20  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (main): Don't allow `-N' for base, require `-bN'.
   
           * mpn/alpha/unicos.m4 (cvttqc): New define.
           * mpn/alpha/invert_limb.asm: Use new define for cvttqc.
   
   2000-03-19  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/sqr_basecase.asm: Tiny amendments for 3x3 case.
   
           * gmp.texi: Use @include version.texi.
           Use @email and @uref.
           (Installing MP): Rewrite for new configure.
           (Low-level Functions): Add mpn_divexact_by3.
   
           * configure.in (--enable-alloca): New option.
           * acconfig.h (USE_STACK_ALLOC): For --disable-alloca.
   
   2000-03-18  Kent Boortz  <kent@swox.com>
   
           * macos: New directory with macos port files.
   
   2000-03-17  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (union ieee_double_extract): Check _CRAYMPP.
   
           * mpn/asm-defs.m4 (invert_normalized_limb): Define.
   
           * mpn/alpha: Translate `.s' files to `.asm'.
   
           * configure: Regenerate.
   
           * mpn/alpha/invert_limb.asm: Replace dash in file name with underscore.
           * configure.in: Corresponding change.
   
           * configure.in: Assign special "path" for alphaev6.
   
           * mpn/alpha/unicos.m4: New file.
           * configure.in (alpha*-cray-unicos*): [This part of the change
           commited 2000-03-13 by linus]
           * mpn/alpha/default.m4: New file.
           * configure.in (alpha*-*-*): Use it.
   
   2000-03-17  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/rshift.S: Use plain rcrl (not rcrl $1) for
           shift-by-1 case, significant speedup.
           * mpn/x86/pentium/README: Add shift-by-1 speed.
   
   2000-03-16  Torbjorn Granlund  <tege@swox.com>
   
           * config.guess: Handle Cray T3D/E.
   
   2000-03-15  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/diveby3.c: New file.
           * mpn/x86/diveby3.asm: New file.
           * mpn/x86/k6/diveby3.asm: New file.
           * gmp.h (mpn_divexact_by3): Prototype and define.
           * mpn/asm-defs.m4: define_mpn(divexact_by3).
           * configure.in (gmp_mpn_functions): Add diveby3.
   
           * mpn/x86/pentium/sqr_basecase.asm: A few better addressing modes.
   
           * configure.in: Add AC_C_STRINGIZE and AC_CHECK_TYPES((void)).
           * gmp-impl.h (ASSERT): Use them.
   
           * mpn/x86/k7/mmx/lshift.asm: New file.
           * mpn/x86/k7/mmx/rshift.asm: Rewrite simple loop and return value
           handling, add some pictures.
   
   2000-03-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v8/mul_1.asm: Make PIC actually work.
           * mpn/sparc32/v8/addmul_1.asm: Likewise.
   
           * mpn/sparc32/v8/mul_1.asm: Use m4 ifdef, not cpp #if.
           * mpn/sparc32/v8/addmul_1.asm: Likewise.
   
           * mpn/asm-defs.m4 (C): New define for comments.
           * mpn/sparc32: Start comments with `C'.
   
           * config.guess: Remove `SunOS 6' handling.
           Recognize sun4m and sun4d architectures under old SunOS.
   
   2000-03-14  Linus Nordberg  <linus@swox.se>
   
           * configure.in (gmp_srclinks): Set to list of links created by
           configure.
           * configure: Regenerate.
   
           * Makefile.am (libgmp_la_LDFLAGS): Set version info.
           (DISTCLEANFILES): Include @gmp_srclinks@.
           * Makefile.in: Regenerate.
   
   2000-03-13  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Remove some changequote's by quoting the strings
           containing `[]'.
           Add support for `alpha*-cray-unicos*'.
           AC_DEFINE `_LONG_LONG_LIMB' instead of passing it in CFLAGS.
           Conditionalize the assembler syntax checks.
           * configure: Regenerate.
           * config.in: Regenerate.
   
           * acinclude.m4 (GMP_PROG_CCAS): Remove macro.
           * aclocal.m4: Regenerate.
   
   2000-03-13  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/p6/README: New file.
   
           * mpn/x86/k6/mul_1.asm: Rewrite, smaller and slightly faster.
   
           * mpn/lisp/gmpasm-mode.el: Rewrite assembler comment detection and
           handling.
   
           * configure.in: Separate mmx directories for each x86 flavour.
           * configure: Regenerate.
   
   2000-03-12  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/x86-defs.m4 (ALIGN): Supplement definition from
           config.m4 so as to pad with nops not zeros on old gas.
   
           * mpn/x86/k7/mmx/copyd.asm: Use plain emms (femms is just an alias
           for emms now).
           * mpn/x86/k7/mmx/copyi.asm: Ditto.
           * mpn/x86/k7/mmx/rshift.asm: Ditto.
           * mpn/x86/x86-defs.m4: Amend comments.
   
           * mpn/x86/mod_1.asm: Add comments on speeds.
   
           * mpn/x86/pentium/mmx/lshift.asm: New file.
           * mpn/x86/pentium/mmx/rshift.asm: New file.
           * mpn/x86/pentium/README: Add speeds of various routines.
   
   2000-03-10  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Reorganize.
           Use AC_CHECK_TOOL to find `ar'.
           Add post-includes `regmap.m4' and `aix.m4' for AIX targets.
           asm-syntax.h is not needed for PPC or sparc anymore.
           (powerpc64-*-aix*): Compiler is always 64-bit. Use `-q64
           -qtune=pwr3' to xlc and `-maix64 -mpowerpc64' to gcc.  Pass `-X
           64' to `ar' and `nm'.
           (pentiummmx): Use GMP_CHECK_ASM_MMX and avoid MMX assembly path if
           assembler is not MMX capable.
           (pentium[23]): Likewise.
           (athlon): Likewise.
           (k6*): Likewise.
           * configure: Regenerate.
   
           * acinclude.m4 (GMP_PROG_CC_WORKS): New macro.
           (GMP_PROG_CC_FIND): Use GMP_PROG_CC_WORKS instead of
           AC_TRY_COMPILER.  Make sure that the *first* working 32-bit
           compiler is used if no 64-bit compiler is found.
           (GMP_CHECK_ASM_MMX): New macro.
           * aclocal.m4: Regenerate.
   
           * Makefile.in: Regenerate.  (CC_TEST removed.)
           * mpf/Makefile.in: Likewise.
           * mpn/Makefile.in: Likewise.
           * mpq/Makefile.in: Likewise.
           * mpz/Makefile.in: Likewise.
           * mpf/tests/Makefile.in: Likewise.
           * mpq/tests/Makefile.in: Likewise.
           * mpz/tests/Makefile.in: Likewise.
   
           * acconfig.h (_LONG_LONG_LIMB): Add.
   
           * gmp-impl.h: Include config.h only if HAVE_CONFIG_H is defined.
   
   2000-03-09  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/pentium/mul_basecase.S: Small speedup by avoiding an AGI.
   
           * mpn/x86/k7/mmx/copyd.asm: Tiny speedup by avoiding popl.
           * mpn/x86/k7/mmx/copyi.asm: Ditto.
           * mpn/x86/k7/mul_basecase.asm: Ditto.
   
   2000-03-07  Torbjorn Granlund  <tege@swox.com>
   
           * config.guess: Better recognize POWER/PowerPC processor type.
   
   2000-03-07  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/addsub_n.c: Use HAVE_NATIVE_* now in config.h.
   
           * mpn/asm-defs.m4: Add comments about SysV m4.
           (m4_log2): Don't use <<.
           (m4_lshift,m4_rshift): New macros.
   
   2000-03-06  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc32/regmap.m4: Map cr0 => `0', etc.
   
   2000-03-06  Kevin Ryde  <kevin@swox.se>
   
           * mpn/tests/ref.c (refmpn_divexact_by3): New function.
           * mpn/tests/ref.h: Prototype.
   
           * acconfig.h (WANT_ASSERT): New define.
           * configure.in (--enable-assert): Turn on WANT_ASSERT.
           * assert.c: New file.
           * Makefile.am: Add to build.
           * gmp-impl.h (ASSERT): New macro.
           (ASSERT_NOCARRY) Renamed from assert_nocarry.
           (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS.
           * mpn/tests/ref.c: Use ASSERT.
           * mpf/get_str.c: Use ASSERT_ALWAYS.
           * mpf/set_str.c: Remove old assert macro.
   
           * mpn/x86/x86-defs.m4 (cmovnz_ebx_ecx): New macro.
           * mpn/x86/p6/aorsmul_1.asm: Use cmov.
   
           * mpn/x86/lshift.S: Use %dl with testb, not %edx. No object code
           change, testb was still getting generated.
           * mpn/x86/rshift.S: Ditto.
   
   2000-03-03  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h: Add IA-64 support.
   
           * mpn/powerpc32: Misc cleanups.
           * mpn/powerpc32/aix.m4: New file (mainly by Linus).
           * mpn/powerpc64/aix.m4: New file (mainly by Linus).
           * mpn/powerpc64: Translate `.S' files to `.asm'.
   
           * configure.in: Fix tyops.
           * configure: Regenerate.
   
   2000-03-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc32/regmap.m4: New file.
           * mpn/powerpc32: Translate `.S' files to `.asm'.
           * configure.in: Use mpn/powerpc32/regmap.m4 for powerpc targets
           except some weird ones.
   
   2000-03-03  Kevin Ryde  <kevin@swox.se>
   
           * mpn/lisp/gmpasm-mode.el: Suppress postscript comment prefixes in
           filladapt.
   
           * mpn/x86/pentium/sqr_basecase.asm: New file.
           * mpn/x86/pentium/gmp-mparam.h (KARATSUBA_SQR_THRESHOLD): Update.
   
           * configure.in: Add --enable-assert, enable k6 logops functions.
   
           * mpn/x86/k6/mmx/copyi.asm: Use m4 for divide, not as.
           * mpn/x86/k6/mmx/copyd.asm: Ditto.
           * mpn/x86/README.family: Add a note on this.
   
   2000-03-02  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k6/aors_n.asm: Don't use stosl.
           * mpn/x86/copyi.asm: Use cld to clear direction flag.
           * mpn/x86/divrem_1.asm: Ditto.
           * mpn/x86/README.family: Add a note on this.
   
           * mpn/x86/k6/mmx/copyi.asm: Rewrite.
           * mpn/x86/k6/mmx/copyd.asm: New file.
           * mpn/x86/k6/README: Update, and small amendments.
   
           * mpn/x86/x86-defs.m4 (Zdisp): New macro.
           * mpn/asm-defs.m4 (m4_stringequal_p): New macro.
   
           * mpn/x86/p6/aorsmul_1.asm: Use Zdisp to force zero displacements.
           * mpn/x86/k6/aorsmul_1.asm: Ditto.
           * mpn/x86/k6/mul_1.asm: Ditto.
           * mpn/x86/k6/mul_basecase.asm: Ditto.
           * mpn/x86/k7/aors_n.asm: Ditto.
           * mpn/x86/k7/aorsmul_1.asm: Ditto.
           * mpn/x86/k7/mul_1.asm: Ditto.
           * mpn/x86/k7/mul_basecase.asm: Ditto.
           * mpn/x86/README.family: Add a note on this.
   
   2000-02-27  Kevin Ryde  <kevin@swox.se>
   
           * mpn/generic/divrem.c (mpn_divrem_classic): Patch to avoid gcc
           2.7.2.3 i386 register handling bug.
   
           * mpn/x86/k6/aors_n.asm: Rewrite.
           * mpn/x86/k6/mmx/lshift.asm: Rewrite.
           * mpn/x86/k6/mmx/rshift.asm: Rewrite.
           * mpn/x86/k6/README: Update.
   
           * mpn/x86/k7/mmx/copyd.asm: Support size==0.
           * mpn/x86/k7/mmx/copyi.asm: Ditto.
           * mpn/x86/k6/mmx/copyi.asm: Ditto.
           * gmp-impl.h: Comment size==0 allowed in MPN_COPY_INCR and
           MPN_COPY_DECR.
           * configure.in: Enable x86 copyi, copyd; add k6 com_n.
   
   2000-02-25  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (power): Move factorial handing code from `factor'
           to `power'.
   
           * demos/factorize.c (factor_using_pollard_rho): Move resetting of `c'
           to before checking for a non-zero gcd.
   
   2000-02-25  Kevin Ryde  <kevin@swox.se>
   
           * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro by Linus.
           * mpn/x86/k6/aors_n.asm: Use MULFUNC_PROLOGUE.
           * mpn/x86/k6/aorsmul_1.asm: Ditto.
           * mpn/x86/k7/aors_n.asm: Ditto.
           * mpn/x86/k7/aorsmul_1.asm: Ditto.
           * mpn/x86/p6/aorsmul_1.asm: Ditto.
   
           * mpn/tests/ref.c (refmpn_copyi,refmpn_copyd): Allow size==0.
   
           * gmp-impl.h: Move mpn_and_n, mpn_andn_n, mpn_com_n, mpn_ior_n,
           mpn_iorn_n, mpn_nand_n, mpn_nior_n, mpn_xor_n and mpn_xorn_n here
           from gmp.h.  Use HAVE_NATIVE_mpn_* to make these functions or
           inlines.
   
           * gmp-impl.h: Move mpn_copyd, mpn_copyi here from gmp.h.
           * gmp-impl.h (MPN_COPY_INCR): Use mpn_copyi if available.
           * gmp-impl.h (MPN_COPY_DECR): Use mpn_copyd if available.
   
           * mpn/x86/k6/mmx/com_n.asm: Moved into mmx subdirectory.
           * mpn/x86/k6/mmx/copyi.asm: Ditto.
           * mpn/x86/k6/mmx/lshift.asm: Ditto.
           * mpn/x86/k6/mmx/rshift.asm: Ditto.
           * mpn/x86/k7/mmx/rshift.asm: Ditto.
           * mpn/x86/k6/mmx/logops_n.asm: New file.
           * configure.in (k6*-*-*): Add logops_n.asm.
           * mpn/x86/k6/README: Update.
   
           * mpn/x86/k7/mmx/copyi.asm: New file.
           * mpn/x86/k7/mmx/copyd.asm: New file.
           * mpn/x86/k7/README: Update.
   
   2000-02-24  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/x86-defs.m4 (femms): Generate emms if 3dnow not available.
           * mpn/x86/x86-defs.m4 (FRAME_popl): New macro.
   
           * Makefile.am: Add info_TEXINFOS = gmp.texi
   
           * mpn/x86/divrem_1.asm: Moved from mpn/x86/k6, allow size==0,
           conditionalize loop versus decl/jnz.
           * mpn/x86/mod_1.asm: Ditto.
           * mpn/x86/divmod_1.asm: Removed.
           * gmp.texi (mpn_divrem_1,mpn_mod_1): Add that size==0 is allowed.
           * mpn/tests/ref.c (refmpn_divrem_1c,etc): Allow size==0.
   
           * mpn/x86/k6/aors_n.asm: Avoid gas 1.92.3 leal displacement
           expression problem.
           * mpn/x86/k6/aorsmul_1.asm: Ditto.
           * mpn/x86/k6/mul_1.asm: Ditto.
           * mpn/x86/k6/mul_basecase.asm: Ditto
           * mpn/x86/k7/aors_n.asm: Ditto.
           * mpn/x86/k7/aorsmul_1.asm: Ditto.
           * mpn/x86/k7/mul_1.asm: Ditto.
           * mpn/x86/k7/mul_basecase.asm: Ditto.
           * mpn/x86/k7/rshift.asm: Ditto.
           * mpn/x86/p6/aorsmul_1.asm: Ditto.
           * mpn/x86/README.family: Describe problem.
   
   2000-02-24  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Add dummy symbol to
           testcase to avoid nm failure.  Try nm before piping to grep.
   
           * acconfig.h: Undef HAVE_NATIVE_func for every mpn function found
           in gmp.h.
   
           * configure.in: Invoke AC_CONFIG_HEADERS.
           Don't invoke AM_CONFIG_HEADER; it makes autoconf confused.
           Dig out entry points declared in assembly code and AC_DEFINE proper
           HAVE_NATIVE_func.
   
           * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro.
   
           * mpn/x86/p6/aorsmul_1.asm: Use MULFUNC_PROLOGUE.
           * mpn/x86/k6/aors_n.asm: Likewise.
   
           * Makefile.am (EXTRA_DIST): Add config.in; needed when we don't
           use AM_CONFIG_HEADER in configure.in.
   
           * mpn/Makefile.am (INCLUDES): Add `-I..' for config.h and
           gmp-mparam.h.
           * mpf/Makefile.am: Likewise.
           * mpq/Makefile.am: Likewise.
           * mpz/Makefile.am: Likewise.
   
           * mpf/tests/Makefile.am (INCLUDES): Add `-I../..' for config.h and
           gmp-mparam.h.
           * mpq/tests/Makefile.am: Likewise.
           * mpz/tests/Makefile.am: Likewise.
   
           * configure: Regenerate.
           * aclocal.m4: Regenerate.
           * config.in: Regenerate.
           * Makefile.in: Regenerate.
           * mpf/Makefile.in: Regenerate.
           * mpn/Makefile.in: Regenerate.
           * mpq/Makefile.in: Regenerate.
           * mpz/Makefile.in: Regenerate.
           * mpf/tests/Makefile.in: Regenerate.
           * mpq/tests/Makefile.in: Regenerate.
           * mpz/tests/Makefile.in: Regenerate.
   
   2000-02-23  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/addmul_1.S: Amend comments, this code no longer used by
           PentiumPro.
           * mpn/x86/submul_1.S: Ditto.
   
           * mpn/x86/k6/com_n.asm: Rewrite, smaller but same speed.
   
           * mpn/x86/addmul_1.S: Add PROLOGUE and EPILOGUE to get .type and
           .size for ELF.  Rename #define size to n to avoid .size.
           * mpn/x86/lshift.S: Ditto.
           * mpn/x86/mul_1.S: Ditto.
           * mpn/x86/mul_basecase.S: Ditto.
           * mpn/x86/rshift.S: Ditto.
           * mpn/x86/submul_1.S: Ditto.
           * mpn/x86/udiv.S: Ditto.
           * mpn/x86/umul.S: Ditto.
           * mpn/x86/pentium/add_n.S: Ditto.
           * mpn/x86/pentium/addmul_1.S: Ditto.
           * mpn/x86/pentium/lshift.S: Ditto.
           * mpn/x86/pentium/mul_1.S: Ditto.
           * mpn/x86/pentium/mul_basecase.S: Ditto.
           * mpn/x86/pentium/rshift.S: Ditto.
           * mpn/x86/pentium/sub_n.S: Ditto.
           * mpn/x86/pentium/submul_1.S: Ditto.
   
   2000-02-22  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_INIT): Use temporary file cnfm4p.tmp for
           post-defines.
           (GMP_FINISH): Ditto.
           (GMP_DEFINE): Add third optional argument specifying location in
           outfile.
           (GMP_DEFINE_RAW): New macro.
           * aclocal.m4: Regenerate.
   
           * configure.in: Add `HAVE_TARGET_CPU_$target_cpu' using
           GMP_DEFINE_RAW.
           * configure: Regenerate.
   
           * mpz/tests/Makefile.am: New test t-root.
           * mpz/tests/Makefile.in: Regenerate.
   
   2000-02-22  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/root.c: Complete rewrite; still primitive, but at least correct.
           * mpz/tests/t-root.c: New test.
   
   2000-02-22  Kevin Ryde  <kevin@swox.se>
   
           * mpn/x86/k7/mul_basecase.asm: New file.
           * mpn/x86/k7/README: Add mpn_mul_basecase speed.
           * mpn/x86/k7/gmp-mparam.h: New file.
   
           * mpn/x86/x86-defs.m4 (loop_or_decljnz,cmov_bytes): New macros.
           * mpn/asm-defs.m4 (m4_ifdef_anyof_p): New macro.
   
           * mpn/x86/k6/aorsmul_1.asm: New file.
           * mpn/x86/k6/addmul_1.S: Removed (was a copy of pentium version).
           * mpn/x86/k6/submul_1.S: Removed (was a copy of pentium version).
   
           * mpn/x86/p6/aorsmul_1.asm: Use OPERATION_addmul_1 and
           OPERATION_submul_1.
           * mpn/x86/k6/aors_n.asm: Use OPERATION_add_n and OPERATION_sub_n.
           * configure.in: Declare multi-function files for k6 and p6.
   
           * configure.in: Add HAVE_TARGET_CPU_$target_cpu for config.m4.
           * mpn/asm-defs.m4 (define_not_for_expansion): New macro.
   
           * mpn/generic/divrem_1n.c (__gmpn_divrem_1n): New file, split from
           mpn/generic/divrem_1.c.
           * mpn/generic/divrem_1.c: Ditto.
           * configure.in (gmp_mpn_functions): Ditto.
   
   2000-02-21  Torbjorn Granlund  <tege@swox.com>
   
           * gmp.h: Undo 1996-10-06 NeXT change, it was clearly improperly
           written.
   
   2000-02-21  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Link <src>/mpn/asm-defs.m4 to <build>mpn/asm.m4.
           * configure: Regenerate.
   
   2000-02-21  Linus Nordberg  <linus@swox.se>
   
           * mpn/x86/k7/aorsmul_1.asm: Change OPERATION_ADDMUL -->
           OPERATION_addmul_1.  Change OPERATION_SUBMUL -->
           OPERATION_submul_1.
   
           * mpn/x86/k7/aors_n.asm: Change OPERATION_ADD --> OPERATION_add_n.
           Change OPERATION_SUB --> OPERATION_sub_n.
   
           * mpn/Makefile.am: Pass -DOPERATION_$* to preprocessors.
           * mpn/Makefile.in: Regenerate.
   
           * configure.in: Symlink mpn/asm-defs.m4 to build-dir/mpn.  Link
           multi-function files to mpn/<function>.asm and remove function
           name from `gmp_mpn_functions'.
           * configure: Regenerate.
   
           * acinclude.m4 (GMP_FINISH): Tell user what we're doing.
           * aclocal.m4: Regenerate.
   
   2000-02-21  Kevin Ryde  <kevin@swox.se>
   
           * gmp-impl.h: Rename __gmpn_mul_basecase to mpn_mul_basecase and
           __gmpn_sqr_basecase to mpn_sqr_basecase, remove __gmpn prototypes.
           * mpn/x86/mul_basecase.S: Ditto.
           * mpn/x86/pentium/mul_basecase.S: Ditto.
   
           * configure.in (gmp_m4postinc): Use x86-defs.m4 on athlon-*-* too.
   
   2000-02-20  Kevin Ryde  <kevin@swox.se>
   
           * acinclude.m4 (GSYM_PREFIX): Drop $1, change by Linus.
           * mpn/asm-defs.m4 (PROLOGUE,EPILOGUE): Use GSYM_PREFIX as a
           string, change by Linus.
           * mpn/x86/x86-defs.m4: Use GSYM_PREFIX as a string.
   
           * mpn/x86/k6/gmp-mparam.h: New file.
           * mpn/asm-defs.m4 (m4_warning): New macro.
   
           * mpn/x86/README: Amendments per new code and directories.
           * mpn/x86/README.family: New file.
           * mpn/x86/k6/README: New file.
           * mpn/x86/k7/README: New file.
   
           * mpn/generic/mul_n.c: Rename __gmpn_mul_basecase to
           mpn_mul_basecase and __gmpn_sqr_basecase to mpn_sqr_basecase.
           * mpn/generic/mul_basecase.c: Ditto.
           * mpn/generic/sqr_basecase.c: Ditto.
           * mpn/generic/mul.c: Ditto.
   
   2000-02-19  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Don't try to symlink more than one multi-func
           file.
           * configure: Regenerate.
   
   2000-02-18  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): GMP_DEFINE
           `GSYM_PREFIX'.  Run ACTIONs even when value is found in cache.
           (GMP_CHECK_ASM_ALIGN_LOG): GMP_DEFINE `ALIGN'.  Run ACTIONs even
           when value is found in cache.
           * aclocal.m4: Regenerate.
   
           * configure.in: Don't define GSYM_PREFIX or ALIGN.
           Add mechanism for multi-function files.
           * configure: Regenerate.
   
   2000-02-18  Kevin Ryde  <kevin@swox.se>
   
           * configure.in (gmp_m4postinc): Enable x86-defs.m4.
           * mpn/x86/k7/mul_1.asm: Fix include.
           * mpn/x86/k6/mul_basecase.S: Removed (copy of the pentium version).
           * mpn/x86/k6/mul_basecase.asm: New file.
           * mpn/x86/k6/sqr_basecase.asm: New file.
           * mpn/x86/k6/com_n.asm: New file.
           * mpn/x86/k6/copyi.asm: New file.
           * gmp.texi (Low-level Functions): Clarify mpn overlaps permitted.
           * gmp-impl.h (MPN_OVERLAP_P): New macro.
           * gmp-impl.h (assert_nocarry): New macro.
           * mpn/tests/ref.c: New file, based in part on other mpn/tests/*.c.
           * mpn/tests/ref.h: New file.
   
   2000-02-17  Linus Nordberg  <linus@swox.se>
   
           * Makefile.am (dist-hook): Don't include any emacs backup files
           (*.~*) in dist.
           * Makefile.in: Regenerate.
   
   2000-02-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v9/mul_1.asm: Use `rd' to get current PC; get rid of
           getpc function.
           * mpn/sparc32/v9/addmul_1.asm: Likewise.
           * mpn/sparc32/v9/submul_1.asm: Likewise.
   
   2000-02-17  Kevin Ryde  <kevin@swox.se>
   
           * gmp.h: Add prototypes and defines for mpn_and_n, mpn_andn_n,
           mpn_com_n, mpn_copyd, mpn_copyi, mpn_ior_n, mpn_iorn_n,
           mpn_mul_basecase, mpn_nand_n, mpn_nior_n, mpn_sqr_basecase,
           mpn_xor_n, mpn_xorn_n.
   
           * mpn/asm-defs.m4: Many additions making up initial version.
           * mpn/asm-defs.m4 (L): Use defn(`LSYM_PREFIX').
           * mpn/x86/x86-defs.m4: New file.
           * mpn/x86/k6/aors_n.asm: New file.
           * mpn/x86/k6/divmod_1.asm: New file.
           * mpn/x86/k6/divrem_1.asm: New file.
           * mpn/x86/k6/lshift.S: Removed (was a copy of the pentium version).
           * mpn/x86/k6/lshift.asm: New file.
           * mpn/x86/k6/mod_1.asm: New file.
           * mpn/x86/k6/mul_1.S: Removed (was a copy of the pentium version).
           * mpn/x86/k6/mul_1.asm: New file.
           * mpn/x86/k6/rshift.S: Removed (was a copy of the pentium version).
           * mpn/x86/k6/rshift.asm: New file.
           * mpn/x86/k7/aors_n.asm: New file.
           * mpn/x86/k7/aorsmul_1.asm: New file.
           * mpn/x86/k7/mul_1.asm: New file.
           * mpn/x86/k7/rshift.asm: New file.
           * mpn/x86/p6/aorsmul_1.asm: New file.
           * mpn/x86/copyi.asm: New file.
           * mpn/x86/copyd.asm: New file.
           * mpn/lisp/gmpasm-mode.el: New file.
   
   2000-02-16  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/v9/mul_1.asm: Conditionalize for PIC.
           * mpn/sparc32/v9/addmul_1.asm: Likewise.
           * mpn/sparc32/v9/submul_1.asm: Likewise.
           * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
           * mpn/sparc32/udiv_fp.asm: Likewise.
   
   2000-02-16  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Add mechanism for including target specific
           m4-files in config.m4.
           * configure: Regenerate.
   
           * acinclude.m4 (GMP_PROG_CCAS): Begin assembly lines (except
           labels) with a tab character.  HP-UX demands it.
           (GMP_CHECK_ASM_SIZE): Ditto.
           (GMP_CHECK_ASM_LSYM_PREFIX): Ditto.
           (GMP_CHECK_ASM_LABEL_SUFFIX): Set to empty string for HP-UX.
           (GMP_CHECK_ASM_GLOBL): Change `.xport' --> `.export'.
           * aclocal.m4: Regenerate.
   
   2000-02-16  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Define LSYM_PREFIX as
           the prefix only, no argument.
           * aclocal.m4: Regenerate.
           * configure: Regenerate.
   
           * mpn/asm-defs.m4 (L): No argument to LSYM_PREFIX.
   
   2000-02-15  Linus Nordberg  <linus@swox.se>
   
           * acinclude.m4: Prefix all temporary shell variables with
           `gmp_tmp_'.
           (GMP_PROG_CC_FIND): Use defaults if no arguments are passed.
           Quote use of arguments.
           (GMP_PROG_CCAS): New macro.
           (GMP_INIT): New macro.
           (GMP_FINISH): New macro.
           (GMP_INCLUDE): New macro.
           (GMP_SINCLUDE): New macro.
           (GMP_DEFINE): New macro.
           (GMP_CHECK_ASM_LABEL_SUFFIX): New macro.
           (GMP_CHECK_ASM_TEXT): New macro.
           (GMP_CHECK_ASM_DATA): New macro.
           (GMP_CHECK_ASM_GLOBL): New macro.
           (GMP_CHECK_ASM_TYPE): New macro.
           (GMP_CHECK_ASM_SIZE): New macro.
           (GMP_CHECK_ASM_LSYM_PREFIX): New macro.
           (GMP_CHECK_ASM_W32): New macro.
           * aclocal.m4: Regenerate.
   
           * configure.in: Find m4 and nm for target.
           Use new macros to create config.m4.
           Prefix all temporary shell variables with `tmp_'.
           Pass `-X 64' to nm for 64-bit PPC target with 64-bit compiler.
           * configure: Regenerate.
   
           * Makefile.am (dist-hook): *Really* remove all CVS dirs in
           dist.
           * Makefile.in: Regenerate.
   
           * mpn/Makefile.am: Add target for building .lo and .o from
           .asm.
           Pass -DPIC to preprocessor (CPP/m4) when building .lo.
           Build .o a second time for target .lo, without -DPIC to
           preprocessor.
           (SUFFIX): Add `.asm'.
           (EXTRA_DIST): Add asm-defs.m4.
           * mpn/Makefile.in: Regenerate.
   
           * mpf/Makefile.in: Regenerate.
           * mpf/tests/Makefile.in: Regenerate.
           * mpq/Makefile.in: Regenerate.
           * mpq/tests/Makefile.in: Regenerate.
           * mpz/Makefile.in: Regenerate.
           * mpz/tests/Makefile.in: Regenerate.
   
   2000-02-15  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc32/udiv_fp.asm: Change `RODATA' to `DATA'.
           * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
           * mpn/sparc32/v9/addmul_1.asm: Likewise.
           * mpn/sparc32/v9/submul_1.asm: Likewise.
           * mpn/sparc32/v9/mul_1.asm: Likewise.
   
           * mpn/sparc32/add_n.asm: Rename `size' -> `n'.
           * mpn/sparc32/sub_n.asm: Likewise.
   
           * sparc32: Rename `.s' and `.S' files to `.asm'.
           * sparc64: Rename `.s' and `.S' files to `.asm'.
   
   2000-02-11  Torbjorn Granlund  <tege@swox.com>
   
           * config.sub: Adopt to new config.guess sparc naming conventions.
   
           * config.guess (sun4u:SunOS:5.*:*): Change `sparc9' to `sparcv9'.
           * config.guess (sun4m:SunOS:5.*:*): Change to sun4[md]:SunOS:5.*:* and
           change `sparc8' to `sparcv8'.
   
           * mpn/x86/add_n.S: Use PROLOGUE/EPILOGUE.
           * mpn/x86/sub_n.S: Likewise.
   
           * mpn/x86/syntax.h (PROLOGUE): New name for PROLOG.
           * mpn/x86/syntax.h (EPILOGUE): New name for EPILOG.
   
   2000-02-11  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Better path for 64-bit sparc without 64-bit cc.
           Change sparc8 --> sparcv8.
           Change sparc9 --> sparcv9.
           * configure: Regenerate.
   
   2000-02-10  Linus Nordberg  <linus@swox.se>
   
           * configure.in: Use Autoconf.
           * Makefile.am: New file.
   
           * AUTHORS: New file.
           * COPYING: New file.
           * acinclude.m4: New file.
           * acconfig.h: New file.
   
           * configure: Generate.
           * Makefile.in: Generate.
           * aclocal.m4: Generate.
           * config.in: Generate.
   
           * install.sh: Remove.
           * install-sh: New file from Automake.
           * missing: New file from Automake.
           * ltconfig: New file from Libtool.
           * ltmain.sh: New file from Libtool.
   
           * mpf/Makefile.am: New file.
           * mpf/Makefile.in: Generate.
           * mpf/configure.in: Remove.
           * mpf/tests/Makefile.am: New file.
           * mpf/tests/Makefile.in: Generate.
           * mpf/tests/configure.in: Remove.
   
           * mpn/Makefile.am: New file.
           * mpn/Makefile.in: Generate.
           * mpn/configure.in: Remove.
   
           * mpq/Makefile.am: New file.
           * mpq/Makefile.in: Generate.
           * mpq/configure.in: Remove.
           * mpq/tests/Makefile.am: New file.
           * mpq/tests/Makefile.in: Generate.
           * mpq/tests/configure.in: Remove.
   
           * mpz/Makefile.am: New file.
           * mpz/Makefile.in: Generate.
           * mpz/configure.in: Remove.
           * mpz/tests/Makefile.am: New file.
           * mpz/tests/Makefile.in: Generate.
           * mpz/tests/configure.in: Remove.
   
   2000-02-10  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/add_n.S: Don't use label L0 twice.
           * mpn/x86/sub_n.S: Likewise.
   
   2000-01-20  Linus Nordberg  <linus@swox.se>
   
           * demos/pexpr.c: Don't use setup_error_handler() in windoze.
   
   2000-01-19  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (sigaltstack): #define to sigstack for AIX.
           (setup_error_handler): Don't write to ss_size and ss_flags
           on AIX.
   
   2000-01-11  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/configure.in (hppa2.0*-*-*): Move assignment of
           target_makefile_frag to where it belongs.
   
   1999-12-21  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (v9 umul_ppmm): New #define.
           (v9 udiv_qrnnd): New #define.
   
   1999-12-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divmod_1.c: Use invert_limb.
           * mpn/generic/mod_1.c: Use invert_limb.
   
           * gmp-impl.h (invert_limb): Put definition here.
           * mpn/generic/divrem.c (invert_limb): Delete definition.
           * mpn/generic/divrem_2.c (invert_limb): Delete definition.
   
           * gmp.h (mpn_divrem): Inhibit for non-gcc.
           But declare (undo 1999-11-22 change).
   
           * gmp-impl.h (DItype,UDItype): Do these also if _LONG_LONG_LIMB.
   
           * longlong.h: Move 64-bit hppa code out of __GNUC__ conditional.
   
           * stack-alloc.c (HSIZ): New #define.
           (__tmp_alloc): Use HSIZ instead of sizeof(tmp_stack).
   
   1999-12-10  Torbjorn Granlund  <tege@swox.com>
   
           * config.sub: Clean up handling of x86 CPUs: Properly recognize
           Amd CPUs as unique entities.  Use manufacturer's names of
           processors ("pentium", etc); still match ambiguous names like
           "i586", "i686", "p6" but be conservative in interpreting them.
   
           * configure.in: Recognize x86 CPU types known by config.guess.
           * mpn/configure.in: Likewise.  Add x86/mmx path component as
           appropriate.
           (athlon-*-*): Fix typo.
   
           * config.guess: Update x86 recog code to intiallly match
           more than just i386.
           Call K6-2 and K6-III for "k62" and "k63" respectively.
   
           * config.guess: Recognize x86 CPU types.
           Update code for FreeBSD, NetBSD, OpenBSD, Linux.
   
   1999-12-08  Torbjorn Granlund  <tege@swox.com>
   
           * mpf/pow_ui.c: Avoid final squaring in loop.
   
   1999-12-07  Torbjorn Granlund  <tege@swox.com>
   
           * gmp-impl.h (udiv_qrnnd_preinv2gen): Prefix local variables with `_'.
           (udiv_qrnnd_preinv2norm): Likewise.
           From Kevin Ryde:
           (HAVE_ALLOCA): #define also if defined (alloca).
   
   1999-12-04  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/tests/add_n.c: Set OPS from CLOCK.
           * mpn/tests/sub_n.c: Likewise.
           * mpn/tests/mul_1.c: Likewise.
           * mpn/tests/addmul_1.c: Likewise.
           * mpn/tests/submul_1.c: Likewise.
   
           * mpn/tests/lshift.c: Update from add_n.c.
           * mpn/tests/rshift.c: Likewise.
   
   1999-12-03  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/powerpc64/copy.S: New file.
   
   1999-12-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/copy.s: New file.
   
           * mpn/tests/copy.c: New file.
   
           * mpn/configure.in: Recognize more Amd CPUs; Set special paths for
           k7 CPU.
   
           * configure.in: Recognize Amd x86 CPUs.
   
           * mpz/fdiv_r_2exp.c: In rounding code, read in->_mp_size before
           writing to res->_mp_size.
   
           * mpn/powerpc64/*.S: Clean up assembly syntax, add function headers.
           * mpn/powerpc64/gmp-mparam.h: (KARATSUBA_MUL_THRESHOLD): #define.
           (KARATSUBA_SQR_THRESHOLD): #define.
   
           * mpn/tests/add_n.c (main): Only print test number if TIMES==1
           and not printing.
           (main): Don't run reference code if NOCHECK.
           * mpn/tests/sub_n.c: Likewise.
           * mpn/tests/mul_1.c: Likewise.
           * mpn/tests/addmul_1.c: Likewise.
           * mpn/tests/submul_1.c: Likewise.
   
           * mpn/tests/lshift.c: (main): Only print test number if TIMES==1
           and not printing.
           * mpn/tests/rshift.c: Likewise.
   
   1999-11-22  Torbjorn Granlund  <tege@swox.com>
   
           * gmp.h (mpz_init_set_str): Declare using __gmp_const.
           (mpz_set_str): Likewise.
           (mpf_init_set_str): Likewise.
           (mpf_set_str): Likewise.
           (mpn_set_str): Likewise.
           (__gmp_0): Likewise.
           (mpn_divrem): Remove separate declaration; it's defined later in
           this file.
   
           * gmp.h: Replace "defined (__STD__)' by (__STDC__-0) in
           expressions involving more than one term, to handle Sun's compiler
           that most helpfully sets __STDC__ to 0.
           * gmp-impl.h: Likewise.
           * longlong.h: Likewise.
   
   1999-11-21  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
           (KARATSUBA_SQR_THRESHOLD): #define.
   
           * mpn/sparc64/lshift.s: Compensate stack references for odd stack ptr.
           * mpn/sparc64/rshift.s: Likewise.
   
           * mpn/sparc64/addmul_1.s: Propagate carry properly.
           * mpn/sparc64/submul_1.s: Likewise.
   
           * mpn/sparc64/sub_n.s: Rewrite.
   
           * mpn/sparc64/sub_n.s: Get operand order for main subcc right
           (before scrapping this code for new code).
   
   1999-11-20  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/sparc64/add_n.s: Rewrite.
   
   1999-11-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/syntax.h (PROLOG): New #define.
           (EPILOG): New #define.
   
           * gmp.h (mpn_addsub_n): Declare.
           * gmp.h (mpn_add_nc): Declare.
           * gmp.h (mpn_sub_nc): Declare.
           * mpn/powerpc64/addsub_n.S: New file.
   
   1999-11-17  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/gmp-mparam.h
           (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
           (KARATSUBA_SQR_THRESHOLD): Likewise.
   
   1999-11-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/mul_1.S: Unroll and optimize for P6 and K7.
   
   1999-11-09  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/x86/p6/gmp-mparam.h
           (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
           (KARATSUBA_SQR_THRESHOLD): Likewise.
   
   1999-11-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/addsub_n.c: New file.
   
   1999-11-02  Torbjorn Granlund  <tege@swox.com>
   
           * config.guess: Handle alpha:FreeBSD with alpha:NetBSD.
   
           * configure.in (vax*-*-*): New case.
           * config/mt-vax: New file.
           * mpn/vax/add_n.s: Rewrite.
           * mpn/vax/sub_n.s: Rewrite.
   
   1999-10-31  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/vax/rshift.s: New file.
           * mpn/vax/lshift.s: New file.
   
   1999-10-29  Torbjorn Granlund  <tege@swox.com>
   
           * config.sub: Handle k5 and k6.
           * mpn/configure.in: Recognize k6.
   
           * mpf/tests/t-get_d.c (LOW_BOUND, HIGH_BOUND): New #defines.
           (main): Tighten error bounds to 14 digits.
   
           * longlong.h (default umul_ppmm, when smul_ppmm exists):
           Rename __m0 => __xm0, __m1 => __xm1.
           (default smul_ppmm): Likewise.
   
   1999-10-11  Torbjorn Granlund  <tege@swox.com>
   
           * config.guess: Reverse the test for POWER vs PowerPC.
           * config.guess (sun4m:SunOS:5.*:*): New case.
           * config.guess (sun4u:SunOS:5.*:*): New case.
   
   1999-09-29  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divrem_2.c: Clean up comments.
   
   1999-09-23  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/Makefile.in: Use move-if-change when generating binaries.
           * mpf/tests/Makefile.in: Likewise.
           * mpq/tests/Makefile.in: Likewise.
           * mpz/tests/move-if-change: New file.
           * mpf/tests/move-if-change: New file.
           * mpq/tests/move-if-change: New file.
   
           * gmp.h (mpn_incr_u): New macro (from mpn/generic/mul_n.c).
           (mpn_decr_u): New macro.
   
           * mpn/generic/mul_n.c (mpn_incr): Delete.
           * mpn/generic/mul_n.c: Update usages mpn_incr => mpn_incr_u.
           * mpn/generic/divrem_newt.c: Use mpn_incr_u and mpn_decr_u instead of
           mpn_add_1 and mpn_sub_1.
           * mpn/generic/sqrtrem.c: Likewise.
           * mpz/cdiv_q_ui.c: Likewise.
           * mpz/cdiv_qr_ui.c: Likewise.
           * mpz/fdiv_q_ui.c: Likewise.
           * mpz/fdiv_qr_ui.c: Likewise.
   
           * mpn/generic/sqrtrem.c: Start single-limb Newton iteration from 18
           bits.
   
   1999-07-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divrem_1.c (__gmpn_divrem_1n): New function.
   
           * mpn/generic/divrem_2.c: New file, code from divrem.c, `case 2:'.
           * mpn/Makefile.in: Compile divrem_2.c.
           * make.bat: Compile divrem_2.c.
           * mpn/configure.in (functions): Add divrem_2.
           * gmp.h: Declare mpn_divrem_2.
   
           * mpn/generic/divrem.c: Delete special cases, handle just divisors
           of more than 2 limbs.
           * gmp.h (mpn_divrem): Call mpn_divrem_1, mpn_divrem_2, as appropriate.
   
           * mpn/generic/divrem.c: Rework variable usage for better register
           allocation.
   
   1999-07-26  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/alpha/ev5/add_n.s: Rewrite for better ev6 speed.
           * mpn/alpha/ev5/sub_n.s: Likewise.
   
   1999-07-21  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (alpha): Define umul_ppmm for cc.
   
           * gmp-impl.h (DItype, UDItype): Define for non-gcc if _LONGLONG is
           defined.
   
   1999-07-15  Torbjorn Granlund  <tege@swox.com>
   
           * longlong.h (powerpc64 count_leading_zeros): Fix typo.
           (powerpc64 add_ssaaaa): Fix typos.
           (powerpc64 sub_ddmmss): Fix typos.
   
   1999-07-14  Torbjorn Granlund  <tege@swox.com>
   
           * mpz/tests/Makefile.in: Pass XCFLAGS when linking.
           * mpf/tests/Makefile.in: Likewise.
           * mpq/tests/Makefile.in: Likewise.
           * mpn/Makefile.in (.S.o): Pass XCFLAGS.
   
           * longlong.h: Add support for 64-bit PowerPC.
           * config.sub: Handle "powerpc64".
           * configure.in: Likewise.
           * mpn/configure.in: Suppress use of config/t-ppc-aix for now,
           it seems compiler passes proper options.
           * mpn/powerpc64/*.S: New files.
   
           * Makefile.in (FLAGS_TO_PASS): Pass "AR=$(AR)".
   
   1999-07-07  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (factor): Change alloca call to a malloc/free pair.
   
           * mpn/powerpc32/syntax.h: Add #define's for crN.
   
           * gmp.h (gmp_rand_algorithm): Remove spurious `,'.
   
   1999-07-05  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/generic/divrem_1.c: Normalize divisor when needed.
   
   1999-07-02  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/configure.in (powerpc*-apple-mach): New configuration.
           * mpn/powerpc32/*: Add support for apple-macho syntax.
           * mpn/powerpc32/syntax.h: New file.
           * gmp-impl.h: Don't use `__attribute__' syntax for Apple's perversion
           of GCC.
   
   1999-05-26  Linus Nordberg  <linus@swox.se>
   
           * rand.c (gmp_rand_init): Fix typo.
   
           * mpn/generic/rawrandom.c (mpn_rawrandom): Count bits, not limbs,
           to keep track of how many rounds to do in loop.  Clean up
           temporary allocation.  Update `seedsize' inside loop.  Mask off
           the correct number of bits from final result.  Init `mcopyp' even
           when not normalizing `m'.
   
           * randlc.c (gmp_rand_init_lc): Fix typo (don't call
           mpz_init_set_ui()).
   
           * mpn/generic/rawrandom.c (mpn_rawrandom): Set SIZ(s->seed) when
           reallocating.
   
           * tests/rand/Makefile (test, bigtest): Add 33-bit tests.
   
           * tests/rand/gen.c (main): Set precision of variable passed to
           mpf_urandomb().  Add option `-p'.
   
   1999-05-25  Linus Nordberg  <linus@swox.se>
   
           * randcm.c: Remove.
           * randcmui.c: Remove.
           * Makefile.in: Remove randcm and randcmui.
           * make.bat: Ditto.
           * gmp-impl.h: Remove prototypes for __gmp_rand_init_common() and
           __gmp_rand_init_common_ui().
           * randlc.c (gmp_rand_init_lc): Don't call
           __gmp_rand_init_common().
   
           * randlcui.c (gmp_rand_init_lc_ui): Don't call
           __gmp_rand_init_common_ui().
   
           * gmp.h (__gmp_rand_state_struct): Remove unused member `maxval'.
           * randclr.c (gmp_rand_clear): Remove reference to s->maxval.
           * randcm.c (__gmp_rand_init_common): Ditto
   
           * mpn/generic/rawrandom.c (mpn_rawrandom): Don't calculate nlimbs
           twice.
   
           * gmp.h (__gmp_rand_dist): Remove.
   
   1999-05-24  Linus Nordberg  <linus@swox.se>
   
           * mpn/generic/rawrandom.c: Clean up comments.
   
           * gmp.texi: Add documentation for random number generation.
   
   1999-05-21  Linus Nordberg  <linus@swox.se>
   
           * gmp.h: Typedef `gmp_rand_state' as an array with one element.
           Change prototypes accordingly.
           * gmp-impl.h: Change prototypes using `gmp_rand_state'.
           * rand.c (gmp_rand_init): Take `gmp_rand_state' as argument
           instead of a pointer to a `gmp_rand_state'.
           * mpf/urandom.c (mpf_urandomb): Ditto.
           * mpz/urandom.c (mpz_urandomb): Ditto.
           * mpn/generic/rawrandom.c (mpn_rawrandom): Ditto.
           * randcmui.c (__gmp_rand_init_common_ui): Ditto.
           * randlc.c (gmp_rand_init_lc): Ditto.
           * randlcui.c (gmp_rand_init_lc_ui): Ditto.
           * randui.c (gmp_rand_init_ui): Ditto.
           * randcm.c (__gmp_rand_init_common): Ditto.
           * randclr.c (gmp_rand_clear): Ditto.
   
           * tests/rand/gen.c (main): Pass `s' to rand-funcs instead of address
           of `s'.
   
   1999-05-20  Linus Nordberg  <linus@swox.se>
   
           * Makefile.in: Rename randi.c --> rand.c, randi_lc.c --> randlc.c,
           randicom.c --> randcm.c.  Add randui.c, randcmui.c, randlcui.c.
           * make.bat: Ditto.
   
           * gmp.h: Add prototypes for gmp_rand_init_ui() and
           gmp_rand_init_lc_ui().
           * gmp-impl.h: Add prototypes for __gmp_rand_init_common() and
           __gmp_rand_init_common_ui().
   
           * randlc.c, randcm.c, randclr.c, rand.c: Change #include of
           <gmp.h> to "gmp.h".
           * randclr.c: Include stdlib.h for free().
           * rand.c: Include gmp-impl.h.
   
   1999-05-12  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/configure.in: Put generic m68k alternative last.
   
   1999-05-04  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c (setup_error_handler): Use sigemptyset to create
           empty set (for portability).
           (fns): Fix typo '#if #if'.
           (mpz_eval_expr): Implement FERMAT and MERSENNE.
   
           * demos/pexpr.c: Cast longjmp argument via long to silent warnings on
           64-bit hosts.
   
   1999-05-03  Torbjorn Granlund  <tege@swox.com>
   
           * demos/pexpr.c: Add #defines for GMP 1.x and 2.0 compatibility.
   
           * demos/pexpr.c (setup_error_handler): New function; take signal
           handler setup code from main(), with major modifications to use modern
           signal interface.
           (main): Remove signal handler setup code; call setup_error_handler.
   
   1999-04-29  Linus Nordberg  <linus@swox.se>
   
           * tests/rand/findcl.c (main): Add option '-i' for interval factor.
           Separate v and merit lose figures.  Add '-v' for version.
   
   1999-04-28  Linus Nordberg  <linus@swox.se>
   
           * tests/rand/statlib.c: Change debugging stuff.
   
           * tests/rand/gmpstat.h: Add debug values definitions.
   
           * tests/rand/findcl.c (main): Print low and high merit on startup.
           Print version string on startup.  Catch SEGV and HUP.  Add option -d
           for debug.  Fix bug making test for v too hard.
           (sh_status): New function.
           (sh_status): Flush stdout.  Add RCSID.
   
   1999-04-27  Linus Nordberg  <linus@swox.se>
   
           * tests/rand/Makefile (clean): Add target.
   
   1999-04-27  Linus Nordberg  <linus.nordberg@canit.se>
   
           * tests/rand/stat.c: Include gmpstat.h.
           Add global int g_debug.
   
           * tests/rand/spect.c: Include <unistd.h>.
   
           * tests/rand/findcl.c (main): Input is `m', not all factors of `m'.
           Print only the very first matching multiplier.  Include <unistd.h>.
           Flush stdout.  Print "done." when done.
   
           * tests/rand/spect.c: Move everything but main() to statlib.c.
   
           * tests/rand/findcl.c: New file.
   
           * tests/rand/gmpstat.h: New file.
   
           * tests/rand/statlib.c (merit, merit_u, f_floor, vz_dot,
           spectral_test): New functions.
   
   1999-04-27  Torbjorn Granlund  <tege@swox.com>
   
           * mpn/configure.in: Fix typo, "sparc-*)" was "sparc)".
   
   1999-04-21  Torbjorn Granlund  <tege@swox.com>
   
           * config.sub: Recognize ev6.
   
   1999-04-12  Linus Nordberg  <linus.nordberg@canit.se>
   
           * urandom.c: Split up into randclr.c, randi.c, randi_lc.c,
           randicom.c.
           * randclr.c, randi.c, randi_lc.c, randicom.c: New files.
           * Makefile.in: Remove urandom.  Add randclr, randi, randi_lc,
           randicom.
           * make.bat: Ditto
   
   1999-03-31  Torbjorn Granlund  <tege@matematik.su.se>
   
           * configure.in (sparc9-*-solaris2.[789]*, etc): New alternative.
           * mpn/configure.in: Use mt-sprc9 also for ultrasparc*-*-solaris2*.
   
   1999-03-30  Linus Nordberg  <linus.nordberg@canit.se>
   
           * urandom.c (__gmp_rand_scheme): Change NULL->0.
           Include "gmp.h" instead of <gmp.h>.
   
   1999-03-29  Linus Nordberg  <linus.nordberg@canit.se>
   
           * gmp.h (__gmp_rand_data_lc): Now holds a, c, m instead of scheme
           struct.
           (__gmp_rand_lc_scheme_struct): Remove mpz_t's `a' and `m'.
   
           * tests/rand/stat.c (f_freq): Don't print 2nd level results if doing
           1st level.
   
           * tests/rand/gen.c (main): Set default algorithm to mpz_urandomb.
           (main): Add option -c.
   
   1999-03-24  Linus Nordberg  <linus.nordberg@canit.se>
   
           * tests/rand/Makefile (GMPINC): Rename to GMPH.
           (GMPH): Add gmp-mparam.h.
           (CFLAGS): Add -I$(GMPLIBDIR)/mpn
   
   1999-03-23  Linus Nordberg  <linus.nordberg@canit.se>
   
           * Makefile.in: Compile top-dir/urandom.c.
           * make.bat: Ditto.
   
           * mpn/Makefile.in: Compile rawrandom.c.
           * make.bat: Ditto.
   
           * mpn/configure.in (functions): Add rawrandom.
   
           * gmp.h (__gmp_rand_scheme_struct): Rename to
           __gmp_rand_lc_scheme_struct.
           (__gmp_rand_data_lc): Remove member 'n'.  Allocate a
           __gmp_rand_lc_scheme_struct instead of a pointer to one.
           Add prototype for gmp_rand_init_lc(), mpn_rawrandom().
           New prototype for mpz_urandomb().
   
           * urandom.c: New file.
           (__gmp_rand_init_common): New function.
           (gmp_rand_init_lc): New function.
           (gmp_rand_init): Don't init data_lc->n.  Call gmp_rand_init_lc()
           and __gmp_rand_init_common().
           (gmp_rand_clear): Remove reference to data_lc->n.
   
           * mpz/urandom.c (gmp_rand_init, gmp_rand_clear): Move to new file
           urandom.c in top-dir.
           (mpz_urandomb): Add function parameter nbits.  Call mpn_rawrandom().
   
           * mpf/urandom.c (mpf_urandomb): Call mpn_rawrandom().
   
           * mpn/generic/rawrandom.c: New file.
           (mpn_rawrandom): New function.
   
   1999-03-17  Torbjorn Granlund  <tege@matematik.su.se>
   
           * extract-dbl.c: When packing result, adjust exp when sc == 0.
   
           * mpf/tests/t-get_d.c: New file.
           * mpf/tests/Makefile.in: Compile t-get_d.c.
   
   1999-03-16  Linus Nordberg  <linus.nordberg@canit.se>
   
           * mpz/urandom.c (__gmp_rand_scheme): Add extra braces around the
           mpz_t members.
   
           * make.bat: Compile mpz/urandom.c and mpf/urandom.c
   
           * tests/rand/statlib.c (ks_table): Use mpf_pow_ui() and exp().
   
           * tests/rand/gen.c: Include unistd.h for getopt.
   
   1999-03-15  Linus Nordberg  <linus.nordberg@canit.se>
   
           * mpz/urandom.c (gmp_rand_init): New function.
           (gmp_rand_clear): New function.
           (mpz_urandomb): New function.
   
           * mpz/Makefile.in: Compile urandom.c
   
           * mpf/urandom.c (mpf_urandomb): New function.
   
           * mpf/Makefile.in: Compile urandom.c.
   
           * gmp.h (__gmp_rand_state_struct, __gmp_rand_scheme_struct): New
           structs for randomization functions.
           (gmp_rand_dist, gmp_rand_alogrithm): New enums for randomization
           functions.
           (mpz_urandomb, mpf_urandomb): Add prototype.
           (gmp_rand_init, gmp_rand_clear): Add prototype.
   
           * tests/rand/gen.c, stat.c, statlib.c, statlib.h: New files.
           * tests/rand/Makefile, tests/rand/ChangeLog: New files.
   
   1999-03-15  Torbjorn Granlund  <tege@matematik.su.se>
   
           * .gdbinit: New file.
   
           * mpz/dump.c: New file.
           * mpz/Makefile.in: Compile dump.c.
           * make.bat: Likewise.
           * gmp.h (mpz_dump): Declare.
   
   1999-03-14  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/tests/reuse.c: Also test mpz_invert and mpz_divexact.
   
           * mpz/tests/convert.c: Update to GMP 2 variable syntax.
   
   1999-03-13  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpf/README: New file.
           * mpz/README: New file.
   
           * mpf/pow_ui.c: New file.
           * mpf/Makefile.in: Compile pow_ui.c.
           * make.bat: Likewise.
           * gmp.h (mpf_pow_ui): Declare.
   
   1999-03-12  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/configure.in: Stage 1 of rewrite.
           * mpn/underscore.h: New name for bsd.h.
           * mpn/sysv.h: Deleted.
   
           * mpn/m68k/*: Don't include sysdep.h.
   
           * mpn/pa64/README: New file.
   
   1999-03-11  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/powerpc32/add_n.S: Add support for both AIX and ELF syntax.
           Renamed from `.s'.
           * mpn/powerpc32/sub_n.S: Likewise.
           * mpn/powerpc32/lshift.S: Likewise.
           * mpn/powerpc32/rshift.S: Likewise.
           * mpn/powerpc32/mul_1.S: Likewise.
           * mpn/powerpc32/addmul_1.S: Likewise.
           * mpn/powerpc32/submul_1.S: Likewise.
   
           * mpn/powerpc32/umul.S: New file.
           * mpn/sparc32/v8/umul.S: New file.
           * mpn/sparc32/umul.S: New file.
           * mpn/x86/umul.S: New file.
           * mpn/x86/udiv.S: New file.
   
           * mpn/Makefile.in (mul_basecase.o): Delete rule.
   
   1999-02-22  Torbjorn Granlund  <tege@matematik.su.se>
   
           * configure.in (hppa2.0*-*-*): Force use of GCC.
   
           * extract-dbl.c: Handle IEEE denormalized numbrs.  Clean up.
   
   1998-12-02  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/Makefile.in (CCAS): New macro.
           (.s.o): Use CCAS.
           (.S.o): Likewise.
   
           * mpn/Makefile.in (mul_basecase.o): Add dependency.
           (sqr_basecase.o): Likewise.
           (mod_1.o): Likewise.
   
           * demos/pexpr.c (cputime): Test also __hpux.
           (cleanup_and_exit): Check SIGXCPU only #ifdef LIMIT_RESOURCE_USAGE.
   
           * mpz/tests/t-2exp.c: Use urandom, not random.
   
           * mpn/configure.in (arm*-*-*): New alternative.
   
   1998-11-30  Torbjorn Granlund  <tege@matematik.su.se>
   
           * gmp-impl.h (union ieee_double_extract): Special case for
           little-endian arm.
           (LIMBS): Alias for PTR.
   
   1998-11-26  Torbjorn Granlund  <tege@matematik.su.se>
   
           * longlong.h (m68000 umul_ppmm): Use `muluw', not `mulu'.
           (m68k stuff): Clean up; add coldfire support.
   
   1998-11-23  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/mips3/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
           (KARATSUBA_SQR_THRESHOLD): #define.
   
           * mpn/sparc32/v9/README: New file.
   
   1998-11-20  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/x86/README: New file.
   
           * mpn/arm/gmp-mparam.h: New file.
           * mpn/pa64/gmp-mparam.h: New file.
           * mpn/hppa/gmp-mparam.h: New file.
           * mpn/x86/pentium/gmp-mparam.h: New file.
           * mpn/sparc32/v9/gmp-mparam.h: New file.
           * mpn/powerpc32/gmp-mparam.h: New file.
           * mpn/x86/p6/gmp-mparam.h: New file.
   
           * mpn/alpha/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
           (KARATSUBA_SQR_THRESHOLD): #define.
   
           * mpn/configure.in: Point to x86/p6 when appropriate.
   
           * mpn/power/umul.s: New file.
           * mpn/power/sdiv.s: New file.
           * mpn/pa64/addmul_1.S: New file.
           * mpn/pa64/submul_1.S: New file.
           * mpn/pa64/mul_1.S: New file.
           * mpn/pa64/udiv_qrnnd.c: New file.
           * mpn/pa64/umul_ppmm.S: New file.
           * mpn/mips2/umul.s: New file.
           * mpn/m68k/mc68020/umul.s: New file.
           * mpn/m68k/mc68020/udiv.s: New file.
           * mpn/hppa/hppa1_1/umul.s: New file.
           * mpn/alpha/umul.s: New file.
           * mpn/a29k/udiv.s: New file.
           * mpn/a29k/umul.s: New file.
   
   1998-11-17  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/x86/mul_basecase.S: New file for non-pentiums.
           * mpn/x86/mul_basecase.S: Move to mpn/x86/pentium.
   
   1998-11-16  Torbjorn Granlund  <tege@matematik.su.se>
   
           * make.bat: Compile mul_basecase.c and sqr_basecase.c.
   
   1998-11-10  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/invert.c: Defer writing to parameter `invert' until
           end.
   
   1998-11-03  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/pa64/udiv_qrnnd.c: Handle more border cases.
   
   1998-10-29  Torbjorn Granlund  <tege@matematik.su.se>
   
           * insert-dbl.c: Special case biased exponents < 1; Get boundary for
           Inf right.
   
           * longlong.h (COUNT_LEADING_ZEROS_NEED_CLZ_TAB): New #define.
   
   1998-10-28  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/powerpc32/submul_1.s: Rewrite, optimizing for PPC604.
           * mpn/powerpc32/addmul_1.s: Likewise.
           * mpn/powerpc32/lshift.s: Likewise.
   
   1998-10-23  Torbjorn Granlund  <tege@matematik.su.se>
   
           * config/mt-sprc9-gcc (XCFLAGS): Add -Wa,-xarch=v8plus.
   
           * mpn/sparc32/v9/submul_1.s: New file.
   
   1998-10-21  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/config/mt-pa2hpux: New file.
           * mpn/configure.in (hppa2.0*-*-*): Use new 64-bit code.
   
           * config.sub: Recognize hppa2.0 as CPU type.
   
           * longlong.h (64-bit hppa): Add umul_ppmm and udiv_qrnnd.
           * mpn/pa64/mul_1.S: New file.
           * mpn/pa64/addmul_1.S: New file.
           * mpn/pa64/submul_1.S: New file.
           * mpn/pa64/umul_ppmm.S: New file.
           * mpn/pa64/udiv_qrnnd.c: New file.
   
   1998-10-20  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/pprime_p.c: Pass 1L, not 1, to mpz_cmp_ui.
   
           * mpz/fdiv_q_2exp.c: Cast `long' argument to `mp_limb_t' for mpn calls.
           * mpz/gcd_ui.c: Likewise.
           * mpz/add_ui.c: Likewise.
           * mpz/sub_ui.c: Likewise.
   
   1998-10-19  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/generic/bdivmod.c: Avoid using switch statement with mp_limb_t
           index.
   
   1998-10-17  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/sparc32/v9/mul_1.s: Misc cleanups.
           * mpn/sparc32/v9/addmul_1.s: Misc cleanups.
   
   1998-10-16  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/tests/{add,sub,}mul_1.c: Print xlimb using mpn_print.
   
           * mpz/tests/t-powm.c (SIZE): Increase to 50.
           (EXP_SIZE): New parameter; use it for computing exp_size.
   
   1998-10-15  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/generic/divrem_newt.c: Use TMP_ALLOC interface.
   
           * mpn/generic/sqrtrem.c: Check BITS_PER_MP_LIMB before defining
           assembly variants of SQRT.
   
   1998-10-14  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/tests: Clean up timing routines.  Don't include longlong.h
           where it is not needed.
           (mpn_print): Handle printing when _LONG_LONG_LIMB.
           * mpn/tests/{add,sub,}mul_1.c: Generate xlimb with mpn_random2
           and do it whether TIMES != 1 or not.
   
           * mpn/generic/mul_n.c: Delay assignment of `sign' for lower
           register pressure.
   
           * mpn/sparc32/v9/mul_1.s: New file.
   
           * config/mt-sprc9-gcc: New file.
           * configure.in: Use it.
   
           * mpn/configure.in: Use sparc64 for Solaris 2.7 and later with a
           sparc v9 CPU.
           * mpn/configure.in: Use sparc32/v9 for Solaris 2.6 or earlier with
           a sparc v9 CPU.
   
           * mpf/sub.c: In initial code for ediff == 0, limit precision
           before jumping to `normalize'.
   
   1998-10-13  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/hppa/hppa2_0/add_n.s: New file.
           * mpn/hppa/hppa2_0/sub_n.s: New file.
           * mpn/configure.in: Handle hppa2.0 (32-bit code for now).
   
           * config.guess: Update from egcs 1.1.
           (9000/[3478]??:HP-UX:*:*): Properly return 2.0 for all known 2.0
           machines.
   
   1998-10-07  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/root.c (mpz_root): New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_root): Declare.
   
           * mpz/perfpow.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_perfect_power_p): Declare.
   
           * mpz/remove.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_remove): Declare.
   
           * mpz/bin_ui.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_bin_ui): Declare.
   
           * mpz/bin_uiui.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_bin_uiui): Declare.
   
   1998-09-16  Torbjorn Granlund  <tege@matematik.su.se>
   
           * longlong.h: Test for __powerpc__ in addition to _ARCH_PPC.
   
   Sat Sep  5 17:22:28 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpf/cmp_si.c: Compare most significant mantissa limb before
           trying to deduce anything from the limb count.
           * mpf/cmp_ui.c: Likewise.
   
   Tue Aug 18 10:24:39 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/pprime_p.c (mpz_probab_prime_p): Add new code block
           for doing more dividing.
   
   Sat Aug 15 18:43:17 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/generic/divrem_newt.c: New name for divrem_newton.c.
           * mpn/Makefile.in: Corresponding changes.
           * mpn/configure.in: Likewise.
   
   Wed Aug 12 23:07:09 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * config.guess: Handle powerpc for NetBSD.
   
   Tue Jul 28 23:10:55 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/fib_ui.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_fib_ui): Declare.
   
   Wed Jun 17 22:52:58 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * make.bat: Fix typo, `asm-synt.h' => `asm-syntax.h'.
   
   Wed Jun  3 11:27:32 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * config/mt-pwr: New file.
           * config/mt-ppc: New file.
           * configure.in: Use the new files.
   
   Tue Jun  2 13:04:17 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/sparc32/v9/addmul_1.s: New file.
           * mpn/config/mt-sprc9: New file.
           * mpn/configure.in: Use mt-sprc9.
   
   Tue May 26 11:24:18 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * demos/factorize.c (factor_using_pollard_rho): Pass correct
           parameters in recursive calls; join the two recursion arms.
   
           * mpf/set_q.c: Set result sign.
           When normalizing the numerator, don't allow it to increase in size
           beyond prec.
   
   Tue May 19 17:28:14 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * demos/factorize.c (factor_using_division): Call fflush
           also for the factor 2.
   
   Mon May 18 15:51:01 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * make.bat: Pass -fomit-frame-pointer.  Do not pass -g.
   
   Tue May  5 01:42:50 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/Makefile.in (LOCAL_CC): Remove definition.
   
           * gmp.h: Get rid of GMP_SMALL stuff.
           * mpz/Makefile.in: Likewise.
           * mpq/Makefile.in: Likewise.
           * mpf/Makefile.in: Likewise.
   
           * mpz/invert.c: Fix typo in comment.
   
   Mon May  4 23:05:32 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/generic/sqrtrem.c: Check that __arch64__ is not defined
           before defining sparc SQRT.
   
   Mon Apr 20 19:16:17 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/generic/gcdext.c: Allow gp to be NULL.
   
   1998-04-03  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/configure.in: Recognize `alphaev5*', not `alphaev5'.
   
           * config.guess: Handle CPU variants for NetBSD.
   
   Mon Mar 16 13:07:54 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/pprime_p.c: Use mpn_mod_1/mpn_preinv_mod_1 for computing mod PP,
           not mpz_tdiv_r_ui (which expects an `unsigned long').
           (mpz_probab_prime_p): Change type of `r' to mp_limb_t.
   
   Thu Mar 12 17:19:04 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * gmp.h (mpf_ceil, mpf_floor, mpf_trunc): Add declarations.
   
           * config.guess: Update from FSF version.
           * config.sub: Likewise.
   
           * config.guess: Add special handling of alpha-*-NetBSD.
   
   Wed Mar 11 00:55:34 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/inp_str.c: Update from set_str.c.
           Properly increment `nread' when skipping minus sign.
   
           * mpz/set_str.c: Check for empty string after having skipped
           leading zeros.
   
   Mon Mar  9 19:28:00 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/set_str.c: Skip leading zeros.
   
   Wed Mar  4 19:29:16 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * gmp.h (mpz_cmp_si): Cast argument before calling mpz_cmp_ui.
   
           * demos/factorize.c: Rewrite.
   
   1998-02-04  Torbjorn Granlund  <tege@matematik.su.se>
   
           * configure.in (i[3456]86* etc): Check if using gcc before
           choosing mt-x86.
   
           * configure.in (m68*-*-*): New alterantive.
           * config/mt-m68k: New file.
   
           * mpn/alpha/invert-limb.s: Put tables in text segment,
           since not all systems support "rdata".
   
   Wed Feb  4 02:20:57 1998  Torbjorn Granlund  <tege@matematik.su.se>
   
           * gmp.h (__GNU_MP_VERSION_SNAP): New #define.
           (__GNU_MP_VERSION_MINOR): Now 1.
   
   Wed Jan 28 22:29:36 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * longlong.h (alpha udiv_qrnnd): #define UDIV_NEEDS_NORMALIZATION.
   
   Wed Jan 28 20:28:19 1998  Torbjorn Granlund  <tege@sophie.matematik.su.se>
   
           * mpz/pprime_p.c (mpz_probab_prime_p): Delete 59 from tried divisors.
   
   Mon Jan 26 01:39:02 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * mpz/pprime_p.c (mpz_probab_prime_p): Major overhaul: Check small
           numers specifically; check small factors, then perform a fermat test.
   
   Tue Jan 13 14:58:28 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * longlong.h (alpha udiv_qrnnd): Call __mpn_invert_normalized_limb
           and udiv_qrnnd_preinv.
   
   Wed Jan  7 01:52:54 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * mpn/configure.in (alpha*, extra_functions): Add invert-limb and
           remove udiv_qrnnd.
   
           * mpn/tests/divrem.c: Get allocations right.
   
           * mpn/generic/divrem.c: Conditionally pre-invert most significant
           divisor limb.
   
   Tue Jan  6 23:08:54 1998  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * mpn/generic/divrem_1.c: Rename variables to comply to conventions.
           Make `i' have type `mp_size_t'.
   
   Tue Dec 30 22:21:42 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/tdiv_qr_ui.c: Return the remainder.
           * mpz/tdiv_r_ui.c: Likewise.
           * mpz/tdiv_q_ui.c: Likewise.
           * gmp.h: Change return type of mpz_tdiv_qr_ui, mpz_tdiv_r_ui,
           mpz_tdiv_q_ui.
   
           * mpz/tdiv_ui.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_tdiv_ui): Declare.
   
   Fri Nov  7 04:21:15 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpf/integer.c (FUNC_NAME): Fix bogus test for mpf_trunc.
   
           * demos/isprime.c: New file.
   
           Sat Nov  1 19:32:25 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpz/cmp_abs.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_cmp_abs): Declare.
   
           * mpz/cmp_abs_ui.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_cmp_abs_ui): Declare.
   
   Sat Sep 27 04:49:52 1997  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * mpz/fdiv_r_2exp.c: Get allocation for `tmp' right.
   
           * mpz/fdiv_q_2exp.c: In final result adjustment code, handle
           that intermediate result is zero.
   
           * mpz/tests/t-2exp.c: New file.
           * mpz/tests/Makefile.in: Handle t-2exp.c.
   
   Fri Sep 26 16:29:21 1997  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * mpz/divexact.c: Fix typo in test for whether to copy numerator to
           quotient and move that statement to after handling quotient and
           denominator overlap.  Misc cleanups.
   
           * mpn/generic/gcd.c: Change count argument of mpn_lshift/mpn_rshift
           calls to `unsigned int'.
           * mpz/divexact.c: Likewise.
   
   Mon Sep 22 02:19:52 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpz/tests/t-powm.c: Decrease `reps' to 2500.
   
           * mpz/tests/t-pow_ui.c: New file.
           * mpz/tests/Makefile.in: Handle t-pow_ui.c.
   
           * mpz/ui_pow_ui.c: Get special cases for exponent and base right.
   
           * mpz/pow_ui.c: Increase temp space allocation by 1 limb.
           Split `rsize' into two variables; compute space allocation into
           `ralloc'.
   
   Sun Sep  7 04:15:12 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpn/pa64/lshift.s: New file.
           * mpn/pa64/rshift.s: New file.
           * mpn/pa64/sub_n.s: New file.
   
   Sat Sep  6 19:14:13 1997  Torbjorn Granlund  <tege@gmp.tmg.se>
   
           * mpn/pa64/add_n.s: New file.
           * mpn/pa64: New directory.
   
   Tue Aug 19 16:17:09 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpz/swap.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_swap): Declare.
   
           * mpn/generic/mul_n.c: Push assignment of x and y pointers into the
           if/else clauses in several places.  (Decreases register pressure.)
   
   Mon Aug 18 03:29:50 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpn/thumb/add_n.s: New file.
           * mpn/thumb/sub_n.s: New file.
           * mpn/arm/add_n.s: New file.
           * mpn/arm/sub_n.s: New file.
   
           * mpz/powm.c: After mpn_mul_n and mpn_mul calls, adjust product size
           if most significant limb is zero.
           * mpz/powm_ui.c: Likewise.
   
   Fri Aug 15 02:13:57 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpn/arm/m/mul_1.s: New file.
           * mpn/arm/m/addmul_1.s: New file.
   
           * mpn/powerpc32/mul_1.s: Rewrite.
   
           * mpn/alpha/mul_1.s: Prefix labels with `.'.
   
   Mon Aug 11 02:37:16 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpn/powerpc32/add_n.s: Rewrite.
           * mpn/powerpc32/sub_n.s: Rewrite.
   
   Sun Aug 10 17:07:15 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpn/powerpc32/addmul_1.s: Delete obsolete comments.
           * mpn/powerpc32/submul_1.s: Likewise.
   
   Fri Jul 25 20:07:54 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpz/addmul_ui.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_addmul_ui): Declare.
   
           * mpz/setbit.c: Add missing code after final `else'.
   
   Tue Jul 22 17:45:01 1997  Torbjorn Granlund  <tege@tunnis.tmg.se>
   
           * mpn/sh/add_n.s: Fix typo.
           * mpn/sh/sub_n.s: Likewise.
   
           * longlong.h (ns32k count_trailing_zeros): Fix typo.
   
           * insert-dbl.c: Check for exponent overflow and return Inf.
   
           * mpz/get_d.c: Rewrite to avoid rounding errors.
   
   Thu May 29 11:51:07 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpq/add.c: Swap some usages of tmp1 and tmp2 to make sure
           their allocation suffices.
           * mpq/sub.c: Likewise.
   
   Wed Apr 16 02:24:25 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * demos/pexpr.c: New file.
   
           * mpn/generic/mul_n.c: Misc optimizations from Robert Harley.
   
           * gmp-impl.h (MPZ_PROVOKE_REALLOC): New #define.
   
   Sat Apr 12 17:54:04 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * mpz/tstbit.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_tstbit): Declare.
   
           * mpz/tests/logic.c: Use MPZ_CHECK_FORMAT.
           * mpz/tests/bit.c: New test.
           * mpz/tests/Makefile.in: Handle bit.c.
   
           * mpz/ior.c: In -OP2,+OP1 case, normalize OP2 after call to mpn_sub_1.
   
           * gmp-impl.h (MPZ_CHECK_FORMAT): New #define.
   
   Thu Apr 10 00:30:14 1997  Torbjorn Granlund  <tege@tmg.se>
   
           * longlong.h (POWER/PowerPC): Test _ARCH_PWR instead of _IBMR2.
   
   Wed Apr  9 18:23:31 1997  Torbjorn Granlund  <tege@pro.tmg.se>
   
           * gmp-impl.h: Move defaulting of UMUL_TIME and UDIV_TIME from here...
           * longlong.h: ...to here.
   
   Sun Mar 30 12:16:23 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/generic/next_prime.c: New file.
   
           * mpn/generic/perfsqr.c: Remove definitions of PP and PP_INVERTED.
           * gmp-impl.h: Put them here.
   
   Fri Mar 28 08:18:05 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Define as inline asm for
           for x86, but leave disabled for now.
   
   Fri Feb 28 02:39:47 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/Makefile.in (.S.o): Pass SFLAGS and CFLAGS also to compiler
           for assembly phase.
           (.s.o): Pass SFLAGS.
   
   Wed Feb 26 06:46:08 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/configure.in: For Pentium Pro, use default code, not Pentium
           optimized code.
   
           * mpn/x86/addmul_1.S: Unroll and optimize for Pentium Pro.
           * mpn/x86/submul_1.S: Likewise.
   
   Thu Feb 13 08:26:09 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpf/Makefile.in: Compile floor.o, ceil.o and trunc.o (from
           integer.c).
           * make.bat: Likewise.
   
   Wed Feb  5 05:58:44 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpn/configure.in (alpha*): Add cntlz to extra_functions.
   
   Wed Feb  4 03:30:45 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpf/integer.c: New file (supporting mpf_floor, mpf_ceil, mpf_trunc).
   
   Mon Feb  3 14:21:36 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * make.bat: Fix typo, set_dfl_prc => set_dfl_prec.
   
   Sun Feb  2 02:34:33 1997  Torbjorn Granlund  <tege@matematik.su.se>
   
           * mpf/out_str.c: After outputting `-', decrement n_digits.
   
   Wed Jan  8 02:50:20 1997  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/generic/divrem.c: qextra_limbs => qxn.
   
   Wed Dec 18 07:50:46 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/tests/t-tdiv.c (SIZE): Increase to 200.
   
   Tue Dec 17 19:32:48 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/generic/divrem.c (mpn_divrem_classic): New name for mpn_divrem.
           * gmp.h (mpn_divrem): New function.
           * mpn/generic/divrem_newton.c: New file.
           * mpn/configure.in (functions): Add divrem_newton.
           * make.bat: Likewise.
   
   Thu Dec 12 17:55:13 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * gmp.h (_GMP_H_HAVE_FILE): Test also __dj_include_stdio_h_.
   
   Sat Dec  7 09:40:06 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/alpha/invert-limb.s: New file.
   
   Thu Dec  5 01:25:31 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/ui_pow_ui.c (mpz_pow2): New (static) function.
           (mpz_ui_pow_ui): Rewrite.
   
           * make.bat: `pre_mod_1.c' => `pre_mod_.c'.  Fix typo in path to
           gmp-mpar.h.
   
   Fri Nov 15 00:49:55 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/ui_pow_ui.c: Rewrite for better speed.
   
   Fri Nov  1 16:36:56 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * Makefile.in (recursive make rules): Use `&&' instead of `;' as
           delimiter.
   
   Fri Oct 25 17:12:36 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * gmp-impl.h (Cray/uxp MPN_COPY): Really declare as inline.
   
   Thu Oct 24 15:08:19 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/fujitsu/rshift.c: Fix typo in loop boundaries.
   
   Fri Oct 18 03:13:54 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/configure.in: Recognize `nextstep' for m68k variants; likewise
           for x86 variants.
   
           * mpn/x86/syntax.h (INSND): New macro.
           * mpn/x86/[lr]shift.S: Use INSND.
           * mpn/x86/pentium/[lr]shift.S: Likewise.
           * mpn/config/t-oldgas (SFLAGS): Pass -DOLD_GAS.
   
           * gmp-impl.h: In code for determining endianess, test also
           __BIG_ENDIAN__ and __hppa__.  Remove test of __NeXT__.
   
   Wed Oct 16 03:50:34 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpf/set_str.c: Let `prec' determine precision used in
           exponentiation code; decrease allocation accordingly.
   
           * mpn/vax: Change `jsob*' to `sob*' in all files.
   
   Tue Oct 15 03:54:06 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * longlong.h (m88110 udiv_qrnnd): Change type of intermediate quotient
           to DImode (divu.d generates a 64-bit quotient).
   
           * configure.in (m88110*): Fix typo.
   
           * mpf/get_str.c: Compute exp_in_base using `double' to avoid overflow.
   
           * gmp-impl.h (struct bases): Change type of chars_per_bit_exactly from
           float to double.
           * mpn/mp_bases.c (__mp_bases): Give 17 digits for chars_per_bit_exactly
           field.
   
           * mpf/get_str.c: Let `prec' determine precision used in
           exponentiation code; decrease allocation accordingly.
   
   Sun Oct 13 03:31:53 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * longlong.h: Major cleanup.
           (__udiv_qrnnd_c): Compute remainders using multiply and subtract,
           not explicit `%' operator.
           (C umul_ppmm): Get rid of a redundant __ll_lowpart.
   
           * mpz/invert.c: Properly detect all operands that would yield an
           undefined inverse; make sure the inverse is always positive.
   
           * mpz/xor.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_xor): Declare.
   
           * mpz/tests/logic.c: Also test mpz_xor.
   
           * mpz/lcm.c: Special case for when either operand equals 0.
   
   Sat Oct 12 01:57:09 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/generic/gcd.c (find_a): Don't inline on x86.
   
           * Makefile.in (CFLAGS): Default to just `-g'.
   
           * configure.in: Recognize 386 and 486 wherever other x86 cpus are
           recognized.
           * configure.in: Use mt-x86 for all x86 cpus.
           * config/mt-x86: New file.
   
           * mpn/alpha/cntlz.s: New file.
   
   Tue Oct  8 00:16:18 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * longlong.h: Define smul_ppmm for Fujitsu vpp/uxp.
           Rewrite umul_ppmm to actually work on the hardware.
   
           * mpn/x86/sub_n.S: Avoid parens around displacement of `leal'.
           * mpn/x86/add_n.S: Likewise.
   
           * mpn/x86/syntax.h (R): Define differently depending on __STDC__.
   
   Mon Oct  7 16:48:08 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * longlong.h: Don't test for __NeXT__ in outer 68k conditional;
           add test for __m68k__.
   
   Sun Oct  6 00:59:09 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * gmp.h: Declare mpn_random.
           * make.bat: Compile mpn/generic/random.c.
   
           * longlong.h: Define umul_ppmm for Fujitsu vpp/uxp.
   
           * gmp-impl.h: Protect definitions using `__attribute__ ((mode (...)))'
           with test also for __GNUC_MINOR__.
   
           * gmp.h: Don't define macros using __builtin_constant_p when using
           NeXT's compiler.
   
   Fri Oct  4 16:53:50 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/lcm.c: New file.
           * mpz/Makefile.in: Compile it.
           * make.bat: Likewise.
           * gmp.h (mpz_lcm): Declare.
   
   Wed Sep 25 00:06:21 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpq/tests/t-cmp_ui.c: Make sure numerator and denominator of `b' is
           within limits of an `unsigned long int'.
   
           * mpz/tests/t-powm_ui.c: Change type of exp2 to `unsigned long int'.
   
   Tue Sep 24 18:58:20 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/powm_ui.c: Make result always positive.
   
           * urandom.h (urandom): Make it return mp_limb_t.
   
           * gmp-impl.h (CNST_LIMB): New macro.
           * mpn/mp_bases.c: Use CNST_LIMB.
           * mpn/generic/hamdist.c (popc_limb): Likewise.
           * mpn/generic/popcount.c (popc_limb): Likewise.
           * mpn/generic/perfsqr.c: Likewise.
   
   Fri Sep 20 03:08:10 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/pprime_p.c: When n <= 3, don't clear out n before using it.
   
   Wed Sep 18 11:22:45 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/fujitsu/mul_1.c: New file.
           * mpn/fujitsu/addmul_1.c: New file.
           * mpn/fujitsu/sub_n.c: New file.
           * mpn/fujitsu/add_n.c: Mew file.
   
   Sun Sep 15 03:13:02 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/generic/random.c: New file.
           * mpn/configure.in (functions): Add `random'.
   
           * gmp-impl.h (MPN_COPY): Define as annotated inline function for
           Crays and Fujitsu VPPs.
   
           * gmp.h (mp_size_t): Define as `int' for non-MPP Cray.
           (mp_exp_t): Likewise.
   
           * configure.in: Add support for Fujitsu VPP machines.
           * mpn/configure.in: Likewise.
           * config.guess: Likewise.
           * config.sub: Likewise.
   
           * mpn/fujitsu/rshift.c: New file.
           * mpn/fujitsu/lshift.c: New file.
           * mpn/fujitsu: New directory, for Fujitsu VPP machines.
   
   Wed Sep 11 11:34:38 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/generic/mul_n.c (__gmpn_mul_n): New name for impn_mul_n.
           Call __gmpn_mul_basecase, not impn_mul_n_basecase; update parameter
           list to work with __gmpn_mul_basecase.
           (__gmpn_sqr): New name for impn_sqr_n.
           Call __gmpn_sqr_basecase, not impn_sqr_n_basecase; update parameter
           list to work with __gmpn_sqr_basecase.
           (mpn_mul_n): Update calls to match new names and parameter conventions.
           * gmp-impl.h (MPN_MUL_N_RECURSE): Likewise.
           (MPN_SQR_RECURSE): New name for MPN_SQR_N_RECURSE.
           Update calls to match new names and parameter conventions.
           * mpn/generic/mul.c: Never perform multiply explicitly here, call
           __gmpn_mul_basecase instead.
           Update calls to match new names and parameter conventions.
   
           * mpn/x86/mul_basecase.S: New file.
           * mpn/generic/mul_basecase.c: New file.
           * mpn/generic/sqr_basecase.c: New file.
   
   Wed Sep  4 02:59:21 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/set_str.c: Let `0b' and `0B' mean base 2.
   
   Fri Aug 30 00:44:00 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * longlong.h (x86 umul_ppmm): Work around GCC bug that was
           triggered by Aug 28 change.
   
           * mpbsd/min.c (digit_value_in_base): New function.
   
           * mpz/set_str.c: Refine allocation size computation, use
           chars_per_bit_exactly instead of chars_per_limb.
   
           * mpbsd/Makefile.in (.c.o): Add -D_mpz_realloc=_mp_realloc.
   
   Wed Aug 28 02:52:14 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * longlong.h (x86 umul_ppmm): Don't cast result operands.
           (x86 udiv_qrnnd): Likewise.
           (default smul_ppmm): Fix typo, umul_ppmm => smul_ppmm.
           (default umul_ppmm): New #define using smul_ppmm.
           (vax smul_ppmm): New #define.
           (vax umul_ppmm): Delete.
           (POWER umul_ppmm): Delete.
           (IBM 370 smul_ppmm): New #define.
           (IBM 370 umul_ppmm): Delete.
           (IBM RT/ROMP smul_ppmm): New #define.
           (IBM RT/ROMP umul_ppmm): Delete.
   
   Tue Aug 27 01:03:25 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * gmp-impl.h (__gmp_0): Make it `const'.
   
           * mpn/Makefile.in (clean mostlyclean): Comment out recursive clean
           of `tests'.
   
           * mpn/generic/mul.c: Identify when we do squaring, and call
           impn_sqr_n_basecase/impn_sqr_n as appropriate.  Use
           KARATSUBA_MUL_THRESHOLD and KARATSUBA_SQR_THRESHOLD.
           Don't #define KARATSUBA_THRESHOLD.
   
           * mpn/generic/mul_n.c: Don't #define KARATSUBA_THRESHOLD.
           (impn_mul_n, impn_sqr_n): Rewrite, based on code contributed by
           Robert Harley.
           (impn_sqr_n_basecase): Rewrite.
   
           * gmp-impl.h (KARATSUBA_MUL_THRESHOLD): New #define.
           (KARATSUBA_SQR_THRESHOLD): Likewise.
           (MPN_SQR_N_RECURSE): Use KARATSUBA_SQR_THRESHOLD.
           (MPN_MUL_N_RECURSE): Use KARATSUBA_MUL_THRESHOLD.
   
           * configure.in: Fix typo in last change.
   
   Mon Aug 26 22:25:18 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpn/generic/random2.c: Fix typo, `alpha__' => `__alpha'.
           * mpf/random2.c: Likewise.
   
   Sun Aug 25 00:07:09 1996  Torbjorn Granlund  <tege@quiet.matematik.su.se>
   
           * mpz/tests/t-mul.c: Also test squaring.
   
   Fri Aug 16 05:12:08 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mp_clz_tab.c (__clz_tab): Declare as `const'.
           * version.c (gmp_version): Likewise.
           * mpn/generic/sqrtrem.c (even_approx_tab, odd_approx_tab): Likewise.
   
   Thu Aug 15 02:34:47 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * gmp.h: Fix typo, `mips__' => `__mips'.
   
           * mpf/set_str.c: Allow a number to start with a period, if next
           position contains a digit.
   
   Tue Aug 13 18:41:25 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpz/gcdext.c: Get cofactor sign right for negative input operands.
           Clean up code for computing tt.
   
           * mpz/invert.c: Get rid of variable `rv'.
   
           * mpz/divexact.c: Test for zero divisor in special case for zero
           dividend.
   
   Mon Aug 12 18:04:07 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpz/?div_*_ui.c: Special case for division by 0.
           * mpz/tdiv_q.c: Likewise.
   
   Sat Aug 10 14:45:26 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpz/dmincl.c: Special case for division by 0.
   
           * mpz/tdiv_*_ui.c: Delete special case for dividend being 0; handle
           it when computing size after mpn_divmod_1 call.
   
           * mp_bpl.c: (__gmp_junk): New variable.
           (__gmp_0): New constant.
   
           * gmp-impl.h (DIVIDE_BY_ZERO): New #define.
   
   Fri Aug  9 20:03:27 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpz/divexact.c: Test for dividend being zero before testing
           for small divisors.
   
   Thu Aug  8 13:20:23 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * configure.in: Require operating system specification for cpus
           where assembly syntax differs between system.
   
           * Makefile.in (many targets): Change `-' action prefix to `@'.
   
           * mpn/Makefile.in: (distclean): Fix typo.
   
           * mpq/cmp_ui.c: Rename function to _mpq_cmp_ui.
           (mpq_cmp_ui): #undef deleted.
           * mpz/cmp_si.c: Rename function to _mpz_cmp_si.
           (mpz_cmp_si): #undef deleted.
           * mpz/cmp_ui.c: Rename function to _mpz_cmp_ui.
           (mpz_cmp_ui): #undef deleted.
           * Makefile.in: Corresponding changes.
   
           * mpf/get_prc.c: Return the *highest* precision achievable.
   
           * mpf/get_str.c: Complete rewrite.
   
           * mpf/set_str.c (swapptr): New #define.
           (assert): New #define.
           * mpf/set_str.c: Set prec to one more than the saved _mp_prec.
           Misc cleanups.
   
           * mpz/set_str.c: #include string.h.
           * mpf/out_str.c: #include string.h.
           * mpbsd/xtom.c: #include string.h and ctype.h.
           * mpbsd/mout.c: #include string.h.
   
   Wed Aug  7 11:46:04 EDT 1996  Ken Weber <kweber@mcs.kent.edu>
   
           * mpn/generic/gcd.c: Reorder mpn_gcd argument list.
           * mpz/gcd.c: Change call to mpn_gcd.
           * gmp.texi: Update manual entry on mpn_gcd.
           * mpn/generic/bdivmod.c: Delete limb cache to make mpn_bdivmod
           reentrant.
   
   Wed Aug  7 02:15:38 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpf/get_str.c: Rewrite code for converting integral part of a
           number with both an integral and fractional part.
   
           * mpf/set_str.c: Get rid of variable xxx.  New variables madj and radj.
           In exp_in_base==0 case, add madj to msize for EXP field.
   
           * mpz/tests/t-gcd.c: Test deleted.  Rename t-gcd2.c to t-gcd.c.
           Increase reps to 2000.
           * mpz/tests/t-gcd2.c: Get rid of mpz_refgcd.
   
           * mpf/set_str.c: Ignore excess limbs in MP,MSIZE.
   
   Thu Jul 25 04:39:10 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/configure.in: Fix typo in setting path, "sparc" => "sparc32".
   
   Wed Jul 24 02:27:02 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/gcdext.c: Reorganize and clean up.  Get rid of all
           signed limb arithmetic.
   
   Mon Jul 22 02:39:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/gcdext.c (mpn_gcdext): For large enough operands,
           work with most significant *two* limbs.
           (div2): New function (two variants).
           (THRESHOLD): New #define.
   
           * mpz/gcdext.c: Fix typo in MPZ_TMP_INIT call.
   
           * longlong.h (alpha UMUL_TIME): Now 30.
           (alpha UDIV_TIME): Now 350.
           (x86 UMUL_TIME): Now 10 (let Pentium decide).
           (SuperSPARC UDIV_TIME): Override default.
   
           * extract-dbl.c (MP_BASE_AS_DOUBLE): Don't redefine here.
   
           * extract-dbl.c: New name for extract-double.c.
           * insert-dbl.c: New name for insert-double.c.
           * Makefile.in: Corresponding changes.
           * make.bat: Likewise.
   
           * mpz/Makefile.in (.c.o): Don't pass non-portable `-f' to cp.
           * mpq/Makefile.in: Likewise.
           * mpf/Makefile.in: Likewise.
   
   Sat Jul 20 01:35:18 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpz/getlimbn.c: Take ABS of integer->_mp_size.
   
           * mpz/divexact.c: Use mpn_divmod_1 if divisor is a single limb.
   
   Thu Jul 18 00:31:15 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/popcount.c (popc_limb): Use different masking trick
           for first step (due to David Seal).
           * mpn/generic/hamdist.c (popc_limb): Likewise.
   
   Wed Jul 17 23:21:48 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/divrem.c: In MPN_COPY_DECR call, copy dsize - 1 limbs.
   
   Sun Jul 14 17:47:46 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * configure.in: Handle sparc9, sparc64, and ultrasparc like sparc8.
   
   Thu Jul 11 14:05:54 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
   
           * longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
           for the '020, '030, '040, and '332.  Define count_leading_zeros
           for the '020, '030, '040, and '060.
   
   Sun Jul 14 15:24:53 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           From Joe Keane:
           * mpq/equal.c: Take ABS of num1_size before passing it to mpn_cmp.
   
   Fri Jul 12 17:11:17 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/sqrtrem.c (SQRT): New asm for x86, but leave it
           disabled for now.
   
           * mpn/generic/sqrtrem.c: Use MP_BASE_AS_DOUBLE.
   
   Wed Jul 10 03:17:45 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * cre-mparam.c: Delete obsolete file.
   
           * gmp.h: #define _LONG_LONG_LIMB if __mips && _ABIN32.
           * longlong.h: Test __mips instead of __mips__.
   
   Sun Jul  7 23:19:13 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * longlong.h (_PROTO): Define, unless already defined.
           (alpha __udiv_qrnnd): Declare using _PROTO.
           (hppa __udiv_qrnnd): Likewise.
           (sparc __udiv_qrnnd): Likewise.
   
   Mon Jul  1 01:44:30 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * config.guess: Update from master version; add Cray x90 handling.
   
   Wed Jun 26 05:35:02 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/power/add_n.s (__mpn_add_n): Work around GAS bug.
           * mpn/power/sub_n.s (__mpn_sub_n): Likewise.
   
           * insert-double.c: Rework loop to avoid potential overflow.
   
           * mpq/get_d.c: For vax, if qsize > N_QLIMBS, ignore excess limbs.
   
           * mpq/tests/t-get_d.c (SIZE): Special case for vax.
   
           * gmp.h (mpX_cmp_ui): #define also when ! __GNUC__.
   
   Mon Jun 24 17:13:21 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * longlong.h (vax sdiv_qrnnd): Fix typo.
   
   Sat Jun 15 01:33:33 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * gmp.h: Support `small' and `large' type and function variants,
           controlled by GMP_SMALL.
   
           * mpz/Makefile.in (.c.o): Compile each function twice, for small and
           large variant.
           (MPZS_OBJS): New variable.
           (libmpz.a): Include MPZS_OBJS in archive.
           * mpf/Makefile.in: Analogous changes.
           * mpq/Makefile.in: Analogous changes.
   
           * gmp.h: Prefix all functions with __gmp, to allow namespace-clean
           internal calls.
   
           * mp.h: Rip out __MP_SMALL__ stuff.
           (__mpz_struct): mp_size_t => int.
   
           * mpz/invert.c: #include "gmp-impl.h".
           Use MPZ_TMP_INIT, not mpz_init.
   
           * mpz/gcdext.c: Rewrite to call mpn_gcdext.
   
   Fri Jun 14 18:05:29 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/gcdext.c (s0size): New parameter.
           * gmp.h (mpn_gcdext): Update prototype.
   
           * mpn/generic/gcdext.c: Major rewrite.
   
   Mon Jun 10 00:14:27 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * mpn/generic/dump.c: Add missing `else'.
   
   Fri Jun  7 03:35:12 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
           * Makefile.in (gmp_toc.html): Pass -expandinfo to texi2html.
   
   Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Version 2.0.2 released.          * Version 2.0.2 released.
   
         * install.sh: New file.          * install.sh: New file.
Line 13  Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noi
Line 12443  Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noi
         * config/mt-linux (AR_FLAGS): New file.          * config/mt-linux (AR_FLAGS): New file.
         * configure.in: Use config/mt-linux for all linux systems.          * configure.in: Use config/mt-linux for all linux systems.
   
 Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Version 2.0.1 released.          * Version 2.0.1 released.
   
Line 53  Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noi
Line 12483  Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noi
         * mpn/config/t-ppc-aix: New file.          * mpn/config/t-ppc-aix: New file.
         * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.          * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.
   
 Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp.h (mp_bits_per_limb): Change qualifier from `const' to          * gmp.h (mp_bits_per_limb): Change qualifier from `const' to
         __gmp_const.          __gmp_const.
Line 61  Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noi
Line 12491  Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noi
         * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.          * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.
         * mpf/iset_str.c: Likewise.          * mpf/iset_str.c: Likewise.
   
 Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp-impl.h: Declare __gmp_extract_double.          * gmp-impl.h: Declare __gmp_extract_double.
   
Line 71  Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noi
Line 12501  Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noi
   
         * mpf/eq.c: mpf_cmp2 -> mpf_eq.          * mpf/eq.c: mpf_cmp2 -> mpf_eq.
   
 Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/iset_d.c: Don't include <math.h>.          * mpz/iset_d.c: Don't include <math.h>.
   
Line 115  Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noi
Line 12545  Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noi
   
         * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.          * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.
   
 Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp-impl.h: Rework code for defining ieee_double_extract.          * gmp-impl.h: Rework code for defining ieee_double_extract.
         (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.          (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.
Line 125  Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noi
Line 12555  Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noi
         * mpn/config/t-pwr-aix: New file.          * mpn/config/t-pwr-aix: New file.
         * mpn/configure.in: Use t-pwr-aix for aix 4 and later.          * mpn/configure.in: Use t-pwr-aix for aix 4 and later.
   
 Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.          * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.
   
Line 138  Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noi
Line 12568  Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noi
   
         * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.          * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.
   
 Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/set_d.c: Call _mpz_realloc.          * mpz/set_d.c: Call _mpz_realloc.
   
Line 158  Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noi
Line 12588  Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noi
   
         * mpf/set_d.c: Make it work for 64-bit machines.          * mpf/set_d.c: Make it work for 64-bit machines.
   
 Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian          * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian
         machines.          machines.
Line 171  Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noi
Line 12601  Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noi
         * mpn/generic/random2.c: Likewise.          * mpn/generic/random2.c: Likewise.
         * mpf/random2.c: Likewise.          * mpf/random2.c: Likewise.
   
 Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tiny.tmg.se)  Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
   
         * mpz/set_f.c: New file.          * mpz/set_f.c: New file.
         * mpz/Makefile.in: Compile it.          * mpz/Makefile.in: Compile it.
Line 179  Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tin
Line 12609  Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tin
   
         * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.          * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.
   
 Tue May 14 13:03:07 1996  Torbjorn Granlund  (tege@tiny.tmg.se)  Tue May 14 13:03:07 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
   
         * make.bat: Add all new files.          * make.bat: Add all new files.
   
 Sun May 12 22:24:36 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sun May 12 22:24:36 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/set_z.c: New file.          * mpf/set_z.c: New file.
         * mpf/Makefile.in: Compile it.          * mpf/Makefile.in: Compile it.
         * gmp.h: Declare mpf_set_z.          * gmp.h: Declare mpf_set_z.
   
 Sat May 11 19:26:25 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sat May 11 19:26:25 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp.h: Declare mpf_set_q.          * gmp.h: Declare mpf_set_q.
   
         * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.          * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.
   
 Fri May 10 17:37:38 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri May 10 17:37:38 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/set_q.c: New file.          * mpf/set_q.c: New file.
         * mpf/Makefile.in: Compile it.          * mpf/Makefile.in: Compile it.
   
         * config.sub: Recognize sparc8.          * config.sub: Recognize sparc8.
   
 Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/tests/t-dm2exp.c: New file.          * mpf/tests/t-dm2exp.c: New file.
   
Line 243  Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noi
Line 12673  Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noi
   
         * mpf/add_ui.c: New special case for when U is completely cancelled.          * mpf/add_ui.c: New special case for when U is completely cancelled.
   
 Wed Apr 24 05:33:28 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Apr 24 05:33:28 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Version 2.0 released.          * Version 2.0 released.
   
         * All files: Upfate FSF's address.          * All files: Update FSF's address.
   
         * Makefile.in (gmp_toc.html): New name for gmp.html.          * Makefile.in (gmp_toc.html): New name for gmp.html.
         (TAGS): Depend on force.          (TAGS): Depend on force.
   
         * mpf/tests/t-conv.c: Pass -base to mpf_set_str.          * mpf/tests/t-conv.c: Pass -base to mpf_set_str.
   
 Sat Apr 20 03:54:06 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sat Apr 20 03:54:06 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Makefile.in (ps): New target, depend on gmp.ps.          * Makefile.in (ps): New target, depend on gmp.ps.
   
 Fri Apr 19 14:03:15 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Apr 19 14:03:15 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/out_str.c: Print `@' before exponent, not `e'.          * mpf/out_str.c: Print `@' before exponent, not `e'.
   
         * make.bat: Update from Makefiles.          * make.bat: Update from Makefiles.
   
 Thu Apr 18 01:22:05 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Thu Apr 18 01:22:05 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/set_str.c: If parameter `base' is negative, expect exponent          * mpf/set_str.c: If parameter `base' is negative, expect exponent
         to be decimal, otherwise in the same base as the mantissa.          to be decimal, otherwise in the same base as the mantissa.
   
 Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/set_dfl_prec.c: Don't return anything.          * mpf/set_dfl_prec.c: Don't return anything.
         * gmp.h: Corresponding changes.          * gmp.h: Corresponding changes.
Line 302  Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noi
Line 12732  Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noi
         * mpz/Makefile.in: Compile it.          * mpz/Makefile.in: Compile it.
         * gmp.h: Declare mpz_init_set_d.          * gmp.h: Declare mpz_init_set_d.
   
 Tue Apr 16 16:28:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Apr 16 16:28:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Makefile.in (gmp.html): Pass -acc to texi2html.          * Makefile.in (gmp.html): Pass -acc to texi2html.
   
 Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/set_str.c: Switch off code for defaulting the base from the          * mpf/set_str.c: Switch off code for defaulting the base from the
         leading characters.          leading characters.
Line 314  Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noi
Line 12744  Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noi
         * gmp.h (mp?_sign): Delete.          * gmp.h (mp?_sign): Delete.
         (mp?_sgn): New macros.          (mp?_sgn): New macros.
   
 Fri Apr 12 17:23:33 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Apr 12 17:23:33 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.          * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.
   
 Wed Apr 10 22:52:02 1996  Torbjorn Granlund  (tege@tiny.tmg.se)  Wed Apr 10 22:52:02 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
   
         * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.          * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.
         * gmp.h: Corresponding change.          * gmp.h: Corresponding change.
   
         * gmp.h (mp_bits_per_limb): Make it const.          * gmp.h (mp_bits_per_limb): Make it const.
   
 Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * configure.in: Re-enable recognition of with_gcc.          * configure.in: Re-enable recognition of with_gcc.
   
Line 349  Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noi
Line 12779  Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noi
         * configure: Don't default CC to "gcc -O2" is -with-gcc=no was          * configure: Don't default CC to "gcc -O2" is -with-gcc=no was
         specified.          specified.
   
 Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * urandom.h: Test for __SVR4 in addition to __svr4__.          * urandom.h: Test for __SVR4 in addition to __svr4__.
   
Line 365  Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noi
Line 12795  Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noi
   
         * gmp.h (__MPN): Make it work also for non-ANSI compilers.          * gmp.h (__MPN): Make it work also for non-ANSI compilers.
   
 Thu Mar 21 01:07:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Thu Mar 21 01:07:54 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/sub.c: New special case for ediff <= 1 before generic code.          * mpf/sub.c: New special case for ediff <= 1 before generic code.
         Simplify generic code for ediff == 0.          Simplify generic code for ediff == 0.
         Rename uexp => exp.          Rename uexp => exp.
   
 Mon Mar 11 18:24:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Mar 11 18:24:57 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/tests/*.c: Use ref_mpf_sub for error calculation.          * mpf/tests/*.c: Use ref_mpf_sub for error calculation.
         * mpf/tests/Makefile.in: Link ref.o to all executables.          * mpf/tests/Makefile.in: Link ref.o to all executables.
   
         * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.          * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.
   
 Sun Mar 10 21:03:17 1996  Torbjorn Granlund  (tege@tiny.tmg.se)  Sun Mar 10 21:03:17 1996  Torbjorn Granlund  (tege@tiny.matematik.su.se)
   
         * mpf/get_str.c: In digit development loop for fractions, change          * mpf/get_str.c: In digit development loop for fractions, change
         loop condition from `<' to `<='.          loop condition from `<' to `<='.
   
 Thu Mar  7 04:58:11 1996  Torbjorn Granlund  <tege@tiny.tmg.se>  Thu Mar  7 04:58:11 1996  Torbjorn Granlund  <tege@tiny.matematik.su.se>
   
         * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.          * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.
   
 Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpf/tests/t-sqrt.c: New file.          * mpf/tests/t-sqrt.c: New file.
         * mpf/tests/Makefile.in: Corresponding changes.          * mpf/tests/Makefile.in: Corresponding changes.
Line 401  Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noi
Line 12831  Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noi
         * mpz/gcd.c: Likewise.  Rewrite final fixup code, to decrease          * mpz/gcd.c: Likewise.  Rewrite final fixup code, to decrease
         allocation.  Misc cleanups.          allocation.  Misc cleanups.
   
 Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@tmg.se>  Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.          * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.
   
Line 409  Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@tmg
Line 12839  Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@tmg
   
         * mpn/configure.in: Use t-freebsd also for netbsd.          * mpn/configure.in: Use t-freebsd also for netbsd.
   
 Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@tmg.se>  Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpq/Makefile.in (cmp.o): Depend on longlong.h.          * mpq/Makefile.in (cmp.o): Depend on longlong.h.
   
Line 423  Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@tmg
Line 12853  Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@tmg
   
         * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.          * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.
   
 Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@tmg.se>  Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpf/set_str.c: In exponentialization code, allocate 3 extra          * mpf/set_str.c: In exponentiation code, allocate 3 extra
         limbs, not just 2.          limbs, not just 2.
   
         * mpf/get_str.c: Allocate sufficient space for tstr.          * mpf/get_str.c: Allocate sufficient space for tstr.
Line 438  Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@tmg
Line 12868  Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@tmg
         * gmp.h: Declare it.          * gmp.h: Declare it.
         * Makefile.in: Corresponding changes.          * Makefile.in: Corresponding changes.
   
 Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@tmg.se>  Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpf/set_prc_raw.c: New file.          * mpf/set_prc_raw.c: New file.
         * mpf/set_prc.c: Renamed from set_prec.c.          * mpf/set_prc.c: Renamed from set_prec.c.
Line 448  Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@tmg
Line 12878  Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@tmg
   
         * mpn/generic/gcdext.c: Add copyright header.          * mpn/generic/gcdext.c: Add copyright header.
   
 Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@tmg.se>  Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpn/configure.in: For ppc601, search "power" before "powerpc32".          * mpn/configure.in: For ppc601, search "power" before "powerpc32".
   
Line 470  Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@tmg
Line 12900  Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@tmg
         * mpn/generic/gcd.c: Split increment from use of USIZE to avoid          * mpn/generic/gcd.c: Split increment from use of USIZE to avoid
         undefined behaviour.          undefined behaviour.
   
 Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@tmg.se>  Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * Makefile.in (install-info-files): Update for new install-info          * Makefile.in (install-info-files): Update for new install-info
         behaviour.          behaviour.
Line 478  Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@tmg
Line 12908  Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@tmg
         * mpn/power/add_n.s: Rewrite.          * mpn/power/add_n.s: Rewrite.
         * mpn/power/sub_n.s: Rewrite.          * mpn/power/sub_n.s: Rewrite.
   
 Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@tmg.se>  Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpz/pow_ui.c: Compute allocation more aggressively for small bases.          * mpz/pow_ui.c: Compute allocation more aggressively for small bases.
         * mpz/ui_pow_ui.c: Likewise.          * mpz/ui_pow_ui.c: Likewise.
Line 489  Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@tmg
Line 12919  Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@tmg
         * mpn/generic/gcd.c: Likewise.          * mpn/generic/gcd.c: Likewise.
         (SIGN_BIT): Compute differently.          (SIGN_BIT): Compute differently.
   
 Mon Feb 26 00:07:36 1996  Torbjorn Granlund  <tege@tmg.se>  Mon Feb 26 00:07:36 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.          * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.
   
         * Makefile.in (install, install-bsdmp, install-info-files): Depend          * Makefile.in (install, install-bsdmp, install-info-files): Depend
         on installdirs.  chmod all installed files.          on installdirs.  chmod all installed files.
   
 Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@tmg.se>  Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpbsd/configure.in: Delete debugging code.          * mpbsd/configure.in: Delete debugging code.
   
Line 548  Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@tmg
Line 12978  Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@tmg
         * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation          * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation
         (install targets): Install gmp.info-N.          (install targets): Install gmp.info-N.
   
 Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@tmg.se>  Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpf/get_str.c: Fix typo.          * mpf/get_str.c: Fix typo.
   
Line 584  Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@tmg
Line 13014  Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@tmg
         * mpf/sub.c: Increase prec by 1.          * mpf/sub.c: Increase prec by 1.
         * mpf/ui_sub.c: Likewise.          * mpf/ui_sub.c: Likewise.
   
 Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@tmg.se>  Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpf/ui_sub.c: Fix typos.          * mpf/ui_sub.c: Fix typos.
   
Line 618  Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@tmg
Line 13048  Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@tmg
         * mpf/add.c: Fix typos.          * mpf/add.c: Fix typos.
         * mpf/sub.c: Fix typos.          * mpf/sub.c: Fix typos.
   
 Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg.se>  Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpz/Makefile.in (stamp-stddefh): Delete target.          * mpz/Makefile.in (stamp-stddefh): Delete target.
         (test): Delete target.          (test): Delete target.
Line 635  Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg
Line 13065  Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg
   
         * mpz/get_si.c: Handle -0x80000000 correctly.          * mpz/get_si.c: Handle -0x80000000 correctly.
   
         * mpz/inp_str.c: Now retutns size_t.          * mpz/inp_str.c: Now returns size_t.
         Make it return number of bytes read or error indication.          Make it return number of bytes read or error indication.
         * mpf/inp_str.c: Likewise.          * mpf/inp_str.c: Likewise.
   
Line 671  Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg
Line 13101  Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg
   
         * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.          * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.
   
 Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@tmg.se>  Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * gmp.h: Sort mpn declarations.          * gmp.h: Sort mpn declarations.
         (mpn_gcdext): Add declaration.          (mpn_gcdext): Add declaration.
Line 702  Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@tmg
Line 13132  Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@tmg
         * mpn/configure.in: Make m68060 be the same as m68000.  Clean up          * mpn/configure.in: Make m68060 be the same as m68000.  Clean up
         m68k configs.          m68k configs.
   
 Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@tmg.se>  Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpn/generic/sqrtrem.c: Renamed from sqrt.          * mpn/generic/sqrtrem.c: Renamed from sqrt.
         * mpn/configure.in (functions): Corresponding change.          * mpn/configure.in (functions): Corresponding change.
Line 732  Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@tmg
Line 13162  Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@tmg
         a loop.          a loop.
         (FLAGS_TO_PASS): New variable.  Use it for most recursive makes.          (FLAGS_TO_PASS): New variable.  Use it for most recursive makes.
   
 Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@tmg.se>  Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete          * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete
         lines starting with #.          lines starting with #.
Line 781  Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@tmg
Line 13211  Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@tmg
         * mpq/set_z.c: File deleted.          * mpq/set_z.c: File deleted.
         * mpq/Makefile.in: Corresponding changes.          * mpq/Makefile.in: Corresponding changes.
   
 Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@tmg.se>  Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.          * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.
   
Line 810  Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@tmg
Line 13240  Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@tmg
         * mpq/cmp.c: Add check using number of significant bits, to avoid          * mpq/cmp.c: Add check using number of significant bits, to avoid
         general multiplication.          general multiplication.
   
 Sat Feb 17 11:58:30 1996  Torbjorn Granlund  <tege@tmg.se>  Sat Feb 17 11:58:30 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.          * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.
   
Line 830  Fri Feb 16 18:18:39 1996  Andreas Schwab  <schwab@info
Line 13260  Fri Feb 16 18:18:39 1996  Andreas Schwab  <schwab@info
         * mpn/m68k/*: Rewrite code not to use the INSN macros.          * mpn/m68k/*: Rewrite code not to use the INSN macros.
         (L): New macro to properly prefix local labels for ELF.          (L): New macro to properly prefix local labels for ELF.
   
 Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@tmg.se>  Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for          * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for
         fields.          fields.
Line 867  Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@tmg
Line 13297  Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@tmg
         directory.          directory.
         * mp?/Makefile.in: Don't use or set RANLIB.          * mp?/Makefile.in: Don't use or set RANLIB.
   
 Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@tmg.se>  Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpz/add_ui.c: MP_INT => mpz_t.          * mpz/add_ui.c: MP_INT => mpz_t.
         * mpz/cmp_ui.c: Likewise.          * mpz/cmp_ui.c: Likewise.
Line 904  Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@tmg
Line 13334  Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@tmg
         * gmp.h (mpz_cmp_ui): New #define.          * gmp.h (mpz_cmp_ui): New #define.
         (mpz_cmp_si): New #define.          (mpz_cmp_si): New #define.
   
 Wed Feb 14 22:11:24 1996  Torbjorn Granlund  <tege@tmg.se>  Wed Feb 14 22:11:24 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * gmp.h: Test __cplusplus in addition to __STDC__.          * gmp.h: Test __cplusplus in addition to __STDC__.
         * gmp-impl.h: Likewise.          * gmp-impl.h: Likewise.
   
         * gmp.h: Surround declarations with extern "C" { ... }.          * gmp.h: Surround declarations with extern "C" { ... }.
   
 Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@tmg.se>  Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.          * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.
         * mpz/tdiv_r_2exp.c: Likewise.          * mpz/tdiv_r_2exp.c: Likewise.
Line 934  Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@tmg
Line 13364  Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@tmg
   
         * mpn/configure.in: Fix configuration for plain 68000.          * mpn/configure.in: Fix configuration for plain 68000.
   
 Mon Feb 12 01:06:06 1996  Torbjorn Granlund  <tege@tmg.se>  Mon Feb 12 01:06:06 1996  Torbjorn Granlund  <tege@matematik.su.se>
   
         * mpz/tests/t-powm.c: Generate negative BASE operand.          * mpz/tests/t-powm.c: Generate negative BASE operand.
   
         * mpz/powm.c: Make result always positive.          * mpz/powm.c: Make result always positive.
   
 Sun Feb 11 01:44:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sun Feb 11 01:44:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/tests/*.c: Add t- prefix.          * mpz/tests/*.c: Add t- prefix.
         * mpz/tests/Makefile.in: Corresponding changes.          * mpz/tests/Makefile.in: Corresponding changes.
Line 967  Mon Feb  7 23:58:43 1996  Andreas Schwab  <schwab@info
Line 13397  Mon Feb  7 23:58:43 1996  Andreas Schwab  <schwab@info
         .size directive.          .size directive.
         * mpn/configure.in: New target m68k-*-linux*.          * mpn/configure.in: New target m68k-*-linux*.
   
 Wed Feb  7 07:41:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Feb  7 07:41:31 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * Makefile.in (cre-conv-tab): Workaround for SunOS make.          * Makefile.in (cre-conv-tab): Workaround for SunOS make.
   
Line 978  Tue Feb  6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufr
Line 13408  Tue Feb  6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufr
   
         * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.          * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.
   
 Tue Feb  6 01:36:39 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Feb  6 01:36:39 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp.h (mpz_divexact): Delete parameter names.          * gmp.h (mpz_divexact): Delete parameter names.
         (mpz_lcm): Delete spurious declaration.          (mpz_lcm): Delete spurious declaration.
   
         * mpz/dmincl.c: Fix typo.          * mpz/dmincl.c: Fix typo.
   
 Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/generic/gcd.c (gcd_2): Declare consistently.          * mpn/generic/gcd.c (gcd_2): Declare consistently.
   
Line 999  Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noi
Line 13429  Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noi
         * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the          * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the
         destination arrays.          destination arrays.
   
 Fri Feb  2 02:21:27 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Feb  2 02:21:27 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.          * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.
         * mpz/Makefile.in: Compile them.          * mpz/Makefile.in: Compile them.
   
         * mpn/Makefile.in (INCLUDES): Don't search in `generic'.          * mpn/Makefile.in (INCLUDES): Don't search in `generic'.
   
 Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         Change from Ken Weber:          Change from Ken Weber:
         * mpz/divexact.c: Make it work when quot is identical to either input.          * mpz/divexact.c: Make it work when quot is identical to either input.
Line 1024  Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noi
Line 13454  Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noi
         * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.          * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.
         * mpq/canonicalize.c: Likewise.          * mpq/canonicalize.c: Likewise.
   
 Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/generic/gcd.c: Misc changes from Ken.          * mpn/generic/gcd.c: Misc changes from Ken.
   
Line 1040  Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noi
Line 13470  Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noi
         * mpz/cdiv_*_ui.c): Make them work right.          * mpz/cdiv_*_ui.c): Make them work right.
         * gmp.h: Declare cdiv*.          * gmp.h: Declare cdiv*.
   
 Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,          * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,
         cdiv_r_ui.c,cdiv_ui.c}: New files.          cdiv_r_ui.c,cdiv_ui.c}: New files.
Line 1061  Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noi
Line 13491  Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noi
         * mpz/tests/dive.c: New file.          * mpz/tests/dive.c: New file.
         * mpz/tests/Makefile.in: Handle dive.c.          * mpz/tests/Makefile.in: Handle dive.c.
   
 Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/random.c: Handle negative SIZE parameter.          * mpz/random.c: Handle negative SIZE parameter.
   
Line 1075  Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noi
Line 13505  Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noi
         * mpn/generic/divmod.c: Update from divrem.          * mpn/generic/divmod.c: Update from divrem.
         * mpn/generic/divrem.c: Misc cleanups.          * mpn/generic/divrem.c: Misc cleanups.
   
 Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * All files: Use new TMP_ALLOC interface.          * All files: Use new TMP_ALLOC interface.
   
Line 1097  Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noi
Line 13527  Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noi
   
         * Makefile.in (cre-conv-tab): Greatly simplify.          * Makefile.in (cre-conv-tab): Greatly simplify.
   
 Sat Jan 27 13:38:15 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sat Jan 27 13:38:15 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * stack-alloc.c: New file.          * stack-alloc.c: New file.
         * stack-alloc.h: New file.          * stack-alloc.h: New file.
   
         * gmp.h (__gmp_inline): Define using __inline__.          * gmp.h (__gmp_inline): Define using __inline__.
   
 Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/generic/scan0.c: New file.          * mpn/generic/scan0.c: New file.
         * mpn/generic/scan1.c: Renamed from next_bit.c.          * mpn/generic/scan1.c: Renamed from next_bit.c.
Line 1134  Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noi
Line 13564  Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noi
   
         * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.          * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.
   
 Wed Jan 24 13:28:19 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Jan 24 13:28:19 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.          * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.
         * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.          * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.
         * mpn/sparc32/v8/supersparc: New directory.          * mpn/sparc32/v8/supersparc: New directory.
         * mpn/sparc32/v8/supersparc/udiv.S: New file.          * mpn/sparc32/v8/supersparc/udiv.S: New file.
   
 Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         This major contribution is from Ken Weber:          This major contribution is from Ken Weber:
         * mpn/generic/accelgcd.c: New file.          * mpn/generic/accelgcd.c: New file.
Line 1157  Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noi
Line 13587  Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noi
         (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.          (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.
         (MPN_COMPL_INCR, MPN_COMPL): Delete.          (MPN_COMPL_INCR, MPN_COMPL): Delete.
   
 Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp.h (mpn_name): New #define.          * gmp.h (mpn_name): New #define.
   
Line 1169  Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noi
Line 13599  Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noi
   
         * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.          * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.
   
 Sun Jan 21 00:04:35 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sun Jan 21 00:04:35 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/sparc64/addmul_1.s: New file.          * mpn/sparc64/addmul_1.s: New file.
         * mpn/sparc64/submul_1.s: New file.          * mpn/sparc64/submul_1.s: New file.
         * mpn/sparc64/rshift.s: New file.          * mpn/sparc64/rshift.s: New file.
   
 Sat Jan 20 00:32:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Sat Jan 20 00:32:54 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpz/iset.c: Fix typo introduced Dec 25.          * mpz/iset.c: Fix typo introduced Dec 25.
   
 Wed Jan 17 13:16:44 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Jan 17 13:16:44 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.          * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.
         * config/mt-sparcv8-gcc: Delete.          * config/mt-sparcv8-gcc: Delete.
         * configure.in: Corresponding changes.          * configure.in: Corresponding changes.
   
 Tue Jan 16 16:31:01 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Jan 16 16:31:01 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp-impl.h: #include alloca.h when necessary.          * gmp-impl.h: #include alloca.h when necessary.
   
         * longlong.h: Test __alpha instead of __alpha__, since the former          * longlong.h: Test __alpha instead of __alpha__, since the former
         is the standard symbol.          is the standard symbol.
   
 Mon Jan 15 18:06:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Jan 15 18:06:57 1996  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.          * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.
         * mpn/sparc64/lshift.s: New file.          * mpn/sparc64/lshift.s: New file.
   
 Fri Dec 29 17:34:03 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Dec 29 17:34:03 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.          * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.
         * mpn/x86/pentium/sub_n.S: Likewise.          * mpn/x86/pentium/sub_n.S: Likewise.
   
 Thu Dec 28 03:16:57 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Thu Dec 28 03:16:57 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update          * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update
         of loop induction variable and load insn at beginning of loop.          of loop induction variable and load insn at beginning of loop.
         * mpn/x86/pentium/addmul_1.S: Likewise.          * mpn/x86/pentium/addmul_1.S: Likewise.
         * mpn/x86/pentium/submul_1.S: Likewise.          * mpn/x86/pentium/submul_1.S: Likewise.
   
 Mon Dec 25 23:22:55 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Dec 25 23:22:55 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * All files: Prefix user-visible structure fields with _mp_.          * All files: Prefix user-visible structure fields with _mp_.
   
 Fri Dec 22 20:42:17 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Dec 22 20:42:17 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/configure.in (m68k configs): Terminate path variable with          * mpn/configure.in (m68k configs): Terminate path variable with
         plain "m68k".          plain "m68k".
   
 Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to          * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to
         clean things up.          clean things up.
Line 1226  Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noi
Line 13656  Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noi
         * mpn/configure.in (m68k configs): Update #include path for new          * mpn/configure.in (m68k configs): Update #include path for new
         mpn directory organization.          mpn directory organization.
   
 Tue Dec 12 02:53:02 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Dec 12 02:53:02 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * gmp.h: Prefix all structure field with _mp_.          * gmp.h: Prefix all structure field with _mp_.
         * gmp-impl.h: Define access macros for these fields.          * gmp-impl.h: Define access macros for these fields.
   
 Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/alpha/addmul_1.s: Prefix labels with `.'.          * mpn/alpha/addmul_1.s: Prefix labels with `.'.
         * mpn/alpha/submul_1.s: Likewise.          * mpn/alpha/submul_1.s: Likewise.
Line 1241  Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noi
Line 13671  Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noi
   
         * mpn/alpha/ev5/lshift.s: Fix typos.          * mpn/alpha/ev5/lshift.s: Fix typos.
   
 Fri Dec  1 14:28:20 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Fri Dec  1 14:28:20 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/Makefile.in (.SUFFIXES): Define.          * mpn/Makefile.in (.SUFFIXES): Define.
   
 Wed Nov 29 23:11:57 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Wed Nov 29 23:11:57 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/sparc64/{add_n.s, sub_n.s}: New files.          * mpn/sparc64/{add_n.s, sub_n.s}: New files.
   
 Tue Nov 28 06:03:13 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Tue Nov 28 06:03:13 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/x86/syntax.h: Handle ELF_SYNTAX.          * mpn/x86/syntax.h: Handle ELF_SYNTAX.
         Rename GAS_SYNTAX => BSD_SYNTAX.          Rename GAS_SYNTAX => BSD_SYNTAX.
   
         * mpn/configure.in: Handle linuxelf and SysV for x86 variants.          * mpn/configure.in: Handle linuxelf and SysV for x86 variants.
   
 Mon Nov 27 01:32:12 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Mon Nov 27 01:32:12 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.          * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.
   
 Sun Nov 26 04:30:47 1995  Torbjorn Granlund  <tege@noisy.tmg.se>  Sun Nov 26 04:30:47 1995  Torbjorn Granlund  <tege@noisy.matematik.su.se>
   
         * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.          * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.
   
         * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.          * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.
         * mpn/sparc32/sub_n.S: Likewise.          * mpn/sparc32/sub_n.S: Likewise.
   
 Fri Nov 17 00:18:46 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Fri Nov 17 00:18:46 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/configure.in: Handle m68k on NextStep.          * mpn/configure.in: Handle m68k on NextStep.
   
 Thu Nov 16 02:30:26 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Nov 16 02:30:26 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn: Reorganize machine-specific directories.          * mpn: Reorganize machine-specific directories.
         * mpn/configure.in: Corresponding changes.          * mpn/configure.in: Corresponding changes.
         (sh, sh2): Handle these.          (sh, sh2): Handle these.
         (m68k targets): Create asm-syntax.h.          (m68k targets): Create asm-syntax.h.
   
 Thu Nov  9 02:20:50 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Nov  9 02:20:50 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.          * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.
         (____mpn_mul_n): Likewise.          (____mpn_mul_n): Likewise.
   
 Tue Nov  7 03:25:12 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Nov  7 03:25:12 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/get_str.c: In exponentiation code (two places), don't swap          * mpf/get_str.c: In exponentiation code (two places), don't swap
         input and output areas when calling mpn_mul_1.          input and output areas when calling mpn_mul_1.
         * mpf/set_str.c: Likewise.          * mpf/set_str.c: Likewise.
   
 Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/Makefile.in: Make sure all objects are listed in dependency list;          * mpf/Makefile.in: Make sure all objects are listed in dependency list;
         delete spurious entries.          delete spurious entries.
Line 1303  Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@boz
Line 13733  Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@boz
         * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of          * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of
         the user-requested number of digits, n_digits.          the user-requested number of digits, n_digits.
   
 Thu Nov  2 16:25:07 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Nov  2 16:25:07 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/generic/divrem.c (case 2): Don't move np vector back, it is          * mpn/generic/divrem.c (case 2): Don't move np vector back, it is
         never read.          never read.
         (default case): Put most significant limb from np in new variable n2;          (default case): Put most significant limb from np in new variable n2;
         decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].          decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].
   
 Wed Nov  1 02:59:53 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Nov  1 02:59:53 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/sparc/[lr]shift.S: New files.          * mpn/sparc/[lr]shift.S: New files.
   
 Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.          * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.
   
Line 1327  Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@boz
Line 13757  Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@boz
         * mpf/abs.c: Likewise.          * mpf/abs.c: Likewise.
         * mpf/{set,neg,abs}.c: Make structure and variable names similar.          * mpf/{set,neg,abs}.c: Make structure and variable names similar.
   
 Mon Oct 30 12:45:26 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Mon Oct 30 12:45:26 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.          * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.
         * mpn/generic/random2.c (random): Likewise.          * mpn/generic/random2.c (random): Likewise.
   
 Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/div.c: Special handle U or V being 0.          * mpf/div.c: Special handle U or V being 0.
   
Line 1345  Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@boz
Line 13775  Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@boz
         (i960 sub_ddmmss): Define.          (i960 sub_ddmmss): Define.
         (i960 rshift_rhlc): Define.          (i960 rshift_rhlc): Define.
   
 Sat Oct 28 19:09:15 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Oct 28 19:09:15 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/pentium/rshift.S: Fix and generalize condition for when to use          * mpn/pentium/rshift.S: Fix and generalize condition for when to use
         special code for shift by 1.          special code for shift by 1.
         * mpn/pentium/lshift.S: Likewise.          * mpn/pentium/lshift.S: Likewise.
   
 Thu Oct 26 00:02:56 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Oct 26 00:02:56 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * gmp.h: #undef __need_size_t.          * gmp.h: #undef __need_size_t.
         * mp.h: Update from gmp.h.          * mp.h: Update from gmp.h.
   
 Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/Makefile.in: Compile set_prec.c.          * mpf/Makefile.in: Compile set_prec.c.
         * mpf/realloc.c: Delete this file.          * mpf/realloc.c: Delete this file.
Line 1376  Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@boz
Line 13806  Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@boz
   
         * mpf/set_prec.c: New file.          * mpf/set_prec.c: New file.
   
 Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/generic/divrem.c: New file.  Will replace mpn/generic/divmod.c          * mpn/generic/divrem.c: New file.  Will replace mpn/generic/divmod.c
         when rest of source is converted.          when rest of source is converted.
Line 1393  Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@boz
Line 13823  Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@boz
         * mpf/Makefile.in: Compile dump.c.          * mpf/Makefile.in: Compile dump.c.
         * mpf/init2.c: Set prec field correctly.          * mpf/init2.c: Set prec field correctly.
   
 Sun Oct 22 03:02:09 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sun Oct 22 03:02:09 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * cre-conv-tab.c: #include math.h; don't declare log and floor.          * cre-conv-tab.c: #include math.h; don't declare log and floor.
   
 Sat Oct 21 23:04:10 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Oct 21 23:04:10 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/mul_ui.c: Handle U being 0.          * mpf/mul_ui.c: Handle U being 0.
   
 Wed Oct 18 19:39:27 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Oct 18 19:39:27 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/generic/set_str.c: Correctly handle input like "000000000000".          * mpn/generic/set_str.c: Correctly handle input like "000000000000".
         Misc cleanups.          Misc cleanups.
   
 Tue Oct 17 15:14:13 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Oct 17 15:14:13 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where          * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where
         appropriate.          appropriate.
   
 Mon Oct 16 19:14:43 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Mon Oct 16 19:14:43 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/add.c: Rewrite.          * mpf/add.c: Rewrite.
         * mpf/set_str.c: New file.  Needs more work.          * mpf/set_str.c: New file.  Needs more work.
   
 Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpf/div_2exp.c: Vastly simplify.          * mpf/div_2exp.c: Vastly simplify.
         * mpf/mul_2exp.c: Likewise.          * mpf/mul_2exp.c: Likewise.
Line 1429  Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@boz
Line 13859  Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@boz
   
         * gmp-impl.h (assert): Define.          * gmp-impl.h (assert): Define.
   
 Wed Oct 11 13:31:00 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Oct 11 13:31:00 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.          * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.
   
 Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.          * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.
   
Line 1441  Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@boz
Line 13871  Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@boz
   
         * configure.in: Fix typo.          * configure.in: Fix typo.
   
 Sat Oct  7 08:17:09 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Oct  7 08:17:09 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * longlong.h (smul_ppmm): Correct type of __m0 and __m1.          * longlong.h (smul_ppmm): Correct type of __m0 and __m1.
   
 Wed Oct  4 16:31:28 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Oct  4 16:31:28 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/configure.in: Handle alphaev5.          * mpn/configure.in: Handle alphaev5.
         * mpn/ev4: New name for alpha subdir.          * mpn/ev4: New name for alpha subdir.
         * mpn/ev5: New subdir.          * mpn/ev5: New subdir.
         * mpn/ev5/lshift.s: New file.          * mpn/ev5/lshift.s: New file.
   
 Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/alpha/mul_1.s: Avoid static increments of pointers; use          * mpn/alpha/mul_1.s: Avoid static increments of pointers; use
         corresponding offsets in ldq and stq instructions instead.          corresponding offsets in ldq and stq instructions instead.
Line 1461  Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@boz
Line 13891  Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@boz
         * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,          * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,
         submul_1.s}: Don't check results if NOCHECK is defined.          submul_1.s}: Don't check results if NOCHECK is defined.
   
 Mon Oct  2 11:40:18 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Mon Oct  2 11:40:18 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * longlong.h (mips umul_ppmm [32 and 64 bit versions]):          * longlong.h (mips umul_ppmm [32 and 64 bit versions]):
         Make new variants, based on GCC version number, that use `l' and `h'          Make new variants, based on GCC version number, that use `l' and `h'
         constraints instead of explicit mflo and mfhi instructions          constraints instead of explicit mflo and mfhi instructions
   
 Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.          * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.
         * mpn/mc88100/sub_n.s: Likewise.          * mpn/mc88100/sub_n.s: Likewise.
Line 1477  Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@boz
Line 13907  Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@boz
   
         * mpn/mc88110/mul_1.s: Fix thinko.          * mpn/mc88110/mul_1.s: Fix thinko.
   
 Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpz/set_d.c: Declare `size' at function start.          * mpz/set_d.c: Declare `size' at function start.
   
Line 1499  Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@boz
Line 13929  Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@boz
         * mpn/alpha/submul_1.s: Ditto.          * mpn/alpha/submul_1.s: Ditto.
         * mpn/alpha/mul_1.s: Ditto.          * mpn/alpha/mul_1.s: Ditto.
   
 Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if          * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if
         _LONG_LONG_LIMB is defined.          _LONG_LONG_LIMB is defined.
Line 1508  Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@boz
Line 13938  Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@boz
   
         * mpn/mc88110/mul_1.s: Rewrite.          * mpn/mc88110/mul_1.s: Rewrite.
   
 Tue Sep 26 23:29:05 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Sep 26 23:29:05 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * config.sub: Update from current Cygnus version.          * config.sub: Update from current Cygnus version.
   
         * mpn/configure.in: Recognize canonical m88*, not mc88*.          * mpn/configure.in: Recognize canonical m88*, not mc88*.
   
 Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpz/set_d.c: New file.          * mpz/set_d.c: New file.
         * mpz/Makefile.in: Build new files.          * mpz/Makefile.in: Build new files.
Line 1525  Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@boz
Line 13955  Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@boz
         * gmp-impl.h (ieee_double_extract): Define here.          * gmp-impl.h (ieee_double_extract): Define here.
         * mpf/set_d.c (ieee_double_extract): Not here.          * mpf/set_d.c (ieee_double_extract): Not here.
   
 Thu Sep 21 00:56:36 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Sep 21 00:56:36 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.          * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.
         (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,          (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,
         protect with new symbol LONGLONG_STANDALONE.          protect with new symbol LONGLONG_STANDALONE.
         (68000 umul_ppmm): Use %# prefix for immediate constants.          (68000 umul_ppmm): Use %# prefix for immediate constants.
   
 Wed Sep 20 15:36:23 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Sep 20 15:36:23 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/generic/divmod_1.c: Handle          * mpn/generic/divmod_1.c: Handle
         divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)          divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
         specifically also when normalization_steps != 0.          specifically also when normalization_steps != 0.
   
 Mon Sep 18 15:42:30 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Mon Sep 18 15:42:30 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpq/get_d.c: New file.          * mpq/get_d.c: New file.
   
 Sun Sep 17 02:04:36 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sun Sep 17 02:04:36 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * longlong.h (pyr): Botch up for now.          * longlong.h (pyr): Botch up for now.
   
 Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/clipper/mul_1.s: New file.          * mpn/clipper/mul_1.s: New file.
         * mpn/clipper/add_n.s: New file.          * mpn/clipper/add_n.s: New file.
Line 1555  Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@boz
Line 13985  Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@boz
   
         * mpn/configure.in: Recognize rs6000-*-*.          * mpn/configure.in: Recognize rs6000-*-*.
   
 Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/alpha/add_n.s: New file.          * mpn/alpha/add_n.s: New file.
         * mpn/alpha/sub_n.s: New file.          * mpn/alpha/sub_n.s: New file.
Line 1567  Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@boz
Line 13997  Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@boz
         * mpn/generic/perfsqr.c (primes): Delete.          * mpn/generic/perfsqr.c (primes): Delete.
         (residue_map): Delete.          (residue_map): Delete.
   
 Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/r3000/sub_n.s: Fix typo.          * mpn/r3000/sub_n.s: Fix typo.
   
Line 1582  Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@boz
Line 14012  Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@boz
         * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'.  Replace          * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'.  Replace
         `ldk r,#0' with `xor r,r'.          `ldk r,#0' with `xor r,r'.
   
 Wed Sep  6 00:58:38 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Sep  6 00:58:38 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpz/inp_binary.c: New file.          * mpz/inp_binary.c: New file.
         * mpz/out_binary.c: New file.          * mpz/out_binary.c: New file.
         * mpz/Makefile.in: Build new files.          * mpz/Makefile.in: Build new files.
   
 Tue Sep  5 22:53:51 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Tue Sep  5 22:53:51 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc          * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc
         and size fields.          and size fields.
   
 Sat Sep  2 17:47:59 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sat Sep  2 17:47:59 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.          * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.
         * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,          * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,
         derived from r4000 code.          derived from r4000 code.
   
 Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/r3000/mul_1.s: Fix typo.          * mpn/r3000/mul_1.s: Fix typo.
   
Line 1608  Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@boz
Line 14038  Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@boz
         * mpn/powerpc32/{add_n.s,sub_n.s}: New files.          * mpn/powerpc32/{add_n.s,sub_n.s}: New files.
         * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.          * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.
   
 Wed Aug 30 10:43:47 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Wed Aug 30 10:43:47 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.          * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.
         * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.          * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.
   
         * config.guess: Update to latest FSF revision.          * config.guess: Update to latest FSF revision.
   
 Mon Aug 28 02:18:13 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Mon Aug 28 02:18:13 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpz/out_str.c: Cast str to char * in fputs call.          * mpz/out_str.c: Cast str to char * in fputs call.
   
         * gmp-impl.h: Define UQItype, SItype, and USItype also          * gmp-impl.h: Define UQItype, SItype, and USItype also
         when not __GNUC__.          when not __GNUC__.
   
 Fri Aug 25 01:45:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Fri Aug 25 01:45:04 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/i386/syntax.h: Renamed from asm-syntax.h.          * mpn/i386/syntax.h: Renamed from asm-syntax.h.
         * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.          * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.
         * mpn/configure.in: Corresponding changes.          * mpn/configure.in: Corresponding changes.
   
 Sun Aug 13 19:20:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>  Sun Aug 13 19:20:04 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
   
         * mpn/generic/random2.c: Test __hpux, not hpux.          * mpn/generic/random2.c: Test __hpux, not hpux.
   
Line 1803  Thu Jun 30 03:59:33 1994  Torbjorn Granlund  (tege@tin
Line 14233  Thu Jun 30 03:59:33 1994  Torbjorn Granlund  (tege@tin
   
         * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.          * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.
         Use __mpn_mod_1.          Use __mpn_mod_1.
         * mpz/perfsqr.c: Don't clobber REM in quadratic residue check loop.          * mpz/perfsqr.c: Don't clobber REM in quadratic residue check loop.
   
 Wed Jun 29 18:45:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)  Wed Jun 29 18:45:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
   
Line 3011  Wed May  8 20:02:42 1991  Torbjorn Granlund  (tege@zev
Line 15441  Wed May  8 20:02:42 1991  Torbjorn Granlund  (tege@zev
   
         * mpz_mul_2exp: Handle zero input MINT correctly.          * mpz_mul_2exp: Handle zero input MINT correctly.
   
         * mpn_rshiftci:  Don't handle shift counts > BITS_PER_MP_DIGIT.          * mpn_rshiftci: Don't handle shift counts > BITS_PER_MP_DIGIT.
   
         * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.          * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.
   
Line 3184  Tue Mar  3 18:50:10 1991  Torbjorn Granlund  (tege@mus
Line 15614  Tue Mar  3 18:50:10 1991  Torbjorn Granlund  (tege@mus
         * msqrt: Use the low level routines.  Use low precision in the          * msqrt: Use the low level routines.  Use low precision in the
         beginning, and increase the precision as the result converges.          beginning, and increase the precision as the result converges.
         (This optimization gave a 6-fold speedup.)          (This optimization gave a 6-fold speedup.)
   
   
   
 Local Variables:  Local Variables:
 mode: indented-text  mode: indented-text
 left-margin: 8  left-margin: 8
 fill-column: 75  fill-column: 79
 version-control: never  version-control: never
   eval: (unless (string-match "GNU Emacs \\(21\.[4-9]\\|22\.\\)" (emacs-version))
           (save-excursion
             (goto-char (point-min))
             (when (looking-at "Copyright")
               (search-forward "\n\n")
               (skip-chars-forward "\n")
               (narrow-to-region (point) (point-max))
               (message "Note! narrowed to hide copyright notice"))))
 End:  End:

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.1.4

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