Annotation of OpenXM_contrib/gmp/ChangeLog, Revision 1.1.1.4
1.1.1.4 ! ohara 1: Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 2000, 2001, 2002
! 2: Free Software Foundation, Inc.
! 3: .
! 4: This file is part of the GNU MP Library.
! 5: .
! 6: The GNU MP Library is free software; you can redistribute it and/or modify
! 7: it under the terms of the GNU Lesser General Public License as published by
! 8: the Free Software Foundation; either version 2.1 of the License, or (at your
! 9: option) any later version.
! 10: .
! 11: The GNU MP Library is distributed in the hope that it will be useful, but
! 12: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
! 13: or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
! 14: License for more details.
! 15: .
! 16: You should have received a copy of the GNU Lesser General Public License
! 17: along with the GNU MP Library; see the file COPYING.LIB. If not, write to
! 18: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
! 19: MA 02111-1307, USA.
1.1.1.3 maekawa 20:
21:
1.1.1.4 ! ohara 22: 2002-12-24 Kevin Ryde <kevin@swox.se>
1.1.1.3 maekawa 23:
1.1.1.4 ! ohara 24: * Version 4.1.2 released.
! 25:
! 26: * tests/devel/try.c (mprotect_maybe, malloc_region): Don't use
! 27: strerror, need to check it exists first.
! 28:
! 29: 2002-12-22 Torbjorn Granlund <tege@swox.com>
! 30:
! 31: * configure.in (hppa2.0*-*-*): Pass +O2 instead of +O3 to work around
! 32: compiler bug with mpfr/tests/tdiv.
! 33:
! 34: * gmp-impl.h (union ieee_double_extract): Test for __sparc_v9 and
! 35: __sparc_v9__.
! 36:
! 37: 2002-12-20 Torbjorn Granlund <tege@swox.com>
! 38:
! 39: * mpn/generic/rootrem.c: In Newton loop, pad qp with leading zero.
! 40:
! 41: 2002-12-19 Torbjorn Granlund <tege@swox.com>
! 42:
! 43: * mpn/generic/rootrem.c: Allocate 1.585 (log2(3)) times more space
! 44: for pp temporary to allow for worst case overestimate of root.
! 45: Add some asserts.
! 46:
! 47: * tests/mpz/t-root.c: Generalize and speed up.
! 48:
! 49: 2002-12-19 Kevin Ryde <kevin@swox.se>
! 50:
! 51: * gmp.texi (Build Options): Mention MS Interix, reported by Paul
! 52: Leyland.
! 53: (Notes for Particular Systems): Compaq C++ must be used in "standard"
! 54: iostream mode. Add Sparc app regs.
! 55: (Debugging): Note gcc -fstack options to detect overflow.
! 56: (Formatted Output Strings, Formatted Input Strings): Format strings
! 57: are not multibyte.
! 58:
! 59: 2002-12-18 Kevin Ryde <kevin@swox.se>
! 60:
! 61: * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.2.
! 62: * Makefile.am (LIBGMP_LT_REVISION, LIBGMPXX_LT_REVISION,
! 63: LIBMP_LT_REVISION): Increment.
! 64:
! 65: 2002-12-18 Paul Zimmermann <Paul.Zimmermann@loria.fr>
! 66:
! 67: * mpfr/pow.c: Fixed bug (infinite loop) for exact powers.
! 68:
! 69: * mpfr/sub.c: Fixed wrong inexact flag for a - b where a and b are of
! 70: different signs and EXP(a) < EXP(b).
! 71:
! 72: 2002-12-17 Torbjorn Granlund <tege@swox.com>
! 73:
! 74: * printf/printffuns.c (gmp_fprintf_reps): Make it actually work
! 75: for padding > 256.
! 76:
! 77: 2002-12-17 Kevin Ryde <kevin@swox.se>
! 78:
! 79: * gmp.texi (Formatted Output Strings): %a and %A are C99 not glibc.
! 80: (Formatted Input Strings): Type "l" is for double too.
! 81:
! 82: 2002-12-13 Kevin Ryde <kevin@swox.se>
! 83:
! 84: * gmp.texi (Debugging): Add maximum debuggability config options.
! 85: (Language Bindings): Add Arithmos, reported by Johan Vervloet.
! 86: (Formatted Output Strings): 128 bits is about 40 digits, ll is only
! 87: for long long not long double.
! 88: (Formatted Input Strings): ll is only for long long not long double.
! 89:
! 90: 2002-12-08 Torbjorn Granlund <tege@swox.com>
! 91:
! 92: * gmp-impl.h (USE_LEADING_REGPARM): Disable for PIC code generation.
! 93:
! 94: 2002-12-04 Torbjorn Granlund <tege@swox.com>
! 95:
! 96: * gmp-impl.h (union ieee_double_extract): Amend test for ia64 with hpux
! 97: test.
! 98:
! 99: 2002-12-04 Kevin Ryde <kevin@swox.se>
! 100:
! 101: * gmp.texi (Floating-point Functions): Note the mantissa is binary and
! 102: decimal fractions cannot be represented exactly. Suggested by Serge
! 103: Winitzki.
! 104: (Known Build Problems): Note libtool stripping options when linking.
! 105: Reported by Vincent Lefevre.
! 106:
! 107: 2002-12-03 Kevin Ryde <kevin@swox.se>
! 108:
! 109: * INSTALL: Use return rather than exit in the example programs.
! 110: Suggested by Richard Dawe.
! 111:
! 112: * longlong.h (count_leading_zeros, count_trailing_zeros) [ev67, ev68]:
! 113: Restrict __asm__ ctlz and cttz to __GNUC__.
! 114:
! 115: 2002-11-25 Kevin Ryde <kevin@swox.se>
! 116:
! 117: * Version 4.1.1 released.
! 118:
! 119: 2002-11-25 Torbjorn Granlund <tege@swox.com>
! 120:
! 121: * mpfr/tests/tdiv.c: Decrease number of performed tests.
! 122:
! 123: 2002-11-23 Kevin Ryde <kevin@swox.se>
! 124:
! 125: * tests/misc/t-printf.c, tests/misc/t-scanf.c (check_misc): Suppress
! 126: %zd test on glibc prior to 2.1, it's not supported.
! 127:
! 128: 2002-11-19 Kevin Ryde <kevin@swox.se>
! 129:
! 130: * gmpxx.h (__gmp_randinit_lc_2exp_size_t): Return type is int.
! 131:
! 132: 2002-11-17 Torbjorn Granlund <tege@swox.com>
! 133:
! 134: * mpn/ia64/addmul_1.asm: Don't clobber callee-saves register f16.
! 135: * mpn/ia64/mul_1.asm: Likewise.
! 136:
! 137: * mpn/ia64/addmul_1.asm: Add pred.rel declarations. Resolve RAW
! 138: hazards for condition code registers, duplicating code as needed. Add
! 139: prediction to all branches.
! 140: * mpn/ia64/mul_1.asm: Likewise.
! 141: * mpn/ia64/add_n.asm: Likewise.
! 142: * mpn/ia64/sub_n.asm: Likewise.
! 143: * mpn/ia64/copyi.asm: Likewise.
! 144: * mpn/ia64/copyd.asm: Likewise
! 145:
! 146: 2002-11-16 Kevin Ryde <kevin@swox.se>
! 147:
! 148: * configure.in, gmp.texi: Remove powerpc64 ABI=32L, doesn't work and
! 149: is unlikely to ever do so.
! 150: * configure.in: Allow ABI=32 for powerpc64.
! 151: Reported by David Edelsohn.
! 152:
! 153: 2002-11-14 Kevin Ryde <kevin@swox.se>
! 154:
! 155: * gmp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT) [__GNUC__]:
! 156: Use __dllexport__ and __dllimport__ to keep out of application
! 157: namespace.
! 158:
! 159: * Makefile.am (LIBGMPXX_LT_REVISION): Bump for istream changes.
! 160:
! 161: 2002-11-14 Gerardo Ballabio <gerardo.ballabio@unimib.it>
! 162:
! 163: * gmpxx.h (__gmp_randinit_default_t, __gmp_randinit_lc_2exp_t,
! 164: __gmp_randinit_lc_2exp_size_t): Use extern "C" { typedef ... }, for
! 165: the benefit of g++ prior to 3.2.
! 166:
! 167: 2002-11-12 Kevin Ryde <kevin@swox.se>
! 168:
! 169: * mpn/generic/tdiv_qr.c: Add <stdlib.h> for abort().
! 170:
! 171: * gmpxx.h (gmp_randclass constructors): Patch from Roberto Bagnara to
! 172: use extern "C" on C function pointer arguments.
! 173:
! 174: 2002-11-07 Gerardo Ballabio <gerardo.ballabio@unimib.it>
! 175:
! 176: * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: Don't skip whitespace
! 177: without ios::skipws.
! 178:
! 179: 2002-11-06 Torbjorn Granlund <tege@swox.com>
! 180:
! 181: * mpn/generic/tdiv_qr.c: Remove a bogus assert.
! 182:
! 183: 2002-11-04 Kevin Ryde <kevin@swox.se>
! 184:
! 185: * mpn/generic/mode1o.c, mpn/alpha/ev5/mode1o.c: Correction to ASSERTs.
! 186: Reported by Christoph Ludwig.
! 187:
! 188: 2002-11-02 Kevin Ryde <kevin@swox.se>
! 189:
! 190: * gmp.texi (ABI and ISA): Add powerpc620 and powerpc630 to powerpc64.
! 191:
! 192: 2002-11-01 Kevin Ryde <kevin@swox.se>
! 193:
! 194: * longlong.h: Test __x86_64__ not __x86_64. Reported by Andreas
! 195: Jaeger.
! 196:
! 197: * mpf/urandomb.c: Truncate nbits to precision of rop.
! 198:
! 199: * gmp.texi (Known Build Problems): Add MacOS X C++ shared libraries.
! 200:
! 201: 2002-10-29 Torbjorn Granlund <tege@swox.com>
! 202:
! 203: * configure.in (*-cray-unicos*): Pass -hnofastmd again.
! 204:
! 205: 2002-10-28 Kevin Ryde <kevin@swox.se>
! 206:
! 207: * gmp-impl.h (union ieee_double_extract): IEEE little endian for
! 208: x86_64. Reported by Andreas Jaeger.
! 209:
! 210: 2002-10-25 Torbjorn Granlund <tege@swox.com>
! 211:
! 212: * tests/tadd.c: Disable test of denorms.
! 213:
! 214: 2002-10-23 Linus Nordberg <linus@swox.se>
! 215:
! 216: * gmp.texi (Introduction to GMP): Update section about mailing
! 217: lists.
! 218:
! 219: 2002-10-21 Torbjorn Granlund <tege@swox.com>
! 220:
! 221: * configure.in (*-cray-unicos*): Remove -hscalar0, it causes too much
! 222: performance loss. Let's trust Cray to fix their compilers.
! 223:
! 224: * mpn/cray/ieee/addmul_1.c: Handle overlap as in mul_1.c.
! 225: * mpn/cray/ieee/submul_1.c: Likewise.
! 226:
! 227: 2002-10-20 Kevin Ryde <kevin@swox.se>
! 228:
! 229: * mpz/import.c, mpz/export.c: Use char* subtract from NULL to get
! 230: pointer alignment, for the benefit of Cray vector systems.
! 231:
! 232: 2002-10-19 Kevin Ryde <kevin@swox.se>
! 233:
! 234: * configure.in (sparc v9 *bsd*): Add NetBSD and OpenBSD sparc64.
! 235: (x86 openbsd*): Extra underscore for _GLOBAL_OFFSET_TABLE_.
! 236:
! 237: * demos/calc/calc.y: Change ={ to {, needed for bison 1.50.
! 238:
! 239: * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]:
! 240: Should be UDItype.
! 241:
! 242: 2002-10-19 Torbjorn Granlund <tege@swox.com>
! 243:
! 244: * mpn/generic/rootrem.c: Avoid overflow in xnb calculation.
! 245: * mpz/root.c: Avoid overflow in rootnb calculation.
! 246:
! 247: 2002-09-20 Gerardo Ballabio <gerardo.ballabio@unimib.it>
! 248:
! 249: * gmpxx.h (__gmp_binary_equal, __gmp_binary_not_equal): Fix broken
! 250: mpq/double functions.
! 251:
! 252: 2002-09-16 Kevin Ryde <kevin@swox.se>
! 253:
! 254: * gmp.texi (Notes for Particular Systems): Note cl /MD is required for
! 255: Microsoft C and MINGW to cooperate on I/O.
! 256: (Language Bindings): Add linbox.
! 257:
! 258: 2002-09-14 Kevin Ryde <kevin@swox.se>
! 259:
! 260: * configure.in (GMP_C_RESTRICT): Remove this, currently unused, and
! 261: #define restrict causes problems for MS Visual C on win64. Reported
! 262: by David Librik.
! 263:
! 264: 2002-09-08 Kevin Ryde <kevin@swox.se>
! 265:
! 266: * acinclude.m4 (GMP_GCC_WA_MCPU): New macro.
! 267: * configure.in (alpha*-*-*): Use it to avoid -Wa,-mev67 if gas isn't
! 268: new enough to know ev67. Reported by David Bremner.
! 269:
! 270: 2002-09-07 Kevin Ryde <kevin@swox.se>
! 271:
! 272: * gmp.texi (Demonstration Programs): New section, expanding on what
! 273: was under "Build Options".
! 274: (Converting Floats): Don't need \ for _ in @var within @math.
! 275:
! 276: * longlong.h: Define COUNT_LEADING_ZEROS_NEED_CLZ_TAB for all alphas,
! 277: since mpn/alpha/cntlz.asm always goes into libgmp.so, even for ev67
! 278: and ev68 which don't need it. Reported by David Bremner.
! 279:
! 280: 2002-09-02 Kevin Ryde <kevin@swox.se>
! 281:
! 282: * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.1.
! 283: * Makefile.am (LIBGMP_LT_REVISION, LIBMP_LT_REVISION): Increment.
! 284:
! 285: 2002-08-26 Torbjorn Granlund <tege@swox.com>
! 286:
! 287: * gmp.texi (Converting Floats): Fix typo in mpf_get_d_2exp docs,
! 288: reported by Paul Zimmermann.
! 289:
! 290: 2002-08-23 Torbjorn Granlund <tege@swox.com>
! 291:
! 292: * configure.in: Choose powerpc32/aix.m4 or powerpc64/aix.m4 based on
! 293: ABI, not configuration triple.
! 294:
! 295: 2002-08-22 Kevin Ryde <kevin@swox.se>
! 296:
! 297: * configfsf.guess: Update to 2002-08-19.
! 298: * configfsf.sub: Update to 2002-08-20.
! 299:
! 300: 2002-08-20 Kevin Ryde <kevin@swox.se>
! 301:
! 302: * gmp.texi (Known Build Problems): Binutils 2.12 is ok for libgmp.a.
! 303: (Notes for Particular Systems): Remove -march=pentiumpro, now ok.
! 304: (Emacs): New section.
! 305: (Language Bindings): Update MLton URL, reported by Stephen Weeks.
! 306:
! 307: 2002-08-16 Torbjorn Granlund <tege@swox.com>
! 308:
! 309: * mpn/m68k/lshift.asm: Fix typo in !scale_available_p code.
! 310: * mpn/m68k/rshift.asm: Likewise.
! 311:
! 312: 2002-08-09 Kevin Ryde <kevin@swox.se>
! 313:
! 314: * mpn/ia64/add_n.asm, mpn/ia64/sub_n.asm: Add .body.
! 315: * mpn/ia64/add_n.asm, mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm,
! 316: mpn/ia64/sub_n.asm: Position .save ar.lc just before relevant
! 317: instruction.
! 318: * mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm: Add .save ar.pfs and pr.
! 319: * mpn/ia64/copyd.asm, mpn/ia64/copyi.asm: Correction to .body position.
! 320: * mpn/ia64/lorrshift.asm: Add .prologue stuff.
! 321:
! 322: * mpn/ia64/*.asm [hpux ABI=32]: Extend 32-bit operands to 64-bits, not
! 323: optimal and might not be sufficient, but seems to work.
! 324:
! 325: 2002-08-07 Kevin Ryde <kevin@swox.se>
! 326:
! 327: * mpz/remove.c: Make src==0 return 0, not do DIVIDE_BY_ZERO.
! 328:
! 329: 2002-08-05 Kevin Ryde <kevin@swox.se>
! 330:
! 331: * Makefile.am (libgmpxx_la_DEPENDENCIES): libgmp.la should be here,
! 332: not libgmpxx_la_LIBADD, for the benefit of "make -j2".
! 333:
! 334: 2002-07-30 Kevin Ryde <kevin@swox.se>
! 335:
! 336: * gmp.texi (Known Build Problems): An easier workaround for DESTDIR,
! 337: using LD_LIBRARY_PATH.
! 338:
! 339: 2002-07-27 Kevin Ryde <kevin@swox.se>
! 340:
! 341: * configure.in: Establish CONFIG_SHELL to avoid a problem with
! 342: AC_LIBTOOL_SYS_MAX_CMD_LEN, in particular with ia64-*-hpux*.
! 343:
! 344: * tune/speed.h (SPEED_ROUTINE_MPN_GCD_FINDA): Don't let calls to
! 345: mpn_gcd_finda go dead.
! 346:
! 347: 2002-07-21 Kevin Ryde <kevin@swox.se>
! 348:
! 349: * Makefile.am (DISTCLEANFILES): Add configure.lineno.
! 350:
! 351: * tests/mpz/t-jac.c (try_si_zi): Correction to "a" parameter type.
! 352:
! 353: 2002-07-17 Kevin Ryde <kevin@swox.se>
! 354:
! 355: * gmp.texi (Random State Initialization): Typo in m2exp described for
! 356: gmp_randinit_lc_2exp_size.
! 357: (Formatted Input Strings): Typo in %n summary.
! 358:
! 359: * mpfr/acinclude.m4 (MPFR_CONFIGS): Patch by Vincent for an apparent
! 360: float rounding gremlin on powerpc.
! 361:
! 362: 2002-07-15 Kevin Ryde <kevin@swox.se>
! 363:
! 364: * Makefile.am (PRINTF_OBJECTS): Avoid ending in a backslash, some hpux
! 365: makes don't like that.
! 366:
! 367: * gmp-impl.h (ieee_double_extract): Test __sparc__, used by gcc 3.1.
! 368: Reported by nix@esperi.demon.co.uk.
! 369: * mpfr/mpfr-math.h (_MPFR_NAN_BYTES etc): Ditto.
! 370:
! 371: 2002-07-13 Kevin Ryde <kevin@swox.se>
! 372:
! 373: * gmp-h.in (__GMP_EXTERN_INLINE): Don't use this during configure,
! 374: ie. __GMP_WITHIN_CONFIGURE, to avoid needing dependent routines.
! 375: * acinclude.m4 (GMP_H_EXTERN_INLINE): Consequent changes.
! 376:
! 377: * gmp.texi (Number Theoretic Functions): Clarify return value.
! 378: Reported by Peter Keller.
! 379:
! 380: 2002-07-10 Kevin Ryde <kevin@swox.se>
! 381:
! 382: * gmp-impl.h (DItype): Use HAVE_LONG_LONG to choose long long,
! 383: avoiding _LONGLONG which is in gcc but means something unrelated in MS
! 384: Visual C 7.0. Reported by David Librik.
! 385:
! 386: 2002-07-06 Kevin Ryde <kevin@swox.se>
! 387:
! 388: * gmp.texi (Low-level Functions): mpn_set_str takes "unsigned char *",
! 389: reported by Mark Sofroniou.
! 390: (C++ Interface General): Describe linking with libgmpxx and libgmp.
! 391:
! 392: 2002-07-01 Kevin Ryde <kevin@swox.se>
! 393:
! 394: * gmp-h.in (mpz_export): Remove a spurious parameter name.
! 395:
! 396: 2002-06-29 Kevin Ryde <kevin@swox.se>
! 397:
! 398: * mpf/inp_str.c: Fix returned count of chars read, reported by Paul
! 399: Zimmermann. Also fix a memory leak for invalid input.
! 400:
! 401: 2002-06-25 Kevin Ryde <kevin@swox.se>
! 402:
! 403: * configure.in (x86-*-*): Remove -march=pentiumpro check, seems ok
! 404: with current code.
! 405:
! 406: 2002-06-23 Kevin Ryde <kevin@swox.se>
! 407:
! 408: * acinclude.m4 (GMP_GCC_ARM_UMODSI): Match bad "gcc --version" output
! 409: exactly, rather than parsing it with GMP_GCC_VERSION_GE.
! 410:
! 411: 2002-06-22 Kevin Ryde <kevin@swox.se>
! 412:
! 413: * gmp-impl.h (const, signed): Move to near top of file, fixes
! 414: --enable-alloca=debug on K&R.
! 415:
! 416: 2002-06-20 Kevin Ryde <kevin@swox.se>
! 417:
! 418: * mpn/ia64/submul_1.c: Add missing TMP_DECL, TMP_MARK, TMP_FREE.
! 419: Reported by Paul Zimmermann.
! 420:
! 421: 2002-06-20 Gerardo Ballabio <gerardo.ballabio@unimib.it>
! 422:
! 423: * gmpxx.h, mpfrxx.h: Remove mpz_classref, let mpq_class::get_num and
! 424: mpq_class::get_den return mpz_class& as per the documentation.
! 425: Reported by Roberto Bagnara.
! 426:
! 427: 2002-06-15 Paul Zimmermann <Paul.Zimmermann@loria.fr>
! 428:
! 429: * mpfr/set_q.c: Allow for 1 bit numerator or denominator.
! 430:
! 431: 2002-06-14 Kevin Ryde <kevin@swox.se>
! 432:
! 433: * tests/misc/t-scanf.c: (fromstring_gmp_fscanf): Add missing va_end.
! 434: Don't mix varargs and fixed args functions, not good on x86_64.
! 435: Reported by Marcus Meissner.
! 436:
! 437: * tests/mpz/t-cmp_d.c (check_one_2exp): Use volatile to force to
! 438: double, fixes gcc 3.1 with -O4. Reported by Michael Lee.
! 439: * configure.in (AC_C_VOLATILE): New macro.
! 440:
! 441: 2002-06-09 Kevin Ryde <kevin@swox.se>
! 442:
! 443: * mpfr/tests/tadd.c, mpfr/tests/tmul.c (check): Apply a hack to the
! 444: parameter order to make sparc gcc 2.95.2 happy.
! 445:
! 446: * gmp.texi (Known Build Problems): Notes on MacOS and GCC.
! 447: (Low-level Functions): mpn_get_str accepts base==256.
! 448:
! 449: 2002-06-09 Torbjorn Granlund <tege@swox.com>
! 450:
! 451: * randraw.c (lc): Remove broken ASSERT_ALWAYS.
! 452:
! 453: 2002-06-08 Kevin Ryde <kevin@swox.se>
! 454:
! 455: * configure.in (alphev56): Fix to use ev5 path.
! 456:
! 457: * mpfr/tests/tsqrt.c, mpfr/tests/tsqrt_ui.c: Suppress tests if sqrt is
! 458: not affected by mpfr_set_machine_rnd_mode.
! 459:
! 460: * mpfr/mul_2si.c: Workaround a mips gcc 2.95.3 bug under -O2 -mabi=n32.
! 461:
! 462: 2002-06-06 Kevin Ryde <kevin@swox.se>
! 463:
! 464: * configure.in, mpfr/tests/Makefile.am: Add $LIBM to $LIBS for
! 465: MPFR_CONFIGS so it detects fesetround, and let it go through to
! 466: $MPFR_LIBS.
! 467: * mpfr/rnd_mode.c: Use gmp-impl.h to get MPFR_HAVE_FESETROUND.
! 468:
! 469: * tests/mpz/t-sizeinbase.c: Disable fake bits test, such pointer
! 470: setups are bogus and have been seen failing on hppa.
! 471:
! 472: 2002-06-03 Kevin Ryde <kevin@swox.se>
! 473:
! 474: * mpn/sparc32/sparc-defs.m4: New file.
! 475: * configure.in (sparc*-*-*): Use it.
! 476: * acinclude.m4 (GMP_ASM_SPARC_REGISTER): New macro.
! 477: * configure.in (sparc64): Use it. Also, use -Wc,-m64 for linking.
! 478: * mpn/sparc64/add_n.asm, mpn/sparc64/addmul_1.asm,
! 479: mpn/sparc64/copyd.asm, mpn/sparc64/copyi.asm, mpn/sparc64/lshift.asm,
! 480: mpn/sparc64/mul_1.asm, mpn/sparc64/rshift.asm,
! 481: mpn/sparc64/sqr_diagonal.asm, mpn/sparc64/sub_n.asm,
! 482: mpn/sparc64/submul_1.asm: Use REGISTER for .register.
! 483:
! 484: 2002-06-01 Kevin Ryde <kevin@swox.se>
! 485:
! 486: * mpz/powm_ui.c: Fix for result range in certain circumstances.
! 487:
! 488: 2002-05-23 Torbjorn Granlund <tege@swox.com>
! 489:
! 490: * Version 4.1 released.
! 491:
! 492: * mpn/alpha/ev6/nails/gmp-mparam.h: New file.
! 493:
! 494: * tests/devel/add_n.c (refmpn_add_n): Nailify.
! 495: * tests/devel/sub_n.c (refmpn_sub_n): Nailify.
! 496: * tests/devel/addmul_1.c (refmpn_addmul_1): Nailify.
! 497: * tests/devel/submul_1.c (refmpn_submul_1): Nailify.
! 498:
! 499: * mpn/alpha/ev6/nails/add_n.asm: New file.
! 500: * mpn/alpha/ev6/nails/sub_n.asm: New file.
! 501: * mpn/alpha/ev6/nails/mul_1.asm: New file.
! 502: * mpn/alpha/ev6/nails/submul_1.asm: New file.
! 503:
! 504: 2002-05-22 Torbjorn Granlund <tege@swox.com>
! 505:
! 506: * mpn/alpha/ev6/nails/addmul_1.asm: New file.
! 507:
! 508: * mpz/inp_str.c (mpz_inp_str_nowhite): Nailify.
! 509:
! 510: * mpn/generic/mul_basecase.c: Update pointers before conditional
! 511: MAX_LEFT break statements.
! 512:
! 513: 2002-05-21 Torbjorn Granlund <tege@swox.com>
! 514:
! 515: * tests/mpz/t-gcd.c: Test mpz_gcd_ui.
! 516:
! 517: * mpz/lcm_ui.c: Nailify.
! 518:
! 519: * mpz/gcd_ui.c: Nailify. Make it work as documented, allowing
! 520: NULL to be passed for result parameter. Fix gcd(0,0) case.
! 521:
! 522: * mpz/set_str.c: Nailify.
! 523:
! 524: * randlc2x.c (gmp_randinit_lc_2exp): Nailify.
! 525:
! 526: From Jakub Jelinek:
! 527: * longlong.h (add_ssaaaa,sub_ddmmss) [64-bit sparc]:
! 528: Make it actually work.
! 529:
! 530: 2002-05-18 Torbjorn Granlund <tege@swox.com>
! 531:
! 532: * mpf/ui_div.c: Shut up compiler warning.
! 533:
! 534: * mpn/generic/mul_basecase.c: Use mpn_addmul_2, mpn_addmul_3, and
! 535: mpn_addmul_4, as available.
! 536:
! 537: * mpn/alpha/ev6/nails/addmul_2.asm: Adjust NAILS_SUPPORT decls.
! 538: * mpn/alpha/ev6/nails/addmul_3.asm: Likewise
! 539: * mpn/alpha/ev6/nails/addmul_4.asm: Likewise.
! 540:
! 541: * configure.in (*-cray-unicos*): Back again to -hscalar0.
! 542: (gmp_mpn_functions_optional): Add mul_3, mul_4, addmul_2, addmul_3,
! 543: and addmul_4.
! 544: * acconfig.h: Add #undefs for new optional mpn functions.
! 545:
! 546: 2002-05-18 Kevin Ryde <kevin@swox.se>
! 547:
! 548: * gmp.texi (Integer Import and Export): Mention Cray unfilled words.
! 549:
! 550: * mpz/set_d.c, mpq/set_d.c: Use LIMBS_PER_DOUBLE for the output of
! 551: __gmp_extract_double. Reported by Henrik Johansson.
! 552:
! 553: 2002-05-17 Torbjorn Granlund <tege@swox.com>
! 554:
! 555: * mpn/alpha/ev6/nails/addmul_2.asm: New file.
! 556: * mpn/alpha/ev6/nails/addmul_3.asm: New file.
! 557: * mpn/alpha/ev6/nails/addmul_4.asm: New file.
! 558:
! 559: * mpn/generic/dump.c: Rewrite and nailify.
! 560:
! 561: 2002-05-16 Kevin Ryde <kevin@swox.se>
! 562:
! 563: * mpfr/Makefile.am (EXTRA_DIST): Add BUGS file.
! 564:
! 565: 2002-05-15 Torbjorn Granlund <tege@swox.com>
! 566:
! 567: * configure.in (*-cray-unicos*): Remove -hscalar0, add -hnofastmd
! 568: as workaround for compiler bug.
! 569: (mips64*-*-*): Pass just -O1 to cc, to work around compiler bug.
! 570:
! 571: 2002-05-14 Torbjorn Granlund <tege@swox.com>
! 572:
! 573: * configure.in (*-cray-unicos*): Pass -hscalar0 to work around
! 574: compiler bug for mpz/import.c.
! 575:
! 576: 2002-05-11 Torbjorn Granlund <tege@swox.com>
! 577:
! 578: * mpz/import.c: Cast pointer via `unsigned long' when checking
! 579: alignment to avoid compiler warnings.
! 580:
! 581: * mpn/generic/rootrem.c: Adjust allocation of qp temporary area.
! 582:
! 583: 2002-05-09 Kevin Ryde <kevin@swox.se>
! 584:
! 585: * mpz/import.c: Corrections to size store, special case tests, and
! 586: general case ACCUMULATE.
! 587: * tests/mpz/t-import.c, tests/mpz/t-export.c: More test data.
! 588:
! 589: 2002-05-09 Torbjorn Granlund <tege@swox.com>
! 590:
! 591: * mpn/generic/rootrem.c: Use temp space for root, copy value in place
! 592: before returning.
! 593: * mpz/root.c: Don't allocate extra limb for root value.
! 594: * mpz/perfpow.c: Undo last change.
! 595:
! 596: 2002-05-08 Torbjorn Granlund <tege@swox.com>
! 597:
! 598: * gmp-impl.h (powerpc BSWAP_LIMB_FETCH): Rename local variable to make
! 599: it not clash with caller.
! 600:
! 601: * mpn/generic/rootrem.c: New file.
! 602: * configure.in (gmp_mpn_functions): Add rootrem and pow_1.
! 603: * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add rootrem.c and
! 604: pow_1.c
! 605: * gmp-impl.h (mpn_rootrem): Add declaration.
! 606: * mpz/perfpow.c: Amend allocations for mpn_rootrem requirements.
! 607: * mpz/root.c: Rewrite to use mpn_rootrem.
! 608:
! 609: 2002-05-08 Kevin Ryde <kevin@swox.se>
! 610:
! 611: * gmp-impl.h (MUL_KARATSUBA_THRESHOLD etc): Remove forced nail values.
! 612:
! 613: * mpf/fits_u.h, mpf/fits_s.h, tests/mpf/t-fits.c: Ignore fraction
! 614: part, making the code match the documentation.
! 615:
! 616: * gmpxx.h (struct __gmp_binary_minus): Use mpz_ui_sub.
! 617:
! 618: 2002-05-07 Kevin Ryde <kevin@swox.se>
! 619:
! 620: * mpn/powerpc32/README: New file.
! 621:
! 622: * mpz/root.c: Use unsigned long with mpz_sub_ui not mp_limb_t.
! 623:
! 624: * tune/README: Misc updates including sparc32/v9 smoothness, low res
! 625: timebase, and mpn_add_n operand overlaps.
! 626: * tune/many.pl: Add udiv.asm support.
! 627:
! 628: * gmp.texi (Build Options): A couple of --build better as --host.
! 629: (Known Build Problems, Notes for Package Builds): Add DESTDIR problem.
! 630: (Compatibility with older versions): Compatible with 4.x versions.
! 631: (Converting Integers): Remove mpz_get_ui + mpz_tdiv_q_2exp decompose.
! 632: (Integer Import and Export): New section.
! 633: (Miscellaneous Integer Functions): Clarify mpz_sizeinbase returns 1
! 634: for operand of 0.
! 635: (Language Bindings): Add GNU Pascal.
! 636: (Low-level Functions): Add GMP_NUMB_MAX.
! 637:
! 638: * tests/mpz/t-import.c, tests/mpz/t-export.c, tests/mpz/t-get_d.c:
! 639: New tests.
! 640: * tests/mpz/Makefile.am: Add them.
! 641:
! 642: * mpz/import.c, mpz/export.c: New files.
! 643: * Makefile.am, mpz/Makefile.am, gmp-h.in: Add them.
! 644:
! 645: * gmp-h.in, gmp-impl.h (GMP_NUMB_MAX): Move to gmp.h.
! 646: * gmp-impl.h (CNST_LIMB): Add cast to mp_limb_t to ensure unsigned.
! 647: (CRAY_Pragma, MPN_REVERSE, MPN_BSWAP, MPN_BSWAP_REVERSE,
! 648: ASSERT_ALWAYS_LIMB, ASSERT_ALWAYS_MPN): New macros.
! 649: (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS_MPN.
! 650:
! 651: 2002-05-07 Torbjorn Granlund <tege@swox.com>
! 652:
! 653: * mpz/aors_ui.h: Nailify.
! 654:
! 655: * tests/mpz/t-addsub.c: New file.
! 656: * tests/mpz/Makefile.am (check_PROGRAMS): Add t-addsub.
! 657:
! 658: * mpz/ui_sub.c: New file.
! 659: * mpz/Makefile.am (libmpz_la_SOURCES): Add ui_sub.c.
! 660: * Makefile.am (MPZ_OBJECTS): Ditto.
! 661: * gmp-h.in (mpz_ui_sub): Add declaration.
! 662:
! 663: * gmp-impl.h (MPZ_REALLOC): Rewrite to allow the use of _mpz_realloc
! 664: return value.
! 665:
! 666: * gmp-h.in (mpn_pow_1): Add declaration.
! 667:
! 668: * mpn/generic/pow_1.c: Handle exp <= 1. Reverse rp/tp parity scheme
! 669: for bn == 1 arm.
! 670:
! 671: * Rename MP_LIMB_T_HIGHBIT => GMP_LIMB_HIGHBIT.
! 672:
! 673: 2002-05-06 Torbjorn Granlund <tege@swox.com>
! 674:
! 675: * demos/pexpr.c (main): Don't call mpz_sizeinbase with negative base.
! 676:
! 677: * randraw.c (lc): Remove an unused variable.
! 678:
! 679: * mpn/generic/get_str.c: Clarify an algorithm description.
! 680:
! 681: * tests/mpf/t-trunc.c: Nailify.
! 682: * tests/mpf/t-set_si.c: Disable for nails.
! 683:
! 684: * mpf/cmp_si.c: Nailify.
! 685: * mpf/cmp_ui.c: Nailify.
! 686: * mpf/div.c: Nailify.
! 687: * mpf/div_2exp.c: Nailify.
! 688: * mpf/div_ui.c: Nailify.
! 689: * mpf/eq.c: Nailify.
! 690: * mpf/get_d.c: Nailify.
! 691: * mpf/get_d_2exp.c: Nailify.
! 692: * mpf/get_si.c: Nailify.
! 693: * mpf/get_str.c: Nailify.
! 694: * mpf/get_ui.c: Nailify.
! 695: * mpf/mul_2exp.c: Nailify.
! 696: * mpf/random2.c: Nailify.
! 697: * mpf/set_q.c: Nailify.
! 698: * mpf/set_si.c: Nailify.
! 699: * mpf/set_str.c: Nailify.
! 700: * mpf/set_ui.c: Nailify.
! 701: * mpf/sub.c: Nailify.
! 702: * mpf/ui_div.c: Nailify.
! 703: * mpf/ui_sub.c: Nailify.
! 704: * mpf/urandomb.c: Nailify.
! 705:
! 706: * gmp-impl.h (__GMPF_BITS_TO_PREC, __GMPF_PREC_TO_BITS): Nailify.
! 707:
! 708: * mpz/get_si.c: Misc variable name changes.
! 709:
! 710: * mpf/fits_u.h: Rewrite - nailify.
! 711: * mpf/fits_s.h: Likewise.
! 712:
! 713: * mpz/mod.c: Disambiguate if-statament with extra {}.
! 714:
! 715: * mpf/int_p.c: Fix type of size variables.
! 716: * mpf/get_ui: Likewise.
! 717: * mpf/get_si: Likewise.
! 718: * mpq/equal.c: Likewise.
! 719: * mpq/get_d.c: Likewise.
! 720: * mpz/cmp_d.c: Likewise.
! 721: * mpz/cmpabs_d.c: Likewise.
! 722: * mpz/divis_2exp.c: Likewise.
! 723: * mpz/kronuz.c: Likewise.
! 724: * mpz/kronzu.c: Likewise.
! 725: * mpz/kronzs.c: Likewise.
! 726: * mpz/kronsz.c: Likewise.
! 727: * mpz/scan0.c: Likewise.
! 728: * mpz/scan1.c: Likewise.
! 729: * mpz/tstbit.c: Likewise.
! 730: * mpz/cong_2exp.c: Likewise.
! 731: * mpz/divis.c: Likewise.
! 732:
! 733: 2002-05-04 Torbjorn Granlund <tege@swox.com>
! 734:
! 735: * mpn/generic/gcd.c: Additional nailify changes.
! 736:
! 737: 2002-05-04 Kevin Ryde <kevin@swox.se>
! 738:
! 739: * gmp-h.in (__GNU_MP_VERSION): Set to 4.1.
! 740: * Makefile.am (-version-info): Bump for new release.
! 741:
! 742: 2002-04-30 Torbjorn Granlund <tege@swox.com>
! 743:
! 744: * mpn/generic/divrem_1.c: Additional nailify changes.
! 745: * mpn/generic/mod_1.c: Likewise.
! 746:
! 747: * tests/mpq/t-get_d.c: Print floats with all 16 digits.
! 748:
! 749: * mpq/get_d.c: Nailify.
! 750:
! 751: * tests/mpq/t-set_f.c: Disable for nails.
! 752:
! 753: * mpz/get_d.c: Nailify.
! 754:
! 755: * gmp-impl.h (LIMBS_PER_DOUBLE, MP_BASE_AS_DOUBLE): Nailify.
! 756:
! 757: * gmp-h.in (__GMPZ_FITS_UTYPE_P): Cast maxval to before shifting it.
! 758:
! 759: * extract-dbl.c: Nailify.
! 760:
! 761: 2002-04-29 Torbjorn Granlund <tege@swox.com>
! 762:
! 763: * mpq/md_2exp.c (mord_2exp): Nailify.
! 764:
! 765: * mpq/cmp_ui.c: Nailify.
! 766:
! 767: * mpq/cmp.c (mpq_cmp): Nailify.
! 768:
! 769: * mpn/generic/gcd.c: Nailify. GNUify code layout.
! 770:
! 771: * mpn/generic/gcdext.c: Nailify. Misc changes.
! 772:
! 773: * tests/mpz/t-sqrtrem.c: Let argv[1] mean # of repetitions.
! 774: * tests/mpz/t-gcd.c: Likewise.
! 775:
! 776: * mpz/gcd.c: Nailify.
! 777:
! 778: * mpn/generic/random.c: Nailify.
! 779:
! 780: * gmp-impl.h (modlimb_invert): Nailify.
! 781:
! 782: 2002-04-27 Torbjorn Granlund <tege@swox.com>
! 783:
! 784: * mpn/generic/gcdext.c (div2): Remove qh parameter.
! 785: (mpn_gcdext): Streamline double-limb code.
! 786: Move GCDEXT_THRESHOLD check to after initial division.
! 787:
! 788: 2002-04-27 Kevin Ryde <kevin@swox.se>
! 789:
! 790: * gmp-impl.h (JACOBI_MOD_OR_MODEXACT_1_ODD): Allow for odd
! 791: GMP_NUMB_BITS.
! 792:
! 793: * tune/time.c (sgi_works_p): Allow for 64-bit counter, and fix
! 794: SGI_CYCLECNTR_SIZE handling.
! 795:
! 796: * demos/expr/exprfr.c: Add nan and inf constants.
! 797: * demos/expr/t-expr.c: Exercise them.
! 798:
! 799: 2002-04-26 Torbjorn Granlund <tege@swox.com>
! 800:
! 801: * mpz/cmp_ui.c: Fix overflow conditions for nails.
! 802:
! 803: * gmp-h.in (mpz_get_ui): Fix typo from last change.
! 804:
! 805: * mpz/n_pow_ui.c: Adjust allocation for nails.
! 806: (GMP_NUMB_HALFMAX): Renamed from MP_LIMB_T_HALFMAX.
! 807: Fix umul_ppmm invocation for for nails.
! 808:
! 809: 2002-04-24 Torbjorn Granlund <tege@swox.com>
! 810:
! 811: * mpn/generic/gcdext.c: Simplify by using mpn_tdiv_qr instead of
! 812: mpn_divmod.
! 813:
! 814: 2002-04-24 Kevin Ryde <kevin@swox.se>
! 815:
! 816: * configure.in (*-*-cygwin*): Give a sensible default command line
! 817: limit, to avoid blowups reported by Jim Fougeron on windows 9x.
! 818: (--enable-nails): Make the default 2, since mp_bases has data for that.
! 819:
! 820: * mpfr/mpfr-math.h (__mpfr_nan): Use a "double" for the bytes, to
! 821: avoid a mis-conversion on alpha gcc 3.0.2.
! 822: (_MPFR_INFP_BYTES, _MPFR_INFM_BYTES): Should be a zero mantissa.
! 823:
! 824: 2002-04-23 Torbjorn Granlund <tege@swox.com>
! 825:
! 826: * mpz/dive_ui.c: Fix typo.
! 827:
! 828: * mpz/fits_s.h: Rewrite.
! 829:
! 830: * mpz/jacobi.c: Nailify.
! 831: * mpz/kronuz.c: Additional nailify changes.
! 832: * mpz/kronsz.c: Likewise.
! 833:
! 834: 2002-04-23 Kevin Ryde <kevin@swox.se>
! 835:
! 836: * demos/expr/Makefile.am (LDADD): Add $(LIBM) for the benefit of mpfr.
! 837:
! 838: * mpz/divis_ui.c, mpz/cong_ui.c: Nailify.
! 839: * mpn/generic/bdivmod.c, mpz/divexact.c, mpz/dive_ui.c: Nailify.
! 840: * mpn/generic/sb_divrem_mn.c, mpn/generic/divrem.c,
! 841: mpn/generic/divrem_2.c: Nailify ASSERTs.
! 842: * mpn/x86/k6/mmx/logops_n.asm, mpn/x86/k6/mmx/com_n.asm: Nailify.
! 843: * mpz/inp_raw.c, mpz/out_raw.c: Nailify.
! 844: * mpz/kronzu.c, mpz/kronuz.c, mpz/kronzs.c, mpz/kronsz.c: Nailify.
! 845: * mpn/generic/divis.c, mpz/cong.c, mpz/cong_2exp.c: Nailify.
! 846: * gmp-impl.h (NEG_MOD): Nailify.
! 847:
! 848: * gmp-impl.h, mpn/mp_bases.c: Add back GMP_NUMB_BITS==30 bases data.
! 849:
! 850: * mpfr/get_d.c: Patch from Paul to avoid problem with constant folding
! 851: in gcc on OSF.
! 852:
! 853: * mpn/lisp/gmpasm-mode.el: Remove mention of defunct LF macro.
! 854:
! 855: 2002-04-22 Torbjorn Granlund <tege@swox.com>
! 856:
! 857: * demos/pexpr.c: Handle "binomial" operator.
! 858:
! 859: * mpz/cmp_ui.c: Move assignments of `up' out of conditionals.
! 860:
! 861: * mpn/generic/gcdext.c: Fix fencepost error in STAT code.
! 862:
! 863: * gmp-impl.h (mpn_com_n): Nailify.
! 864:
! 865: * tests/mpz/t-cdiv_ui.c: New file.
! 866: * tests/mpz/Makefile.am (check_PROGRAMS): Add t-cdiv_ui.
! 867: * mpz/cdiv_qr_ui.c: Nailify.
! 868: * mpz/cdiv_q_ui.c: Nailify.
! 869: * mpz/cdiv_r_ui.c: Nailify.
! 870: * mpz/cdiv_ui.c: Nailify.
! 871:
! 872: * tests/misc/t-printf.c (CHECK_N): Add cast to allow `char' to be an
! 873: unsigned type.
! 874: * tests/misc/t-scanf.c: Likewise.
! 875:
! 876: * mpz/mul_i.h: Rework nails code to handle parameter overlap.
! 877:
! 878: * tests/mpz/t-set_f.c: Disable for nails.
! 879:
! 880: 2002-04-21 Torbjorn Granlund <tege@swox.com>
! 881:
! 882: * mpz/set_si.c: Add cast to support LONG_LONG_LIMB.
! 883: * mpz/iset_si.c: Likewise.
! 884:
! 885: * mpz/bin_ui.c: Nailify.
! 886: * mpz/bin_uiui.c: Nailify.
! 887:
! 888: * mpz/cmpabs_ui.c: Nailify.
! 889:
! 890: * tests/mpz/t-aorsmul.c: Nailify.
! 891: * mpz/aorsmul_i.c (mpz_addmul_ui, mpz_submul_ui): Nailify better.
! 892:
! 893: 2002-04-20 Torbjorn Granlund <tege@swox.com>
! 894:
! 895: * tests/mpz/t-fdiv_ui.c: Check mpz_fdiv_ui.
! 896: * tests/mpz/t-tdiv_ui.c: Check mpz_tdiv_ui.
! 897:
! 898: * mpz/tdiv_ui.c: Rewrite nails code.
! 899: * mpz/fdiv_ui.c: Nailify.
! 900:
! 901: * tests/mpz/t-tdiv_ui.c: Check returned remainders.
! 902: * tests/mpz/t-fdiv_ui.c: Merge in recent t-tdiv_ui changes.
! 903:
! 904: * mpz/tdiv_q_ui.c: Remove spurious TMP_* calls.
! 905:
! 906: * mpz/fdiv_qr_ui.c: Nailify.
! 907: * mpz/fdiv_q_ui.c: Nailify.
! 908: * mpz/fdiv_r_ui.c: Nailify.
! 909:
! 910: * mpz/get_si.c: Misc nailify changes to shut up compiler warnings.
! 911:
! 912: * mpz/ui_pow_ui.c: Fix typo in last change.
! 913:
! 914: 2002-04-20 Kevin Ryde <kevin@swox.se>
! 915:
! 916: * tests/misc/t-printf.c, tests/misc/t-scanf.c: Check all %n types.
! 917:
! 918: * mpn/x86/k7/mmx/divrem_1.asm, mpn/x86/p6/mmx/divrem_1.asm
! 919: (mpn_preinv_divrem_1): New entrypoint.
! 920: (mpn_divrem_1): Avoid a branch when testing high<divisor.
! 921: * mpn/asm-defs.m4: Add define_mpn(preinv_divrem_1).
! 922: * configure.in: Allow divrem_1.asm to provide mpn_preinv_divrem_1.
! 923:
! 924: * gmp-impl.h [nails]: Add #undefs of MUL_KARATSUBA_THRESHOLD etc, to
! 925: override CPU gmp-mparam.h. Remove JACOBI_BASE_METHOD override since
! 926: it's nails-neutral.
! 927:
! 928: * tests/mpn/t-mp_bases.c: New file.
! 929: * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
! 930: * tests/t-constants.c: Move MP_BASES constants checks to it.
! 931:
! 932: * mpn/mp_bases.c: Fix big_base_inverted values for nails.
! 933: * gmp-impl.h (MP_BASES_BIG_BASE_INVERTED_10,
! 934: MP_BASES_NORMALIZATION_STEPS_10): Fix nails values.
! 935: (MP_BASES_*): Remove GMP_NUMB_BITS == 30 data.
! 936:
! 937: * mpn/x86/pentium/com_n.asm, mpn/x86/pentium/logops_n.asm: Add
! 938: NAILS_SUPPORT indicators.
! 939:
! 940: * configure.in: Grep for NAILS_SUPPORT in cpu-specific code, and look
! 941: in "nails" subdirectories, print path used.
! 942: * mpn/asm-defs.m4 (NAILS_SUPPORT): New macro.
! 943:
! 944: * mpfr/mpfr-test.h: Include config.h, for the benefit of test programs
! 945: not using gmp-impl.h.
! 946:
! 947: 2002-04-19 Torbjorn Granlund <tege@swox.com>
! 948:
! 949: * tests/mpz/t-scan.c: Nailify.
! 950:
! 951: * mpz/tdiv_qr_ui.c: Nailify.
! 952: * mpz/tdiv_q_ui.c: Nailify.
! 953: * mpz/tdiv_r_ui.c: Nailify.
! 954: * mpz/tdiv_ui.c: Nailify.
! 955:
! 956: * mpz/cmp_ui.c: Nailify.
! 957:
! 958: * mpz/ui_pow_ui.c: Misc nailify changes to shut up compiler warnings.
! 959:
! 960: * mpz/scan0.c: Nailify.
! 961: * mpz/scan1.c: Nailify.
! 962:
! 963: * tests/mpz/t-sizeinbase.c (mpz_fake_bits): Nailify.
! 964:
! 965: 2002-04-18 Torbjorn Granlund <tege@swox.com>
! 966:
! 967: * mpz/aorsmul_i.c: Nailify.
! 968:
! 969: * mpz/cmp_si.c: Nailify (botched).
! 970:
! 971: * mpz/ui_pow_ui.c: Nailify.
! 972:
! 973: * gmp-h.in (__GMPZ_FITS_UTYPE_P): Nailify.
! 974:
! 975: * mpz/fits_s.h: Nailify.
! 976:
! 977: * tests/mpz/bit.c (check_tstbit): Nailify.
! 978:
! 979: From Paul Zimmermann:
! 980: * mpn/generic/sqrtrem.c: Nailify.
! 981:
! 982: * mpz/n_pow_ui.c: Nailify.
! 983:
! 984: * mpz/cfdiv_r_2exp.c: Nailify.
! 985:
! 986: * randraw.c (lc): Undo: Let mpn_rshift put result in place to avoid
! 987: extra MPN_COPY.
! 988:
! 989: 2002-04-17 Torbjorn Granlund <tege@swox.com>
! 990:
! 991: * mpz/clrbit.c: Add two GMP_NUMB_MASK masks after addition.
! 992:
! 993: * mpn/generic/random2.c (LOGBITS_PER_BLOCK): Decrease to 4.
! 994:
! 995: * gmp-impl.h (nail DIV_DC_THRESHOLD): Decrease to 50 to allow fast
! 996: division.
! 997:
! 998: * mpn/generic/random2.c: Nailify.
! 999:
! 1000: * mpz/fac_ui.c: Nailify.
! 1001:
! 1002: * mpz/mul_i.h: #if ... #endif code block to shut up gcc warnings.
! 1003:
! 1004: * mpn/generic/sqrtrem.c: Adopt to GNU coding standards.
! 1005: (mpn_dc_sqrtrem): New name for mpn_dq_sqrtrem.
! 1006: Partial nailification.
! 1007:
! 1008: * configure.in: As a temporary hack, clear extra_functions for nails
! 1009: builds.
! 1010:
! 1011: * gmp-h.in (mpz_get_ui): #if ... #endif else code block to shut up gcc
! 1012: warnings.
! 1013:
! 1014: 2002-04-17 Kevin Ryde <kevin@swox.se>
! 1015:
! 1016: * texinfo.tex: Update to 2002-03-26.08 per texinfo 4.2.
! 1017: * gmp.texi: Must have @top in @ifnottex (or @contents doesn't come out
! 1018: in one run).
! 1019:
! 1020: * mpn/generic/scan0.c, mpn/generic/scan1.c: Nailify.
! 1021:
! 1022: * tests/mpn/t-scan.c: New file.
! 1023: * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
! 1024:
! 1025: * tests/refmpn.c, tests/tests.h (refmpn_tstbit): Use unsigned long for
! 1026: bit index.
! 1027: (refmpn_setbit, refmpn_clrbit, refmpn_scan0, refmpn_scan1): New
! 1028: functions.
! 1029:
! 1030: * mpfr/cmp_ui.c (mpfr_cmp_si_2exp): Fix b==0 i!=0 case.
! 1031:
! 1032: 2002-04-17 Gerardo Ballabio <gerardo.ballabio@unimib.it>
! 1033:
! 1034: * gmpxx.h, mpfrxx.h: Remove mpfr_class bool combinations, remove
! 1035: mpfr_class::get_str2, use mp_rnd_t for rounding modes, use
! 1036: 8*sizeof(double) for mpfr_t's holding doubles.
! 1037:
! 1038: 2002-04-17 Torbjorn Granlund <tege@swox.com>
! 1039:
! 1040: * mpz/powm.c: Nailify.
! 1041: * mpz/powm_ui.c: Nailify.
! 1042:
! 1043: 2002-04-16 Torbjorn Granlund <tege@swox.com>
! 1044:
! 1045: * mpz/hamdist.c: Nailify.
! 1046: * tests/misc.c (urandom): Nailify.
! 1047:
! 1048: * mpz/get_si.c: Nailify.
! 1049: * gmp-h.in (mpz_get_ui): Nailify. Streamline (and probably upset
! 1050: memory checkers).
! 1051:
! 1052: * gmp-impl.h (mp_bases[10] values): Add versions for GMP_NUMB_BITS
! 1053: being 28, 60, and 63.
! 1054: * mpn/mp_bases.c: Add tables for GMP_NUMB_BITS being 28, 60, and 63.
! 1055:
! 1056: * mpz/iset_si.c: Nailify.
! 1057: * mpz/iset_ui.c: Nailify
! 1058:
! 1059: * tests/mpz/convert.c (main): Print test number in error message.
! 1060:
! 1061: * mpn/generic/get_str.c (mpn_sb_get_str): Shift up `frac' into nails
! 1062: field after bignum division.
! 1063:
! 1064: 2002-04-16 Kevin Ryde <kevin@swox.se>
! 1065:
! 1066: * gmp-h.in, gmp-impl.h (GMP_NAIL_MASK): Move to gmp.h.
! 1067:
! 1068: * gmp.texi: Use @documentdescription and @copying, per texinfo 4.2.
! 1069: (Low-level Functions): Clarify mpn_gcd overlap requirements, rewrite
! 1070: mpn_set_str description, add nails section.
! 1071: (C++ Interface General): Remove bool from types that mix with classes.
! 1072: (Language Bindings): Add STklos, GNU Smalltalk, Regina.
! 1073: (Binary to Radix, Radix to Binary): Describe new code.
! 1074: (Assembler Cache Handling): More notes, mostly by Torbjorn.
! 1075:
! 1076: * macos/configure (%vars): Remove __GMP from substitutions, per change
! 1077: to main configure.
! 1078:
! 1079: * mpn/generic/dive_1.c: Nailify.
! 1080: * mpn/generic/mode1o.c: Nailify, remove bogus ASSERT in commented-out
! 1081: alternate implementation.
! 1082: * gmp-impl.h (SUBC_LIMB): New macro.
! 1083:
! 1084: * tests/devel/try.c (validate_divexact_1): Correction to compare.
! 1085: (udiv_qrnnd): New testing.
! 1086: (SHIFT_LIMIT): Nailify.
! 1087: (-b): New option, remove spurious "H" from getopt string.
! 1088:
! 1089: * mpz/clrbit.c: Nailify.
! 1090: * tests/mpz/t-hamdist.c: Nailify.
! 1091: * gmp-impl.h (MPN_FIB2_SIZE): Nailify.
! 1092: (PP): Nailify conditionals.
! 1093: * tests/mpz/t-fib_ui.c (MPZ_FIB_SIZE_FLOAT): Nailify.
! 1094:
! 1095: * configure.in, acinclude.m4: Establish GMP_NAIL_BITS and
! 1096: GMP_LIMB_BITS for gmp-h.in configure tests.
! 1097:
! 1098: * mpfr/*, configure.in: Update to final mpfr 2.0.1.
! 1099: * mpfr/acinclude.m4 (MPFR_CONFIGS): Use $host, not uname stuff.
! 1100: * mpfr/tests/tout_str.c: Patch from Paul for denorm fprintf tests.
! 1101:
! 1102: 2002-04-15 Torbjorn Granlund <tege@swox.com>
! 1103:
! 1104: * mpn/generic/divrem_1.c (EXTRACT): Remove.
! 1105:
! 1106: * tests/mpz/t-tdiv_ui.c (dump_abort): Accept argument for error string.
! 1107:
! 1108: * mpz/rrandomb.c: Nailify. Needs further work.
! 1109:
! 1110: * mpn/generic/mod_1.c: Nailify.
! 1111:
! 1112: * gmp-impl.h: Set various *_THRESHOLD values to be used for nails to
! 1113: avoid not yet qualified algorithms.
! 1114: (MPZ_CHECK_FORMAT): Check that nail part is zero.
! 1115:
! 1116: * tests/mpz/t-mul.c (main): Test squaring even for huge operands.
! 1117: (base_mul): Nailify.
! 1118: (dump_abort): Accept argument for error string. Print product
! 1119: difference.
! 1120:
! 1121: * mpn/generic/set_str.c: Nailify.
! 1122:
! 1123: * gmp-h.in (__GMPN_ADD, __GMPN_SUB): Nailify.
! 1124:
! 1125: 2002-04-14 Torbjorn Granlund <tege@swox.com>
! 1126:
! 1127: * randraw.c (lc): Return non-nonsense return value for seed=0 case.
! 1128: Check for m2exp being non-zero early; remove all other tests of m2exp.
! 1129: Remove redundant MPN_ZERO call.
! 1130: Let mpn_rshift put result in place to avoid extra MPN_COPY.
! 1131: Remove confusing comment before function `lc' describing BBS algorithm.
! 1132: Misc simplification and cleanups.
! 1133: Nailify. Needs further work.
! 1134:
! 1135: * mpz/set_si.c: Nailify.
! 1136: * mpz/set_ui.c: Nailify.
! 1137: * mpz/mul_i.h: Nailify.
! 1138:
! 1139: * tests/mpz/t-mul_i.c: Actually test _ui routines. Add some more test
! 1140: values.
! 1141:
! 1142: * mpn/generic/mul_n.c: Finish nailifying toom3 code.
! 1143:
! 1144: 2002-04-13 Kevin Ryde <kevin@swox.se>
! 1145:
! 1146: * mpfr/*: Update to another new mpfr 2.0.1.
! 1147: * configure.in, Makefile.am, mpfr/Makefile.am, mpfr/tests/Makefile.am:
! 1148: Use MPFR_CONFIGS macro, establish separate MPFR_CFLAGS for mpfr build.
! 1149:
! 1150: * mpfr/tests/Makefile.am: Correction to convenience rule for libmpfr.a.
! 1151:
! 1152: 2002-04-11 Kevin Ryde <kevin@swox.se>
! 1153:
! 1154: * mpfr/set_q.c: gmp-impl.h before mpfr.h to avoid _PROTO redefine.
! 1155:
! 1156: * mpfr/*, configure.in: Update to new mpfr 2.0.1.
! 1157:
! 1158: * tests/refmpn.c (refmpn_udiv_qrnnd, refmpn_divmod_1c_workaround):
! 1159: Fixes for nails.
! 1160:
! 1161: * tests/t-constants.c (MODLIMB_INVERSE_3): Nailify tests.
! 1162: (MP_BASES_BIG_BASE_INVERTED_10, MP_BASES_NORMALIZATION_STEPS_10): Only
! 1163: check these under USE_PREINV_DIVREM_1.
! 1164: * tests/t-modlinv.c: Nailify tests.
! 1165:
! 1166: 2002-04-11 Gerardo Ballabio <gerardo.ballabio@unimib.it>
! 1167:
! 1168: * gmpxx.h: Remove bool combinations, remove mpf_class::get_str2, only
! 1169: need <iosfwd> now.
! 1170:
! 1171: 2002-04-11 Torbjorn Granlund <tege@swox.com>
! 1172:
! 1173: * mpn/generic/diveby3.c: Nailify.
! 1174: * gmp-impl.h (MODLIMB_INVERSE_3): Nailify.
! 1175:
! 1176: * mpn/generic/mul_n.c: Nailify Toom3 code.
! 1177:
! 1178: 2002-04-10 Kevin Ryde <kevin@swox.se>
! 1179:
! 1180: * gmp-impl.h (MPN_KARA_MUL_N_MINSIZE, MPN_KARA_SQR_N_MINSIZE): Set to
! 1181: 3, as needed by nails case.
! 1182:
! 1183: * mpn/generic/addmul_1.c, mpn/generic/submul_1.c [nails]: Fix vl
! 1184: assert, add rp,n and up,n asserts.
! 1185:
! 1186: * mpfr/Makefile.am: Add new mpfr-math.h, install mpf2mpfr.h.
! 1187:
! 1188: 2002-04-10 Torbjorn Granlund <tege@swox.com>
! 1189:
! 1190: * mpn/generic/divrem_1.c: Nailify. Update mp_size_t variables to use
! 1191: `n' suffix instead of `size' suffix.
! 1192: * mpn/generic/divrem_2.c: Likewise.
! 1193: * mpn/generic/sb_divrem_mn.c: Nailify.
! 1194: * mpn/generic/tdiv_qr.c: Nailify.
! 1195: (SHL): Remove silly macro.
! 1196:
! 1197: * mpn/generic/mul_n.c (mpn_kara_mul_n): Replace open-coded increment by
! 1198: mpn_incr_u call. Handle nails in ws[n] increment.
! 1199: * mpn/generic/mul_n.c (mpn_kara_sqr_n): Likewise.
! 1200:
! 1201: * gmp-h.in (GMP_NUMB_MASK): New #define.
! 1202: (__GMPN_AORS_1): Add version for nails.
! 1203:
! 1204: * gmp-impl.h (GMP_NUMB_MASK): Comment out, now in gmp.h.
! 1205: (mpn_incr_u): Don't assume `incr' is non-zero.
! 1206: (mpn_decr_u): Similarly.
! 1207:
! 1208: 2002-04-09 Kevin Ryde <kevin@swox.se>
! 1209:
! 1210: * mpfr/*, configure.in: Update to mpfr 2.0.1.
! 1211:
! 1212: * tests/refmpn.c (refmpn_mul_1c, lshift_make): Corrections for nails.
! 1213: * tssts/refmpn.c, tests/tests.h (refmpn_cmp_allowzero): New function.
! 1214:
! 1215: * mpn/generic/mul_1.c [nails]: Fix vl assert, add {up,n} assert.
! 1216:
! 1217: * mpn/pa32/hppa1_1/pa7100/addmul_1.asm,
! 1218: mpn/pa32/hppa1_1/pa7100/submul_1.asm: Rename "size" define, to avoid
! 1219: ELF .size directive. Reported by LaMont Jones.
! 1220:
! 1221: * tests/mpz/t-set_si.c: Add nails support.
! 1222:
! 1223: 2002-04-05 Torbjorn Granlund <tege@swox.com>
! 1224:
! 1225: * gmp-impl.h: Replace nail mpn_incr_u, mpn_decr_u with faster versions.
! 1226: (mp_bases[10] values): Check GMP_NUMB_BITS instead of BITS_PER_MP_LIMB.
! 1227: Add GMP_NUMB_BITS == 30 version.
! 1228: (__gmp_doprnt, etc): Remove parameter names.
! 1229:
! 1230: * mpn/generic/mul_n.c: Nailify Karatsuba code.
! 1231: * mpn/generic/get_str.c: Nailify.
! 1232: * mpn/generic/sqr_basecase.c: Nailify.
! 1233: * mpn/generic/lshift.c: Nailify.
! 1234: * mpn/generic/rshift.c: Likewise.
! 1235: * mpn/generic/add_n.c: Nailify. Revamp non-nail code.
! 1236: * mpn/generic/sub_n.c: Likewise.
! 1237: * mpn/generic/mul_1.c: Likewise.
! 1238: * mpn/generic/addmul_1.c: Likewise.
! 1239: * mpn/generic/submul_1.c: Likewise.
! 1240:
! 1241: 2002-04-02 Kevin Ryde <kevin@swox.se>
! 1242:
! 1243: * gmp-impl.h (BSWAP_LIMB_FETCH, BSWAP_LIMB_STORE) [powerpc]:
! 1244: Corrections to constraints, and restrict to bigendian.
! 1245:
! 1246: 2002-03-31 Kevin Ryde <kevin@swox.se>
! 1247:
! 1248: * tests/mpz/dive.c: Better diagnostics.
! 1249:
! 1250: * tests/devel/try.c (mpn_get_str, mpn_umul_ppmm_r): New tests.
! 1251:
! 1252: * tests/misc.c, tests/tests.h (byte_diff_lowest, byte_diff_highest):
! 1253: New functions.
! 1254:
! 1255: * tests/t-bswap.c: New file.
! 1256: * tests/Makefile.am (check_PROGRAMS): Add it.
! 1257:
! 1258: * tests/mpn/t-aors_1.c, tests/mpn/t-iord_u.c: Add nails support.
! 1259:
! 1260: * gmp-impl.h (MPN_IORD_U) [x86]: Eliminate unnecessary jiord and iord,
! 1261: rename "n" to incr per generic versions, restrict to nails==0.
! 1262: (mpn_incr_u, mpn_decr_u): Add nails support.
! 1263: (GMP_NAIL_LOWBIT, GMP_NUMB_MAX): New macros.
! 1264:
! 1265: * tests/trace.c, tests/tests.h (byte_trace, byte_tracen): New
! 1266: functions.
! 1267: * tests/trace.c: Handle NULL operands.
! 1268:
! 1269: * tests/refmpn.c, tests/devel/try.c, tune/speed.c: Add preliminary
! 1270: nail support.
! 1271:
! 1272: * tests/refmpn.c, test/tests.h (byte_overlap_p, refmpn_equal_anynail,
! 1273: refmpn_umul_ppmm_r, refmpn_udiv_qrnnd_r, refmpn_get_str,
! 1274: refmpn_bswap_limb, refmpn_random, refmpn_random2, refmpn_bswap_limb):
! 1275: New functions.
! 1276:
! 1277: * gmp-impl.h, tests/refmpn.c (ASSERT_LIMB): Renamed from
! 1278: ASSERT_MP_LIMB_T.
! 1279:
! 1280: * mpn/x86/*/*.asm, mpn/powerpc32/*/*.asm, mpn/powerpc64/*/*.asm: Put
! 1281: speeds after the copyright notice, so as to keep that clear.
! 1282:
! 1283: 2002-03-29 Kevin Ryde <kevin@swox.se>
! 1284:
! 1285: * configure.in (powerpc*-*-aix*): Correction to xlc -qarch selection,
! 1286: for 32-bit mode.
! 1287:
! 1288: 2002-03-28 Torbjorn Granlund <tege@swox.com>
! 1289:
! 1290: * mpn: Fix spacing in many files.
! 1291:
! 1292: * mpn/generic/aorsmul_1.c: Split into addmul_1.c and submul_1.c.
! 1293: * mpn/generic/aors_n.c: Split into add_n.c and sub_n.c.
! 1294:
! 1295: * mpn/pa64/add_n.asm: Trim another 0.125 cycle/limb. Fix a comment.
! 1296: * mpn/pa64/sub_n.asm: Likewise.
! 1297:
! 1298: * mpn/pa64/mul_1.asm: Change comclr, comb to proper forms cmpclr, cmpb.
! 1299: * mpn/pa64/addmul_1.asm: Likewise.
! 1300: * mpn/pa64/submul_1.asm: Likewise.
! 1301:
! 1302: 2002-03-28 Kevin Ryde <kevin@swox.se>
! 1303:
! 1304: * gmp.texi (Converting Integers): Fix type of exp in mpz_get_d_2exp,
! 1305: reported by epl@unimelb.edu.au.
! 1306: (References): Update Burnikel and Ziegler URL, reported by Keith
! 1307: Briggs.
! 1308:
! 1309: * gmp-h.in, mp-h.in, configure.in, acinclude.m4: Remove __GMP from
! 1310: AC_SUBSTs, since autoconf says leading "_" in makefile variables is
! 1311: not portable.
! 1312:
! 1313: * demos/expr/run-expr.c: Declare optarg, optind, opterr if necessary.
! 1314: * configure.in, demos/expr/expr-config-h.in: Configs for this.
! 1315:
! 1316: 2002-03-27 Torbjorn Granlund <tege@swox.com>
! 1317:
! 1318: * mpn/Makefile.am (TARG_DIST): Remove pa64w and hppa, add pa32.
! 1319:
! 1320: * configure.in (path_20w): Remove pa64w.
! 1321:
! 1322: * mpn/pa64/udiv_qrnnd.asm: Tweak for PA8000 performance comparative to
! 1323: that on PA8500.
! 1324:
! 1325: 2002-03-26 Torbjorn Granlund <tege@swox.com>
! 1326:
! 1327: * mpn/pa32: New name for mpn/hppa.
! 1328: * configure.in: Corresponding changes.
! 1329:
! 1330: * mpn/pa64/umul_ppmm.asm: New file, generalized for both 2.0N and 2.0W.
! 1331: * mpn/pa64/umul_ppmm.S: Remove.
! 1332:
! 1333: * mpn/pa64/udiv_qrnnd.asm: Generalize for both 2.0N and 2.0W.
! 1334: * mpn/pa64w/udiv_qrnnd.asm: Remove.
! 1335:
! 1336: 2002-03-26 Kevin Ryde <kevin@swox.se>
! 1337:
! 1338: * mpfr/tests/tdiv.c, mpfr/tests/tui_div.c: Don't depend on nan and inf
! 1339: handling in "double", for the benefit of alpha.
! 1340:
! 1341: * configure (hppa2.0w): Set path to "pa64w pa64".
! 1342:
! 1343: * acinclude.m4, configure.in (GMP_C_INLINE): New macro.
! 1344: * acinclude.m4 (GMP_H_EXTERN_INLINE): Use it, and fix "yes" handling.
! 1345:
! 1346: 2002-03-25 Torbjorn Granlund <tege@swox.com>
! 1347:
! 1348: * mpn/pa64w/add_n.s: Remove.
! 1349: * mpn/pa64w/sub_n.s: Remove.
! 1350: * mpn/pa64w/lshift.s: Remove.
! 1351: * mpn/pa64w/rshift.s: Remove.
! 1352: * mpn/pa64w/mul_1.S: Remove.
! 1353: * mpn/pa64w/addmul_1.S: Remove.
! 1354: * mpn/pa64w/submul_1.S: Remove.
! 1355: * mpn/pa64w/sqr_diagonal.asm: Remove.
! 1356:
! 1357: * mpn/pa64/mul_1.asm: New file with twice faster code; generalized
! 1358: for both 2.0N and 2.0W.
! 1359: * mpn/pa64/submul_1.asm: Likewise.
! 1360: * mpn/pa64/mul_1.S: Remove.
! 1361: * mpn/pa64/submul_1.S: Remove.
! 1362:
! 1363: * mpn/pa64/sqr_diagonal.asm: Generalize for both 2.0N and 2.0W.
! 1364:
! 1365: * mpn/pa64/add_n.asm: New file, generalized for both 2.0N and 2.0W.
! 1366: * mpn/pa64/sub_n.asm: Likewise.
! 1367: * mpn/pa64/lshift.asm: Likewise.
! 1368: * mpn/pa64/rshift.asm: Likewise.
! 1369: * mpn/pa64/add_n.s: Remove.
! 1370: * mpn/pa64/sub_n.s: Remove.
! 1371: * mpn/pa64/lshift.s: Remove.
! 1372: * mpn/pa64/rshift.s: Remove.
! 1373:
! 1374: 2002-03-24 Kevin Ryde <kevin@swox.se>
! 1375:
! 1376: * gmp-impl.h (BSWAP_LIMB_FETCH, BSWAP_LIMB_STORE): New macros.
! 1377: * mpz/inp_raw.c, mpz/out_raw.c: Use them.
! 1378: * acconfig.h (HAVE_HOST_CPU): Add some powerpc types.
! 1379:
! 1380: * mpn/powerpc32/750/com_n.asm: New file.
! 1381:
! 1382: * mpfr/tests/tout_str.c: Disable random tests, since they fail on
! 1383: alphaev56-unknown-freebsd4.1 and do nothing by default.
! 1384:
! 1385: * mpfr/tests/tsqrt.c: Don't depend on nan, inf or -0 in "double", for
! 1386: the benefit of alpha.
! 1387: * mpfr/sqrt.c: Clear nan flag on -0.
! 1388:
! 1389: * demos/factorize.c: Use mpn_random() instead of random(), to avoid
! 1390: portability problems.
! 1391:
! 1392: * demos/isprime.c (print_usage_and_exit): Declare as "void" to avoid
! 1393: warnings.
! 1394:
! 1395: * demos/pexpr.c (setup_error_handler): Corrections to sigstack code.
! 1396:
! 1397: * demos/calc/calc.y: Add some `;'s to make bison 1.34 happy.
! 1398:
! 1399: 2002-03-23 Torbjorn Granlund <tege@swox.com>
! 1400:
! 1401: * mpn/pa64/addmul_1.asm: New file with twice faster code; generalized
! 1402: for both 2.0N and 2.0W.
! 1403:
! 1404: 2002-03-22 Kevin Ryde <kevin@swox.se>
! 1405:
! 1406: * tune/time.c: Add SGI hardware counter measuring method, change some
! 1407: abort()s into ASSERT_FAIL()s.
! 1408:
! 1409: * configure.in (AC_CHECK_HEADERS): Add fcntl.h and sys/syssgi.h.
! 1410: (AC_CHECK_FUNCS): Add syssgi.
! 1411:
! 1412: * configure.in, mpfr/Makefile.am, mpfr/tests/Makefile.am: Use
! 1413: -mieee-with-inexact or -ieee_with_inexact for mpfr on alpha, so
! 1414: denorms work.
! 1415:
! 1416: * mpfr/isinteger.c: Fix a memory leak.
! 1417:
! 1418: 2002-03-21 Torbjorn Granlund <tege@swox.com>
! 1419:
! 1420: * tune/speed.c (struct choice_t): Make `r' an mp_limb_t.
! 1421:
! 1422: 2002-03-21 Kevin Ryde <kevin@swox.se>
! 1423:
! 1424: * configure.in (HAVE_LIMB_BIG_ENDIAN, HAVE_LIMB_LITTLE_ENDIAN): Use an
! 1425: AH_VERBATIM and better explanation.
! 1426: * acinclude.m4 (GMP_C_DOUBLE_FORMAT): Similarly for the HAVE_DOUBLE
! 1427: constants.
! 1428:
! 1429: * gmp.texi (Number Theoretic Functions): Clarify sign of GCD returned
! 1430: by mpz_gcdext.
! 1431:
! 1432: * demos/pexpr.c, demos/pexpr-config-h.in, configure.in: Use an
! 1433: autoconf test for stack_t.
! 1434:
! 1435: * configure.in, gmp-h.in, mp-h.in, macos/configure, tests/mpz/reuse.c,
! 1436: tests/mpf/reuse.c: Use __GMP_LIBGMP_DLL to enable windows declspec,
! 1437: don't require _WIN32 (etc), remove __GMP_LIBGMP_SHARED and
! 1438: __GMP_LIBGMP_STATIC.
! 1439:
! 1440: * gmp-impl.h (mp_bases): Add __GMP_DECLSPEC, for the benefit of
! 1441: tests/t-constants.c.
! 1442:
! 1443: * tune/many.pl, tune/speed.h: Remove suffix hack for back.asm.
! 1444:
! 1445: 2002-03-21 Paul Zimmermann <Paul.Zimmermann@loria.fr>
! 1446:
! 1447: * mpfr/sin_cos.c (mpfr_sin_cos): New file.
! 1448: * mpfr/mpfr.h, mpfr/mpfr.texi, mpfr/Makefile.am: Add it.
! 1449: * mpfr/tan.c: Fix sign in 2nd and 4th quadrants.
! 1450:
! 1451: * mpfr/log10.c: Fix hangs on certain inputs.
! 1452:
! 1453: 2002-03-20 Torbjorn Granlund <tege@swox.com>
! 1454:
! 1455: * demos/pexpr.c (setup_error_handler): Declare `s', the first
! 1456: sigaltstack parameter, using `stack_t' just on AIX.
! 1457:
! 1458: 2002-03-19 Torbjorn Granlund <tege@swox.com>
! 1459:
! 1460: * mpn/powerpc32/mul_1.asm: Use free caller-saves registers instead
! 1461: of the callee-saves r30 and r31.
! 1462:
! 1463: 2002-03-19 Kevin Ryde <kevin@swox.se>
! 1464:
! 1465: * tune/freq.c (freq_proc_cpuinfo): Recognise powerpc "clock", where
! 1466: previously got the wrong result from "bogomips".
! 1467:
! 1468: * mpn/powerpc32/add_n.asm, mpn/powerpc32/sub_n.asm: Rewrite, faster on
! 1469: 750, and smaller too.
! 1470: * mpn/powerpc32/*.asm: Use L(), add some measured speeds.
! 1471:
! 1472: * longlong.h (count_trailing_zeros) [vax]: Add a version using ffs,
! 1473: but commented out.
! 1474:
! 1475: 2002-03-17 Kevin Ryde <kevin@swox.se>
! 1476:
! 1477: * tune/speed.c, tune/speed.h, tune/common.c, many.pl: Use optional
! 1478: ".r" to specify operand overlaps for mpn_add_n, mpn_sub_n and logops.
! 1479: Remove mpn_add_n_inplace and mpn_add_n_self.
! 1480: * tune/many.pl: Fix MULFUNC_PROLOGUE parsing.
! 1481:
! 1482: * gmp.texi (Known Build Problems): Note `make' problem with long
! 1483: libgmp.la dependencies list.
! 1484:
! 1485: * printf/doprnt.c, scanf/doscan.c (%zn): Remove test of non-existant
! 1486: HAVE_SIZE_T, just use size_t unconditionally.
! 1487: * printf/doprnt.c (%zd etc): Fix 'z' type parsing.
! 1488: * tests/misc/t-printf.c, tests/misc/t-scanf.c: More tests.
! 1489:
! 1490: * configure.in: Use AC_COPYRIGHT.
! 1491: Add m4_pattern_allow(GMP_MPARAM_H_SUGGEST).
! 1492:
! 1493: * tune/Makefile.am (libdummy.la): Remove this, sqr_basecase.c already
! 1494: gets an ansi2knr rule from nodist_tuneup_SOURCES.
! 1495:
! 1496: * longlong.h (count_leading_zeros) [pentiumpro gcc<3]: Test
! 1497: HAVE_HOST_CPU_i686 too.
! 1498:
! 1499: * mpz/out_raw.c (HTON_LIMB_STORE): Fix a typo in big endian #if.
! 1500:
! 1501: 2002-03-14 Kevin Ryde <kevin@swox.se>
! 1502:
! 1503: * mpn/x86/pentium/com_n.asm, mpn/x86/pentium/logops_n.asm,
! 1504: mpn/x86/k6/mmx/com_n.asm: Add nails support.
! 1505:
! 1506: * texinfo.tex: Update to 2002-03-01.06 (per texinfo 4.1).
! 1507: * gmp.texi (@ma): Remove, @math does this now.
! 1508:
! 1509: * mpfr/tests/reuse.c: Clear op1 and op2 flags only in their respective
! 1510: outer loops.
! 1511:
! 1512: * configure.in (--enable-cxx): Correction to the default stated in the
! 1513: help string.
! 1514: (power*-*-aix*, not powerpc): Use aix.m4, don't run
! 1515: GMP_ASM_POWERPC_R_REGISTERS or use powerpc-defs.m4.
! 1516:
! 1517: 2002-03-13 Torbjorn Granlund <tege@swox.com>
! 1518:
! 1519: * mpn/sparc32/gmp-mparam.h: New file.
! 1520:
! 1521: 2002-03-13 Kevin Ryde <kevin@swox.se>
! 1522:
! 1523: * demos/expr/exprfr.c: More mpfr functions, corrections to agm, cos,
! 1524: sin, rename log2 constant to loge2 to make room for log2 function.
! 1525: * demos/expr/t-expr.c: More tests.
! 1526:
! 1527: * mpz/inp_raw.c (NTOH_LIMB_FETCH) [generic 16bit]: Remove spurious "+".
! 1528:
! 1529: * mpfr/acos.c: Avoid a memory leak for certain operands.
! 1530:
! 1531: * acinclude.m4, configure.in (GMP_C_DOUBLE_FORMAT): New macro.
! 1532:
! 1533: * acinclude.m4 (GMP_HPC_HPPA_2_0, GMP_ASM_UNDERSCORE,
! 1534: GMP_ASM_ALIGN_LOG, GMP_ASM_LSYM_PREFIX, GMP_ASM_W32, GMP_ASM_X86_MMX):
! 1535: Change ac_objext to OBJEXT, which is the documented variable.
! 1536:
! 1537: * config.guess (powerpc*-*-*): Use #ifdef on constants POWER_630 etc
! 1538: in the AIX test, since old versions don't have them all.
! 1539:
! 1540: 2002-03-11 Kevin Ryde <kevin@swox.se>
! 1541:
! 1542: * configure.in (LIBC211): New AC_DEFINE, for mpfr.
! 1543:
! 1544: * configure.in (mips*-*-*): Support ABI=o32 on irix 6, allow gcc 2.7.2
! 1545: to fall back on it, but detect it doesn't work with gcc 2.95. Use
! 1546: single mips-defs.m4 for both mips32 and mips64.
! 1547: * acinclude.m4 (GMP_GCC_MIPS_O32): New macro.
! 1548: * mpn/mips32/mips-defs.m4: Renamed from mips.m4.
! 1549: * mpn/mips64/mips.m4: Remove (was a copy of mips32/mips.m4).
! 1550:
! 1551: * mpn/powerpc32/750: New directory.
! 1552: * configure.in (powerpc740, powerpc750, powerpc7400): Use it.
! 1553: * mpn/powerpc32/750/gmp-mparam.h: New file.
! 1554:
! 1555: * config.sub, gmp.texi (ultrasparc1): Remove this, just use plain
! 1556: "ultrasparc".
! 1557:
! 1558: 2002-03-10 Kevin Ryde <kevin@swox.se>
! 1559:
! 1560: * mpfr: Update to 20020301, except internal_ceil_exp2.c,
! 1561: internal_ceil_log2.c, internal_floor_log2.c renamed to i_ceil_exp2.c,
! 1562: i_ceil_log2.c, i_floor_log2.c to be unique in DOS 8.3. And sqrtrem.c
! 1563: removed since no longer required.
! 1564: * mpfr/mpfr.texi: Fix some formatting.
! 1565: * mpfr/tests/reuse.c: Patch by Paul to fix test4 variable handling.
! 1566: * mpfr/sinh.c: Patch by Paul to fix err calculation when t==0.
! 1567: * mpfr/tests/tget_d.c: Disable until portability of rnd_mode.c can be
! 1568: sorted out.
! 1569:
! 1570: * configure.in (powerpc*-*-*): Separate gcc and xlc cpu flags setups
! 1571: for clarity.
! 1572:
! 1573: * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]: New
! 1574: macros.
! 1575:
! 1576: 2002-03-07 Kevin Ryde <kevin@swox.se>
! 1577:
! 1578: * gmp.texi (Build Options): Note all the ultrasparcs accepted.
! 1579: (Language Bindings): Add Math::BigInt::GMP.
! 1580:
! 1581: * config.sub (ultrasparc2i): New cpu type.
! 1582: * config.guess (sparc-*-*, sparc64-*-*): Add some exact CPU detection.
! 1583:
! 1584: 2002-03-05 Kevin Ryde <kevin@swox.se>
! 1585:
! 1586: * longlong.h (count_leading_zeros, count_trailing_zeros) [alphaev67,
! 1587: alphaev68]: Use ctlz and cttz insns (as per gcc longlong.h).
! 1588: (count_leading_zeros) [sparclite]: Fix parameter order (as per gcc
! 1589: longlong.h).
! 1590: * acconfig.h (HAVE_HOST_CPU_alphaev68): New define.
! 1591:
! 1592: * config.guess [i?86-*-*]: Suppress error messages if compiler not
! 1593: found or test program won't run.
! 1594: [rs6000-*-*, powerpc-*-*]: Force code alignment for mfpvr test.
! 1595:
! 1596: 2002-03-04 Torbjorn Granlund <tege@swox.com>
! 1597:
! 1598: * mpn/generic/pow_1.c: New file.
! 1599:
! 1600: 2002-03-03 Kevin Ryde <kevin@swox.se>
! 1601:
! 1602: * gmp.texi (Build Options): Note compiler must be able to fully link,
! 1603: add alphapca57 and alphaev68, give a clearer example of MPN_PATH
! 1604: (Debugging): Add notes on valgrind.
! 1605: (C++ Formatted Output): Clarify mpf showbase handling, in particular
! 1606: note "00.4" in octal.
! 1607:
! 1608: * printf/doprntf.c: Do a showbase on octal float fractions, for
! 1609: instance "00.4" where previously it gave "0.4".
! 1610: * tests/cxx/t-ostream.cc: Update.
! 1611:
! 1612: * gmp-h.in, mp-h.in (__GMP_DECLSPEC, __GMP_DECLSPEC_XX): Test
! 1613: __WIN32__ for Borland C, reported by "delta trinity".
! 1614:
! 1615: * gmp-h.in, mp-h.in: Use <cstddef> for size_t under C++, suggested by
! 1616: Hans Aberg some time ago.
! 1617: * gmp-h.in (<iosfwd>): Move to top of file for clarity.
! 1618:
! 1619: * Makefile.am (libgmpxx_la_SOURCES): Use dummy.cc to force C++.
! 1620: (CXX_OBJECTS): Add osfuns$U.lo.
! 1621: * dummy.cc: New file.
! 1622: * cxx/Makefile.am (INCLUDES): Use __GMP_WITHIN_GMPXX.
! 1623: (libcxx_la_SOURCES): Add osfuns.cc.
! 1624: * gmp-h.in (__GMP_DECLSPEC_XX): New define, use it on libgmpxx funs.
! 1625: * gmp-impl.h: Add __GMP_DECLSPEC to libgmp functions used by libgmpxx.
! 1626:
! 1627: * longlong.h (COUNT_TRAILING_ZEROS_TIME): Remove, no longer used.
! 1628:
! 1629: * gmp-impl.h (MPN_SIZEINBASE, MPN_SIZEINBASE_16): Correction to
! 1630: __totbits for nails.
! 1631:
! 1632: * gmp-impl.h (JACOBI_LS0): Test size before limb, to pacify valgrind.
! 1633: (JACOBI_0LS): Ditto, and fix parens around arguments.
! 1634:
! 1635: * mpn/x86/x86-defs.m4 (call_mcount): Add a counter to make data labels
! 1636: unique, since simplified L() scheme no longer gives that effect.
! 1637: (notl_or_xorl_GMP_NUMB_MASK): New macro.
! 1638: Add m4_assert_numargs in a few places.
! 1639:
! 1640: * configure.in (*sparc*): Fix cycle counter setups for ABI=64.
! 1641:
! 1642: 2002-02-28 Torbjorn Granlund <tege@swox.com>
! 1643:
! 1644: * mpn/vax/gmp-mparam.h: New file.
! 1645:
! 1646: 2002-02-28 Kevin Ryde <kevin@swox.se>
! 1647:
! 1648: * gmp-h.in (gmp_errno, gmp_version): Move into extern "C" block,
! 1649: reported by librik@panix.com.
! 1650:
! 1651: * gmp-h.in, mp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT):
! 1652: Use __declspec(dllexport) and __declspec(dllimport) on Borland.
! 1653: * gmp-h.in (_GMP_H_HAVE_FILE): Test __STDIO_H for Borland.
! 1654: Reported by "delta trinity".
! 1655:
! 1656: * gmp-impl.h (va_copy): Fall back on memcpy, not "=".
! 1657:
! 1658: * mpn/generic/pre_mod_1.c: Add a comment about obsolescence.
! 1659:
! 1660: * tune/time.c (MICROSECONDS_P): Don't trust time differences of 1
! 1661: microsecond.
! 1662:
! 1663: * tests/cxx/t-ostream.cc: Use "const char *" not just "char *" for
! 1664: test data strings, avoids warnings on Sun CC.
! 1665:
! 1666: 2002-02-27 Torbjorn Granlund <tege@swox.com>
! 1667:
! 1668: * configure.in: For sparc under solaris2.[7-9], pass -fsimple=1 to
! 1669: disable some crazy -fast optimizations.
! 1670:
! 1671: 2002-02-25 Torbjorn Granlund <tege@swox.com>
! 1672:
! 1673: * configure.in: For sparc under solaris2.[7-9], pass -fns=no to enable
! 1674: denorm handling under -fast.
! 1675:
! 1676: 2002-02-25 Kevin Ryde <kevin@swox.se>
! 1677:
! 1678: * configure.in (alpha*-*-*): Rearrange -mcpu selection for gcc,
! 1679: provide an ev67 -> ev6 fallback. Fix -arch,-tune selection for DEC C.
! 1680: Allow ~ for space in optional options lists.
! 1681:
! 1682: * tune/tuneup.c (tune_preinv_divrem_1): Compare against an assembler
! 1683: mpn_divrem_1 if it exists, not the generic C mpn_divrem_1_div.
! 1684: (tune_preinv_mod_1): Ditto with mpn_mod_1.
! 1685:
! 1686: * tune/time.c (DIFF_SECS_ROUTINE): Eliminate the unused "type"
! 1687: parameter, try to make the code a bit clearer.
! 1688:
! 1689: * tune/freq.c: Reduce the period measured for cycles versus
! 1690: gettimeofday, add cycles versus microsecond getrusage.
! 1691:
! 1692: * mpz/array_init.c: "i" should be mp_size_t, noticed by E. Khong.
! 1693:
! 1694: 2002-02-24 Torbjorn Granlund <tege@swox.com>
! 1695:
! 1696: * configure.in: For sparc under solaris2.[7-9], pass -fast instead of
! 1697: other optimization options.
! 1698:
! 1699: 2002-02-23 Kevin Ryde <kevin@swox.se>
! 1700:
! 1701: * mpn/asm-defs.m4 (GMP_NUMB_MASK): New macro.
! 1702: (PROLOGUE, EPILOGUE): Relax quoting for the benefit of tune/many.pl
! 1703: when GSYM_PREFIX non-empty.
! 1704:
! 1705: * tune/time.c, tune/speed.h (speed_time_init): Include clock tick
! 1706: period in speed_time_string.
! 1707: * tune/time.c, configure.in (clock_gettime): New measuring method.
! 1708:
! 1709: * tune/many.pl: Add -DHAVE_NATIVE_mpn_foo to C objects, to avoid
! 1710: conflicts with a macro version in gmp-impl.h, eg. mpn_com_n.
! 1711:
! 1712: 2002-02-22 Torbjorn Granlund <tege@swox.com>
! 1713:
! 1714: * demos/pexpr.c: Increase RLIMIT_STACK to 4Mibyte.
! 1715:
! 1716: 2002-02-22 Kevin Ryde <kevin@swox.se>
! 1717:
! 1718: * tune/tuneup.c: Don't confuse gcc with mipspro cc in diagnostic.
! 1719:
! 1720: 2002-02-20 Torbjorn Granlund <tege@swox.com>
! 1721:
! 1722: * configure.in (mips*-*-irix[6789]*]): Set `extra_functions_n32', not
! 1723: `extra_functions'.
! 1724:
! 1725: * printf/doprnt.c: Conditionally include inttypes.h.
! 1726: * printf/repl-vsnprintf.c: Likewise.
! 1727: * scanf/doscan.c: Likewise.
! 1728:
! 1729: 2002-02-20 Kevin Ryde <kevin@swox.se>
! 1730:
! 1731: * mpn/x86/k7/mmx/com_n.asm: New file.
! 1732:
! 1733: * mpz/n_pow_ui.c (SWAP_RP_TP): Use ASSERT_CODE on ralloc and talloc,
! 1734: to ensure they needn't live past the initial allocs in a normal build.
! 1735:
! 1736: * mpn/generic/mod_34lsub1.c: Note this is for internal use.
! 1737:
! 1738: 2002-02-19 Torbjorn Granlund <tege@swox.com>
! 1739:
! 1740: * Clean up *_THRESHOLD names. Many files affected.
! 1741:
! 1742: * mpn/mips32: Asm-ify 32-bit mips code.
! 1743: Move files from `mips2' to `mips32' directory.
! 1744: * mpn/mips64: Move files from `mips3' to `mips64' directory.
! 1745: * configure.in: Change `mips2' => `mips32' and `mips3' => `mips64'.
! 1746:
! 1747: 2002-02-19 Kevin Ryde <kevin@swox.se>
! 1748:
! 1749: * acinclude.m4, configure.in (GMP_PROG_LEX): New macro.
! 1750:
! 1751: * tune/tuneup.c (one): Start next threshold at a max of previous ones,
! 1752: in order to get a good starting point for TOOM3_SQR_THRESHOLD if
! 1753: KARATSUBA_SQR_THRESHOLD is 0 (ie. using mpn_mul_basecase only).
! 1754:
! 1755: * configure.in, tune/tuneup.c (GMP_MPARAM_H_SUGGEST): New AC_DEFINE
! 1756: replacing GMP_MPARAM_H_FILENAME. Suggest a new file in a cpu specific
! 1757: subdirectory rather than mpn/generic.
! 1758:
! 1759: * acinclude.m4 (POWERPC64_PATTERN): New macro.
! 1760: * configure.in (powerpc*-*-*): Use it.
! 1761: (powerpc*-*-*): Use umul in 32L and aix64.
! 1762: (mips*-*-*): Use umul, 32 and 64 bit versions.
! 1763:
! 1764: 2002-02-18 Torbjorn Granlund <tege@swox.com>
! 1765:
! 1766: * longlong.h: Add basic x86-64 support.
! 1767:
! 1768: 2002-02-17 Torbjorn Granlund <tege@swox.com>
! 1769:
! 1770: * demos/pexpr.c: Support `-X' for upper case hex, make `-x' output
! 1771: lower case hex.
! 1772:
! 1773: * mpn/mips2/umul.s: Make it actually work.
! 1774: * mpn/mips3/umul.asm: New file.
! 1775:
! 1776: * mpn/mips2/gmp-mparam.h: New file.
! 1777:
! 1778: 2002-02-16 Torbjorn Granlund <tege@swox.com>
! 1779:
! 1780: * mpn/generic/get_str.c (mpn_sb_get_str): Round frac upwards after
! 1781: umul_ppmm calls.
! 1782:
! 1783: 2002-02-16 Kevin Ryde <kevin@swox.se>
! 1784:
! 1785: * config.guess (alpha-*-*): Do alpha exact cpu probes on any system,
! 1786: and only if configfsf.guess gives a plain "alpha".
! 1787:
! 1788: * acinclude.m4 (GMP_PROG_CC_WORKS): Detect a gcc 3.0.3 powerpc64
! 1789: linker invocation problem.
! 1790:
! 1791: 2002-02-15 Torbjorn Granlund <tege@swox.com>
! 1792:
! 1793: * mpn/generic/get_str.c (mpn_sb_get_str): For base 10, develop initial
! 1794: digits using umul_ppmm, then switch to plain multiplication.
! 1795:
! 1796: * config.guess: Rewrite Alpha subtype detection code for *bsd systems.
! 1797:
! 1798: 2002-02-15 Kevin Ryde <kevin@swox.se>
! 1799:
! 1800: * gmp.texi (Build Options): Note powerpc exact cpu types.
! 1801: (Debugging): Advertise DEBUG in memory.c.
! 1802:
! 1803: * config.sub, config.guess: Add some powerpc exact cpus.
! 1804: * configure.in: Add configs for them.
! 1805:
! 1806: * memory.c [__NeXT__]: Remove unused #define of "static".
! 1807: (__gmp_default_allocate, __gmp_default_reallocate): Print size if
! 1808: allocation fails, don't use perror.
! 1809:
! 1810: * gmp-h.in: g++ 3 demands __GMP_NOTHROW is before other attributes.
! 1811:
! 1812: 2002-02-14 Torbjorn Granlund <tege@swox.com>
! 1813:
! 1814: * mpn/alpha/mul_1.asm: Fix typo preventing build on T3E systems.
! 1815:
! 1816: 2002-02-14 Kevin Ryde <kevin@swox.se>
! 1817:
! 1818: * tune/tuneup.c (tune_set_str): Increase max_size, for the benefit of
! 1819: alpha.
! 1820:
! 1821: * macos/README: Bug reports to bug-gmp@gnu.org, clarify MacOS X a bit.
! 1822:
! 1823: * mpn/generic/gcdext.c [WANT_GCDEXT_ONE_STEP]: Add missing TMP_FREE.
! 1824:
! 1825: * tune/speed.c, tune/tuneup.c: Allow for speed_cycletime of 0.0 in
! 1826: some diagnostic printouts.
! 1827: * tune/time.c (speed_cycletime): Note can be 0.0.
! 1828:
! 1829: 2002-02-12 Torbjorn Granlund <tege@swox.com>
! 1830:
! 1831: * mpn/alpha/mul_1.asm: Add mpn_mul_1c entry.
! 1832:
! 1833: * mpn/pa64w/sqr_diagonal.asm: Use L() for labels.
! 1834:
! 1835: 2002-02-11 Torbjorn Granlund <tege@swox.com>
! 1836:
! 1837: * mpn/generic/get_str.c (mpn_sb_get_str): Change declaration of rp to
! 1838: accommodate tuneup compiles.
! 1839:
! 1840: 2002-02-11 Kevin Ryde <kevin@swox.se>
! 1841:
! 1842: * mpn/alpha/default.m4, mpn/alpha/unicos.m4 (PROLOGUE_cpu): Add
! 1843: noalign option.
! 1844: * mpn/alpha/default.m4 (PROLOGUE_cpu): use ALIGN instead of ".align".
! 1845:
! 1846: * gmp.texi (Debugging): Notes on Checker.
! 1847: (Other Multiplication): Move note on float FFTs to here.
! 1848: (Assembler Floating Point): New text and revisions by Torbjorn,
! 1849: picture formatting by me.
! 1850: Simplify tex pictures elsewhere a bit, share heights, eliminate some
! 1851: gaps at line joins.
! 1852:
! 1853: 2002-02-11 Torbjorn Granlund <tege@swox.com>
! 1854:
! 1855: * mpn/generic/get_str.c (mpn_sb_get_str): Rewrite to generate fraction
! 1856: limbs and use multiplication for digit development. Trim allocation of
! 1857: buf. Get rid of code for !USE_MULTILIMB.
! 1858:
! 1859: 2002-02-10 Torbjorn Granlund <tege@swox.com>
! 1860:
! 1861: * mpn/generic/set_str.c (mpn_set_str): Undo this:
! 1862: Change invocations of mpn_add_1 to instead use mpn_incr_u.
! 1863:
! 1864: * tests/mpz/convert.c: Free str only after it is used in error message.
! 1865:
! 1866: * mpn/generic/get_str.c (mpn_sb_get_str): Combine tail code for base 10
! 1867: and generic bases.
! 1868:
! 1869: * mpn/mp_bases.c: Add entries for base 256. Remove __ prefix from
! 1870: table name.
! 1871: * gmp-impl.h (__mp_bases): Remove superflous `mp_' part of name, making
! 1872: it __gmpn_bases instead of __gmpn_mp_bases.
! 1873: (mp_bases): New #define.
! 1874: * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Allow bases up to 256.
! 1875: (SPEED_ROUTINE_MPN_GET_STR): Likewise.
! 1876:
! 1877: 2002-02-09 Torbjorn Granlund <tege@swox.com>
! 1878:
! 1879: * mpn/generic/set_str.c (mpn_set_str): Use mpn_mul_1c if available.
! 1880: Change invocations of mpn_add_1 to instead use mpn_incr_u.
! 1881:
! 1882: 2002-02-09 Kevin Ryde <kevin@swox.se>
! 1883:
! 1884: * mpz/array_init.c, mpz/cfdiv_q_2exp.c, mpz/cfdiv_r_2exp.c,
! 1885: mpz/cong_2exp.c, mpz/divis_2exp.c, mpz/hamdist.c, mpz/init2.c,
! 1886: mpz/mul_2exp.c, mpz/realloc2.c, mpz/scan0.c, mpz/scan1.c,
! 1887: mpz/setbit.c, mpz/tdiv_q_2exp.c, mpz/tdiv_r_2exp.c, mpz/tstbit.c,
! 1888: mpz/urandomb.c: Use GMP_NUMB_BITS.
! 1889:
! 1890: * mpz/iset_str.c [__CHECKER__]: Store a dummy value to the low limb to
! 1891: stop it appearing uninitialized.
! 1892:
! 1893: * gmp-h.in (__GMP_NOTHROW): New macro.
! 1894: (mp_set_memory_functions, mpz_cmp, mpz_cmp_si, mpz_cmp_ui, mpz_cmpabs,
! 1895: mpz_cmpabs_ui, mpz_congruent_2exp_p, mpz_divisible_2exp_p,
! 1896: mpz_fits_sint_p, mpz_fits_slong_p, mpz_fits_sshort_p, mpz_fits_uint_p,
! 1897: mpz_fits_ulong_p, mpz_fits_ushort_p, mpz_get_si, mpz_get_ui,
! 1898: mpz_getlimbn, mpz_hamdist, mpz_popcount, mpz_scan0, mpz_scan1,
! 1899: mpz_size, mpz_sizeinbase, mpz_swap, mpz_tstbit, mpq_equal, mpq_swap,
! 1900: mpf_cmp, mpf_cmp_si, mpf_cmp_ui, mpf_fits_sint_p, mpf_fits_slong_p,
! 1901: mpf_fits_sshort_p, mpf_fits_uint_p, mpf_fits_ulong_p,
! 1902: mpf_fits_ushort_p, mpf_get_default_prec, mpf_get_prec, mpf_get_si,
! 1903: mpf_get_ui, mpf_integer_p, mpf_set_default_prec, mpf_set_prec_raw,
! 1904: mpf_size, mpf_swap, mpn_add_1, mpn_cmp, mpn_hamdist, mpn_popcount,
! 1905: mpn_sub_1): Use it.
! 1906:
! 1907: * gmp-impl.h (MPN_SIZEINBASE, MPN_SIZEINBASE_16): New macros from
! 1908: mpn_sizeinbase, and use GMP_NUMB_BITS.
! 1909: * mpz/get_str.c, mpz/sizeinbase.c, mpbsd/mout.c, tune/speed.h: Use
! 1910: MPN_SIZEINBASE.
! 1911: * mpbsd/mtox.c: Use MPN_SIZEINBASE_16.
! 1912:
! 1913: * configure.in, mpn/Makefile.am, gmp-impl.h (mpn_sizeinbase): Remove.
! 1914: * mpn/generic/sizeinbase.c: Remove file.
! 1915:
! 1916: * gmp-impl.h (MPN_GET_STR_SIZE): Remove.
! 1917: * tests/mpn/t-g_str_size.c: Remove file.
! 1918: * tests/mpn/Makefile.am: Update.
! 1919:
! 1920: * Makefile.am (dist-hook): Don't distribute cvs merge ".#" files.
! 1921:
! 1922: 2002-02-08 Torbjorn Granlund <tege@swox.com>
! 1923:
! 1924: * configure.in: Override extra_functions for all sparcv8 systems, not
! 1925: just supersparc.
! 1926:
! 1927: 2002-02-06 Kevin Ryde <kevin@swox.se>
! 1928:
! 1929: * tune/tuneup.c (tune_mul, tune_sqr): Disable FFTs until tuned.
! 1930: * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Fix memory clobber in
! 1931: destination cache priming.
! 1932:
! 1933: * printf/doprnt.c: Fix parsing of %s and %p conversions.
! 1934: * tests/misc/t-printf.c (check_misc): Add some tests.
! 1935:
! 1936: 2002-02-03 Torbjorn Granlund <tege@swox.com>
! 1937:
! 1938: * mpn/sparc32/v8/udiv.asm: New file, from v8/supersparc.
! 1939:
! 1940: * mpn/generic/set_str.c: Rename indigits_per_limb => chars_per_limb.
! 1941: Remove redundant chars_per_limb. Reverse 4 loops in basecase code for
! 1942: speed. Use MP_BASES_CHARS_PER_LIMB_10.
! 1943:
! 1944: 2002-02-03 Kevin Ryde <kevin@swox.se>
! 1945:
! 1946: * acinclude.m4 (GMP_PROG_NM): Ensure -B or -p get used when doing a
! 1947: cross compile with the native nm, helps OSF for instance.
! 1948: (GMP_ASM_LSYM_PREFIX): Remove ".byte 0" for the benefit of irix 6,
! 1949: allow "N" from nm for OSF, allow for "t" for other systems, but prefer
! 1950: no mention of the symbol at all.
! 1951:
! 1952: * tune/tuneup.c (print_define_remark): New function.
! 1953: Turn some "#if"s into plain "if"s.
! 1954:
! 1955: * tune/tuneup.c, gmp-impl.h, tune/Makefile.am
! 1956: (GET_STR_BASECASE_THRESHOLD, GET_STR_PRECOMPUTE_THRESHOLD): Tune these.
! 1957: * mpn/generic/get_str.c [TUNE_PROGRAM_BUILD]: Cope with non-constant
! 1958: GET_STR_PRECOMPUTE_THRESHOLD.
! 1959:
! 1960: 2002-02-02 Torbjorn Granlund <tege@swox.com>
! 1961:
! 1962: * mpn/generic/get_str.c (mpn_get_str): Fix typo in a declaration.
! 1963:
! 1964: 2002-02-02 Kevin Ryde <kevin@swox.se>
! 1965:
! 1966: * mpn/generic/set_str.c: Use MP_PTR_SWAP and POW2_P, add __GMP_PROTO
! 1967: to convert_blocks prototype, disable SET_STR_BLOCK_SIZE sanity check.
! 1968:
! 1969: * tune/set_strb.c, tune/set_strs.c: New files.
! 1970: * tune/speed.h, tune/speed.c, tune/common.c,tune/Makefile.am: Add them.
! 1971: * tune/tuneup.c: Tune SET_STR_THRESHOLD.
! 1972: (DEFAULT_MAX_SIZE): Renamed from MAX_SIZE, allow any param.max_size[].
! 1973:
! 1974: 2002-02-01 Torbjorn Granlund <tege@swox.com>
! 1975:
! 1976: * tests/mpz/convert.c: Increase operand size. Add (yet disabled) code
! 1977: for testing with random strings.
! 1978:
! 1979: * mpn/generic/get_str.c (mpn_get_str): Rewrite to become sub-quadratic.
! 1980: (mpn_dc_get_str, mpn_sb_get_str): New functions.
! 1981:
! 1982: 2002-01-31 Kevin Ryde <kevin@swox.se>
! 1983:
! 1984: * gmpxx.h (cmp): Renamed from "compare".
! 1985:
! 1986: * configure.in (AC_C_BIGENDIAN): Don't abort when cross compiling.
! 1987: (PROLOGUE): Allow new style optional second parameter when grepping.
! 1988:
! 1989: * acinclude.m4 (GMP_HPC_HPPA_2_0, GMP_ASM_UNDERSCORE,
! 1990: GMP_ASM_ALIGN_LOG, GMP_ASM_LSYM_PREFIX, GMP_ASM_W32, GMP_ASM_X86_MMX):
! 1991: Use $ac_objext for object filenames.
! 1992: (GMP_ASM_UNDERSCORE): Use CCAS to assemble.
! 1993:
! 1994: * demos/pexpr-config-h.in: New file.
! 1995: * configure.in: Generate demos/pexpr-config.h.
! 1996: (AC_CHECK_FUNCS): Add clock, cputime, setrlimit, sigaction,
! 1997: sigaltstack, sigstack.
! 1998: * acinclude.m4 (GMP_SUBST_CHECK_FUNCS, GMP_SUBST_CHECK_HEADERS): New
! 1999: macros.
! 2000: * demos/pexpr.c: Use pexpr-config.h, not various #ifdefs.
! 2001: (setup_error_handler): Use signal if sigaction not available, allow
! 2002: for SIGBUS missing on mingw.
! 2003: (main): Use time() for random seed if gettimeofday not available.
! 2004: (cleanup_and_exit): Move SIGFPE out of LIMIT_RESOURCE_USAGE.
! 2005:
! 2006: 2002-01-30 Torbjorn Granlund <tege@swox.com>
! 2007:
! 2008: * mpn/generic/set_str.c: Rewrite to become sub-quadratic.
! 2009: (convert_blocks): New function.
! 2010:
! 2011: 2002-01-30 Kevin Ryde <kevin@swox.se>
! 2012:
! 2013: * gmp-impl.h (GMP_NUMB_MASK, GMP_NAIL_MASK, GMP_NUMB_HIGHBIT,
! 2014: ASSERT_MPN, ASSERT_MP_LIMB_T): New macros.
! 2015:
! 2016: * mpn/generic/fib2_ui.c: Use GMP_NUMB_BITS, simplify the data
! 2017: generator program, share __gmp_fib_table initializers between bit
! 2018: sizes, cope with bit sizes other than those specifically setup.
! 2019: * gmp-impl.h (FIB_TABLE_LIMIT, FIB_TABLE_LUCNUM_LIMIT): Corresponding
! 2020: rearrangement of conditionals.
! 2021: * tests/mpz/t-fib_ui.c (check_fib_table): New test.
! 2022:
! 2023: 2002-01-28 Kevin Ryde <kevin@swox.se>
! 2024:
! 2025: * mpz/set_si.c, mpz/iset_si.c: Store to _mp_d[0] unconditionally, use
! 2026: an expression for _mp_size.
! 2027:
! 2028: * mpz/init.c, mpz/init2.c, mpz/iset.c, mpq/init.c [__CHECKER__]: Store
! 2029: dummy values to low limbs to stop them appearing uninitialized.
! 2030:
! 2031: 2002-01-26 Kevin Ryde <kevin@swox.se>
! 2032:
! 2033: * mpfr/mpfr-test.h (MAX, MIN, ABS): Use instead a patch from Paul and
! 2034: Vincent.
! 2035:
! 2036: 2002-01-24 Kevin Ryde <kevin@swox.se>
! 2037:
! 2038: * configure.in: Extra quoting to get argument help messages right.
! 2039:
! 2040: * gmp.texi (Efficiency): Suggest hex or octal for input and output.
! 2041: (Formatted Output Strings): Mention "*" for width and precision.
! 2042:
! 2043: * mpn/generic/sizeinbase.c: New file, adapted from mpz/sizeinbase.c.
! 2044: Use POW2_P, use __mp_bases[base].big_base for log2(base).
! 2045: * configure.in, mpn/Makefile.am: Add it.
! 2046: * gmp-impl.h: Add prototype.
! 2047: * mpz/sizeinbase.c, tune/speed.h, mpn/generic/get_str.c,
! 2048: mpz/get_str.c, mpbsd/mout.c, mpbsd/mtox.c: Use it.
! 2049: * mpz/get_str.c: Write directly to user buffer, skip at most one
! 2050: leading zero, eliminate special case for x==0.
! 2051: * mpbsd/mtox.c: Allocate exact result space at the start, eliminate
! 2052: special case for x==0.
! 2053: * mpbsd/mout.c: Only need to skip one high zero with mpn_sizeinbase.
! 2054:
! 2055: * configure.in (--enable-nails): New option.
! 2056: (GMP_NAIL_BITS, GMP_LIMB_BITS, GMP_NUMB_BITS): New defines for gmp.h
! 2057: and config.m4.
! 2058: * gmp-h.in: Add templates.
! 2059:
! 2060: * mpfr/mpfr-test.h (MAX, MIN, ABS): Use #ifndef to avoid a redefine
! 2061: error on AIX xlc.
! 2062:
! 2063: 2002-01-23 Torbjorn Granlund <tege@swox.com>
! 2064:
! 2065: * mpn/generic/get_str.c: Correct type of `out_len'.
! 2066:
! 2067: 2002-01-22 Kevin Ryde <kevin@swox.se>
! 2068:
! 2069: * mpn/generic/pre_divrem_1.c: Corrections to some ASSERTs.
! 2070:
! 2071: * mpfr/mul_ui.c: Don't call mpn_lshift with 0 shift.
! 2072:
! 2073: * mpfr/mpz_set_fr.c: Produce correct mpz_t for f==0.
! 2074:
! 2075: 2002-01-21 Torbjorn Granlund <tege@swox.com>
! 2076:
! 2077: * longlong.h (32-bit powerpc add_ssaaaa): Remove spurious commutative
! 2078: declaration.
! 2079: (64-bit powerpc add_ssaaaa): Likewise.
! 2080:
! 2081: 2002-01-20 Kevin Ryde <kevin@swox.se>
! 2082:
! 2083: * acinclude.m4 (GMP_FUNC_VSNPRINTF): Use %n to better detect sparc
! 2084: solaris 2.7 problems.
! 2085:
! 2086: 2002-01-19 Torbjorn Granlund <tege@swox.com>
! 2087:
! 2088: * demos/pexpr.c (mpz_eval_expr): Optimize s^rhs for -1 <= s <= 1.
! 2089: (cleanup_and_exit): Improve error message wording.
! 2090:
! 2091: 2002-01-19 Kevin Ryde <kevin@swox.se>
! 2092:
! 2093: * mpfr/mpfr.h (_PROTO): Use __GMP_PROTO, for compatibility with
! 2094: gmp-impl.h.
! 2095:
! 2096: 2002-01-17 Torbjorn Granlund <tege@swox.com>
! 2097:
! 2098: * mpfr/mpfr-test.h: Test "__hpux", not "hpux". Mask off mrand48
! 2099: return value to 31 bits to work around sloppy mpfr #include practices.
! 2100:
! 2101: * mpfr/tests/*.c: Use #include "", not <>, for gmp.h and mpfr.h.
! 2102: Make sure to #include mpfr-test.h from all files that use random().
! 2103:
! 2104: 2002-01-17 Kevin Ryde <kevin@swox.se>
! 2105:
! 2106: * gmp-impl.h (__GMP_REALLOCATE_FUNC_MAYBE_TYPE): New macro.
! 2107: * gmp-impl.h, mpz/get_str.c, mpz/out_raw.c, mpq/get_str.c,
! 2108: mpq/set_str.c, mpf/get_str.c, printf/asprntffuns.c, printf/doprnt.c,
! 2109: printf/repl-vsnprintf.c, printf/snprntffuns.c, scanf/doscan.c,
! 2110: mpbsd/mtox.c: Some fixes to compile as C++.
! 2111:
! 2112: * mpn/generic/jacbase.c (JACOBI_BASE_METHOD): New tuned parameter,
! 2113: replacing COUNT_TRAILING_ZEROS_TIME test. Add a third method too.
! 2114: * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Add
! 2115: measuring of mpn_jacobi_base methods.
! 2116: * tune/jacbase1.c, tune/jacbase2.c, tune/jacbase3.c: New files.
! 2117: * tune/tuneup.c (JACOBI_BASE_METHOD): Tune this.
! 2118: * mpn/x86/*/gmp-mparam.h (COUNT_TRAILING_ZEROS_TIME): Remove macro.
! 2119:
! 2120: * gmp-h.in: Use __gmp prefix on variables in inlines.
! 2121:
! 2122: * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Remove __i, unused.
! 2123:
! 2124: * mpn/generic/mul_fft.c: Use HAVE_NATIVE_mpn_addsub_n, not ADDSUB.
! 2125: Use CNST_LIMB for some constants.
! 2126:
! 2127: 2002-01-15 Kevin Ryde <kevin@swox.se>
! 2128:
! 2129: * tests/mpbsd/Makefile.am: Add a convenience rule for ../libtests.la.
! 2130:
! 2131: * printf/Makefile.am: libdummy.la should be in EXTRA_LTLIBRARIES.
! 2132:
! 2133: * mpf/out_str.c: Use MPF_SIGNIFICANT_DIGITS, so mpf_out_str and
! 2134: mpf_get_str give the same for ndigits==0.
! 2135:
! 2136: * mpfr/exceptions.c (mpfr_set_emin, mpfr_set_emax): Work around a
! 2137: powerpc64 gcc 3.0 -O2 bug.
! 2138:
! 2139: * tests/memory.c, tests/tests.h (tests_memory_validate): New function.
! 2140:
! 2141: 2002-01-14 Kevin Ryde <kevin@swox.se>
! 2142:
! 2143: * mpn/generic/sb_divrem_mn.c, mpn/generic/divrem_1.c,
! 2144: mpn/generic/divrem_2.c, mpn/generic/mod_1.c: Don't use UMUL_TIME and
! 2145: UDIV_TIME, just default to preinv.
! 2146: * gmp-impl.h (USE_PREINV_DIVREM_1, USE_PREINV_MOD_1): Ditto.
! 2147: (DIVEXACT_1_THRESHOLD, MODEXACT_1_ODD_THRESHOLD): Don't use UMUL_TIME
! 2148: and UDIV_TIME, make default thresholds 0.
! 2149: (UDIV_NORM_PREINV_TIME, UDIV_UNNORM_PREINV_TIME): Remove macros.
! 2150: * mpn/x86/*/gmp-mparam.h (UMUL_TIME, UDIV_TIME,
! 2151: UDIV_NORM_PREINV_TIME): Remove macros.
! 2152:
! 2153: * gmp.texi (Headers and Libraries): New section, being the header
! 2154: notes from "GMP Basics" and some new stuff.
! 2155: (Parameter Conventions): Notes on "const" parameters.
! 2156: (Formatted Output Strings): Add type N, tweak some wording.
! 2157:
! 2158: * tests/refmpn.c (refmpn_divmod_1c): Avoid a bug in i386 gcc 3.0.
! 2159:
! 2160: 2002-01-12 Kevin Ryde <kevin@swox.se>
! 2161:
! 2162: * mpz/root.c: Add <stdlib.h>, for abort().
! 2163:
! 2164: * mpfr/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
! 2165: * mpfr/mpfr.h, mpfr/mpfr-tests.h, reuse.c, tadd.c, tadd_ui.c, tagm.c,
! 2166: tatan.c, tcmp2.c, tcos.c, tdiv.c, tdiv_ui.c, teq.c, texp.c,
! 2167: tget_str.c, thyperbolic.c, tlog.c, tmul.c, tout_str.c, tpow.c,
! 2168: trandom.c, tset_z.c, tsin.c, tsqrt.c, tsqrt_ui.c, tsub_ui.c, ttan.c,
! 2169: tui_div.c: Fixes for K&R.
! 2170:
! 2171: * tests/misc/t-scanf.c (check_misc, check_misc):
! 2172:
! 2173: * tests/mpz/t-inp_str.c, tests/mpq/t-inp_str.c, tests/misc/t-scanf.c:
! 2174: Avoid strings in ASSERT, not enjoyed by K&R.
! 2175: * gmp-impl.h (ASSERT): Note this.
! 2176:
! 2177: * tests/tests.h (refmpn_mod_34lsub1): Add __GMP_PROTO.
! 2178:
! 2179: * mpbsd/Makefile.am: Avoid an automake problem with ansi2knr and
! 2180: sources in a different directory.
! 2181:
! 2182: * printf/repl-vsnprintf.c: Test HAVE_LONG_DOUBLE for long double.
! 2183:
! 2184: * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add mod_34lsub1.c,
! 2185: mul_2.c, pre_divrem_1.c.
! 2186:
! 2187: * gmp-h.in, gmp-impl.h (mpn_add_nc, mpn_addmul_1c, mpn_addsub_n,
! 2188: mpn_addsub_nc, mpn_divrem_1c, mpn_dump, mpn_mod_1c, mpn_mul_1c,
! 2189: mpn_mul_basecase, mpn_sqr_n, mpn_sqr_basecase, mpn_sub_nc,
! 2190: mpn_submul_1c): Move to gmp-impl.h, since they're undocumented.
! 2191:
! 2192: * gmp-impl.h (mpn_reciprocal): Remove, unused.
! 2193:
! 2194: * tune/many.pl (cntlz, cnttz): Use new SPEED_ROUTINE_COUNT_ZEROS.
! 2195:
! 2196: 2002-01-11 Kevin Ryde <kevin@swox.se>
! 2197:
! 2198: * mpn/hppa/*.asm, mpn/pa64/*.asm, mpn/pa64w/*.asm: Use L().
! 2199:
! 2200: 2002-01-08 Kevin Ryde <kevin@swox.se>
! 2201:
! 2202: * mpn/asm-defs.m4 (PROLOGUE, EPILOGUE): New scheme, optional function
! 2203: name to EPILOGUE, check for missing or wrong function name EPILOGUE.
! 2204: * mpn/alpha/unicos.m4, mpn/alpha/default.m4, mpn/m68k/m68k-defs.m4,
! 2205: mpn/mips3/mips.m4, mpn/ia64/default.m4, mpn/powerpc32/aix.m4,
! 2206: mpn/powerpc64/aix.m4, mpn/x86/x86-defs.m4: Consequent updates, add a
! 2207: few more asserts.
! 2208: * mpn/alpha/unicos.m4, mpn/alpha/default.m4, mpn/alpha/cntlz.asm,
! 2209: mpn/alpha/invert_limb.asm (PROLOGUE_GP): Change to an optional "gp"
! 2210: parameter on plain PROLOGUE.
! 2211:
! 2212: * gmp.texi (Low-level Functions): mpn_get_str doesn't clobber an extra
! 2213: limb, and doesn't clobber at all for power of 2 bases.
! 2214: (Language Bindings): Add python gmpy.
! 2215:
! 2216: * mpz/get_str.c: Determine realloc size arithmetically.
! 2217:
! 2218: * mpbsd/mtox.c: Size memory block returned to actual space needed.
! 2219: * gmp.texi (BSD Compatible Functions): Describe this.
! 2220:
! 2221: * mpz/get_str.c: Don't copy mpn_get_str input for power of 2 bases.
! 2222: * mpbsd/mtox.c: Ditto, and as a side effect avoid a memory leak from a
! 2223: missing TMP_FREE.
! 2224:
! 2225: * mpz/get_str.c, mpbsd/mout.c: No longer need for +1 limb for
! 2226: mpn_get_str clobber.
! 2227:
! 2228: * gmp-impl.h (MPN_GET_STR_SIZE): New macro.
! 2229: * mpn/generic/get_str.c, mpz/get_str.c, mpbsd/mout.c, mpbsd/mtox.c,
! 2230: tune/speed.h: Use it.
! 2231: * tests/mpn/t-g_str_size.c: New test.
! 2232: * tests/mpn/Makefile.am: Add it.
! 2233:
! 2234: * gmp-impl.h (POW2_P): New macro.
! 2235: * mpn/generic/get_str.c, tests/misc.c: Use it.
! 2236:
! 2237: * printf/doprnt.c: Add "N" for mpn, share some code between N, Q and Z.
! 2238: * tests/misc/t-printf.c: Add tests.
! 2239: * gmp-impl.h (ASSERT_CODE): New macro.
! 2240:
! 2241: * tests/mpbsd/t-mtox.c: New test.
! 2242: * tests/mpbsd/Makefile.am: Add it.
! 2243: (allfuns_LDADD): Don't link against libgmp when testing everything in
! 2244: libmp can link.
! 2245:
! 2246: 2002-01-07 Torbjorn Granlund <tege@swox.com>
! 2247:
! 2248: * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Rewrite generic versions.
! 2249:
! 2250: 2002-01-06 Kevin Ryde <kevin@swox.se>
! 2251:
! 2252: * mpn/generic/pre_divrem_1.c: Don't support size==0.
! 2253: * tests/devel/try.c: Update.
! 2254:
! 2255: * mpn/generic/get_str.c: Add special case for base==10.
! 2256: * gmp-impl.h (MP_BASES_CHARS_PER_LIMB_10, MP_BASES_BIG_BASE_10,
! 2257: MP_BASES_BIG_BASE_INVERTED_10, MP_BASES_NORMALIZATION_STEPS_10): New
! 2258: constants.
! 2259: * tests/t-constants.c: Add checks.
! 2260: * mpn/mp_bases.c [GENERATE_TABLE]: Print defines for gmp-impl.h, print
! 2261: all standard bits-per-limb by default.
! 2262:
! 2263: * demos/pexpr.c, demos/expr/expr.h, demos/expr/expr-impl.h: Use
! 2264: __GMP_PROTO.
! 2265:
! 2266: * gmp-h.in (mpn_divexact_by3c): Remove variables from prototype, to
! 2267: keep out of application namespace.
! 2268:
! 2269: 2002-01-04 Torbjorn Granlund <tege@swox.com>
! 2270:
! 2271: * gmp-impl.h: Move _PROTO declaration to before its first usages.
! 2272:
! 2273: 2002-01-04 Kevin Ryde <kevin@swox.se>
! 2274:
! 2275: * gmp-h.in, mp-h.in, tests/tests.h: Rename _PROTO to __GMP_PROTO, and
! 2276: don't use #ifndef just define it ourselves.
! 2277: * gmp-impl.h: Provide _PROTO as an alias for __GMP_PROTO, to avoid big
! 2278: edits internally, for the moment.
! 2279:
! 2280: 2002-01-03 Torbjorn Granlund <tege@swox.com>
! 2281:
! 2282: * tune/speed.c (usage): Insert "\n\" into a string.
! 2283:
! 2284: 2001-12-30 Torbjorn Granlund <tege@swox.com>
! 2285:
! 2286: * mpn/pa64/udiv_qrnnd.c: Remove file.
! 2287: * mpn/pa64w/udiv_qrnnd.c: Remove file.
! 2288:
! 2289: * gmp-impl.h (MPN_IORD_U): Change formatting (labels in pos 0, insns
! 2290: indented by tab).
! 2291: (MPN_INCR_U): Use "addl $1,foo; jc", not "incl foo; jz".
! 2292:
! 2293: * gmp-impl.h (udiv_qrnnd_preinv): Use plain subtract, not sub_ddmmss,
! 2294: in one more case.
! 2295:
! 2296: 2001-12-30 Kevin Ryde <kevin@swox.se>
! 2297:
! 2298: * mpn/generic/get_str.c (udiv_qrnd_unnorm): New macro.
! 2299: Use "do while" for dig_per_u loop since it's non-zero.
! 2300: * acconfig.h (HAVE_HOST_CPU_m68k etc): Add templates.
! 2301:
! 2302: * mpn/generic/mul_basecase.c, mpz/mul.c, mpz/n_pow_ui.c,
! 2303: mpn/x86/pentium/mul_2.asm, tests/devel/try.c, tests/tests.h,
! 2304: tests/refmpn.c, tune/speed.c, tune/speed.h, tune/common.c,
! 2305: tune/many.pl (mpn_mul_2): New parameter style.
! 2306: * gmp-impl.h (mpn_mul_2): Add prototype.
! 2307: * configure.in (gmp_mpn_functions_optional): Add mul_2.
! 2308:
! 2309: * longlong.h (__vxworks__): Remove from powerpc tests, not correct,
! 2310: not on its own at least.
! 2311:
! 2312: * tune/speed.c: Add "aas" to specify 0xAA..AA data.
! 2313:
! 2314: * tune/tuneup.c (print_define_end): Indicate "never" and "always".
! 2315:
! 2316: 2001-12-29 Torbjorn Granlund <tege@swox.com>
! 2317:
! 2318: * mpq/set_d.c: ANSI-fy.
! 2319: * mpz/invert.c: Use PTR and SIZ (cosmetic change).
! 2320:
! 2321: * mpz/cong.c: Rename `xor' to `sign' to avoid C++ reserved word.
! 2322:
! 2323: 2001-12-28 Torbjorn Granlund <tege@swox.com>
! 2324:
! 2325: * mpn/sparc64/sqr_diagonal.asm: New file.
! 2326:
! 2327: 2001-12-28 Kevin Ryde <kevin@swox.se>
! 2328:
! 2329: * mpn/generic/get_str.c: Avoid one mpn_divrem_1 by running main loop
! 2330: only until msize==1.
! 2331:
! 2332: * tune/tuneup.c: Break up all() for clarity.
! 2333: (USE_PREINV_DIVREM_1, USE_PREINV_MOD_1): Compare against plain
! 2334: division udiv_qrnnd, not the tuned and possibly preinv version.
! 2335:
! 2336: * tune/freq.c: Split sysctl and sysctlbyname probes into separate
! 2337: functions, shorten some identifiers, put descriptions inside
! 2338: functions, define functions unconditionally and do nothing if
! 2339: requisites not available.
! 2340:
! 2341: * mpz/inp_raw.c: Avoid a gcc 3.0 powerpc64 bug on AIX.
! 2342:
! 2343: * acinclude.m4, configure.in (GMP_C_RESTRICT): New macro.
! 2344:
! 2345: * mpfr/sin.c: Patch from Paul to fix sign of sin(3pi/2).
! 2346:
! 2347: * demos/calc/calc.y: Improve some error messages.
! 2348:
! 2349: 2001-12-28 Torbjorn Granlund <tege@swox.com>
! 2350:
! 2351: * mpn/sparc64/mul_1.asm: Rename r72 -> r80.
! 2352: * mpn/sparc64/addmul_1.asm: Likewise.
! 2353:
! 2354: 2001-12-27 Torbjorn Granlund <tege@swox.com>
! 2355:
! 2356: * mpn/generic/tdiv_qr.c: Misc formatting cleanups.
! 2357: For switch case 2, replace `dn' with its value (2).
! 2358:
! 2359: 2001-12-25 Torbjorn Granlund <tege@swox.com>
! 2360:
! 2361: * tests/devel/mul_1.c: Add FIXED_XLIMB.
! 2362: * tests/devel/addmul_1.c: Likewise.
! 2363: * tests/devel/submul_1.c: Likewise.
! 2364:
! 2365: * tests/devel/add_n.c: Improve error message.
! 2366: Accept command line argument for # of tests.
! 2367: * tests/devel/sub_n.c: Likewise.
! 2368:
! 2369: * tests/devel/: Remove CLOCK settings.
! 2370:
! 2371: * mpn/sparc32/v9/mul_1.asm: Rewrite.
! 2372: * mpn/sparc32/v9/addmul_1.asm: Rewrite.
! 2373: * mpn/sparc32/v9/submul_1.asm: Rewrite.
! 2374:
! 2375: 2001-12-24 Torbjorn Granlund <tege@swox.com>
! 2376:
! 2377: * mpn/sparc64/mul_1.asm: Get rid of global constant 0.0 (L(noll)).
! 2378: * mpn/sparc64/addmul_1.asm: Likewise.
! 2379:
! 2380: 2001-12-23 Torbjorn Granlund <tege@swox.com>
! 2381:
! 2382: * mpn/generic/get_str.c: Move final ASSERT to just before zero fill
! 2383: loop.
! 2384:
! 2385: 2001-12-22 Torbjorn Granlund <tege@swox.com>
! 2386:
! 2387: * mpn/generic/get_str.c: Move ASSERTs out of loops. Split digit
! 2388: generation code into two loops, saving a test of msize in the loop.
! 2389:
! 2390: 2001-12-22 Kevin Ryde <kevin@swox.se>
! 2391:
! 2392: * mpn/x86/x86-defs.m4, mpn/x86/*/*.asm: Remove L / LF scheme putting
! 2393: function name in local labels.
! 2394:
! 2395: * mpn/generic/get_str.c: Use mpn_preinv_divrem_1, add a couple of
! 2396: ASSERTs.
! 2397:
! 2398: * mpn/generic/pre_divrem_1.c: New file.
! 2399: * configure.in (gmp_mpn_functions): Add it.
! 2400: * gmp-impl.h (mpn_preinv_divrem_1): Add prototype.
! 2401: (USE_PREINV_DIVREM_1, MPN_DIVREM_OR_PREINV_DIVREM_1): New macros.
! 2402: * tests/devel/try.c, tune/speed.c, tune/speed.h, tune/common.c,
! 2403: tune/many.pl, tune/Makefile.am (mpn_preinv_divrem_1): Add testing and
! 2404: measuring.
! 2405: * tune/tuneup.c: Determine USE_PREINV_DIVREM_1.
! 2406: * tune/pre_divrem_1.c: New file.
! 2407: * tests/refmpn.c, tests/tests.h (refmpn_preinv_divrem_1): New function.
! 2408:
! 2409: * tests/mpz/t-io_raw.c: New file.
! 2410: * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
! 2411:
! 2412: * mpz/inp_raw.c, mpz/out_raw.c: Rewrite.
! 2413: * acinclude.m4, configure.in (AC_C_BIGENDIAN): New test.
! 2414: * gmp-impl.h (BSWAP_LIMB): New macro.
! 2415:
! 2416: * acinclude.m4 (GMP_PROG_CC_WORKS): For a native compile, demand
! 2417: executables will run, per AC_PROG_CC. This detects ABI=64 is unusable
! 2418: in a native sparc solaris 7 build with the kernel in 32-bit mode.
! 2419: * gmp.texi (ABI and ISA): Add notes on this, add an example configure
! 2420: setting an ABI.
! 2421:
! 2422: * tune/tuneup.c, configure.in: Print the gmp-mparam.h filename.
! 2423: * tune/tuneup.c: Print the CPU frequency.
! 2424:
! 2425: * tune/time.c, tune/speed.h: Add s390 "stck" method, flatten
! 2426: conditionals in speed_time_init a bit, use have_* variables to let
! 2427: some code go dead in speed_starttime and speed_endtime.
! 2428:
! 2429: * tune/freq.c (speed_cpu_frequency_irix_hinv): New function.
! 2430:
! 2431: * Makefile.am, configure.in: Restore mpfr.
! 2432:
! 2433: * configure.in: Add --with-readline, AC_PROG_YACC and AM_PROG_LEX.
! 2434: * demos/calc/calc.y, demos/calc/calclex.l: Add readline support, add
! 2435: lucnum function.
! 2436: * demos/calc/Makefile.am: Add calcread.c, calc-common.h, use $(YACC),
! 2437: $(LEX) and $(LEXLIB).
! 2438: * demos/calc/calcread.c, demos/calc/calc-common.h,
! 2439: demos/calc/calc-config-h.in, demos/calc/README: New files.
! 2440:
! 2441: * configure.in: Put demos/expr configs in expr-config.h.
! 2442: * demos/expr/expr-config-h.in: New file.
! 2443: * demos/expr/expr-impl.h: Renamed from expr-impl-h.in, get configs
! 2444: from expr-config.h.
! 2445: * demos/expr/Makefile.am: Update.
! 2446:
! 2447: * demos/expr/exprfr.c: Use mpfr_sin and mpfr_cos, remove some spurious
! 2448: returns.
! 2449:
! 2450: 2001-12-20 Torbjorn Granlund <tege@swox.com>
! 2451:
! 2452: * mpn/sparc64/mul_1.asm: Trim an instruction.
! 2453: * mpn/sparc64/addmul_1.asm: Likewise.
! 2454:
! 2455: * mpn/ia64/add_n.asm: Rewrite.
! 2456: * mpn/ia64/sub_n.asm: Rewrite.
! 2457:
! 2458: 2001-12-19 Torbjorn Granlund <tege@swox.com>
! 2459:
! 2460: * mpn/ia64/mul_1.asm: Rewrite.
! 2461: * mpn/ia64/addmul_1.asm: Rewrite.
! 2462: * mpn/ia64/submul_1.c: Use TMP_ALLOC_LIMBS.
! 2463:
! 2464: * tests/devel/mul_1.c: Improve error message.
! 2465: Accept command line argument for # of tests.
! 2466: * tests/devel/addmul_1.c: Likewise.
! 2467: * tests/devel/submul_1.c: Likewise.
! 2468:
! 2469: 2001-12-18 Torbjorn Granlund <tege@swox.com>
! 2470:
! 2471: * mpn/mips3/mul_1.asm: Add NOPs to save a cycle on R1x000.
! 2472:
! 2473: 2001-12-18 Kevin Ryde <kevin@swox.se>
! 2474:
! 2475: * gmpxx.h (gmp_randclass): Don't allow copy constructors or "=",
! 2476: implementation by Gerardo.
! 2477:
! 2478: * gmp-h.in (operator<<, operator>>): Remove parameter names from
! 2479: prototypes, to keep out of user namespace.
! 2480:
! 2481: * acinclude.m4 (GMP_FUNC_VSNPRINTF): Let the test program work as C++.
! 2482:
! 2483: 2001-12-16 Torbjorn Granlund <tege@swox.com>
! 2484:
! 2485: * mpn/sparc64/mul_1.asm: Rewrite.
! 2486: * mpn/sparc64/addmul_1.asm: Rewrite.
! 2487: * mpn/sparc64/submul_1.asm: Rewrite.
! 2488:
! 2489: * mpn/sparc64/addmul1h.asm: Remove.
! 2490: * mpn/sparc64/submul1h.asm: Remove.
! 2491: * mpn/sparc64/mul1h.asm: Remove.
! 2492:
! 2493: 2001-12-15 Kevin Ryde <kevin@swox.se>
! 2494:
! 2495: * gmp-h.in (mpn_add, mpn_add_1, mpn_cmp, mpn_sub, mpn_sub_1): Follow
! 2496: __GMP_INLINE_PROTOTYPES for whether to give prototype with inline.
! 2497:
! 2498: * configure.in (i686*-*-*, pentiumpro-*-*, pentium[23]-*-*,
! 2499: athlon-*-*, pentium4-*-*): Fall back on -march=pentium if
! 2500: -march=pentiumpro or higher is not good (eg. solaris cmov).
! 2501:
! 2502: 2001-12-12 Torbjorn Granlund <tege@swox.com>
! 2503:
! 2504: * gmp-impl.h (MPN_ZERO): Rewrite generic version to be similar to
! 2505: powerpc version.
! 2506:
! 2507: 2001-12-12 Kevin Ryde <kevin@swox.se>
! 2508:
! 2509: * acinclude.m4 (GMP_PROG_CC_WORKS): Detect cmov problems with gcc
! 2510: -march=pentiumpro on solaris 2.8.
! 2511:
! 2512: * tune/common.c, tune/speed.h: Allow for commas in count_leading_zeros
! 2513: and count_trailing_zeros macros.
! 2514:
! 2515: * demos/expr/Makefile.am: Distribute exprfr.c and exprfra.c.
! 2516:
! 2517: * tune/Makefile.am (speed_ext_SOURCES): Should be speed-ext.c.
! 2518:
! 2519: 2001-12-10 Torbjorn Granlund <tege@swox.com>
! 2520:
! 2521: * mpn/s390/addmul_1.asm: New file.
! 2522: * mpn/s390/submul_1.asm: New file.
! 2523: * mpn/s390/mul_1.asm: New file.
! 2524: * mpn/s390/gmp-mparam.h: Update.
! 2525:
! 2526: 2001-12-07 Kevin Ryde <kevin@swox.se>
! 2527:
! 2528: * gmp-h.in, mp-h.in, gmp-impl.h: __GMP_DECLSPEC at start of
! 2529: prototypes, for the benefit of Microsoft C.
! 2530:
! 2531: * gmp.texi (Introduction to GMP): Mention ABI and ISA section.
! 2532: (Known Build Problems): Recommend GNU sed on solaris 2.6.
! 2533: (Assigning Integers): Direct feedback to bug-gmp.
! 2534: (References): Typo Knuth vol 2 is from 1998.
! 2535:
! 2536: * gmpxx.h (gmp_randclass): Add initializers for gmp_randinit_default
! 2537: and gmp_randinit_lc_2exp_size.
! 2538: gmp.texi (C++ Interface Random Numbers): Describe them.
! 2539:
! 2540: * tests/misc/t-locale.c, tests/cxx/t-locale.cc: Ensure mpf_clear is
! 2541: done when the localconv override doesn't work. Reported by Mike
! 2542: Jetzer.
! 2543:
! 2544: * printf/doprnti.c: Don't showbase on a zero mpq denominator.
! 2545: * tests/misc/t-printf.c, tests/cxx/t-ostream.c: Add test cases.
! 2546:
! 2547: 2001-12-04 Kevin Ryde <kevin@swox.se>
! 2548:
! 2549: * gmp.texi (Known Build Problems): Update to gmp_randinit_lc_2exp_size
! 2550: for the sparc solaris 2.7 problem.
! 2551: (Reentrancy): SCO ctype.h affects all text-based input functions.
! 2552: (Formatted Output Strings): Correction to the mpf example.
! 2553: (Single Limb Division): Correction, should be q-1 not q+1.
! 2554: (Extended GCD): Clarify why single-limb is inferior.
! 2555: (Raw Output Internals): Clarify size is twos complement, note limb
! 2556: order means _mp_d doesn't get directly read or written.
! 2557: (Contributors): Clarify mpz_jacobi.
! 2558: And a couple of formatting tweaks elsewhere.
! 2559:
! 2560: * tests/cxx/t-headers.cc: New file.
! 2561: * tests/cxx/Makefile.am: Add it.
! 2562:
! 2563: * gmpxx.h: Add <strstream>, needed by mpf_class::get_str2.
! 2564:
! 2565: * gmp-h.in (mpq_inp_str, mpn_hamdist): Add __GMP_DECLSPEC.
! 2566:
! 2567: 2001-12-01 Torbjorn Granlund <tege@swox.com>
! 2568:
! 2569: * Version 4.0 released.
! 2570:
! 2571: * mpfr/README: Replace contents with explanation of why mpfr is gone.
! 2572:
! 2573: 2001-12-01 Kevin Ryde <kevin@swox.se>
! 2574:
! 2575: * Makefile.am, configure.in: Temporarily remove mpfr, just leave a
! 2576: README.
! 2577:
! 2578: * mpn/Makefile.am (EXTRA_DIST): Add Makeasm.am.
! 2579:
! 2580: 2001-11-30 Gerardo Ballabio <ballabio@sissa.it>
! 2581:
! 2582: * tests/cxx/t-constr.cc, tests/cxx/t-expr.cc: New files.
! 2583: * tests/cxx/Makefile.am (check_PROGRAMS): Add them.
! 2584:
! 2585: 2001-11-30 Kevin Ryde <kevin@swox.se>
! 2586:
! 2587: * mpfr: Update to 2001-11-16. Patch TMP handling of agm.c and sqrt.c,
! 2588: use plain mpn_sqrtrem in sqrt.c, separate .c files for floor and ceil,
! 2589: disable an expression style assert in add1.c.
! 2590:
! 2591: * mpn/s370: Rename to s390.
! 2592: * configure.in (s3[6-9]0*-*-*): Update.
! 2593: * mpn/Makefile.am (TARG_DIST): Add s390.
! 2594:
! 2595: * mpz/fits_s.c, mpf/fits_s.c, mpf/fits_u.c: Remove files, unused since
! 2596: change to .h style.
! 2597:
! 2598: 2001-11-29 Torbjorn Granlund <tege@swox.com>
! 2599:
! 2600: * gmp-h.in: Declare mpz_get_d_2exp and mpf_get_d_2exp.
! 2601: * Makefile.am: Add mpz/get_d_2exp$U.lo and mpf/get_d_2exp$U.lo.
! 2602: * mpf/Makefile.am: Add get_d_2exp.c.
! 2603: * mpz/Makefile.am: Add get_d_2exp.c.
! 2604:
! 2605: 2001-11-29 Kevin Ryde <kevin@swox.se>
! 2606:
! 2607: * mpn/*/gmp-mparam.h: Update measured thresholds.
! 2608: * mpn/s370/gmp-mparam.h: New file.
! 2609:
! 2610: * mpz/millerrabin.c: Mark for internal use only, for now.
! 2611: * gmp.texi (Number Theoretic Functions): Remove documentation.
! 2612:
! 2613: 2001-11-28 Torbjorn Granlund <tege@swox.com>
! 2614:
! 2615: * mpf/get_d_2exp.c: New file.
! 2616: * mpz/get_d_2exp.c: New file.
! 2617:
! 2618: * mpz/realloc2.c: Fix typo. Make more similar to mpz_realloc.
! 2619: * mpz/realloc.c: Use __GMP_REALLOCATE_FUNC_LIMBS.
! 2620:
! 2621: 2001-11-27 Gerardo Ballabio <ballabio@sissa.it>
! 2622:
! 2623: * gmpxx.h, mpfrxx.h: Various updates and improvements.
! 2624:
! 2625: 2001-11-27 Kevin Ryde <kevin@swox.se>
! 2626:
! 2627: * gmp.texi (Useful Macros and Constants): Add gmp_version, add @findex
! 2628: for mp_bits_per_limb.
! 2629:
! 2630: * demos/perl/GMP.pm, demos/perl/GMP.xs: Use new style gmp_randinit's.
! 2631: * demos/perl/test.pl: Update for this, and for mpz_perfect_power_p
! 2632: handling of 0 and 1.
! 2633:
! 2634: 2001-11-26 Torbjorn Granlund <tege@swox.com>
! 2635:
! 2636: * mpz/realloc.c: Clear variable when decreasing allocation to less than
! 2637: needed. Misc updates.
! 2638:
! 2639: 2001-11-25 Kevin Ryde <kevin@swox.se>
! 2640:
! 2641: * tests/misc/t-locale.c: Avoid printf in the normal case, since the
! 2642: replacement localeconv breaks it on SunOS 4.
! 2643:
! 2644: * gmp.texi (Build Options, Notes for Package Builds): Note libgmpxx
! 2645: depends on libgmp from same GMP version.
! 2646:
! 2647: * acinclude.m4, configure.in (GMP_FUNC_SSCANF_WRITABLE_INPUT): New
! 2648: test.
! 2649: * scanf/sscanf.c, scanf/vsscanf.c: Use it to ensure sscanf input is
! 2650: writable, if necessary.
! 2651:
! 2652: * tests/misc/t-scanf.c: Ensure sscanf arguments are writable, always.
! 2653: * configure.in (AC_CHECK_DECLS): Remove sscanf, no longer required.
! 2654:
! 2655: * configure.in (none-*-*): Fix default CFLAGS setups.
! 2656:
! 2657: * doc/configuration: Misc updates.
! 2658:
! 2659: 2001-11-23 Kevin Ryde <kevin@swox.se>
! 2660:
! 2661: * mpz/init2.c, mpz/realloc2.c: New files.
! 2662: * Makefile.am, mpz/Makefile.am: Add them.
! 2663: * gmp-h.in: Add prototypes.
! 2664: * gmp.texi (Efficiency): Mention these instead of _mpz_realloc.
! 2665: (Initializing Integers): Add documentation, reword other parts.
! 2666:
! 2667: 2001-11-22 Torbjorn Granlund <tege@swox.com>
! 2668:
! 2669: * mpn/cray/ieee/addmul_1.c: Fix logic for more_carries scalar loop.
! 2670: * mpn/cray/ieee/submul_1.c: Likewise.
! 2671:
! 2672: 2001-11-20 Kevin Ryde <kevin@swox.se>
! 2673:
! 2674: * gmp.texi (Known Build Problems): Note an out of memory on DJGPP.
! 2675: (Function Classes): Update function counts.
! 2676: Misc tweaks elsewhere.
! 2677:
! 2678: * configure.in (AC_CHECK_DECLS): Add sscanf.
! 2679: * tests/misc/t-scanf.c: Use it, for the benefit of SunOS 4.
! 2680:
! 2681: * tal-debug.c, gmp-impl.h: More checks of TMP_DECL/TMP_MARK/TMP_FREE
! 2682: consistency.
! 2683:
! 2684: * mpfr/Makefile.am (AR): Explicit AR=@AR@ to override automake
! 2685: default, necessary for powerpc64 ABI=aix64.
! 2686:
! 2687: 2001-11-18 Torbjorn Granlund <tege@swox.com>
! 2688:
! 2689: * mpz/powm.c: Move TMP_MARK to before any TMP_ALLOCs.
! 2690:
! 2691: 2001-11-18 Kevin Ryde <kevin@swox.se>
! 2692:
! 2693: * configure.in (--enable-fft): Make this the default.
! 2694: * gmp.texi (Build Options): Update.
! 2695:
! 2696: * Makefile.am (libmp_la_DEPENDENCIES): Revise mpz objects needed by
! 2697: new mpz/powm.c.
! 2698:
! 2699: * gmp.texi (Random State Initialization): Add gmp_randinit_default and
! 2700: gmp_randinit_lc_2exp_size, mark gmp_randinit as obsolete.
! 2701: (Random State Seeding): New section, taken from "Random State
! 2702: Initialization" and "Random Number Functions".
! 2703:
! 2704: * configure.in (AC_CHECK_DECLS): Add fgetc, fscanf, ungetc.
! 2705: * scanf/fscanffuns.c: Use these, for the benefit of SunOS 4.
! 2706:
! 2707: * gmp-impl.h, gmp-h.in (__gmp_default_fp_limb_precision): Move back to
! 2708: gmp-impl.h now not required for inlined mpf.
! 2709:
! 2710: * randlc2s.c (gmp_randinit_lc_2exp_size): New file, the size-based LC
! 2711: selection from rand.c.
! 2712: * rand.c (gmp_randinit): Use it.
! 2713: * randdef.c (gmp_randinit_default): New file.
! 2714: * gmp-impl.h (RANDS): Use it.
! 2715: (ASSERT_CARRY): New macro.
! 2716: * gmp-h.in (gmp_randinit_default, gmp_randinit_lc_2exp_size: Add
! 2717: prototypes.
! 2718: * Makefile.am (libgmp_la_SOURCES): Add randdef.c and randlc2s.c.
! 2719:
! 2720: * printf/asprntffuns.c: Include config.h before using its defines.
! 2721:
! 2722: * gmp-impl.h: Move C++ <string> to top of file to avoid the memset
! 2723: redefine upsetting configure tests. Remove <iostream> since <iosfwd>
! 2724: in gmp.h suffices.
! 2725:
! 2726: 2001-11-16 Kevin Ryde <kevin@swox.se>
! 2727:
! 2728: * gmp.texi (Integer Exponentiation): mpz_powm supports negative
! 2729: exponents.
! 2730: (Assigning Floats, I/O of Floats, C++ Formatted Output, C++ Formatted
! 2731: Input): Decimal point follows locale.
! 2732: (Formatted Output Strings): %n accepts any type.
! 2733: (Formatted Input Strings): New section.
! 2734: (Formatted Input Functions): New section.
! 2735: (C++ Class Interface): Corrections and clarifications suggested by
! 2736: Gerardo.
! 2737:
! 2738: * scanf/doscan.c, scanf/fscanf.c, scanf/fscanffuns.c, scanf/scanf.c,
! 2739: scanf/sscanf.c, scanf/sscanffuns.c, scanf/vfscanf.c, scanf/vscanf.c,
! 2740: scanf/vsscanf.c, scanf/Makefile.am, tests/misc/t-scanf.c: New files.
! 2741: * gmp-h.in, gmp-impl.h, Makefile.am, configure.in: Consequent
! 2742: additions.
! 2743:
! 2744: * tests/misc: New directory.
! 2745: * tests/misc/Makefile.am: New file.
! 2746: * tests/misc/t-locale.c: New file.
! 2747: * tests/misc/t-printf.c: Moved from tests/printf.
! 2748: * tests/printf: Remove directory.
! 2749: * configure.in, tests/Makefile.am: Update.
! 2750:
! 2751: * tests/cxx/t-locale.cc: New file.
! 2752: * tests/cxx/Makefile.am: Add it.
! 2753:
! 2754: * mpf/set_str.c, cxx/ismpf.cc: Use localeconv for the decimal point.
! 2755:
! 2756: * acinclude.m4 (GMP_ASM_X86_MCOUNT): Update to $lt_prog_compiler_pic
! 2757: for current libtool, recognise non-PIC style mcount in windows DLLs.
! 2758:
! 2759: * gmp-impl.h (__gmp_replacement_vsnprintf): Add prototype.
! 2760:
! 2761: * gmp-impl.h (__gmp_rands, __gmp_rands_initialized,
! 2762: modlimb_invert_table): Add __GMP_DECLSPEC for the benefit of test
! 2763: programs using them from a windows DLL.
! 2764: * longlong.h (__clz_tab): Ditto.
! 2765:
! 2766: * mpn/x86/t-zdisp2.pl: New file.
! 2767:
! 2768: * mpn/x86/pentium4/README: New file.
! 2769:
! 2770: 2001-11-15 Torbjorn Granlund <tege@swox.com>
! 2771:
! 2772: * mpz/powm.c (HANDLE_NEGATIVE_EXPONENT): #define to 1.
! 2773: * tests/mpz/reuse.c (main): Use mpz_invert to avoid undefined mpz_powm
! 2774: cases.
! 2775:
! 2776: 2001-11-14 Torbjorn Granlund <tege@swox.com>
! 2777:
! 2778: * mpz/powm_ui.c: Rewrite along the lines of mpz/powm.c (except still no
! 2779: redc).
! 2780: * mpz/powm.c: Adjust for negative b, after exponentiation done. Add
! 2781: (still disabled) code for handling negative exponents. Misc cleanups.
! 2782:
! 2783: 2001-11-14 Kevin Ryde <kevin@swox.se>
! 2784:
! 2785: * mpf/out_str.c: Use localeconv for the decimal point.
! 2786:
! 2787: * tests/misc.c (tests_rand_end): Use time() if gettimeofday() not
! 2788: available (eg. on mingw).
! 2789:
! 2790: 2001-11-11 Kevin Ryde <kevin@swox.se>
! 2791:
! 2792: * gmp-h.in: Remove parameter names from prototypes, to keep out of
! 2793: application namespace.
! 2794:
! 2795: 2001-11-08 Kevin Ryde <kevin@swox.se>
! 2796:
! 2797: * acinclude.m4 (GMP_GCC_VERSION_GE): Fix sed regexps to work on
! 2798: Solaris 8.
! 2799:
! 2800: * printf/doprnt.c: Support %n of all types, per glibc.
! 2801:
! 2802: * gmp-h.in, gmp-impl.h, mpf/abs.c, mpf/neg.c, mpf/get_prc.c,
! 2803: mpf/get_dfl_prec.c, mpf/set_dfl_prec.c, mpf/set_prc_raw.c,
! 2804: mpf/set_si.c, mpf/set_ui.c, mpf/size.c: Revert mpf inlining, in order
! 2805: to leave open the possibility of keeping binary compatibility if mpf
! 2806: becomes mpfr.
! 2807:
! 2808: * mpn/x86/k7/mmx/lshift.asm, mpn/x86/k7/mmx/rshift.asm: Use Zdisp to
! 2809: force code size for computed jumps.
! 2810: * mpn/x86/k6/mod_34lsub1.asm, mpn/x86/k6/k62mmx/copyd.asm: Use Zdisp
! 2811: to force good code alignment.
! 2812: * mpn/x86/x86-defs.m4 (Zdisp): More instructions.
! 2813:
! 2814: * mpn/x86/pentium/sqr_basecase.asm, mpn/x86/k7/mmx/mod_1.asm,
! 2815: mpn/x86/k7/mmx/popham.asm: Remove some unnecessary "0" address offsets.
! 2816:
! 2817: * mpq/set_si.c, mpq/set_ui.c: Set _mp_den._mp_size correctly if den==0.
! 2818:
! 2819: 2001-11-07 Torbjorn Granlund <tege@swox.com>
! 2820:
! 2821: * mpn/hppa/hppa1_1/udiv_qrnnd.asm: Work around gas bug.
! 2822:
! 2823: * mpn/asm-defs.m4 (PROLOGUE): Change alignment to 8 (probably a good
! 2824: idea in general; required for hppa/hppa1_1/udiv_qrnnd.asm).
! 2825:
! 2826: 2001-11-06 Torbjorn Granlund <tege@swox.com>
! 2827:
! 2828: * gmp-impl.h (MPN_COPY_INCR): Prepend local variable by `__'.
! 2829: (MPN_COPY_DECR): Likewise.
! 2830:
! 2831: 2001-11-05 Torbjorn Granlund <tege@swox.com>
! 2832:
! 2833: * mpz/powm.c: Call mpn functions, not mpz functions, for computation
! 2834: mod m. Streamline allocations to use a mixture of stack allocation and
! 2835: heap allocation. Add currently disabled phi(m) exponent reduction
! 2836: code. Misc optimizations and cleanups.
! 2837:
! 2838: 2001-11-05 Kevin Ryde <kevin@swox.se>
! 2839:
! 2840: * mpq/inp_str.c: Remove unused variable "ret".
! 2841:
! 2842: * mpn/x86/k7/sqr_basecase.asm: Fix a 0(%edi) to use Zdisp, so the
! 2843: computed jumps hit the right spot on old gas.
! 2844:
! 2845: * mpq/canonicalize.c: DIVIDE_BY_ZERO if denominator is zero.
! 2846:
! 2847: * mpn/lisp/gmpasm-mode.el (comment-start-skip): Correction to the way
! 2848: the first \( \) pair is setup.
! 2849: (gmpasm-font-lock-keywords): Don't fontify the space before a "#" etc.
! 2850: Misc tweaks to some comments.
! 2851:
! 2852: 2001-11-03 Torbjorn Granlund <tege@swox.com>
! 2853:
! 2854: * tests/refmpn.c (refmpn_overlap_p): Reverse return values.
! 2855:
! 2856: 2001-11-02 Kevin Ryde <kevin@swox.se>
! 2857:
! 2858: * tune/many.pl: Setup CFLAGS_PIC and ASMFLAGS_PIC, since that's no
! 2859: longer done by configure.
! 2860:
! 2861: * mpn/x86/pentium4/mmx/popham.asm: New file.
! 2862:
! 2863: * mpn/x86/x86-defs.m4 (psadbw): New macro.
! 2864: * mpn/x86/k7/mmx/popham.asm: Use it.
! 2865:
! 2866: * tests/refmpn.c (refmpn_overlap_p): New function, independent of
! 2867: MPN_OVERLAP_P.
! 2868:
! 2869: 2001-10-31 Torbjorn Granlund <tege@swox.com>
! 2870:
! 2871: * tests/mpz/t-powm.c: Print proper error message when finding
! 2872: discrepancy.
! 2873:
! 2874: 2001-10-31 Kevin Ryde <kevin@swox.se>
! 2875:
! 2876: * mpn/x86/pentium/mod_34lsub1.asm: New file.
! 2877: * mpn/x86/k7/mod_34lsub1.asm: New file.
! 2878: * mpn/x86/mod_34lsub1.asm: New file.
! 2879:
! 2880: 2001-10-30 Kevin Ryde <kevin@swox.se>
! 2881:
! 2882: * tests/printf/t-printf.c (check_misc): Add checks from the glibc docs.
! 2883: (check_vasprintf, check_vsnprintf): Run these unconditionally.
! 2884:
! 2885: * gmp-impl.h (ASSERT_MPQ_CANONICAL): New macro.
! 2886: * mpq/cmp.c, mpq/cmp_si.c, mpq/cmp_ui.c, mpq/equal.c: Add ASSERTs for
! 2887: canonical inputs, where correctness depends on it.
! 2888:
! 2889: * mpn/lisp/gmpasm-mode.el (comment-start-skip): Add "dnl".
! 2890:
! 2891: 2001-10-27 Torbjorn Granlund <tege@swox.com>
! 2892:
! 2893: * demos/pexpr.c: Remove some unused variables.
! 2894: (main): Allocate more buffer space to accommodate minus sign.
! 2895:
! 2896: 2001-10-27 Kevin Ryde <kevin@swox.se>
! 2897:
! 2898: * gmp-impl.h, mpn/asm-defs.m4, configure.in, tune/speed.h,
! 2899: tune/speed.c, tune/common.c, tune/many.pl, tests/devel/try.c: Add
! 2900: mpn_mod_34lsub1.
! 2901: * tests/refmpn.c, tests/tests.h (refmpn_mod_34lsub1): New function.
! 2902:
! 2903: * mpn/generic/mod_34lsub1.c: New file.
! 2904: * mpn/x86/k6/mod_34lsub1.asm: New file.
! 2905: * mpn/x86/pentium4/sse2/mod_34lsub1.asm: New file.
! 2906: * mpn/x86/x86-defs.m4 (Zdisp): Add another instruction.
! 2907:
! 2908: * gmp-h.in, gmpxx.h: Use <iosfwd> not whole <iostream>.
! 2909:
! 2910: * gmp.texi (Known Build Problems): Add note on test programs with
! 2911: Windows DLLs.
! 2912:
! 2913: 2001-10-26 Kevin Ryde <kevin@swox.se>
! 2914:
! 2915: * tests/mpq/t-get_d.c: Limit the size of "eps" for vax.
! 2916:
! 2917: * gmp.texi (maybepagebreak): New macro, use it in a few places.
! 2918: (Notes for Particular Systems): C++ Windows DLLs are not supported.
! 2919: (Known Build Problems): Note sparc solaris 2.7 gcc 2.95.2 shared
! 2920: library problems.
! 2921: (Autoconf): Tweak version numbers shown.
! 2922: (Integer Roots): mpz_perfect_square_p and mpz_perfect_power_p consider
! 2923: 0 and 1 perfect powers, mpz_perfect_power_p accepts negatives.
! 2924: (Number Theoretic Functions): Add mpz_millerrabin, combined with a
! 2925: reworded mpz_probab_prime_p.
! 2926: (Formatted Output Strings): Misc clarifications.
! 2927: (Formatted Output Functions): gmp_asprintf, gmp_vasprintf,
! 2928: gmp_snprintf, gmp_vsnprintf always available.
! 2929: (C++ Formatted Output): Misc rewordings.
! 2930: (Formatted Input): New chapter.
! 2931: (C++ Class Interface): New chapter, by Gerardo and me.
! 2932: (Language Bindings): Update GMP++ now in GMP.
! 2933: (C++ Interface Internals): New section, by Gerardo and me.
! 2934:
! 2935: * printf/repl-vsnprintf.c: New file.
! 2936: * configure.in, acinclude.m4, Makefile.am, printf/Makefile.am: Use it
! 2937: if libc vsnprintf missing or bad.
! 2938: * configure.in (AC_CHECK_FUNCS): Add strnlen.
! 2939:
! 2940: * printf/snprntffuns.c, printf/vasprintf.c: Use
! 2941: __gmp_replacement_vsnprintf if libc vsnprintf not available.
! 2942: * printf/asprintf.c, printf/snprintf.c, printf/vasprintf.c,
! 2943: printf/vsnprintf.c: Provide these functions unconditionally.
! 2944: * acinclude.m4 (GMP_FUNC_VSNPRINTF): Remove warning about omissions
! 2945: when vsnprintf not available.
! 2946:
! 2947: 2001-10-24 Kevin Ryde <kevin@swox.se>
! 2948:
! 2949: * configure, aclocal.m4: Regenerate with a libtool patch for a stray
! 2950: quote in AC_LIBTOOL_PROG_LD_SHLIBS under mingw and cygwin.
! 2951:
! 2952: * gmp-impl.h (modlimb_invert): More comments.
! 2953:
! 2954: * printf/doprnt.c, printf/doprnti.c: Use the precision field to print
! 2955: leading zeros.
! 2956: * tests/printf/t-printf.c: Test this.
! 2957: * cxx/osdoprnti.cc, gmp-impl.h: Ignore precision in operator<<.
! 2958:
! 2959: * tune/speed.c, tune/speed.h, tune/common.c: Add mpn_mul_1_inplace.
! 2960:
! 2961: 2001-10-23 Torbjorn Granlund <tege@swox.com>
! 2962:
! 2963: * mpz/pprime_p.c (mpz_millerrabin): Remove function and its descendant.
! 2964:
! 2965: * mpz/millerrabin.c: New file with code from pprime.c.
! 2966: * mpz/Makefile.am: Compile millerrabin.c.
! 2967: * Makefile.am (MPZ_OBJECTS): Ditto.
! 2968: * gmp-h.in: Declare mpz_millerrabin.
! 2969:
! 2970: 2001-10-22 Torbjorn Granlund <tege@swox.com>
! 2971:
! 2972: * tests/mpz/t-perfsqr.c: New file.
! 2973: * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
! 2974:
! 2975: * demos/factorize.c (factor): Check for number to factor == 0.
! 2976: (main): When invoked without arguments, read from stdin.
! 2977:
! 2978: * mpz/perfpow.c: Add code to handle negative perfect powers ((-b)^odd).
! 2979: Treat 0 and 1 as perfect powers.
! 2980:
! 2981: * mpn/sparc32/v9/sqr_diagonal.asm: Jump past .align.
! 2982:
! 2983: 2001-10-21 Torbjorn Granlund <tege@swox.com>
! 2984:
! 2985: * mpn/generic/perfsqr.c (sq_res_0x100): Remove bogus final `,'.
! 2986: (mpn_perfect_square_p): Suppress superfluous `&1' in sq_res_0x100 test.
! 2987: (mpn_perfect_square_p, O(n) test): Improve comments. Combine remainder
! 2988: tests for some small primes. Don't share code for different limb
! 2989: sizes. Use single `if' with many `||' for better code density.
! 2990:
! 2991: 2001-10-22 Kevin Ryde <kevin@swox.se>
! 2992:
! 2993: * demos/perl/GMP.xs (mutate_mpz, tmp_mpf_grow): Make these "static".
! 2994:
! 2995: * mpn/x86/pentium/popcount.asm, mpn/x86/pentium/hamdist.asm
! 2996: (mpn_popcount_table): Use GSYM_PREFIX.
! 2997:
! 2998: 2001-10-19 Kevin Ryde <kevin@swox.se>
! 2999:
! 3000: * mpn/x86/*.asm: Add some measured speeds on various x86s.
! 3001:
! 3002: * tests/mpz/reuse.c, tests/mpf/reuse.c: Disable tests when using a
! 3003: windows DLL, because certain global variable usages won't compile.
! 3004:
! 3005: * configure.in (AC_CHECK_FUNCS): Add alarm.
! 3006: * tests/spinner.c: Conditionalize alarm and SIGALRM availability, for
! 3007: the benefit of mingw32.
! 3008:
! 3009: * acinclude.m4 (GMP_ASM_TYPE, GMP_ASM_SIZE): Suppress .type and .size
! 3010: on COFF.
! 3011:
! 3012: * acinclude.m4 (GMP_PROG_HOST_CC): New macro.
! 3013: * configure.in: Use it for windows DLL cross-compiles.
! 3014: * aclocal.m4, configure: Regenerate with libtool patch to hold HOST_CC
! 3015: in the generated libtool script.
! 3016:
! 3017: * aclocal.m4, configure: Regenerate with libtool patch to suppress
! 3018: warnings when probing command line limit on FreeBSD.
! 3019:
! 3020: * demos/qcn.c (M_PI): Define if not already provided, helps mingw32.
! 3021:
! 3022: 2001-10-17 Kevin Ryde <kevin@swox.se>
! 3023:
! 3024: * printf/doprnt.c: Use <stdint.h> for intmax_t.
! 3025:
! 3026: * longlong.h: Recognise __sparcv8 for gcc on Solaris. Reported by
! 3027: Mark Mentovai <mark@mentovai.com>.
! 3028:
! 3029: * gmp-impl.h (gmp_allocated_string): No need for inline on member funs.
! 3030:
! 3031: 2001-10-16 Kevin Ryde <kevin@swox.se>
! 3032:
! 3033: * gmp.texi (Debugging): Add mpatrol.
! 3034: (Integer Comparisons, Comparing Rationals, Float Comparison): Index
! 3035: entries for sign tests.
! 3036: (I/O of Floats): Clarify mpf_out_str exponent is in decimal.
! 3037: (C++ Formatted Output): mpf_t operator<< exponent now in decimal.
! 3038: (FFT Multiplication): Use an ascii art sigma.
! 3039: (Contributors): Add Gerardo Ballabio.
! 3040:
! 3041: * cxx/osfuns.cc (__gmp_doprnt_params_from_ios): Always give mpf_t
! 3042: exponent in decimal, irrespective of ios::hex or ios::oct.
! 3043: * tests/cxx/t-ostream.cc (check_mpf): Update.
! 3044:
! 3045: * printf/doprnt.c: Support %lln and %hhn.
! 3046:
! 3047: * mpn/x86/pentium4/sse2/submul_1.asm: Use a psubq to negate the
! 3048: initial carry (helps the submul_1c case), and improve the comments.
! 3049:
! 3050: 2001-10-11 Kevin Ryde <kevin@swox.se>
! 3051:
! 3052: * acinclude.m4, configure.in (GMP_IMPL_H_IEEE_FLOATS): New macro.
! 3053:
! 3054: * ltmain.sh: Send some rm errors to /dev/null, helps during compiles
! 3055: on Solaris 2.7 and HP-UX 10.
! 3056:
! 3057: * tal-notreent.c: Renamed from stack-alloc.c.
! 3058: * Makefile.am, acinclude.m4, gmp-impl.h: Update.
! 3059:
! 3060: * gmp-h.in: Don't give both prototypes and inlines, except on gcc.
! 3061:
! 3062: * gmp-h.in, gmp-impl.h: Use #includes to get necessary standard
! 3063: classes, add std:: to prototypes.
! 3064: * cxx/*.cc, tests/cxx/t-ostream.cc: Add "use namespace std".
! 3065: * acinclude.m4 (GMP_PROG_CXX_WORKS): Ditto.
! 3066:
! 3067: * tests/*/Makefile.in, mpfr/tests/Makefile.in: Regenerate with
! 3068: automake patch to avoid Ultrix problem with empty $(TESTS).
! 3069:
! 3070: * */Makefile.in: Regenerate with automake patch to only rm *_.c in
! 3071: "make clean" when ansi2knr actually in use, helps DOS 8.3.
! 3072:
! 3073: * Makefile.in: Regenerate with automake patch to fix stamp-h
! 3074: numbering, avoiding an unnecessary config.status run.
! 3075:
! 3076: 2001-10-09 Torbjorn Granlund <tege@swox.com>
! 3077:
! 3078: * mpn/hppa/hppa1_1/udiv_qrnnd.asm: Use L macros for labels.
! 3079: Quote L reloc operator.
! 3080:
! 3081: * gmp-impl.h: Declare class string.
! 3082:
! 3083: * mpn/asm-defs.m4 (INT32, INT64): Quote $1 to prevent further
! 3084: expansion.
! 3085:
! 3086: * mpn/alpha/ev6/mul_1.asm: New file.
! 3087:
! 3088: 2001-10-09 Kevin Ryde <kevin@swox.se>
! 3089:
! 3090: * gmp.texi (Introduction to GMP): Add pentium 4 to optimized CPUs.
! 3091: (Build Options): Note macos directory.
! 3092: (Notes for Package Builds): GMP 4 series binary compatible with 3.
! 3093: (Known Build Problems): Remove $* and ansi2knr note, now fixed, except
! 3094: possibly under --host=none.
! 3095: (Formatted Output Strings): Remove -1 prec for all digits.
! 3096:
! 3097: * mpz/add.c, mpz/sub.c: Don't use mpz path on #include (helps macos).
! 3098: * mpbsd/Makefile.am (INCLUDES): Add -I$(top_srcdir)/mpz.
! 3099:
! 3100: * printf/doprnt.c, tests/printf/t-printf.c: Remove support for %.*Fe
! 3101: prec -1 meaning all digits.
! 3102:
! 3103: * acinclude.m4 (GMP_PROG_AR): Override libtool, use AR_FLAGS="cq".
! 3104: (GMP_HPC_HPPA_2_0): Print version string to config.log.
! 3105:
! 3106: * Makefile.am (AUTOMAKE_OPTIONS): Remove check-news (permission notice
! 3107: in NEWS file is too big).
! 3108: (dist-hook): Don't distribute numbered or unnumbered emacs backups.
! 3109:
! 3110: * Makefile.am, cxx/Makefile.am: Updates for Gerardo's stuff.
! 3111:
! 3112: 2001-10-09 Gerardo Ballabio <ballabio@sissa.it>
! 3113:
! 3114: * cxx/isfuns.cc: New file.
! 3115: * gmp-impl.h: Add prototypes.
! 3116: * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: New files.
! 3117: * gmp-h.in: Add prototypes.
! 3118: * gmpxx.h, mpfrxx.h: New files.
! 3119:
! 3120: 2001-10-08 Kevin Ryde <kevin@swox.se>
! 3121:
! 3122: * configure.in (with_tags): Establish a default based on --enable-cxx.
! 3123:
! 3124: * aclocal.m4: Regenerate with libtool patches for sed char range to
! 3125: help Cray, LTCC quotes and +Z warnings grep to help HP-UX.
! 3126:
! 3127: * gmp-impl.h (doprnt_format_t, doprnt_memory_t, doprnt_reps_t,
! 3128: doprnt_final_t): Use _PROTO.
! 3129:
! 3130: 2001-10-05 Torbjorn Granlund <tege@swox.com>
! 3131:
! 3132: * mpn/asm-defs.m4 (INT32, INT64): Use LABEL_SUFFIX.
! 3133:
! 3134: * mpn/hppa: Convert files to `.asm'.
! 3135:
! 3136: 2001-10-05 Kevin Ryde <kevin@swox.se>
! 3137:
! 3138: * mpn/Makeasm.am (.S files): Revert to separate CPP and CCAS, use
! 3139: cpp-ccas, and only pass CPPFLAGS to CPP, not whole CFLAGS.
! 3140: * mpn/cpp-ccas: New file.
! 3141: * mpn/Makefile.am (EXTRA_DIST): Add it.
! 3142:
! 3143: * tune/common.c, tune/speed.h: Change SPEED_ROUTINE_MPN_COPY_CALL uses
! 3144: to SPEED_ROUTINE_MPN_COPY or new SPEED_ROUTINE_MPN_COPY_BYTES. Avoids
! 3145: macro expansion problems on Cray.
! 3146:
! 3147: * configure.in (AC_PROG_CXXCPP): Add this, to make libtool happier.
! 3148:
! 3149: 2001-10-04 Torbjorn Granlund <tege@swox.com>
! 3150:
! 3151: * mpz/rrandomb.c (gmp_rrandomb): Change bit_pos to be 0-based (was
! 3152: 1-based); shift 2 (was 1) when making bit mask. These two changes
! 3153: avoid undefined shift counts.
! 3154: (gmp_rrandomb): Avoid most calls to _gmp_rand by caching random values.
! 3155:
! 3156: * mpn/generic/random2.c: Changes for mirroring mpz/rrandomb.c.
! 3157:
! 3158: 2001-10-04 Kevin Ryde <kevin@swox.se>
! 3159:
! 3160: * gmp.texi (Build Options): Add --enable-cxx.
! 3161: (Notes for Particular Systems): Mention pentium4 performance and SSE2.
! 3162: (Known Build Problems): Remove vax jsobgtr note, no longer needed.
! 3163: (Converting Floats): Tweak mpf_get_str description.
! 3164: (Low-level Functions): Correction to mpn_gcdext destination space
! 3165: requirements.
! 3166: (C++ Formatted Output): New section.
! 3167: (Language Bindings): Add ALP
! 3168: (Contributors): Add Paul Zimmermann's square root, update my things.
! 3169:
! 3170: * acinclude.m4 (GMP_PROG_CC_IS_GNU, GMP_PROG_CXX_WORKS): Send compiler
! 3171: errors to config.log.
! 3172:
! 3173: * mpq/Makefile.am (INCLUDES): Remove -DOPERATION_$*, not needed.
! 3174:
! 3175: * mpn/x86/*.asm: Change references to old README.family to just README.
! 3176:
! 3177: * mpz/README: Remove file, now adequately covered in the manual.
! 3178:
! 3179: 2001-10-03 Torbjorn Granlund <tege@swox.com>
! 3180:
! 3181: * mpn/x86/pentium4/copyi.asm: New file.
! 3182: * mpn/x86/pentium4/copyd.asm: New file.
! 3183:
! 3184: * gmp-impl.h: Implement separate MPN_COPY_INCR and MPN_COPY_DECR
! 3185: macros for CRAY systems.
! 3186: (CRAY _MPN_COPY): Delete.
! 3187:
! 3188: 2001-10-02 Kevin Ryde <kevin@swox.se>
! 3189:
! 3190: * tests/mpz/t-popcount.c (check_data): Use "~ (unsigned long) 0" to
! 3191: avoid compiler warnings on sco.
! 3192:
! 3193: * mpbsd/Makefile.am: Compile mpz files directly, no copying.
! 3194: Use mpz/add.c and mpz/sub.c rather than mpz/aors.c.
! 3195: (INCLUDES): Remove -DOPERATION_$*, no longer needed (by mpz).
! 3196:
! 3197: * mpz/aors.h: Renamed from mpz/aors.c.
! 3198: * mpz/add.c, mpz/sub.c: New files, using mpz/aors.h.
! 3199: * mpz/aors_ui.h: Renamed from mpz/aors_ui.c.
! 3200: * mpz/add_ui.c, mpz/sub_ui.c: New files, using mpz/aors_ui.h.
! 3201: * mpz/fits_s.h: Renamed and adapted from mpz/fits_s.c.
! 3202: * mpz/fits_sshort.c, mpz/fits_sint.c, mpz/fits_slong.c: New files.
! 3203: * mpz/mul_i.h: Renamed from mpz/mul_siui.c.
! 3204: * mpz/mul_ui.c, mpz/mul_ui.c: New files, using mpz/mul_i.h.
! 3205: * mpz/Makefile.am: Consequent updates.
! 3206: (INCLUDES): Remove -DOPERATION_$*.
! 3207:
! 3208: * mpf/fits_s.h: Renamed and adapted from mpf/fits_s.c.
! 3209: * mpf/fits_sshort.c, mpf/fits_sint.c, mpf/fits_slong.c: New files.
! 3210: * mpf/fits_u.h: Renamed and adapted from mpf/fits_u.c.
! 3211: * mpf/fits_ushort.c, mpf/fits_uint.c, mpf/fits_ulong.c: New files.
! 3212: * mpf/Makefile.am: Consequent updates.
! 3213: (INCLUDES): Remove -DOPERATION_$*.
! 3214:
! 3215: * cxx/osfuns.cc (__gmp_doprnt_params_from_ios): Don't use ios::hex etc
! 3216: as cases in a switch, they're not constant in g++ 3.0.
! 3217:
! 3218: * mpn/Makeasm.am (.s.o, .s.obj, .S.o, .S.obj, .asm.o, .asm.obj):
! 3219: Locate source file with test -f the same as automake.
! 3220: (.S): Let CCAS do the preprocessing, and run libtool for .S.lo.
! 3221: (.asm.lo): Run libtool via m4-ccas to get new style foo.lo right.
! 3222: (COMPILE_FLAGS): Add $(DEFAULT_INCLUDES), per new automake.
! 3223: * mpn/m4-ccas: New file.
! 3224: * mpn/Makefile.am (EXTRA_DIST): Add it.
! 3225: * mpn/asm-defs.m4: Add m4_not_for_expansion(`DLL_EXPORT').
! 3226: * mpn/x86/x86-defs.m4: Undefine PIC if DLL_EXPORT is set.
! 3227: * configure.in (CFLAGS_PIC, ASMFLAGS_PIC): Remove, no longer needed.
! 3228:
! 3229: * acinclude.m4 (GMP_FUNC_VSNPRINTF): Warn what's omitted when
! 3230: vsnprintf not available.
! 3231:
! 3232: * mpn/underscore.h: Remove file, not used since m68k converted to asm.
! 3233: * mpn/Makefile.am (EXTRA_DIST): Remove it.
! 3234:
! 3235: * tests/refmpz.c: Add <stdlib.h>, for free().
! 3236:
! 3237: 2001-10-01 Torbjorn Granlund <tege@swox.com>
! 3238:
! 3239: * mpn/x86/pentium4/sse2/submul_1.asm: Apply some algebraic
! 3240: simplifications.
! 3241: * mpn/x86/pentium4/sse2/addmul_1.asm: Comment.
! 3242:
! 3243: 2001-10-01 Kevin Ryde <kevin@swox.se>
! 3244:
! 3245: * configure.in (--enable-cxx): New option for C++ support.
! 3246: Add cxx and tests/cxx subdirectories.
! 3247: * ltmain.sh, aclocal.m4: Update to libtool 2001-09-30.
! 3248:
! 3249: * cxx/Makefile.am, cxx/Makefile.in, cxx/osdoprnti.cc, cxx/osfuns.cc,
! 3250: cxx/osmpf.cc, cxx/osmpq.cc, cxx/osmpz.cc: New files.
! 3251: * Makefile.am: Add them, in new libgmpxx.
! 3252: * gmp-h.in, gmp-impl.h: Prototypes and support.
! 3253: * tests/cxx/Makefile.am, tests/cxx/Makefile.in,
! 3254: tests/cxx/t-ostream.cc: New files.
! 3255:
! 3256: * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL,
! 3257: SPEED_ROUTINE_MPN_GCDEXT_ONE): mpn_gcdext needs size+1 for
! 3258: destinations. Found by Torbjorn.
! 3259:
! 3260: * gmp-h.in (__GNU_MP__, __GNU_MP_VERSION): Bump to 4.0.
! 3261: * mp-h.in (__GNU_MP__): Ditto.
! 3262: * gmp.texi, Makefile.am, compat.c: Amend version 3.2 to 4.0.
! 3263:
! 3264: * acinclude.m4 (GMP_PROG_CXX_WORKS): New macro.
! 3265: (GMP_PROG_CC_WORKS): Write "conftest" test program, not a.out.
! 3266:
! 3267: * gmp-impl.h (struct gmp_asprintf_t): Moved from printf/vasprintf.c.
! 3268: (GMP_ASPRINTF_T_INIT): New macro.
! 3269: (GMP_ASPRINTF_T_NEED): New macro, adapted from vasprintf.c NEED().
! 3270: * printf/vasprintf.c: Use these.
! 3271:
! 3272: * printf/asprntffuns.c: New file.
! 3273: * printf/Makefile.am, Makefile.am: Add it.
! 3274: * printf/asprntffuns.c, printf/vasprintf.c, gmp-impl.h
! 3275: (__gmp_asprintf_memory, __gmp_asprintf_reps, __gmp_asprintf_final):
! 3276: Move to asprntffuns.c, rename to __gmp and make global, remove
! 3277: spurious formal parameters from __gmp_asprintf_final.
! 3278:
! 3279: * configure.in (j90-*-*, sv1-*-*): Don't duplicate $path in $add_path.
! 3280: (*-*-mingw*): Don't assemble with -DPIC (as per cygwin).
! 3281:
! 3282: * printf/snprntffuns.c (gmp_snprintf_final): Remove spurious formal
! 3283: parameters.
! 3284:
! 3285: * tune/tuneup.c (POWM_THRESHOLD): Reduce stop_factor to 1.1 to help
! 3286: Cray vector systems.
! 3287:
! 3288: * tests/misc.c (tests_rand_start): Print GMP_CHECK_RANDOMIZE=NN to
! 3289: facilitate cut and paste when re-running.
! 3290: * tests/mpz/t-inp_str.c (check_data): Add more diagnostic prints.
! 3291:
! 3292: 2001-09-30 Kent Boortz <kent@swox.com>
! 3293:
! 3294: * macos/configure, macos/Makefile.in, macos/README: Updates for gmp 4.
! 3295: * gmp-h.in (_GMP_H_HAVE_FILE): Recognise Apple MPW.
! 3296:
! 3297: 2001-09-30 Torbjorn Granlund <tege@swox.com>
! 3298:
! 3299: * mpn/cray/ieee/submul_1.c: Rewrite. Streamline multiplications;
! 3300: use `majority' logic.
! 3301:
! 3302: 2001-09-27 Torbjorn Granlund <tege@swox.com>
! 3303:
! 3304: * gmp-h.in (__GMPN_AORS_1): Rewrite to work around Cray compiler bug.
! 3305:
! 3306: 2001-09-26 Torbjorn Granlund <tege@swox.com>
! 3307:
! 3308: * mpn/x86/pentium4/sse2/gmp-mparam.h: New file.
! 3309:
! 3310: 2001-09-26 Kevin Ryde <kevin@swox.se>
! 3311:
! 3312: * mpn/x86/pentium4/sse2/dive_1.asm: New file.
! 3313: * mpn/x86/pentium4/sse2/submul_1.asm: New file.
! 3314: * mpn/x86/pentium4/sse2/sqr_basecase.asm: New file.
! 3315:
! 3316: * mpn/x86/pentium/copyi.asm: New file, based on past work by Torbjorn.
! 3317: * mpn/x86/pentium/copyi.asm: New file, ditto.
! 3318: * mpn/x86/pentium/com_n.asm: Rewrite, ditto.
! 3319:
! 3320: * printf/snprntffuns.c (gmp_snprintf_format): Copy va_list in case
! 3321: vsnprintf trashes it.
! 3322: * printf/vasprintf.c (gmp_asprintf_format): Ditto.
! 3323: * gmp-impl.h, doprnt.c (va_copy): Move to gmp-impl.h.
! 3324:
! 3325: * tests/mpz/t-cmp_d.c (check_low_z_one): Patch by Torbjorn for vax
! 3326: limited float range.
! 3327:
! 3328: 2001-09-23 Torbjorn Granlund <tege@swox.com>
! 3329:
! 3330: * mpn/vax/lshift.s: Change `jsob*' to `sob*'.
! 3331: * mpn/vax/rshift.s: Likewise.
! 3332:
! 3333: 2001-09-23 Kevin Ryde <kevin@swox.se>
! 3334:
! 3335: * mpn/x86/pentium4/sse2/mul_basecase.asm: Some simple but real code.
! 3336:
! 3337: * printf/doprnt.c: Use va_copy for va_list variables, copy function
! 3338: parameter in case it's call-by-reference.
! 3339:
! 3340: * tune/freq.c (speed_cpu_frequency_bsd_dmesg): New function.
! 3341: (speed_cpu_frequency_table): Use it.
! 3342:
! 3343: * tune/many.pl (popcount, hamdist): Fix declared return value.
! 3344: (sb_divrem_mn): Remove a spurious duplicate entry.
! 3345: (CLEAN): Add tmp-$objbase.c when using that for .h files.
! 3346: (macro_speed): Give a default for .h files.
! 3347: Add ATTRIBUTE_CONST or __GMP_ATTRIBUTE_PURE as appropriate.
! 3348:
! 3349: * tune/speed.h (SPEED_ROUTINE_MPN_MOD_CALL,
! 3350: SPEED_ROUTINE_MPN_PREINV_MOD_1, SPEED_ROUTINE_MPN_POPCOUNT,
! 3351: SPEED_ROUTINE_MPN_HAMDIST, SPEED_ROUTINE_MPN_GCD_1N,
! 3352: SPEED_ROUTINE_MPN_GCD_1_CALL, SPEED_ROUTINE_MPZ_JACOBI): Use return
! 3353: values so gcc 3 won't discard calls to pure or const functions.
! 3354: (mpn_mod_1_div, mpn_mod_1_inv): Add __GMP_ATTRIBUTE_PURE.
! 3355:
! 3356: 2001-09-22 Torbjorn Granlund <tege@swox.com>
! 3357:
! 3358: * mpn/x86/pentium4/sse2/mul_basecase.asm: New file, placeholder
! 3359: for real code, hiding the default x86 mul_basecase.asm.
! 3360:
! 3361: 2001-09-22 Kevin Ryde <kevin@swox.se>
! 3362:
! 3363: * configure.in (AC_PREREQ): Bump to 2.52.
! 3364: (m4_pattern_forbid, m4_pattern_allow): New calls, forbid GMP_.
! 3365: (AC_CHECK_HEADERS): Remove sys/types.h, already done by autoconf.
! 3366: * acinclude.m4, configure.in (GMP_GCC_NO_CPP_PRECOMP): New macro.
! 3367:
! 3368: * tests/devel/try.c (TYPE_PREINV_MOD_1): Don't run size==0.
! 3369: (malloc_region): Need fd=-1 for mmap MAP_ANON on BSD.
! 3370:
! 3371: 2001-09-20 Torbjorn Granlund <tege@swox.com>
! 3372:
! 3373: * mpz/cong.c (mpz_congruent_p): Fix one-limb c<d test.
! 3374:
! 3375: * longlong.h: Rewrite __i370__ smul_ppmm; enable also for __s390__.
! 3376:
! 3377: * configure.in: Add support for IBM 360, 370, 390 families.
! 3378:
! 3379: 2001-09-20 Kevin Ryde <kevin@swox.se>
! 3380:
! 3381: * mpn/x86/pentium4/sse2/diveby3.asm: New file.
! 3382: * mpn/x86/pentium4/sse2/mode1o.asm: New file.
! 3383:
! 3384: 2001-09-16 Kevin Ryde <kevin@swox.se>
! 3385:
! 3386: * printf/doprnt.c: '#' means showpoint and showtrailing for %e, %f, %g.
! 3387: * tests/printf/t-printf.c (check_f): More test cases.
! 3388:
! 3389: 2001-09-15 Torbjorn Granlund <tege@swox.com>
! 3390:
! 3391: * gmp-h.in (__GMPN_AORS_1): Remove param TEST, add OP and CB.
! 3392: Postpone zeroing of (cout).
! 3393: (__GMPN_ADD_1, __GMPN_SUB_1): Corresponding changes.
! 3394:
! 3395: 2001-09-14 Kevin Ryde <kevin@swox.se>
! 3396:
! 3397: * ChangeLog: Merge in tests/rand/ChangeLog.
! 3398: * tests/rand/ChangeLog: Remove file.
! 3399:
! 3400: * printf/doprnt.c: Fix handling of a plain format after a GMP one; no
! 3401: need to protect against negative precision internally.
! 3402: * tests/printf/t-printf.c (check_misc): More checks.
! 3403:
! 3404: 2001-09-12 Torbjorn Granlund <tege@swox.com>
! 3405:
! 3406: * mpn/cray/ieee/invert_limb.c: Add a PROLOGUE in a comment to have
! 3407: HAVE_NATIVE_... defined.
! 3408:
! 3409: 2001-09-11 Kevin Ryde <kevin@swox.se>
! 3410:
! 3411: * configure.in, gmp-h.in (__GMP_HAVE_HOST_CPU_FAMILY_power,
! 3412: __GMP_HAVE_HOST_CPU_FAMILY_powerpc): New AC_SUBSTs.
! 3413: * gmp-h.in (__GMPN_COPY_INCR): Use them to select the power/powerpc
! 3414: code, rather than preprocessor defines.
! 3415:
! 3416: * acinclude.m4, configure.in (GMP_H_ANSI): New macro.
! 3417:
! 3418: * gmp-h.in (__GMP_EXTERN_INLINE): Add a definition for SCO 8 cc.
! 3419:
! 3420: * gmp-h.in, version.c (gmp_version): Make the pointer "const" as well
! 3421: as the string.
! 3422:
! 3423: * acinclude.m4, configure.in (GMP_PROG_CC_IS_XLC): Recognise xlc when
! 3424: invoked under another name (cc, xlc128, etc).
! 3425: * acinclude.m4 (GMP_PROG_CC_IS_GCC): Print a message when recognised.
! 3426:
! 3427: 2001-09-11 Torbjorn Granlund <tege@swox.com>
! 3428:
! 3429: * gmp-h.in: Let __DECC mean __GMP_HAVE_CONST, etc.
! 3430: * mp-h.in: Likewise.
! 3431:
! 3432: 2001-09-10 Torbjorn Granlund <tege@swox.com>
! 3433:
! 3434: * mpn/x86/pentium4/mmx/lshift.asm: New file.
! 3435: * mpn/x86/pentium4/mmx/rshift.asm: New file.
! 3436:
! 3437: * tests/mpn/t-iord_u.c (check_incr_data): Work around HP compiler bug.
! 3438: (check_decr_data): Likewise.
! 3439:
! 3440: 2001-09-08 Kevin Ryde <kevin@swox.se>
! 3441:
! 3442: * gmp.texi (Integer Logic and Bit Fiddling): Update mpz_hamdist
! 3443: behaviour, clarify mpz_popcount a touch.
! 3444: (Language Bindings): Add mlton, fix alphabetical order.
! 3445: (Single Limb Division): Describe 2 or 1/2 limbs at a time style.
! 3446:
! 3447: * configure.in (AC_CHECK_FUNCS): Add mmap.
! 3448: * tests/devel/try.c (malloc_region): Use mmap if available.
! 3449:
! 3450: * tests/refmpz.c, tests/tests.h (refmpz_hamdist): New function.
! 3451: * tests/mpz/t-hamdist.c: New file.
! 3452: * tests/mpz/Makefile.am: Add it.
! 3453:
! 3454: * mpz/hamdist.c: Support neg/neg operands.
! 3455:
! 3456: * macos/Makefile.in: Remove dual compile of mpq/aors.c and
! 3457: mpn/generic/popham.c.
! 3458:
! 3459: * gmp-impl.h (popc_limb): New macro, adapted from mpn/generic/popham.c.
! 3460: For 64-bits reuse 0x33...33 constant.
! 3461: * mpn/generic/popcount.c, mpn/generic/hamdist.c: Split from popham.c,
! 3462: use popc_limb macro, remove unused "i", don't bother with "register"
! 3463: qualifiers.
! 3464: * mpn/generic/popham.c: Remove file.
! 3465:
! 3466: * ltmain.sh, configure, aclocal.m4: Update to libtool 1.4.1, with one
! 3467: ltdll.c generation patch.
! 3468: * doc/configuration: Misc updates, note libtool patch used.
! 3469:
! 3470: * mpn/x86/pentium4/sse2/mul_1.asm: Use pointer increments not indexed
! 3471: addressing, to get 4.0 c/l flat.
! 3472:
! 3473: * tests/mpq/t-cmp_si.c (check_data): Use ULONG_MAX for denominators.
! 3474:
! 3475: * tests/misc.c (mpz_negrandom): Use given rstate, not RANDS.
! 3476:
! 3477: 2001-09-07 Torbjorn Granlund <tege@swox.com>
! 3478:
! 3479: * mpn/x86/pentium4/sse2/addmul_1.asm: New file.
! 3480:
! 3481: 2001-09-04 Kevin Ryde <kevin@swox.se>
! 3482:
! 3483: * tune/freq.c: Define a HAVE for each speed_cpu_frequency routine to
! 3484: avoid duplicating conditionals.
! 3485: (speed_cpu_frequency_sco_etchw): New function.
! 3486: (speed_cpu_frequency_table): Use it.
! 3487: * tune/README: Mention SCO openunix 8 /etc/hw.
! 3488:
! 3489: * mpz/fib_ui.c: Use ?: to avoid a gcc 3 bug on powerpc64.
! 3490: Store back a carry for limb<long.
! 3491:
! 3492: * mpn/x86/k7/mmx/divrem_1.asm, mpn/x86/k7/mmx/mod_1.asm,
! 3493: mpn/x86/p6/mmx/divrem_1.asm: Fix a couple of comments.
! 3494:
! 3495: * config.guess: Give m68020 for 68020 or better, not m68k.
! 3496: * configfsf.guess: Update to 2001-09-04.
! 3497:
! 3498: 2001-09-02 Kevin Ryde <kevin@swox.se>
! 3499:
! 3500: * configure.in (m68k-*-*): Let m68k mean 68000, not 68020.
! 3501: * gmp.texi (Notes for Particular Systems): Update.
! 3502:
! 3503: * gmp-impl.h (union ieee_double_extract) [m68k]: Use longs, since int
! 3504: might be only 16 bits.
! 3505:
! 3506: * tests/mpq/t-aors.c: New file.
! 3507: * tests/mpq/Makefile.am: Add it.
! 3508:
! 3509: * tests/refmpq.c: New file.
! 3510: * tests/Makefile.am: Add it.
! 3511: * tests/tests.h: Add prototypes.
! 3512:
! 3513: * mpq/aors.c: Share object code for mpq_add and mpq_sub.
! 3514: * Makefile.am, mpq/Makefile.am: Single mpq/aors.lo now.
! 3515:
! 3516: * tests/devel/try.c (TYPE_SUBMUL_1): Use correct reference routine.
! 3517:
! 3518: 2001-08-30 Kevin Ryde <kevin@swox.se>
! 3519:
! 3520: * mpn/x86/x86-defs.m4 (cmov_available_p): Add pentium4.
! 3521:
! 3522: * gmp-h.in: Put #define renamings with prototypes.
! 3523: Remove commented out #defines of gmp-impl.h things.
! 3524: (mpn_invert_limb): Remove #define, already in gmp-impl.h.
! 3525: (mpn_lshiftc, mpn_rshiftc): Remove #defines, unused.
! 3526: (mpn_addsub_nc): Add prototype to #define.
! 3527:
! 3528: 2001-08-28 Kevin Ryde <kevin@swox.se>
! 3529:
! 3530: * gmp.texi: Switch to GFDL.
! 3531: (Top): Arrange copyright and conditions to appear here too. For
! 3532: clarity have all this before the miscellaneous macro definitions.
! 3533: (Copying): Refer to COPYING.LIB file, mention plain GPL2 in demo
! 3534: programs.
! 3535: (Contributors, References): Use @appendix rather than @unnumbered.
! 3536: (GNU Free Documentation License): New appendix.
! 3537: (@contents): Move to start of document, use only for tex (not html).
! 3538: (Debugging): Add leakbug.
! 3539: (Build Options): Add pentium4.
! 3540: (I/O of Rationals): Add mpq_inp_str.
! 3541:
! 3542: * fdl.texi: New file, with two @appendix directive tweaks.
! 3543: * Makefile.am (gmp_TEXINFOS): Add it.
! 3544:
! 3545: * tests/mpz/io.c: Check mpz_inp_str return against ftell, send error
! 3546: messages just to stdout.
! 3547:
! 3548: * mpz/inp_str.c, gmp-impl.h (__gmpz_inp_str_nowhite): New function,
! 3549: and share a __gmp_free_func call.
! 3550: * mpq/inp_str.c: New file.
! 3551: * Makefile.am, mpq/Makefile.am: Add it.
! 3552: * tests/mpq/t-inp_str.c: New file.
! 3553: * tests/mpq/Makefile.am (check_PROGRAMS): Add it.
! 3554:
! 3555: * configure.in, acconfig.h (HAVE_HOST_CPU_FAMILY_power,
! 3556: HAVE_HOST_CPU_FAMILY_powerpc, HAVE_HOST_CPU_FAMILY_x86): AC_DEFINEs
! 3557: for processor families.
! 3558: * gmp-impl.h: Use them, rather than cpp defines.
! 3559:
! 3560: * demos/Makefile.am (primes_LDADD): Use $(LIBM), for log().
! 3561:
! 3562: * tune/many.pl, tune/Makefile.am: Fix some from clean and distclean.
! 3563:
! 3564: 2001-08-26 Kevin Ryde <kevin@swox.se>
! 3565:
! 3566: * tests/devel/try.c (ARRAY_ITERATION): Make types match on "?:" legs.
! 3567: (TYPE_MPZ_JACOBI, TYPE_MPZ_KRONECKER): Remove some superseded code.
! 3568:
! 3569: * tests/printf/t-printf.c (check_plain): Don't compare "all digits"
! 3570: precision against plain printf.
! 3571:
! 3572: * tune/Makefile.am: Eliminate empty TUNE_MPZ_SRCS.
! 3573:
! 3574: * configure, config.in, INSTALL.autoconf: Update to autoconf 2.52.
! 3575: * */Makefile.in, mdate-sh, missing, aclocal.m4, configure: Update to
! 3576: automake 1.5.
! 3577: * configfsf.guess, configfsf.sub: Update to 2001-08-23.
! 3578:
! 3579: 2001-08-24 Torbjorn Granlund <tege@swox.com>
! 3580:
! 3581: * demos/primes.c: Complete rewrite.
! 3582:
! 3583: 2001-08-24 Kevin Ryde <kevin@swox.se>
! 3584:
! 3585: * longlong.h: Test __ppc__ for apple darwin cc, reported by Jon
! 3586: Becker. Also test __POWERPC__, PPC and __vxworks__.
! 3587:
! 3588: * tune/speed.h (speed_cyclecounter) [x86]: Don't clobber ebx in PIC.
! 3589:
! 3590: 2001-08-22 Kevin Ryde <kevin@swox.se>
! 3591:
! 3592: * configure.in (x86 mmx): Correction to mmx path stripping.
! 3593:
! 3594: 2001-08-17 Kevin Ryde <kevin@swox.se>
! 3595:
! 3596: * configure.in, acinclude.m4, Makefile.am, printf/Makefile.am,
! 3597: tests/printf/Makefile.am, gmp-h.in, gmp-impl.h, gmp.texi: Remove C++
! 3598: support, for the time being.
! 3599: * printf/doprntfx.cc, doprntix.cc, osfuns.cc, osmpf.cc, osmpq.cc,
! 3600: osmpz.cc, tests/printf/t-ostream.cc: Remove files.
! 3601:
! 3602: * printf/doprnt.c, printf/doprntf.c, gmp-impl.h: Use a single
! 3603: __gmp_doprnt_mpf, rather than a separate ndigits calculation.
! 3604: * printf/doprnt.c, printf/doprntf.c, gmp-impl.h, gmp.texi,
! 3605: tests/printf/t-printf.c: Let empty or -1 prec mean all digits for mpf.
! 3606: * printf/doprnt.c, tests/printf/t-printf.c: Accept h or l in %n; let
! 3607: negative "*" style width mean left justify.
! 3608:
! 3609: * gmp-impl.h, mpf/get_str.c (MPF_SIGNIFICANT_DIGITS): New macro,
! 3610: extracted from mpf/get_str.c.
! 3611:
! 3612: * libmp.sym: New file.
! 3613: * Makefile.am (libmp_la_LDFLAGS): Use it.
! 3614: (DISTCLEANFILES): Remove asm-syntax.h, no longer generated.
! 3615: Remove some comments about "make check".
! 3616:
! 3617: * demos/perl/GMP.pm, GMP.xs, GMP/Mpf.pm: Add printf and sprintf,
! 3618: change get_str to string/exponent for floats, remove separate
! 3619: mpf_get_str.
! 3620: * demos/perl/GMP/Mpf.pm (overload_string): Use $# (default "%.g").
! 3621: * demos/perl/typemap: Fix some duplicate string entries.
! 3622: * demos/perl/test.pl: Update tests, split overloaded constants into ...
! 3623: * demos/perl/test2.pl: ... this new file.
! 3624: * demos/perl/Makefile.PL (clean): Add test.tmp.
! 3625:
! 3626: 2001-08-16 Kevin Ryde <kevin@swox.se>
! 3627:
! 3628: * printf/snprntffuns.c (gmp_snprintf_format): Correction to bufsize-1
! 3629: return value handling.
! 3630:
! 3631: * demos/calc/calc.y: Reposition "%{" so copyright notice gets into
! 3632: generated files.
! 3633:
! 3634: * INSTALL: Use gmp_printf.
! 3635:
! 3636: 2001-08-14 Kevin Ryde <kevin@swox.se>
! 3637:
! 3638: * mpz/inp_str.c: Fix return value (was 1 too big).
! 3639: * tests/mpz/t-inp_str.c: New file.
! 3640: * tests/mpz/Makefile.am: Add it.
! 3641:
! 3642: * mpn/x86/pentium4/sse2/add_n.asm: New file.
! 3643: * mpn/x86/pentium4/sse2/sub_n.asm: New file.
! 3644: * mpn/x86/pentium4/sse2/mul_1.asm: New file.
! 3645:
! 3646: 2001-08-12 Kevin Ryde <kevin@swox.se>
! 3647:
! 3648: * printf/sprintffuns.c, printf/doprntf.c: Don't use sprintf return
! 3649: value (it's a pointer on SunOS 4).
! 3650:
! 3651: * acinclude.m4 (GMP_ASM_X86_SSE2, GMP_STRIP_PATH): New macros.
! 3652: * configure.in: Add pentium4 support.
! 3653: * mpn/x86/pentium4, mpn/x86/pentium4/mmx, mpn/x86/pentium4/sse2: New
! 3654: directories.
! 3655: * mpn/x86/README: Update.
! 3656:
! 3657: 2001-08-10 Torbjorn Granlund <tege@swox.com>
! 3658:
! 3659: * demos/pexpr.c (setup_error_handler): Catch also SIGABRT.
! 3660:
! 3661: 2001-07-31 Kevin Ryde <kevin@swox.se>
! 3662:
! 3663: * tests/refmpn.c (refmpn_mul_1c): Allow low to high overlaps.
! 3664:
! 3665: * gmp-h.in, gmp-impl.h (_gmp_rand): Move prototype to gmp-impl.h.
! 3666:
! 3667: * tune/Makefile.am (EXTRA_DIST): Add many.pl.
! 3668:
! 3669: 2001-07-28 Kevin Ryde <kevin@swox.se>
! 3670:
! 3671: * gmp.texi (Random Number Functions): Old rand functions no longer use
! 3672: the C library.
! 3673:
! 3674: * configure.in, acinclude.m4 (GMP_FUNC_VSNPRINTF): New macro.
! 3675:
! 3676: * mpn/generic/get_str.c: Add an ASSERT for high limb non-zero.
! 3677:
! 3678: 2001-07-24 Kevin Ryde <kevin@swox.se>
! 3679:
! 3680: * gmp.texi (Build Options): Add --enable-cxx.
! 3681: (Converting Floats): Note mpf_get_str only generates accurately
! 3682: representable digits.
! 3683: (Low-level Functions): Note mpn_get_str requires non-zero high limb.
! 3684: (Formatted Output): New chapter.
! 3685: (Multiplication Algorithms): Use @quotation with @multitable.
! 3686: (Toom-Cook 3-Way Multiplication): Ditto.
! 3687:
! 3688: * tests/memory.c (tests_free_nosize): New function.
! 3689: * tests/tests.h (tests_allocate etc): Add prototypes.
! 3690:
! 3691: * tests/printf: New directory.
! 3692: * tests/printf/Makefile.am, t-printf.c, t-ostream.cc: New files.
! 3693: * configure.in, tests/Makefile.am: Add them.
! 3694:
! 3695: * configure.in, acinclude.m4 (GMP_PROG_CXX): New macro.
! 3696: * configure.in (--enable-cxx): New option.
! 3697: (AC_CHECK_HEADERS): Add locale.h and sys/types.h, remove unistd.h.
! 3698: (AC_CHECK_TYPES): Add intmax_t, long double, long long, ptrdiff_t,
! 3699: quad_t.
! 3700: (AC_CHECK_FUNCS): Add localeconv, memset, obstack_vprintf, snprintf,
! 3701: strchr, vsnprintf.
! 3702: (AC_CHECK_DECLS): Add vfprintf.
! 3703:
! 3704: * gmp-h.in, gmp-impl.h: Additions for gmp_printf etc.
! 3705:
! 3706: * printf: New directory.
! 3707: * printf/Makefile.am, asprintf.c, doprnt.c, doprntf.c, doprntfx.cc,
! 3708: doprnti.c, doprntix.cc, fprintf.c, obprintf.c, obprntffuns.c,
! 3709: obvprintf.c, osfuns.cc, osmpf.cc, osmpq.cc, osmpz.cc, printf.c,
! 3710: printffuns.c, snprintf.c, snprntffuns.c, sprintf.c, sprintffuns.c,
! 3711: vasprintf.c, vfprintf.c, vprintf.c, vsnprintf.c, vsprintf.c: New
! 3712: files.
! 3713: * configure.in, Makefile.am: Add them.
! 3714:
! 3715: * configure.in (HAVE_INLINE): Remove AC_DEFINE, unused.
! 3716: (AC_CHECK_TYPES): Don't test for void, assume it always exists.
! 3717:
! 3718: * gmp-impl.h (__GMP_REALLOCATE_FUNC_MAYBE): New macro.
! 3719: * mpz/get_str.c, mpq/get_str.c, mpf/get_str.c: Use it.
! 3720:
! 3721: * gmp-impl.h (mpn_fib2_ui): Use __MPN.
! 3722: (MPN_COPY_DECR): Fix an ASSERT.
! 3723: (CAST_TO_VOID): Remove macro.
! 3724:
! 3725: * gmp-h.in (mpq_out_str): Give #define even without prototype.
! 3726: (mpz_cmp_d, mpz_cmpabs_d): Corrections to #defines.
! 3727:
! 3728: * tests/devel/try.c: Add mpn_add and mpn_sub, don't use CAST_TO_VOID.
! 3729:
! 3730: 2001-07-23 Torbjorn Granlund <tege@swox.com>
! 3731:
! 3732: * config.guess: Recognize pentium4.
! 3733: * config.sub: Recognize pentium4.
! 3734:
! 3735: 2001-07-17 Kevin Ryde <kevin@swox.se>
! 3736:
! 3737: * gmp-h.in (__GMPN_AORS_1): Remove x86 and gcc versions, leave just
! 3738: one version.
! 3739: (__GMPN_ADD, __GMPN_SUB): New macros, rewrite of mpn_add and mpn_sub.
! 3740: (mpn_add, mpn_sub): Use them.
! 3741: (__GMPN_COPY_REST): New macro.
! 3742:
! 3743: * gmp-h.in, gmp-impl.h, acinclude.m4: Remove __GMP_ASM_L and
! 3744: __GMP_LSYM_PREFIX, revert to ASM_L in gmp-impl.h and AC_DEFINE of
! 3745: LSYM_PREFIX.
! 3746:
! 3747: 2001-07-11 Kevin Ryde <kevin@swox.se>
! 3748:
! 3749: * gmp-h.in (__GMPN_ADD_1 etc) [x86]: Don't use this on egcs 2.91.
! 3750:
! 3751: * mpz/fits_uint.c, fits_ulong.c, mpz/fits_ushort.c: Split up fits_u.c.
! 3752: * mpz/fits_u.c: Remove file.
! 3753: * mpz/Makefile.am, macos/Makefile.in: Update.
! 3754:
! 3755: * tests/refmpn.c,tests.h (refmpn_copy): New function.
! 3756: * tests/devel/try.c (TYPE_ZERO): No return value from call.
! 3757: (TYPE_MODEXACT_1_ODD, TYPE_MODEXACT_1C_ODD): Share call with
! 3758: TYPE_MOD_1 and TYPE_MOD_1C.
! 3759: (MPN_COPY, __GMPN_COPY, __GMPN_COPY_INCR): Add testing.
! 3760:
! 3761: 2001-07-10 Kevin Ryde <kevin@swox.se>
! 3762:
! 3763: * gmp-h.in (__GMPN_COPY): Add form to help gcc on power and powerpc.
! 3764: * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR, MPN_ZERO): Ditto.
! 3765: * mpn/powerpc64/copyi.asm, mpn/powerpc64/copyd.asm: Remove files.
! 3766:
! 3767: * mpz/tdiv_ui.c: Eliminate some local variables (seems to save code on
! 3768: i386 gcc 2.95.x), remove a bogus comment about quotient.
! 3769:
! 3770: * errno.c, gmp-impl.h (__gmp_exception, __gmp_divide_by_zero,
! 3771: __gmp_sqrt_of_negative): New functions.
! 3772: * gmp-impl.h (GMP_ERROR, DIVIDE_BY_ZERO, SQRT_OF_NEGATIVE): Use them.
! 3773:
! 3774: * randclr.c, randraw.c: Use ASSERT(0) for unrecognised algorithms.
! 3775:
! 3776: 2001-07-07 Kevin Ryde <kevin@swox.se>
! 3777:
! 3778: * configure.in (powerpc*-*-*): Use -no-cpp-precomp for Darwin.
! 3779:
! 3780: * tests/mpbsd/t-itom.c: Renamed from t-misc.c.
! 3781: * tests/mpbsd/t-misc.c: Remove file.
! 3782: * tests/mpbsd/Makefile.am: Update.
! 3783:
! 3784: * tests/mpf/t-set_si.c,t-cmp_si.c,t-gsprec.c: Split from t-misc.c.
! 3785: * tests/mpf/t-misc.c: Remove file.
! 3786: * tests/mpf/Makefile.am: Update.
! 3787:
! 3788: * tests/mpz/t-oddeven.c,t-set_si.c,t-cmp_si.c: Split from t-misc.c.
! 3789: * tests/mpz/t-misc.c: Remove file.
! 3790: * tests/mpz/Makefile.am: Update.
! 3791:
! 3792: * stack-alloc.c: Add some alignment ASSERTs.
! 3793:
! 3794: * gmp-impl.h (MPN_NORMALIZE): Add notes on x86 repe/scasl slow.
! 3795:
! 3796: * tests/devel/try.c (MPN_ZERO): Add testing.
! 3797: * tune/speed.c,speed.h,common.c,many.pl (MPN_ZERO): Add measuring.
! 3798:
! 3799: * mpn/x86/divrem_1.asm: Update a remark about gcc and "loop".
! 3800:
! 3801: * tests/mpq/t-cmp_si.c: New file.
! 3802: * tests/mpq/Makefile.am: Add it.
! 3803:
! 3804: * tests/misc.c,tests.h (mpq_set_str_or_abort): New function.
! 3805:
! 3806: * mpq/cmp_si.c: New file.
! 3807: * Makefile.am, mpq/Makefile.am: Add it.
! 3808: * gmp-h.in (mpq_cmp_si): Add prototype.
! 3809: * gmp.texi (Comparing Rationals): Add doco.
! 3810:
! 3811: * gmp-h.in (_GMP_H_HAVE_FILE): Add _FILE_DEFINED for microsoft, add
! 3812: notes on what symbols are for what systems.
! 3813:
! 3814: 2001-07-06 Torbjorn Granlund <tege@swox.com>
! 3815:
! 3816: * longlong.h (ibm032 umul_ppmm): Fix typo.
! 3817: * longlong.h (sparclite sdiv_qrnnd): Fix typo.
! 3818:
! 3819: 2001-07-03 Kevin Ryde <kevin@swox.se>
! 3820:
! 3821: * mpz/bin_ui.c (DIVIDE): Use MPN_DIVREM_OR_DIVEXACT_1.
! 3822: * mpz/bin_uiui.c (MULDIV): Ditto, and use local variables for size and
! 3823: pointer.
! 3824:
! 3825: * acinclude.m4 (GMP_INCLUDE_GMP_H): New macro, use it everywhere gmp.h
! 3826: is wanted at configure time.
! 3827: * acinclude.m4, configure.in (GMP_H_EXTERN_INLINE, GMP_H_HAVE_FILE):
! 3828: New macros.
! 3829:
! 3830: * gmp-h.in (__GMP_EXTERN_INLINE): Set to "inline" for C++.
! 3831: (mpn_add, mpn_sub): Use new style __GMP_EXTERN_INLINE.
! 3832: * gmp-h.in, mp-h.in, gmp-impl.h (_EXTERN_INLINE): Remove, unused.
! 3833: * mpn/generic/add.c, mpn/generic/sub.c: New files.
! 3834: * mpn/generic/inlines.c: Remove file.
! 3835: * configure.in, mpn/Makefile.am: Update.
! 3836:
! 3837: * gmp.texi (GMP Basics): Note the need for stdio.h to get FILE
! 3838: prototypes.
! 3839:
! 3840: 2001-07-01 Kevin Ryde <kevin@swox.se>
! 3841:
! 3842: * gmp.texi (Build Options, Reentrancy): Updates for new
! 3843: --enable-alloca behaviour.
! 3844: (Debugging): Describe --enable-alloca=debug.
! 3845: (Miscellaneous Integer Functions): Note mpz_sizeinbase ignores signs.
! 3846: (Low-level Functions): Give a formula for mpn_gcdext cofactor.
! 3847: (Factorial Algorithm): New section.
! 3848: (Binomial Coefficients Algorithm): New section.
! 3849: Misc tweaks elsewhere.
! 3850:
! 3851: * mpf/set_prc.c: Merge the two truncation conditionals, misc cleanups,
! 3852: no functional changes.
! 3853:
! 3854: * mpn/*/gmp-mparam.h (DIVEXACT_1_THRESHOLD): Add tuned values.
! 3855: * gmp-impl.h (DIVEXACT_1_THRESHOLD): Make the default 0 when
! 3856: 2*UMUL_TIME < UDIV_TIME.
! 3857:
! 3858: * mpn/x86/p6/dive_1.asm: New file.
! 3859:
! 3860: * mpn/x86/dive_1.asm: New file.
! 3861: * mpn/x86/gmp-mparam.h (DIVEXACT_1_THRESHOLD): Use it always.
! 3862:
! 3863: * tests/refmpn.c, tests.h (refmpn_zero): New function.
! 3864: * tests/devel/try.c: Use it.
! 3865:
! 3866: * tests/refmpn.c (refmpn_sb_divrem_mn): Use refmpn_cmp, not mpn_cmp.
! 3867:
! 3868: * tests/mpf/t-get_d.c (main): Use || not |.
! 3869:
! 3870: * tests/misc.c, tests/t-modlinv.c, tests/mpq/t-get_str.c,
! 3871: tests/mpf/reuse.c: Add string.h.
! 3872:
! 3873: 2001-06-29 Kevin Ryde <kevin@swox.se>
! 3874:
! 3875: * tune/speed.h (SPEED_ROUTINE_MPN_FIB2_UI,
! 3876: SPEED_ROUTINE_COUNT_ZEROS_C): Corrections to TMP block handling.
! 3877:
! 3878: * gmp-impl.h (MPN_TOOM3_MUL_N_MINSIZE, MPN_TOOM3_SQR_N_MINSIZE):
! 3879: Corrections to these to account for adding tD into E.
! 3880: (MPN_INCR_U, MPN_DECR_U) [WANT_ASSERT]: Add size
! 3881: assertions, since mpn_add_1 and mpn_sub_1 from gmp.h don't get them.
! 3882: (MPN_DIVREM_OR_DIVEXACT_1): Add an assert of no remainder.
! 3883:
! 3884: * assert.c: Add stdlib.h for abort prototype.
! 3885: * tests/spinner.c, trace.c, t-constants.c, t-count_zeros.c,
! 3886: t-gmpmax.c, t-modlinv.c: Ditto.
! 3887: * tests/mpz/t-bin.c, t-cmp.c, t-get_si.c, t-misc.c, t-popcount.c,
! 3888: t-set_str.c, t-sizeinbase.c: Ditto.
! 3889: * tests/mpq/t-equal.c, t-get_str.c, t-set_f.c, t-set_str.c: Ditto.
! 3890: * tests/mpf/t-fits.c, t-get_d.c, t-get_si.c, t-int_p.c, t-misc.c,
! 3891: t-trunc.c: Ditto.
! 3892: * tests/mpbsd/allfuns.c, t-misc.c: Ditto.
! 3893:
! 3894: * mpn/generic/mul_n.c, mpz/cfdiv_r_2exp.c: Use MPN_INCR_U rather than
! 3895: mpn_incr_u.
! 3896:
! 3897: * tests/devel/try.c (TYPE_SB_DIVREM_MN): More fixes for calling method.
! 3898:
! 3899: * mpn/x86/k6/cross.pl: More insn exceptions.
! 3900:
! 3901: 2001-06-23 Kevin Ryde <kevin@swox.se>
! 3902:
! 3903: * gmp-h.in (__GMPN_ADD_1, __GMPN_SUB_1) [i386]: Fix some asm output
! 3904: constraints.
! 3905:
! 3906: * gmp-impl.h (modlimb_invert): Mask after shifting, so mask constant
! 3907: fits a signed byte.
! 3908:
! 3909: * tests/devel/try.c (TYPE_SB_DIVREM_MN): Fix initial fill of quotient
! 3910: with garbage.
! 3911:
! 3912: 2001-06-20 Kevin Ryde <kevin@swox.se>
! 3913:
! 3914: * config.guess (rs6000-*-aix4* | powerpc-*-aix4*): Suppress error
! 3915: messages if $CC_FOR_BUILD or program don't work.
! 3916:
! 3917: * mpz/sqrt.c,sqrtrem.c: Special case for op==0, to avoid TMP_ALLOC(0).
! 3918: * tests/refmpf.c (refmpf_add, refmpf_sub): Avoid TMP_ALLOC(0).
! 3919:
! 3920: * tests/mpn/t-aors_1.c: New file.
! 3921: * tests/mpn/Makefile.am: Add it.
! 3922:
! 3923: * gmp-h.in (__GMPN_ADD_1, __GMPN_SUB_1): New macros, rewrite of
! 3924: mpn_add_1 and mpn_sub_1, better code for src==dst and/or n==1,
! 3925: separate versions for gcc x86, gcc generic, and non-gcc.
! 3926: (mpn_add_1, mpn_sub_1): Use them.
! 3927: (mpn_add, mpn_sub): Ditto, to get inlines on all compilers.
! 3928: (extern "C") [__cplusplus]: Let this encompass the extern inlines too.
! 3929: * mpn/generic/add_1.c,sub_1.c: New files, force code from gmp.h.
! 3930: * configure.in, mpn/Makefile.am: Add them.
! 3931:
! 3932: * acinclude.m4 (GMP_ASM_LSYM_PREFIX): AC_SUBST __GMP_LSYM_PREFIX
! 3933: rather than AC_DEFINE LSYM_PREFIX.
! 3934: * gmp-h.in (__GMP_LSYM_PREFIX): New substitution.
! 3935: (__GMP_ASM_L): New macro.
! 3936: * gmp-impl.h (ASM_L): Use it.
! 3937:
! 3938: * acinclude.m4, configure.in (GMP_C_ATTRIBUTE_MALLOC): New macro.
! 3939: * gmp-impl.h: Use it for all the malloc based TMP_ALLOCs.
! 3940:
! 3941: * stack-alloc.h: Remove file.
! 3942: * tal-reent.c: New file.
! 3943: * Makefile.am: Update.
! 3944:
! 3945: * acinclude.m4, configure.in (GMP_OPTION_ALLOCA): New macro, add
! 3946: malloc-reentrant method, use stack-alloc.c as malloc-notreentrant,
! 3947: make "reentrant" the default.
! 3948: * gmp-impl.h (__TMP_ALIGN): Moved from stack-alloc.c, use a union to
! 3949: determine the value, and demand only 4 bytes align on 32-bit systems.
! 3950: * gmp-impl.h (WANT_TMP_NOTREENTRANT): Move global parts of
! 3951: stack-alloc.h to here, allow non power-of-2 __TMP_ALIGN in TMP_ALLOC.
! 3952: * gmp-impl.h: Extend extern "C" to TMP_ALLOC declarations.
! 3953: * stack-alloc.c (tmp_stack): Move private parts of stack-alloc.h to
! 3954: here, use gmp-impl.h.
! 3955:
! 3956: * gmp-impl.h (TMP_ALLOC_LIMBS_2): New macro.
! 3957: * mpz/fib_ui.c, mpz/jacobi.c, mpq/cmp.c, mpn/generic/fib2_ui.c: Use it.
! 3958:
! 3959: * mpfr/exp2.c: Patch by Paul to match TMP_MARK and TMP_FREE in loop.
! 3960: * mpfr/sqrt.c: Scope nested TMP_DECL into nested { } block, patch by
! 3961: Paul, tweaked by me.
! 3962: * mpfr/agm.c: Ditto, and add a final TMP_FREE(marker2).
! 3963:
! 3964: * gmp-h.in (mpn_cmp): Add __GMP_ATTRIBUTE_PURE.
! 3965:
! 3966: * INSTALL: Clarify "make install", tweak formatting a bit.
! 3967:
! 3968: 2001-06-17 Kevin Ryde <kevin@swox.se>
! 3969:
! 3970: * configure.in, Makefile.am, gmp-impl.h: Add a debugging TMP_ALLOC,
! 3971: selected with --enable-alloca=debug.
! 3972: * tal-debug.c: New file.
! 3973: * configure.in, Makefile.am: Compile stack-alloc.c only for
! 3974: --disable-alloca.
! 3975: * assert.c (__gmp_assert_header): New function, split from
! 3976: __gmp_assert_fail.
! 3977:
! 3978: * mpz/lcm.c: Don't TMP_MARK and then just return. Remove unnecessary
! 3979: _mpz_realloc prototype.
! 3980:
! 3981: * mpn/generic/mul.c (mpn_sqr_n): Use __gmp_allocate_func for toom3
! 3982: temporary workspace.
! 3983:
! 3984: 2001-06-15 Kevin Ryde <kevin@swox.se>
! 3985:
! 3986: * tests/mpz/t-set_f.c: New file.
! 3987: * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
! 3988:
! 3989: * mpz/set_f.c: Share MPN_COPY between pad and trunc cases, do exp<=0
! 3990: test earlier, store SIZ(w) earlier.
! 3991:
! 3992: * tests/t-count_zeros.c: New file.
! 3993: * tests/t-gmpmax.c: New file.
! 3994: * tests/Makefile.am (check_PROGRAMS): Add them.
! 3995:
! 3996: * mp_clz_tab.c: Compile the table only if longlong.h says it's needed;
! 3997: add an internal-use-only comment.
! 3998: * tune/common.c: Force a __clz_tab for convenience when testing.
! 3999:
! 4000: * mpn/x86/pentium/gmp-mparam.h, mpn/x86/pentium/mmx/gmp-mparam.h: Add
! 4001: COUNT_LEADING_ZEROS_NEED_CLZ_TAB, for mod_1.asm.
! 4002:
! 4003: * longlong.h (count_leading_zeros) [pentium]: Decide to go with float
! 4004: method for p54.
! 4005: (count_leading_zeros) [alpha]: Add COUNT_LEADING_ZEROS_NEED_CLZ_TAB.
! 4006: (__clz_tab): Provide a prototype only if it's needed.
! 4007:
! 4008: * tests/trace.c (mpz_trace): Don't use = on structures.
! 4009: (mpn_trace): Set _mp_alloc when creating mpz.
! 4010:
! 4011: 2001-06-12 Kevin Ryde <kevin@swox.se>
! 4012:
! 4013: * mpn/x86/divrem_1.asm: Amend some comments about P5 speed.
! 4014:
! 4015: * tune/README: Clarify reconfigure on gmp-mparam.h update.
! 4016:
! 4017: * mpn/x86/p6/copyd.asm: New file.
! 4018: * mpn/x86/p6/README: Update copyd and mod_1.
! 4019: * mpn/x86/copyd.asm: Amend some comments.
! 4020:
! 4021: * gmp-impl.h (__builtin_constant_p): Add dummy for non-gcc.
! 4022: (mpn_incr_u, mpn_decr_u): Recognise incr==1 at compile time in the
! 4023: generic code on gcc.
! 4024:
! 4025: * gmp-impl.h (ASSERT_ZERO_P, ASSERT_MPN_NONZERO_P): New macros.
! 4026: * mpn/generic/gcd_1.c, mpn/generic/mul_fft.c: Use them.
! 4027: * mpz/get_d.c: Add a private mpn_zero_p.
! 4028: * mpfr/trunc.c: Use own mpn_zero_p.
! 4029: * tune/speed.h (SPEED_ROUTINE_MPN_GCD_1N): Use refmpn_zero_p.
! 4030: * gmp-impl.h (mpn_zero_p): Remove, no longer needed.
! 4031:
! 4032: * gmp-h.in, gmp-impl.h: Move MPN_CMP to gmp.h as __GMPN_CMP, leave an
! 4033: MPN_CMP alias in gmp-impl.h.
! 4034: * gmp-h.in (mpn_cmp): Add an inline version.
! 4035: * mpn/generic/cmp.c: Use __GMP_FORCE_mpn_cmp to get code from gmp.h.
! 4036:
! 4037: * acinclude.m4 (GMP_C_ATTRIBUTE_MODE): New macro.
! 4038: * configure.in: Call it.
! 4039: * gmp-impl.h (SItype etc): Use it.
! 4040:
! 4041: * randraw.c (lc): Change mpn_mul_basecase->mpn_mul,
! 4042: mpn_incr_u->MPN_INCR_U, abort->ASSERT_ALWAYS(0).
! 4043:
! 4044: * longlong.h (count_leading_zeros) [pentiumpro]: Work around a partial
! 4045: register stall on gcc < 3.
! 4046:
! 4047: * gmp.texi (Introduction to GMP): Add IA-64.
! 4048: (Notes for Particular Systems): i386 means generic x86.
! 4049:
! 4050: * tests/t-modlinv.c: Use tests_start and tests_end.
! 4051:
! 4052: 2001-06-10 Kevin Ryde <kevin@swox.se>
! 4053:
! 4054: * gmp.texi (Number Theoretic Functions): mpz_jacobi only defined for b
! 4055: odd. Separate the jacobi/legendre/kronecker descriptions.
! 4056: (Low-level Functions): Document mpn_mul_1 "incr" overlaps.
! 4057: (Language Bindings): New chapter.
! 4058:
! 4059: * mpz/jacobi.c: Don't retaining old behaviour of mpz_jacobi on even b
! 4060: (it wasn't documented in 3.1.1).
! 4061: * mpz/jacobi.c, gmp-h.in (mpz_kronecker, mpz_legendre): Remove
! 4062: separate entrypoints, just #define to mpz_jacobi.
! 4063: * compat.c (__gmpz_legendre): Add compatibility entrypoint.
! 4064:
! 4065: * mpn/generic/mul_1.c: Allow "incr" style overlaps.
! 4066: * tests/devel/try.c (param_init): Test this.
! 4067:
! 4068: * mpf/mul_ui.c: Do size==0 test earlier.
! 4069:
! 4070: 2001-06-08 Kevin Ryde <kevin@swox.se>
! 4071:
! 4072: * gmp-impl.h (ULONG_HIGHBIT, UINT_HIGHBIT, USHRT_HIGHBIT): Cast
! 4073: ULONG_MAX etc to unsigned long etc before attempting to right shift.
! 4074:
! 4075: * acinclude.m4 (GMP_ASM_LSYM_PREFIX): Add an AC_DEFINE of LSYM_PREFIX.
! 4076: * gmp-impl.h (ASM_L): New macro.
! 4077: (mpn_incr_u, mpn_decr_u, MPN_INCR_U, MPN_DECR_U): Add i386 optimized
! 4078: versions.
! 4079:
! 4080: * mpn/hppa/*.s,S,asm: Use .label so the code works with gas on hppa
! 4081: GNU/Linux too, reported by LaMont Jones <lamont@smallone.fc.hp.com>.
! 4082: * mpn/hppa/README: Add some notes on this.
! 4083: * acinclude.m4 (GMP_ASM_LABEL_SUFFIX): Ditto.
! 4084:
! 4085: * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add dive_1.c,
! 4086: fib2_ui.c.
! 4087:
! 4088: * tests/mpn/t-iord_u.c: New file.
! 4089: * tests/mpn/Makefile.am (check_PROGRAMS): Add it.
! 4090:
! 4091: * configure.in (mips*-*-irix[6789]*): Make ABI=n32 the default, same
! 4092: as in gmp 3.1.
! 4093: * gmp.texi (ABI and ISA): Update.
! 4094:
! 4095: * gmp.texi (Build Options): Misc tweaks.
! 4096: (Notes for Particular Systems): Describe windows DLL handling.
! 4097: (Known Build Problems): DJGPP needs bash 2.04.
! 4098: (Number Theoretic Functions): mpz_invert returns 0<=r<modulus; add
! 4099: mpz_fib2_ui, mpz_lucnum_ui, mpz_lucnum2_ui.
! 4100: (Fibonacci Numbers Algorithm): Update for new formulas used.
! 4101: (Lucas Numbers Algorithm): New section.
! 4102:
! 4103: * tune/speed.c,speed.h,common.c,many.pl: Add mpn_fib2_ui, mpz_fib2_ui,
! 4104: mpz_lucnum_ui, mpz_lucnum2_ui.
! 4105: * demos/expr/exprz.c,README: Add lucnum.
! 4106: * demos/perl/GMP.pm,GMP.xs,GMP/Mpz.pm,test.pl: Add fib2, lucnum,
! 4107: lucnum2.
! 4108:
! 4109: * tests/mpz/t-lucnum_ui.c: New file.
! 4110: * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
! 4111: * tests/mpz/t-fib_ui.c: Check mpz_fib2_ui too, updates for new style
! 4112: MPN_FIB2_SIZE.
! 4113:
! 4114: * tune/tuneup.c, tune/Makefile.am, gmp-impl.h, mpn/*/gmp-mparam.h:
! 4115: Remove FIB_THRESHOLD, no longer required.
! 4116:
! 4117: * mpz/fib2_ui.c, mpz/lucnum_ui.c mpz/lucnum2_ui.c: New files.
! 4118: * Makefile.am, mpz/Makefile.am: Add them.
! 4119: * gmp-h.in (mpz_fib2_ui, mpz_lucnum_ui, mpz_lucnum2_ui): Add
! 4120: prototypes.
! 4121:
! 4122: * mpn/generic/fib2_ui.c: New file.
! 4123: * configure.in (gmp_mpn_functions): Add it.
! 4124: * gmp-impl.h (mpn_fib2_ui, FIB_TABLE, etc): Add these.
! 4125: * mpz/fib_ui.c: Rewrite.
! 4126:
! 4127: * acinclude.m4 (GMP_C_SIZES): Fix _LONG_LONG_LIMB define for mp_limb_t
! 4128: size test.
! 4129: (GMP_FUNC_ALLOCA): Add dummy __GMP_BITS_PER_MP_LIMB for gmp-h.in work.
! 4130:
! 4131: * configure.in (CPPFLAGS): Remove -D__GMP_WITHIN_GMP, don't want it
! 4132: everywhere.
! 4133: * Makefile.am, mpn/Makefile.am, mpz/Makefile.am, mpq/Makefile.am,
! 4134: mpf/Makefile.am, mpbsd/Makefile.am (INCLUDES): Set -D__GMP_WITHIN_GMP.
! 4135:
! 4136: * configure.in (*-*-msdosdjgpp*): Forcibly disable shared libraries,
! 4137: to make libtests.la work.
! 4138:
! 4139: * acconfig.h (_LONG_LONG_LIMB, HAVE_MPFR): Remove dummy defines, no
! 4140: longer needed.
! 4141:
! 4142: * mpz/set_ui.c: Store to _mp_d[0] unconditionally.
! 4143:
! 4144: 2001-05-27 Kevin Ryde <kevin@swox.se>
! 4145:
! 4146: * configure.in, gmp-h.in, mp-h.in: Add support for windows DLLs.
! 4147:
! 4148: 2001-05-26 Kevin Ryde <kevin@swox.se>
! 4149:
! 4150: * gmp.texi (ABI and ISA, Reentrancy): Minor tweaks
! 4151: (Notes for Package Builds): Note gmp.h is a generated file.
! 4152: (Notes for Particular Systems): -march=pentiumpro is used for gcc
! 4153: 2.95.4 and up.
! 4154: (Assembler Loop Unrolling): Mention non power-of-2 unrolling.
! 4155: (Internals): New chapter.
! 4156: * mpf/README: Remove file.
! 4157:
! 4158: * demos/expr/README: Miscellaneous rewordings.
! 4159:
! 4160: * demos/perl: New directory.
! 4161: * demos/Makefile.am: Add it.
! 4162: * demos/perl/INSTALL, Makefile.PL, GMP.pm, GMP.xs, typemap,
! 4163: GMP/Mpz.pm, GMP/Mpq.pm, GMP/mpf.pm, GMP/Rand.pm, sample.pl, test.pl:
! 4164: New files.
! 4165:
! 4166: * configure, aclocal.m4: Update to autoconf 2.50.
! 4167:
! 4168: * configure, aclocal.m4, ltmain.sh: Update to libtool 1.4.
! 4169:
! 4170: * configure, aclocal.m4, missing, ansi2knr.c, */Makefile.in: Update to
! 4171: automake 1.4f.
! 4172: * Makefile.am: Conditionalize mpfr in $(SUBDIRS) to handle mpfr.info.
! 4173: * mpfr/Makefile.am (INFO_DEPS): Remove previous mpfr.info handling.
! 4174: * mpn/Makefile.am (GENERIC_SOURCES): Remove this, just put mp_bases.c
! 4175: in libmpn_la_SOURCES.
! 4176: * tests/Makefile.am (tests.h): Move from EXTRA_HEADERS to
! 4177: libtests_la_SOURCES.
! 4178: * ltconfig: Remove file, no longer needed.
! 4179:
! 4180: * Makefile.am (gmp-impl.h, longlong.h, stack-alloc.h): Move from
! 4181: EXTRA_DIST to libgmp_la_SOURCES, so they get included in TAGS.
! 4182: * tests/rand/Makefile.am (gmpstat.h): Move to libstat_la_SOURCES
! 4183: similarly.
! 4184:
! 4185: * config.guess (68k-*-*): Use $SHELL not "sh", tweak some comments.
! 4186:
! 4187: * mpfr/mpfr.texi (Introduction to MPFR): Tweak table formatting, note
! 4188: non-free programs must be able to be re-linked.
! 4189:
! 4190: 2001-05-20 Kevin Ryde <kevin@swox.se>
! 4191:
! 4192: * mpn/powerpc64/addmul_1.asm,mul_1.asm,submul_1.asm: Add carry-in
! 4193: entrypoints.
! 4194:
! 4195: 2001-05-17 Kevin Ryde <kevin@swox.se>
! 4196:
! 4197: * gmp.texi (ge): Fix definition for info.
! 4198: (Notes for Particular Systems): Mention 68k dragonball and cpu32.
! 4199: (Efficiency): Add static linking, more about in-place operations,
! 4200: describe mpq+/-integer using addmul.
! 4201: (Reporting Bugs): A couple of words about self-contained reports.
! 4202: (Floating-point Functions): Note exponent limitations of mpf_get_str
! 4203: and mpf_set_str.
! 4204: (Initializing Floats): Clarify mpf_get_prec, mpf_set_prec and
! 4205: mpf_set_prec_raw a bit.
! 4206: (Float Comparison): Note current mpf_eq deficiencies.
! 4207:
! 4208: * gmp-h.in (__GMP_HAVE_CONST, __GMP_HAVE_PROTOTYPES,
! 4209: __GMP_HAVE_TOKEN_PASTE): Merge GNU ansidecl.h tests for ANSI compilers.
! 4210: * demos/expr/expr-impl-h.in: Ditto.
! 4211:
! 4212: * gmp-impl.h (BITS_PER_MP_LIMB): Define from __GMP_BITS_PER_MP_LIMB if
! 4213: not already in gmp-mparam.h.
! 4214: * tests/t-constants.c (BITS_PER_MP_LIMB, __GMP_BITS_PER_MP_LIMB):
! 4215: Check these are the same.
! 4216:
! 4217: * gmp-h.in (mpf_get_default_prec, mpf_get_prec, mpf_set_default_prec,
! 4218: mpf_set_prec_raw): Provide "extern inline" versions, use __GMPF on the
! 4219: macros.
! 4220: * mpf/get_dfl_prc.c, mpf/get_prc.c, mpf/set_dfl_prc.c,
! 4221: mpf/set_prc_raw.c: Get code from gmp.h using __GMP_FORCE.
! 4222:
! 4223: * gmp-h.in, gmp-impl.h (__gmp_default_fp_limb_precision): Move from
! 4224: gmp-impl.h to gmp-h.in.
! 4225: (__GMPF_BITS_TO_PREC, __GMPF_PREC_TO_BITS): Ditto, and use __GMPF
! 4226: prefix and add a couple of casts.
! 4227: * gmp-h.in (__GMP_MAX): New macro.
! 4228: * mpf/init2.c mpf/set_prc.c: Update for __GMPF prefix.
! 4229:
! 4230: * gmp-h.in (__GMP_BITS_PER_MP_LIMB): New templated define.
! 4231: * acinclude.m4 (GMP_C_SIZES): Add AC_SUBST __GMP_BITS_PER_MP_LIMB,
! 4232: remove AC_DEFINE BITS_PER_MP_LIMB.
! 4233:
! 4234: 2001-05-13 Kevin Ryde <kevin@swox.se>
! 4235:
! 4236: * gmp-h.in, gmp.texi, Makefile.am, mpz/Makefile.am, tests/mpz/t-pow.c:
! 4237: Remove mpz_si_pow_ui, pending full si support.
! 4238: * mpz/si_pow_ui.c: Remove file.
! 4239:
! 4240: 2001-05-11 Kevin Ryde <kevin@swox.se>
! 4241:
! 4242: * mpn/x86/pentium/dive_1.asm: New file.
! 4243:
! 4244: * mpn/powerpc32/umul.asm: Use r on registers.
! 4245: * mpn/powerpc64/umul.asm: New file.
! 4246: * configure.in (powerpc*-*-*): Enable umul in extra_functions.
! 4247:
! 4248: * tests/refmpn.c, tests/tests.h (refmpn_umul_ppmm): Use same arguments
! 4249: as normal mpn_umul_ppmm.
! 4250: (refmpn_mul_1c): Update.
! 4251: * tests/devel/try.c, tune/many.pl: Add some umul_ppmm testing support.
! 4252:
! 4253: * mpn/x86/k6/mmx/popham.asm, mpn/x86/k7/mmx/popham.asm: Don't support
! 4254: size==0.
! 4255: * mpn/x86/pentium/popcount.asm, mpn/x86/pentium/hamdist.asm: Ditto,
! 4256: and shave a couple of cycles from the PIC entry code.
! 4257:
! 4258: * mpz/mul.c: Use mpn_mul_1 for size==1 and mpn_mul_2 (if available)
! 4259: for size==2, to avoid copying; do vsize==0 test earlier.
! 4260:
! 4261: * mpf/sub.c: Test r!=u before calling mpf_set.
! 4262: * mpf/add.c: Ditto, and share mpf_set between usize==0 and vsize==0.
! 4263:
! 4264: * mpn/generic/tdiv_qr.c, mpq/get_d.c, mpf/div.c, mpf/set_q.c,
! 4265: mpf/set_str.c, mpf/ui_div.c: Test for high bit set, not for
! 4266: count_leading_zeros zero.
! 4267:
! 4268: * acinclude.m4 (GMP_PROG_AR, GMP_PROG_NM): Print a message if extra
! 4269: flags are added.
! 4270:
! 4271: * tests/mpz/t-mul_i.c: New file.
! 4272: * tests/mpz/Makefile.am: Add it.
! 4273:
! 4274: * mpz/mul_siui.c (mpz_mul_si): Fix for -0x80..00 on long long limb.
! 4275:
! 4276: * gmp-h.in (mpf_set_si, mpf_set_ui): Revert last change, set exp to 0
! 4277: when n==0.
! 4278: * mpf/ceilfloor.c, mpf/trunc.c: Fix exp to 0 when setting r to 0.
! 4279: * gmp-impl.h (MPF_CHECK_FORMAT): Check exp==0 when size==0.
! 4280:
! 4281: 2001-05-07 Kevin Ryde <kevin@swox.se>
! 4282:
! 4283: * gmp-h.in (mpf_set_si, mpf_set_ui): Don't bother setting _mp_exp to 0
! 4284: when n==0 (use 1 unconditionally).
! 4285: * tests/mpf/t-misc.c (check_mpf_set_si): Don't demand anything of
! 4286: _mp_exp when _mp_size is zero.
! 4287:
! 4288: * mpn/x86/README: Note gas _GLOBAL_OFFSET_TABLE_ with leal problem.
! 4289:
! 4290: * gmp-h.in (mpz_fits_uint_p, mpz_fits_ulong_p, mpz_fits_ushort_p):
! 4291: Provide these as "extern inline"s.
! 4292: (__GMP_UINT_MAX, __GMP_ULONG_MAX, __GMP_USHRT_MAX): New macros.
! 4293: (mpz_popcount): Use __GMP_ULONG_MAX.
! 4294: * gmp-impl.h (UINT_MAX, ULONG_MAX, USHRT_MAX): Use __GMP_U*_MAX, if
! 4295: not already defined.
! 4296: * mpz/fits_u.c: Use the code from gmp.h.
! 4297:
! 4298: 2001-05-06 Kevin Ryde <kevin@swox.se>
! 4299:
! 4300: * mpn/x86/k7/dive_1.asm: New file.
! 4301: * mpn/x86/k7/gcd_1.asm: New file.
! 4302: * mpn/asm-defs.m4 (m4_count_trailing_zeros): New macro.
! 4303:
! 4304: * gmp-h.in (mpz_get_ui, mpz_getlimbn, mpz_set_q, mpz_perfect_square_p,
! 4305: mpz_popcount, mpz_size, mpf_set_ui, mpf_set_si, mpf_size): Provide
! 4306: these as "extern inlines".
! 4307: Use just one big extern "C" block.
! 4308: * mpz/getlimbn.c, mpz/get_ui.c, mpz/perfsqr.c, mpz/popcount.c
! 4309: mpz/set_q.c, mpz/size.c, mpf/set_si.c, mpf/set_ui.c, mpf/size.c: Use
! 4310: __GMP_FORCE to get code from gmp.h.
! 4311:
! 4312: 2001-05-03 Kevin Ryde <kevin@swox.se>
! 4313:
! 4314: * extract-dbl.c: Add ASSERT d>=0.
! 4315:
! 4316: * gmp.texi (Efficiency): Add mpz_addmul etc for mpz+=integer, add
! 4317: mpz_neg etc in-place.
! 4318: (Integer Arithmetic): Add mpz_addmul, mpz_submul, mpz_submul_ui.
! 4319: (Initializing Rationals): Add mpq_set_str.
! 4320: (Low-level Functions): mpn_set_str requires strsize >= 1.
! 4321:
! 4322: * gmp-h.in (__GMP_EXTERN_INLINE, __GMP_ABS): New macros.
! 4323: (mpz_abs, mpq_abs, mpf_abs, mpz_neg, mpq_neg, mpf_neg): Provide inline
! 4324: versions.
! 4325: * mpz/abs.c, mpq/abs.c, mpf/abs.c, mpz/neg.c, mpq/neg.c, mpf/neg.c:
! 4326: Add suitable __GMP_FORCE to turn off inline versions.
! 4327:
! 4328: * tests/mpz/t-aorsmul.c,t-cmp_d.c,t-popcount,t-set_str.c: New files.
! 4329: * tests/mpz/Makefile.am: Add them.
! 4330:
! 4331: * mpz/aorsmul_i.c: New file, rewrite of addmul_ui.c. Add
! 4332: mpz_submul_ui entrypoint, share more code between some of the
! 4333: conditionals, use mpn_mul_1c if available.
! 4334: * mpz/addmul_ui.c: Remove file.
! 4335: * mpz/aorsmul.c: New file.
! 4336: * Makefile.am, mpz/Makefile.am: Update.
! 4337: * gmp-h.in (mpz_addmul, mpz_submul, mpz_submul_ui): Add prototypes.
! 4338: * gmp-impl.h (mpz_aorsmul_1): Add prototype.
! 4339:
! 4340: * tests/mpq/t-set_str.c: New file.
! 4341: * tests/mpq/Makefile.am: Add it.
! 4342:
! 4343: * mpq/set_str.c: New file.
! 4344: * Makefile.am, mpq/Makefile.am: Add it.
! 4345: * gmp-h.in (mpq_set_str): Add prototype.
! 4346:
! 4347: * mpz/set_str.c: Fix for trailing white space on zero, eg. "0 ".
! 4348: * mpn/generic/set_str.c: Add ASSERT str_len >= 1.
! 4349:
! 4350: * gmp-h.in, gmp-impl.h (mpn_incr_u, mpn_decr_u): Move to gmp-impl.h.
! 4351: * gmp-impl.h (MPN_INCR_U, MPN_DECR_U): New macros.
! 4352:
! 4353: 2001-04-30 Kevin Ryde <kevin@swox.se>
! 4354:
! 4355: * tests/mpz/t-lcm.c: New file.
! 4356: * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
! 4357:
! 4358: * mpz/lcm.c: Add one limb special case.
! 4359:
! 4360: * mpz/lcm_ui.c: New file.
! 4361: * Makefile.am, mpz/Makefile.am: Add it.
! 4362: * gmp-h.in (mpz_lcm_ui): Add prototype.
! 4363: * gmp.texi (Number Theoretic Functions): Add mpz_lcm_ui, document lcm
! 4364: now always positive.
! 4365:
! 4366: * mp-h.in (mp_size_t, mp_exp_t): Fix typedefs to match gmp-h.in.
! 4367:
! 4368: * gmp-h.in (mpn_add_1, mpn_add, mpn_sub_1, mpn_sub): Remove K&R
! 4369: function defines (ansi2knr will handle mpn/inline.c, and just ansi is
! 4370: enough for gcc extern inline).
! 4371:
! 4372: * gmp-h.in (__GMP_HAVE_TOKEN_PASTE): New macro.
! 4373: (__MPN): Use it.
! 4374: * gmp-impl.h (CNST_LIMB): Ditto.
! 4375:
! 4376: * gmp-h.in, mp-h.in (__gmp_const, __gmp_signed, _PROTO, __MPN): Use
! 4377: ANSI forms on Microsoft C.
! 4378: (__GMP_HAVE_CONST): New define.
! 4379: * gmp-impl.h (const, signed): Use it.
! 4380:
! 4381: * demos/expr/expr-impl-h.in (<stdarg.h>): Use this with Microsoft C.
! 4382: (HAVE_STDARG): New define.
! 4383: * demos/expr/expr.c,exprz.c,exprq.c,exprf.c,exprfr.c: Use it.
! 4384:
! 4385: * acinclude.m4 (GMP_C_STDARG): New macro.
! 4386: * configure.in: Call it.
! 4387: * rand.c: Use it.
! 4388:
! 4389: * configure.in (AC_PROG_CC_STDC): New test.
! 4390:
! 4391: 2001-04-25 Kevin Ryde <kevin@swox.se>
! 4392:
! 4393: * mpn/x86/k6/mmx/dive_1.asm: New file.
! 4394: * mpn/x86/x86-defs.m4 (Zdisp): Two more insns.
! 4395:
! 4396: * mpn/x86/pentium/mul_2.asm: New file.
! 4397: * mpn/asm-defs.m4: Add define_mpn(mul_2).
! 4398: * acconfig.h (HAVE_NATIVE_mpn_divexact_1, mul_2): Add templates.
! 4399:
! 4400: * configure.in (ABI): Use AC_ARG_VAR.
! 4401:
! 4402: * tests/devel/try.c: Run reference function when validate fails.
! 4403:
! 4404: * mpq/get_str.c: Fixes for negative bases.
! 4405: * tests/mpq/t-get_str.c: Check negative bases.
! 4406: * tests/misc.c,tests.h (__gmp_allocate_strdup, strtoupper): New
! 4407: functions.
! 4408:
! 4409: 2001-04-24 Torbjorn Granlund <tege@swox.com>
! 4410:
! 4411: * mpz/lcm.c (mpz_lcm): Make result always positive.
! 4412:
! 4413: * gmp-h.in (mpz_inp_binary, mpz_out_binary): Remove declarations.
! 4414:
! 4415: 2001-04-22 Kevin Ryde <kevin@swox.se>
! 4416:
! 4417: * mpn/powerpc64/addsub_n.asm: Use config.m4 not asm-syntax.m4.
! 4418:
! 4419: * mpz/cmp_d.c, mpz/cmpabs_d.c: New files.
! 4420: * Makefile.am, mpz/Makefile.am: Add them.
! 4421: * mpf/cmp_d.c, mpf/get_dfl_prec.c: New files.
! 4422: * Makefile.am, mpf/Makefile.am: Add them.
! 4423: * gmp-h.in (mpz_cmp_d, mpz_cmpabs_d, mpf_cmp_d, mpf_get_default_prec):
! 4424: Add prototypes.
! 4425: * gmp.texi: Add documentation.
! 4426:
! 4427: * mpf/set_prc.c: Avoid a realloc call if already the right precision.
! 4428:
! 4429: * gmp-impl.h (MPF_BITS_TO_PREC, MPF_PREC_TO_BITS): New macros.
! 4430: * mpf/get_prc.c, init2.c, set_dfl_prec.c, set_prc.c, set_prc_raw.c:
! 4431: Use them.
! 4432:
! 4433: 2001-04-20 Kevin Ryde <kevin@swox.se>
! 4434:
! 4435: * tests/devel/try.c: Don't test size==0 on mpn_popcount and
! 4436: mpn_hamdist; add testing for mpn_divexact_1; print some limb values
! 4437: with mpn_trace not printf.
! 4438:
! 4439: * mpz/popcount.c, mpz/hamdist.c: Don't pass size==0 to mpn_popcount
! 4440: and mpn_hamdist.
! 4441: * mpn/generic/popham.c: Don't support size==0.
! 4442:
! 4443: * config.guess (m68k-*-*): Detect m68010, return m68360 for cpu32,
! 4444: cleanup the nesting a bit.
! 4445:
! 4446: * gmp.texi (Integer Division): Fix mpz_congruent_2exp_p "c" type.
! 4447: (Integer Division): Add mpz_divexact_ui.
! 4448: (Number Theoretic Functions): Fix mpz_nextprime return type.
! 4449: (Exact Remainder): Divisibility tests now implemented.
! 4450: And more index entries in a few places.
! 4451:
! 4452: * tests/mpz/dive_ui.c: New file.
! 4453: * tests/mpz/Makefile.am (check_PROGRAMS): Add it.
! 4454:
! 4455: * mpz/dive_ui.c: New file.
! 4456: * Makefile.am, mpz/Makefile.am: Add it.
! 4457: * gmp-h.in (mpz_divexact_ui): Add prototype.
! 4458:
! 4459: * tune/many.pl, tune/speed.h: Add special mpn_back_to_back for
! 4460: development.
! 4461:
! 4462: * gmp-impl.h (MPN_DIVREM_OR_DIVEXACT_1): New macro.
! 4463: * mpz/divexact.c: Use it.
! 4464:
! 4465: * gmp-impl.h (DIVEXACT_1_THRESHOLD): New threshold.
! 4466: * tune/tuneup.c: Tune it.
! 4467:
! 4468: * tune/speed.c,speed.h,common.c,many.pl: Add measuring of
! 4469: mpn_divexact_1, mpn_copyi, mpn_copyd.
! 4470:
! 4471: * mpn/generic/dive_1.c: New file.
! 4472: * configure.in (gmp_mpn_functions): Add it.
! 4473: * gmp-impl.h (mpn_divexact_1): Add prototype.
! 4474: * mpn/asm-defs.m4: Add define_mpn(divexact_1).
! 4475:
! 4476: * tests/mpn: New directory.
! 4477: * tests/Makefile.am: Add it.
! 4478: * tests/mpn/Makefile.am: New file.
! 4479: * configure.in (AC_OUTPUT): Add it.
! 4480: * tests/mpn/t-asmtype.c: New file.
! 4481:
! 4482: * configure, config.in: Update to autoconf 2.49d.
! 4483:
! 4484: * configure.in, gmp-h.in, mp-h.in, demos/expr/expr-impl-h.in: Revert
! 4485: to generating gmp.h, mp.h and expr-impl.h with AC_OUTPUT and AC_SUBST.
! 4486:
! 4487: * configure.in (m68*-*-*): Oops, m683?2 is 68000, m68360 is cpu32.
! 4488: * mpn/m68k/m68k-defs.m4 (scale_available_p): Ditto.
! 4489:
! 4490: * configure.in (underscore, asm_align): Remove these variables, unused.
! 4491: (GMP_ASM_*): Sort by AC_REQUIREs, to avoid duplication.
! 4492: * acinclude.m4 (GMP_ASM_UNDERSCORE, GMP_ASM_ALIGN_LOG): Remove support
! 4493: for actions, no longer needed.
! 4494:
! 4495: 2001-04-17 Kevin Ryde <kevin@swox.se>
! 4496:
! 4497: * config.guess (m68k-*-*): Look for cpu in linux kernel /proc/cpuinfo.
! 4498:
! 4499: * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): The -mpentiumpro problem is
! 4500: fixed in 2.95.4, so test for that.
! 4501: (GMP_ASM_TYPE): Amend some comments.
! 4502:
! 4503: * tune/freq.c (speed_cpu_frequency_sysctl): Avoid having unused
! 4504: variables on GNU/Linux.
! 4505:
! 4506: * mpn/asm-defs.m4 (m4_instruction_wrapper): Fix a quoting problem if
! 4507: the name of the file is a macro.
! 4508:
! 4509: 2001-04-15 Kevin Ryde <kevin@swox.se>
! 4510:
! 4511: * mpn/powerpc64/*.asm: Add speeds on ppc630.
! 4512:
! 4513: * acconfig.h: Add dummy templates for _LONG_LONG_LIMB and HAVE_MPFR.
! 4514: * configure.in: Ensure config.in is the last AM_CONFIG_HEADER,
! 4515: which autoheader requires.
! 4516:
! 4517: * mpn/x86/pentium/popcount.asm: New file.
! 4518: * mpn/x86/pentium/hamdist.asm: New file.
! 4519:
! 4520: * mpn/asm-defs.m4: (m4_popcount): New macro.
! 4521: Amend a few comments elsewhere.
! 4522:
! 4523: * acinclude.m4 (GMP_ASM_RODATA): If possible, grep compiler output for
! 4524: the right directive.
! 4525:
! 4526: * tune/speed.c: Print clock speed in MHz, not cycle time.
! 4527:
! 4528: * configure.in (AC_CHECK_HEADERS): Check for sys/processor.h.
! 4529: * tune/freq.c (speed_cpu_frequency_processor_info): Require
! 4530: <sys/processor.h> to exist, to differentiate the different
! 4531: processor_info on Darwin.
! 4532: (speed_cpu_frequency_sysctlbyname): Remove hw.model test which is in
! 4533: speed_cpu_frequency_sysctl.
! 4534: (speed_cpu_frequency_sysctl): Add hw.cpufrequency for Darwin.
! 4535:
! 4536: * gmp-impl.h (MPN_LOGOPS_N_INLINE, mpn_and_n ... mpn_xnor_n): Use a
! 4537: single expression argument for the different operations, necessary for
! 4538: the Darwin "smart" preprocessor.
! 4539:
! 4540: * mpn/m68k/t-m68k-defs.pl: Allow white space in m4_definsn and
! 4541: m4_defbranch.
! 4542:
! 4543: * tune/many.pl: Change RM_TMP_S to RM_TMP to match mpn/Makeasm.am,
! 4544: avoid a possibly undefined array in a diagnostic, add more renaming to
! 4545: hamdist.
! 4546:
! 4547: 2001-04-13 Kevin Ryde <kevin@swox.se>
! 4548:
! 4549: * ltmain.sh, aclocal.m4, configure, config.in: Update to libtool 1.3d.
! 4550: * configure.in: Change ac_ to lt_ in lt_cv_archive_cmds_need_lc and
! 4551: lt_cv_proc_cc_pic.
! 4552:
! 4553: * config.guess (m68*-*-*): Detect exact cpu with BSD sysctl hw.model,
! 4554: detect 68000/68010 with trapf, detect 68302 with bfffo.
! 4555:
! 4556: 2001-04-11 Kevin Ryde <kevin@swox.se>
! 4557:
! 4558: * acinclude.m4 (GMP_ASM_M68K_INSTRUCTION, GMP_ASM_M68K_ADDRESSING,
! 4559: GMP_ASM_M68K_BRANCHES): New macros.
! 4560: * configure.in: Use them, remove old 68k configs, use mc68020 udiv and
! 4561: umul.
! 4562:
! 4563: * mpn/m68k/m68k-defs.m4: New file.
! 4564: * mpn/m68k/t-m68k-defs.pl: New file.
! 4565: * mpn/m68k/*.asm: New files, converted from .S. Merge add_n and sub_n
! 4566: to aors_n, ditto mc68020 addmul_1 and submul_1 to aorsmul_1. No
! 4567: object code changes (except .type and .size now used on NetBSD 1.4).
! 4568: * mpn/m68k/README: New file.
! 4569: * mpn/m68k/*.S, */*.S, syntax.h: Remove files.
! 4570:
! 4571: * configure.in (m68*-*-netbsd1.4*): Pretend getrusage doesn't exist.
! 4572: * tune/README: Update.
! 4573:
! 4574: * configure.in (powerpc*-*-*): For the benefit of Darwin 1.3, add cc
! 4575: to cclist, make gcc_cflags -Wa,-mppc optional.
! 4576:
! 4577: 2001-04-06 Kevin Ryde <kevin@swox.se>
! 4578:
! 4579: * mpn/lisp/gmpasm-mode.el (gmpasm-comment-start-regexp): Add | for 68k.
! 4580: (gmpasm-mode-syntax-table): Add to comments.
! 4581:
! 4582: * tests/mpz/reuse.c (dsi_div_func_names): Add names for cdiv_[qr]_2exp.
! 4583:
! 4584: 2001-04-04 Kevin Ryde <kevin@swox.se>
! 4585:
! 4586: * acinclude.m4 (GMP_M4_M4WRAP_SPURIOUS): Fix test so as to actually
! 4587: detect the problem, add notes on m68k netbsd 1.4.1.
! 4588:
! 4589: * gmp.texi (Compatibility with older versions): Note libmp
! 4590: compatibility.
! 4591:
! 4592: 2001-04-03 Kevin Ryde <kevin@swox.se>
! 4593:
! 4594: * tests/mpz/reuse.c: Add mpz_cdiv_q_2exp and mpz_cdiv_r_2exp.
! 4595:
! 4596: * tests/mpz/t-pow.c: Drag in refmpn.o when testing mpz_pow_ui etc with
! 4597: refmpn_mul_2.
! 4598:
! 4599: * tune/speed.c,speed.h,common.c,many.pl: Add measuring of mpn_com_n
! 4600: and mpn_mul_2.
! 4601: * tests/devel/try.c: Add testing of mpn_mul_2, and a
! 4602: DATA_MULTIPLE_DIVISOR attribute.
! 4603:
! 4604: * gmp.texi (Build Options): List more m68k's.
! 4605: (Build Options): Add cross reference to tex2html.
! 4606: (Notes for Particular Systems): Add m68k means 68020 or up.
! 4607: (Rational Conversions): New section, with mpq_get_d, mpq_set_d and
! 4608: mpq_set_f from Miscellaneous, and new mpq_set_str.
! 4609: (Applying Integer Functions): Move mpq_get_num, mpq_get_den,
! 4610: mpq_set_num and mpq_set_den from Misc.
! 4611: (Miscellaneous Rational Functions): Remove section.
! 4612: (Custom Allocation): Partial rewrite for various clarifications.
! 4613: (References): Improve line breaks near URLs.
! 4614:
! 4615: * acinclude.m4 (GMP_GCC_M68K_OPTIMIZE): New macro.
! 4616: * configure.in (m68*-*-*): Use it to run gcc 2.95.x at -O not -O2.
! 4617: (m680?0-*-*, m683?2-*-*, m68360-*-*): Add optional gcc -m options.
! 4618:
! 4619: * tests/mpz/t-cmp.c: New file.
! 4620: * tests/mpz/t-sizeinbase.c: New file.
! 4621: * tests/mpz/Makefile.am: Add them.
! 4622:
! 4623: * gmp-impl.h (MPN_CMP): New macro.
! 4624: * mpz/cmp.c,cmpabs.c: Use it, and minor cleanups too.
! 4625:
! 4626: * tests/mpq/t-equal.c: New file.
! 4627: * tests/mpq/t-get_str.c: New file.
! 4628: * tests/mpq/Makefile.am: Add them.
! 4629:
! 4630: * mpq/get_str.c: New file.
! 4631: * Makefile.am, mpq/Makefile.am: Add it.
! 4632: * gmp-h.in (mpq_get_str): Add prototype.
! 4633:
! 4634: * mpq/equal.c: Rewrite using inline compare loops.
! 4635:
! 4636: * tests/refmpn.c,tests.h (refmpn_mul_2): Fix parameter order.
! 4637: * mpz/n_pow_ui.c: Fix mpn_mul_2 calls parameter order.
! 4638:
! 4639: 2001-03-29 Kevin Ryde <kevin@swox.se>
! 4640:
! 4641: * tests/mpf/t-trunc.c: New file.
! 4642: * tests/mpf/Makefile.am (check_PROGRAMS): Add it.
! 4643: * gmp-impl.h (MPF_CHECK_FORMAT): New macro.
! 4644:
! 4645: * mpf/trunc.c: New file, rewrite of integer.c, preserve prec+1 in
! 4646: copy, don't copy if unnecessary.
! 4647: * mpf/ceilfloor.c: New file likewise, and use common subroutine for
! 4648: ceil and floor.
! 4649: * mpf/integer.c: Remove file.
! 4650: * Makefile.am, mpf/Makefile.am, macos/Makefile.in: Update.
! 4651:
! 4652: * acinclude.m4 (GMP_GCC_VERSION_GE): New macro.
! 4653: (GMP_GCC_MARCH_PENTIUMPRO): Use it, remove CCBASE parameter (don't
! 4654: bother checking it's gcc).
! 4655: (GMP_GCC_ARM_UMODSI): New macro.
! 4656: * configure.in (GMP_GCC_MARCH_PENTIUMPRO): Update parameters.
! 4657: (arm*-*-*): Use GMP_GCC_ARM_UMODSI.
! 4658: * gmp.texi (Notes for Particular Systems): Add arm gcc requirements.
! 4659:
! 4660: 2001-03-28 Kevin Ryde <kevin@swox.se>
! 4661:
! 4662: * gmp.texi (Converting Integers): Document mpz_getlimbn using absolute
! 4663: value and giving zero for N out of range, move to end of section.
! 4664:
! 4665: * tests/refmpn.c (refmpn_tdiv_qr): Use refmpn_divmod_1 rather than
! 4666: refmpn_divrem_1.
! 4667: * tests/tests.h: Add some prototypes that were missing.
! 4668:
! 4669: * mpz/tdiv_q_ui.c: Remove a comment that belonged to mpz_tdiv_r_ui.
! 4670:
! 4671: 2001-03-26 Torbjorn Granlund <tege@swox.com>
! 4672:
! 4673: * mpn/generic/gcdext.c: Handle carry overflow after m*n multiply code
! 4674: in both arms. Partially combine multiply arms.
! 4675:
! 4676: 2001-03-24 Kevin Ryde <kevin@swox.se>
! 4677:
! 4678: * longlong.h: Add comments to P5 count_leading_zeros.
! 4679:
! 4680: * demos/expr/exprz.c,t-expr.c,README: Add congruent_p and divisible_p.
! 4681:
! 4682: 2001-03-23 Kevin Ryde <kevin@swox.se>
! 4683:
! 4684: * gmp.texi (GMPceil, GMPfloor, ge, le): New macros.
! 4685: (Integer Division, mpn_cmp, mpn_sqrtrem, Algorithms): Use them.
! 4686: (mpn_bdivmod): Refer to mp_bits_per_limb, not BITS_PER_MP_LIMB, and
! 4687: improve formatting a bit.
! 4688: (mpn_lshift, mpn_rshift): Clarify the return values, and use {rp,n}
! 4689: for the destination.
! 4690: Miscellaneous minor rewordings in a few places.
! 4691:
! 4692: * mpn/arm/arm-defs.m4: New file.
! 4693: * configure.in (arm*-*-*): Use it.
! 4694: * mpn/arm/*.asm: Use changecom and registers from arm-defs.m4, use L()
! 4695: for local labels.
! 4696:
! 4697: * mpn/x86/k6/mmx/com_n.asm: Relax code alignment (same speed).
! 4698:
! 4699: * gmp-h.in (__GMP_ATTRIBUTE_PURE): Use __pure__ to avoid application
! 4700: namespace.
! 4701:
! 4702: * gmp-impl.h (ABS): Add parens around argument.
! 4703:
! 4704: 2001-03-20 Kevin Ryde <kevin@swox.se>
! 4705:
! 4706: * acinclude.m4 (GMP_PROG_M4): Use AC_ARG_VAR on $M4.
! 4707:
! 4708: * acinclude.m4 (GMP_M4_M4WRAP_SPURIOUS): New macro.
! 4709: * configure.in: Use it.
! 4710: * mpn/asm-defs.m4: Ditto.
! 4711:
! 4712: 2001-03-18 Kevin Ryde <kevin@swox.se>
! 4713:
! 4714: * mpn/x86/pentium/logops_n.asm: New file.
! 4715:
! 4716: * mpn/x86/k6/k62mmx/copyd.asm: Rewrite, smaller and simpler, faster on
! 4717: small sizes, slower on big sizes (about half the time).
! 4718: * mpn/x86/k6/k62mmx/copyi.asm: Remove file, in favour of generic x86.
! 4719: * mpn/x86/copyi.asm: Add some comments.
! 4720: * mpn/x86/k6/README: Update.
! 4721:
! 4722: * mpn/x86/k6/gcd_1.asm: New file.
! 4723:
! 4724: * gmp-impl.h (NEG_MOD): Fix type of __dnorm.
! 4725:
! 4726: * acinclude.m4 (GMP_C_SIZES): Fix use of __GMP_WITHIN_CONFIGURE.
! 4727:
! 4728: 2001-03-15 Kevin Ryde <kevin@swox.se>
! 4729:
! 4730: * gmp.texi (GMPabs): New macro.
! 4731: (Float Comparison - mpf_reldiff): Use it.
! 4732: (Integer Comparisons - mpz_cmpabs): Ditto, puts "abs" in info.
! 4733: (Reentrancy): Update notes on old random functions.
! 4734: (Karatsuba Multiplication): Better characterize the effect of basecase
! 4735: speedups on the thresholds, pointed out by Torbjorn.
! 4736:
! 4737: * tune/README: Notes on the 1x1 div threshold for mpn_gcd_1.
! 4738:
! 4739: * tests/misc.c (mpz_pow2abs_p, mpz_flipbit, mpz_errandomb,
! 4740: mpz_errandomb_nonzero, mpz_negrandom): New functions.
! 4741: (mpz_erandomb, mpz_erandomb_nonzero): Use urandom().
! 4742: * tests/spinner.c (spinner_wanted, spinner_tick): Make global.
! 4743: * tests/tests.h: Update prototypes.
! 4744:
! 4745: * tests/mpz/t-cong.c, tests/mpz/t-cong_2exp.c: New files.
! 4746: * tests/mpz/Makefile.am (check_PROGRAMS): Add them.
! 4747:
! 4748: * mpz/cong.c, mpz/cong_2exp.c, mpz/cong_ui.c: New files.
! 4749: * Makefile.am, mpz/Makefile.am: Add them.
! 4750: * gmp-impl.h (NEG_MOD): New macro.
! 4751: * gmp-h.in (mpz_congruent_p, mpz_congruent_2exp_p,
! 4752: mpz_congruent_ui_p): Add prototypes.
! 4753: * gmp.texi (Integer Division, Efficiency): Add documentation.
! 4754:
! 4755: * mpq/aors.c: No need for ABS on denominator sizes.
! 4756:
! 4757: * gmp-impl.h (mpn_divisible_p): Use __MPN.
! 4758:
! 4759: * gmp-impl.h (LOW_ZEROS_MASK): New macro.
! 4760: * mpz/divis_ui.c, mpn/generic/divis.c: Use it.
! 4761:
! 4762: * mpz/setbit.c: Fix normalization for case of a negative ending up
! 4763: with a zero high limb.
! 4764: * tests/mpz/bit.c (check_single): New test for this problem.
! 4765:
! 4766: * configure.in (none-*-*): Fix cclist for default ABI=long.
! 4767:
! 4768: 2001-03-10 Kevin Ryde <kevin@swox.se>
! 4769:
! 4770: * mpz/cfdiv_q_2exp.c: Don't scan for non-zero limbs if they don't
! 4771: matter to the rounding.
! 4772:
! 4773: * mpz/get_ui.c: Fetch _mp_d[0] unconditionally, so the code can come
! 4774: out branch-free.
! 4775:
! 4776: 2001-03-08 Kevin Ryde <kevin@swox.se>
! 4777:
! 4778: * tests/devel/try.c (param_init): Fix reference functions for and_n
! 4779: and nand_n.
! 4780:
! 4781: * tune/speed.c, tests/devel/try.c: Seed RANDS, not srandom etc.
! 4782: * configure.in (AC_CHECK_FUNCS): Remove srand48 and srandom.
! 4783: * macos/configure (coptions): Remove random/srandom, now unnecessary.
! 4784:
! 4785: * configure.in (gmp.h, mp.h, demos/expr/expr-impl.h): Generate using
! 4786: AM_CONFIG_HEADER.
! 4787: (_LONG_LONG_LIMB, HAVE_MPFR): Change to AC_DEFINEs.
! 4788: * gmp-h.in, mp-h.in, demos/expr/expr-impl-h.in: Change to #undef's.
! 4789: * acinclude.m4 (GMP_FUNC_ALLOCA, GMP_C_SIZES): Use gmp-h.in, not gmp.h.
! 4790: * Makefile.am (EXTRA_DIST): Remove gmp-h.in and mp-h.in, now done
! 4791: automatically.
! 4792: * acinclude.m4 (GMP_FUNC_ALLOCA), gmp-impl.h: Set and use
! 4793: __GMP_WITHIN_CONFIGURE rather than GMP_FUNC_ALLOCA_TEST.
! 4794:
! 4795: * mpf/random2.c: Use _gmp_rand and RANDS instead of random() for the
! 4796: exponent, ensures full range of values too.
! 4797:
! 4798: * tests/mpz/t-div_2exp.c (check_various): Start with d based on i, but
! 4799: don't let it go negative.
! 4800:
! 4801: * tune/tuneup.c (KARATSUBA_MUL_THRESHOLD): Limit probing to
! 4802: TOOM3_MUL_THRESHOLD_LIMIT, the size of the workspace in mul_n.c.
! 4803: Use a -1 with this too, so size<LIMIT not <=.
! 4804:
! 4805: 2001-03-07 Torbjorn Granlund <tege@swox.com>
! 4806:
! 4807: * mpn/cray/cfp/mul_1.c: Don't call mpn_add_n with size 0.
! 4808: * mpn/cray/cfp/addmul_1.c: Likewise.
! 4809: * mpn/cray/cfp/submul_1.c: Don't call mpn_sub_n with size 0.
! 4810:
! 4811: * tests/mpz/t-div_2exp.c (check_various): Start 2nd d loop from 0
! 4812: (avoid problems with Cray compilers).
! 4813:
! 4814: 2001-03-06 Torbjorn Granlund <tege@swox.com>
! 4815:
! 4816: * mpn/cray/ieee/submul_1.c: Don't call mpn_sub_n with size 0.
! 4817:
! 4818: * mpn/cray/ieee/mul_basecase.c: New file.
! 4819: * mpn/cray/ieee/sqr_basecase.c: New file, derived from mul_basecase.c.
! 4820:
! 4821: 2001-03-06 Kevin Ryde <kevin@swox.se>
! 4822:
! 4823: * tests/devel/try.c (pointer_setup): Allow dst_size == SIZE_SIZE2 for
! 4824: the benefit of mpn_tdiv_qr.
! 4825:
! 4826: * tune/tuneup.c (all): Start karatsuba probing at size==4, for the
! 4827: benefit of cray t90 ieee which has speed oddities at size==2.
! 4828:
! 4829: * gmp-impl.h (USE_LEADING_REGPARM): Use __GMP_GNUC_PREREQ.
! 4830: Use __GMP_ATTRIBUTE_PURE and ATTRIBUTE_CONST in a few places.
! 4831:
! 4832: * gmp-h.in (__GMP_GNUC_PREREQ) New macro.
! 4833: (__GMP_ATTRIBUTE_PURE): New macro, use it in many places.
! 4834:
! 4835: * gmp-impl.h, gmp-h.in (mpn_jacobi_base): Move prototype to
! 4836: gmp-impl.h, use ATTRIBUTE_CONST.
! 4837:
! 4838: * tune/speed.h (speed_cyclecounter): Inline asm version for i386.
! 4839:
! 4840: * mpz/cfdiv_r_2exp.c (cfdiv_r_2exp): Only reread "up" after second
! 4841: realloc, first is under w!=u.
! 4842:
! 4843: 2001-03-05 Torbjorn Granlund <tege@swox.com>
! 4844:
! 4845: * mpn/cray/sub_n.c: Rewrite using `majority' logic.
! 4846:
! 4847: * mpz/cfdiv_r_2exp.c (cfdiv_r_2exp): Reread `up' after realloc of w.
! 4848:
! 4849: * mpn/cray/ieee/mul_1.c: Rewrite. Streamline multiplications;
! 4850: use `majority' logic.
! 4851: * mpn/cray/ieee/addmul_1.c: Likewise.
! 4852:
! 4853: * mpn/cray/add_n.c: Rewrite using `majority' logic.
! 4854:
! 4855: 2001-03-04 Torbjorn Granlund <tege@swox.com>
! 4856:
! 4857: * longlong.h (CRAY udiv_qrnnd): No longer conditional on CRAYMPP.
! 4858: (64-bit hppa add_ssaaaa): New.
! 4859: (64-bit hppa sub_ddmmss): New.
! 4860:
! 4861: * mpn/cray/ieee/invert_limb.c: New file.
! 4862:
! 4863: * gmp-impl.h (RANDS): Add a `,0' to make it compile on more compilers.
! 4864:
! 4865: 2001-03-03 Kevin Ryde <kevin@swox.se>
! 4866:
! 4867: * mpz/n_pow_ui.c (ULONG_PARITY): Move to gmp-impl.h.
! 4868: * gmp-impl.h (ULONG_PARITY): i386 part from n_pow_ui.c, new generic
! 4869: form by Torbjorn.
! 4870:
! 4871: * tests/mpz/t-div_2exp.c: New file, rewrite of t-2exp.c.
! 4872: * tests/mpz/t-2exp.c: Remove file.
! 4873: * tests/mpz/Makefile.am (check_PROGRAMS): Update.
! 4874:
! 4875: * gmp-h.in (mpz_cdiv_q_2exp, mpz_cdiv_q_2exp): Add prototypes.
! 4876: * gmp.texi (Integer Division): Add mpz_cdiv_q_2exp and mpz_cdiv_q_2exp.
! 4877:
! 4878: * mpz/cfdiv_q_2exp.c: New file, partial rewrite of fdiv_q_2exp.c, add
! 4879: mpz_cdiv_q_2exp entrypoint.
! 4880: * mpz/cfdiv_r_2exp.c: New file, rewrite of fdiv_r_2exp.c, use all mpn,
! 4881: add mpz_cdiv_r_2exp entrypoint.
! 4882: * mpz/fdiv_q_2exp.c, mpz/fdiv_r_2exp.c: Remove files.
! 4883: * mpz/Makefile.am (libmpz_la_SOURCES): Update.
! 4884: * Makefile.am (MPZ_OBJECTS): Ditto.
! 4885:
! 4886: * gmp-impl.h (USE_LEADING_REGPARM): Use __i386__ same as longlong.h
! 4887: (REGPARM_2_1, REGPARM_3_1, REGPARM_ATTR): New macros.
! 4888: * mpz/jacobi.c (jac_or_kron): Use them.
! 4889:
! 4890: * configure.in (HAVE_ABI_$ABI): Re-enable this for config.m4, with
! 4891: dots changed to underscores (necessary for hppa).
! 4892:
! 4893: * tests/mpz/t-divis.c, tests/mpz/t-divis_2exp.c: New files.
! 4894: * tests/mpz/Makefile.am (check_PROGRAMS): Add them.
! 4895:
! 4896: * gmp-h.in (mpz_divisible_p, mpz_divisible_ui_p,
! 4897: mpz_divisible_2exp_p): Add prototypes.
! 4898: * gmp.texi (Integer Division): Add mpz_divisible_p.
! 4899: (Efficiency): Add remarks about divisibility testing.
! 4900:
! 4901: * mpz/divis.c, mpz/divis_ui.c, mpz/divis_2exp.c: New files.
! 4902: * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
! 4903: * Makefile.am (MPZ_OBJECTS): Ditto.
! 4904:
! 4905: * mpn/generic/divis.c: New file.
! 4906: * configure.in (gmp_mpn_functions): Add it.
! 4907: * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Ditto.
! 4908: * gmp-impl.h (mpn_divisible_p): Add prototype.
! 4909:
! 4910: * urandom.h: Remove file.
! 4911: * Makefile.am (EXTRA_DIST): Remove it.
! 4912:
! 4913: * tests/mpz/convert.c, dive.c, io.c, logic.c, reuse.c, t-2exp.c,
! 4914: t-fdiv.c, t-fdiv_ui.c, t-gcd.c, t-jac.c, t-mul.c, t-pow.c,
! 4915: t-powm.c, t-powm_ui.c, t-root.c, t-sqrtrem.c, t-tdiv.c,
! 4916: t-tdiv_ui.c: Use RANDS, initialized by tests_rand_start.
! 4917:
! 4918: * tests/mpz/t-pow.c: New file, being t-pow_ui renamed and with some
! 4919: further tests added.
! 4920: * tests/mpz/t-pow_ui.c: Remove file.
! 4921: * tests/mpz/Makefile.am (check_PROGRAMS): Update.
! 4922:
! 4923: * tests/t-modlinv.c: Don't use urandom.h.
! 4924: * tests/mpz/bit.c, tests/mpz/t-scan.c: Ditto.
! 4925: * tests/mpq/t-cmp.c, tests/mpq/t-cmp_ui.c, tests/mpq/t-get_d.c: Ditto.
! 4926: * tests/mpf/reuse.c, t-add.c, t-conv.c, t-dm2exp.c, t-muldiv.c,
! 4927: t-sqrt.c, t-sub.c: Ditto.
! 4928:
! 4929: * tests/misc.c (tests_rand_start, tests_rand_end): New functions.
! 4930: (tests_start, tests_end): Use them.
! 4931: (urandom): New function.
! 4932: * tests/tests.h: Add prototypes.
! 4933:
! 4934: * mpz/random.c: Rewrite using mpz_urandomb and RANDS.
! 4935: * mpn/generic/random.c: Rewrite using _gmp_rand and RANDS.
! 4936: * mpn/generic/random2.c: Use RANDS not random() etc.
! 4937:
! 4938: * gmp-impl.h (__gmp_rands, __gmp_rands_initialized): Add externs.
! 4939: (gmp_randstate_ptr): New typedef.
! 4940: (RANDS, RANDS_CLEAR): New macros.
! 4941:
! 4942: * rands.c: New file.
! 4943: * Makefile.am (libgmp_la_SOURCES): Add it.
! 4944:
! 4945: * configure.in (mpn_objs_in_libmp): New AC_SUBST.
! 4946: * Makefile.am (libmp_la_DEPENDENCIES): Use it.
! 4947:
! 4948: 2001-03-02 Torbjorn Granlund <tege@swox.com>
! 4949:
! 4950: * mpn/pa64/udiv_qrnnd.asm: New file.
! 4951:
! 4952: 2001-03-01 Kevin Ryde <kevin@swox.se>
! 4953:
! 4954: * mpbsd/rpow.c: New file.
! 4955: * mpbsd/Makefile.am (libmpbsd_la_SOURCES): Add it
! 4956: (nodist_libmpbsd_la_SOURCES): Remove pow_ui.c.
! 4957: * Makefile.am (MPBSD_OBJECTS): Add rpow.lo, remove pow_ui.lo.
! 4958: (libmp_la_DEPENDENCIES): Add mpz/n_pow_ui.lo.
! 4959:
! 4960: * mpz/ui_pow_ui.c: Rewrite using mpz_n_pow_ui.
! 4961: * mpz/pow_ui.c: Ditto, and no longer provide rpow for mpbsd.
! 4962:
! 4963: * mpz/n_pow_ui.c: New file, rewrite of pow_ui.c and ui_pow_ui.c. Use
! 4964: less temporary memory, strip factors of 2 from the base, use mpn_mul_2
! 4965: if available.
! 4966: * mpz/si_pow_ui.c: New file.
! 4967: * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
! 4968: * Makefile.am (MPZ_OBJECTS): Ditto.
! 4969: * gmp-impl.h (mpz_n_pow_ui): Add prototype.
! 4970: * gmp-h.in (mpz_si_pow_ui): Add prototype.
! 4971: * gmp.texi (Integer Exponentiation): Add mpz_si_pow_ui.
! 4972:
! 4973: * acinclude.m4 (GMP_C_SIZES): Add BITS_PER_ULONG.
! 4974: Correction to mp_limb_t working check.
! 4975: * configure.in (limb_chosen): New variable.
! 4976: * tests/t-constants.c (BITS_PER_ULONG): Check this value.
! 4977: Add some reminders about tests that fail on Cray.
! 4978:
! 4979: * tests/refmpn.c (refmpn_mul_2): New function.
! 4980: * tests/refmpz.c (refmpz_pow_ui): Copied from tests/mpz/t-pow_ui.c
! 4981: * tests/tests.h: Add prototypes.
! 4982:
! 4983: * configure.in (none-*-*): Add ABI=longlong.
! 4984: * doc/configuration (Long long limb testing): Describe it.
! 4985:
! 4986: * gmp.texi (Low-level Functions): Move some commented out remarks ...
! 4987: * mpn/generic/mul_basecase.c: ... to here.
! 4988:
! 4989: * mpn/x86/README: Note "%=" as an alternative to "1:" in __asm__.
! 4990:
! 4991: * tests/trace.c (mp_trace_start): Print "bin" for binary.
! 4992:
! 4993: * mpn/generic/dump.c: Add a couple of casts to keep gcc quiet.
! 4994:
! 4995: * gmp-h.in (mpn_incr_u, mpn_decr_u): Add parens around arguments.
! 4996:
! 4997: * mpbsd/mout.c, mpbsd/mtox.c (num_to_text): Remove unused variable.
! 4998:
! 4999: * mpfr/set_d.c (mpfr_get_d2): Declare "q" for 64-bit limbs.
! 5000:
! 5001: 2001-02-28 Torbjorn Granlund <tege@swox.com>
! 5002:
! 5003: * mpn/pa64w/udiv_qrnnd.asm: Tune.
! 5004:
! 5005: 2001-02-27 Torbjorn Granlund <tege@swox.com>
! 5006:
! 5007: * mpn/pa64w/udiv_qrnnd.asm: New file.
! 5008:
! 5009: 2001-02-26 Torbjorn Granlund <tege@swox.com>
! 5010:
! 5011: * longlong.h (arm): Optimize sub_ddmmss by testing for constant
! 5012: operands.
! 5013: * mpn/arm/invert_limb.asm: New file.
! 5014:
! 5015: 2001-02-24 Torbjorn Granlund <tege@swox.com>
! 5016:
! 5017: * mpn/generic/lshift.c: Rewrite.
! 5018: * mpn/generic/rshift.c: Rewrite.
! 5019:
! 5020: * longlong.h: Use UWtype for external interfaces that expect mp_limb_t.
! 5021:
! 5022: * longlong.h (arm): #define invert_limb.
! 5023:
! 5024: * mpn/arm: Make labels have local scope.
! 5025:
! 5026: * configure.in (arm*-*-*): Set extra_functions.
! 5027: * longlong.h (arm): #define udiv_qrnnd.
! 5028: * mpn/arm/udiv.asm: New file.
! 5029:
! 5030: 2001-02-24 Kevin Ryde <kevin@swox.se>
! 5031:
! 5032: * tune/many.pl: Add mpn_count_leading_zeros, mpn_count_trailing_zeros
! 5033: and mpn_invert_limb. Add count_leading_zeros, count_trailing_zeros
! 5034: from a .h file. Correction to modexact_1_odd prototype. Support
! 5035: ansi2knr.
! 5036: * tune/speed.h, tune/common.c: Consequent changes.
! 5037:
! 5038: * demos/expr/*: Make a few more functions available in expressions,
! 5039: create only libexpr.a, misc minor updates.
! 5040:
! 5041: * mpn/Makeasm.am: Add some comments about suffix ordering.
! 5042:
! 5043: * tests/refmpn.c (rshift_make, lshift_make): No need to compare
! 5044: unsigned to zero.
! 5045:
! 5046: * mpq/mul.c: Detect and optimize squaring.
! 5047:
! 5048: 2001-02-23 Torbjorn Granlund <tege@swox.com>
! 5049:
! 5050: * mpn/mips3: Convert files to `.asm'.
! 5051:
! 5052: * mpn/arm: Convert files to `.asm'. Misc cleanups.
! 5053: * mpn/arm/submul_1.asm: New file.
! 5054:
! 5055: 2001-02-21 Kevin Ryde <kevin@swox.se>
! 5056:
! 5057: * tune/tuneup.c (all): Only one compiler print should match, no need
! 5058: for #undef PRINTED_COMPILER.
! 5059:
! 5060: * mpfr/mpfr.h (mpfr_sgn): Use mpfr_cmp_ui (patch from Paul).
! 5061:
! 5062: * mpz/fib_ui.c: Update some remarks about alternative algorithms.
! 5063: * gmp.texi (Fibonacci Numbers Algorithm): Ditto.
! 5064: (Assigning Floats): Clarify mpf_swap swaps the precisions too.
! 5065: (Low-level Functions): Try to be clearer about negative cofactors.
! 5066:
! 5067: 2001-02-21 Torbjorn Granlund <tege@swox.com>
! 5068:
! 5069: * mpn/sparc64/copyi.asm: Streamline for small operands.
! 5070: * mpn/sparc64/add_n.asm: Likewise.
! 5071: * mpn/sparc64/sub_n.asm: Likewise.
! 5072:
! 5073: * mpn/sparc64/copyd.asm: New file.
! 5074:
! 5075: 2001-02-20 Torbjorn Granlund <tege@swox.com>
! 5076:
! 5077: * mpn/sparc64/lshift.asm: Rewrite.
! 5078: * mpn/sparc64/rshift.asm: Rewrite.
! 5079:
! 5080: 2001-02-19 Torbjorn Granlund <tege@swox.com>
! 5081:
! 5082: * mpn/sparc64/add_n.asm: Rewrite using `majority' logic.
! 5083: * mpn/sparc64/sub_n.asm: Likewise.
! 5084:
! 5085: * tune/tuneup.c (all): Recognise DECC and MIPSpro compilers.
! 5086:
! 5087: * mpn/pa64/sqr_diagonal.asm: Use PROLOGUE/EPILOGUE.
! 5088: * mpn/pa642/sqr_diagonal.asm: Likewise.
! 5089:
! 5090: * configure.in (HAVE_ABI_$abi): Disable for now.
! 5091:
! 5092: * mpn/asm-defs.m4 (PROLOGUE): Use LABEL_SUFFIX.
! 5093:
! 5094: * acinclude.m4 (GMP_ASM_ATTR): New check, for hppa oddities.
! 5095:
! 5096: 2001-02-18 Torbjorn Granlund <tege@swox.com>
! 5097:
! 5098: * mpn/hppa/hppa1_1/gmp-mparam.h: New file.
! 5099: * mpn/hppa/hppa2_0/gmp-mparam.h: New file.
! 5100:
! 5101: * mpn/pa64/sqr_diagonal.asm: New file.
! 5102: * mpn/pa64w/sqr_diagonal.asm: New file.
! 5103: * mpn/hppa/hppa1_1/sqr_diagonal.asm: New file.
! 5104: * mpn/hppa/hppa2_0/sqr_diagonal.asm: New file.
! 5105:
! 5106: * mpn/sparc32/v9/add_n.asm: Use `fitod' instead of `fxtod' for dummy
! 5107: FA-pipeline insns.
! 5108: * mpn/sparc32/v9/sub_n.asm: Likewise.
! 5109:
! 5110: 2001-02-18 Kevin Ryde <kevin@swox.se>
! 5111:
! 5112: * gmp.texi (Known Build Problems): Notes on make, $* and K&R, misc
! 5113: tweaks elsewhere.
! 5114: (Low-level Functions): Use {} notation in mpn_sqrtrem.
! 5115: (Basecase Multiplication): Mention BASECASE_SQR_THRESHOLD.
! 5116:
! 5117: * mpfr/isnan.c (mpfr_number_p): Infinity is not a number.
! 5118: * mpfr/out_str.c: Pass strlen+1 for the block size to free.
! 5119: * mpfr/get_str.c: Correction for realloc to strlen+1.
! 5120:
! 5121: * acinclude.m4 (GMP_C_SIZES): Generate an error if mp_limb_t doesn't
! 5122: seem to work for some reason.
! 5123:
! 5124: 2001-02-16 Torbjorn Granlund <tege@swox.com>
! 5125:
! 5126: * mpn/sparc32/v9/gmp-mparam.h: Retune.
! 5127:
! 5128: * mpn/sparc32/v9/add_n.asm: New file.
! 5129: * mpn/sparc32/v9/sub_n.asm: New file.
! 5130:
! 5131: * mpn/sparc32/v9/mul_1.asm: Tune function entry.
! 5132: * mpn/sparc32/v9/addmul_1.asm: Likewise.
! 5133: * mpn/sparc32/v9/submul_1.asm: Likewise.
! 5134:
! 5135: * mpn/sparc32/v9/sqr_diagonal.asm: New file.
! 5136:
! 5137: 2001-02-16 Kevin Ryde <kevin@swox.se>
! 5138:
! 5139: * configure.in: Fix flags selection when $CC is a compiler known to us.
! 5140:
! 5141: * demos/expr/exprfr.c (e_mpfr_cos, e_mpfr_sin): mpfr_sin_cos now
! 5142: allows NULL for one parameter.
! 5143:
! 5144: * mpfr/*: Update to 20010215.
! 5145: * mpfr/trunc.c: Use -DOPERATION scheme, and gmp mpn_zero_p.
! 5146: * mpfr/sqrt.c: Use plain mpn_sqrtrem, not mpn_sqrtrem_new.
! 5147: * mpfr/sqrtrem.c: Remove file.
! 5148: * mpfr/Makefile.am (libmpfr_a_SOURCES): Add isnan.c and set_ui.c,
! 5149: remove sqrtrem.c and srandom.h.
! 5150:
! 5151: * configfsf.guess: Update to 2001-02-13.
! 5152: * configfsf.sub: Update to 2001-02-16.
! 5153: * config.sub (j90, t90): Remove special handing, configfsf.sub now ok.
! 5154:
! 5155: * Makefile.am (MPF_OBJECTS): Add a couple of missing $U's.
! 5156:
! 5157: * tune/tuneup.c: Identify compiler used (GCC and Sun C so far).
! 5158:
! 5159: 2001-02-15 Torbjorn Granlund <tege@swox.com>
! 5160:
! 5161: * mpn/sparc32/v9/mul_1.asm: Change `ld' to `lduw' and `st' to `stw'.
! 5162: * mpn/sparc32/v9/addmul_1.asm: Likewise.
! 5163: * mpn/sparc32/v9/submul_1.asm: Likewise.
! 5164:
! 5165: 2001-02-14 Torbjorn Granlund <tege@swox.com>
! 5166:
! 5167: * mpn/mips3/mips.m4: New file.
! 5168: * configure.in (mips*-*-irix[6789]*): Use mips3/mips.m4.
! 5169:
! 5170: * mpn/powerpc64/sqr_diagonal.asm: New file.
! 5171:
! 5172: * mpn/mips3/sqr_diagonal.asm: New file.
! 5173:
! 5174: 2001-02-12 Torbjorn Granlund <tege@swox.com>
! 5175:
! 5176: * mpn/powerpc32/sqr_diagonal.asm: New file.
! 5177:
! 5178: * mpn/generic/sqr_basecase.c: Remove declaration of mpn_sqr_diagonal.
! 5179: Fix typo in header comment.
! 5180:
! 5181: 2001-02-12 Kevin Ryde <kevin@swox.se>
! 5182:
! 5183: * mpn/generic/mul.c, mpn/generic/mul_n.c, gmp-impl.h: Use
! 5184: mpn_mul_basecase for squaring below new BASECASE_SQR_THRESHOLD.
! 5185: * tune/tuneup.c gmp-impl.h: Tune BASECASE_SQR_THRESHOLD.
! 5186:
! 5187: * Makefile.am (libgmp.la, libmp.la): Revert change to build from
! 5188: mpn/libmpn.la etc, go back to explicitly listed objects.
! 5189:
! 5190: * configure.in: Recognise sparc64-*-*, not just sparc64-*-linux*.
! 5191:
! 5192: 2001-02-11 Torbjorn Granlund <tege@swox.com>
! 5193:
! 5194: * mpn/asm-defs.m4 (sqr_diagonal): New define_mpn.
! 5195:
! 5196: * mpn/alpha/sqr_diagonal.asm: New file.
! 5197:
! 5198: 2001-02-11 Kevin Ryde <kevin@swox.se>
! 5199:
! 5200: * gmp.texi (Low-level Functions): Note mpn_get_str clobbers its input
! 5201: plus 1 extra limb.
! 5202:
! 5203: * mpfr/add.c,agm.c,exp2.c,exp3.c,generic.c,log2.c,pi.c,print_raw.c,
! 5204: set_d.c,sin_cos.c,sqrtrem.c,sub.c: Apply some tweaks for K&R.
! 5205: * tests/mpz/reuse.c, tests/mpq/t-md_2exp.c, demos/pexpr.c,
! 5206: demos/expr/t-expr.c: Ditto.
! 5207:
! 5208: * configure.in (HAVE_ABI_$abi): New define in config.m4.
! 5209:
! 5210: * gmp-impl.h (mpn_sqr_diagonal): Add prototype and define.
! 5211: * tune/speed.c,speed.h,common.c,many.pl: Add measuring of
! 5212: mpn_sqr_diagonal.
! 5213:
! 5214: * gmp.texi, acinclude.m4: Mention x86 solaris 2.7 has the reg->reg
! 5215: movq bug the same as 2.6.
! 5216:
! 5217: * mpfr/Makefile.am (EXTRA_DIST): Add mpfr-test.h and mpf2mpfr.h.
! 5218:
! 5219: * mpn/x86/README: Merge contents of README.family.
! 5220: * mpn/x86/README.family: Remove file.
! 5221:
! 5222: * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add mode1o, gcd_finda,
! 5223: invert_limb, sqr_diagonal; remove mod_1_rs; sort alphabetically.
! 5224:
! 5225: 2001-02-10 Torbjorn Granlund <tege@swox.com>
! 5226:
! 5227: * configure.in (gmp_mpn_functions_optional): List sqr_diagonal.
! 5228:
! 5229: * mpn/powerpc32/aix.m4: Use unnamed csects.
! 5230: * mpn/powerpc64/aix.m4: Likewise.
! 5231:
! 5232: * acconfig.h: Add #undef of mpn_sqr_diagonal.
! 5233: Remove lots of spacing.
! 5234:
! 5235: * configure.in (syntax testing section): Match power* instead of
! 5236: powerpc*.
! 5237: * mpn/power: Convert files to `.asm'.
! 5238: Prefix umul_ppmm and sdiv_qrnnd.
! 5239: Update some comments.
! 5240:
! 5241: 2001-02-09 Kevin Ryde <kevin@swox.se>
! 5242:
! 5243: * acconfig.h: Add HAVE_NATIVE_mpn_modexact_1_odd and
! 5244: HAVE_NATIVE_mpn_modexact_1c_odd.
! 5245:
! 5246: * configure.in (CCAS): Don't override a user selection.
! 5247:
! 5248: * mpq/cmp_ui.c: DIVIDE_BY_ZERO if den2==0.
! 5249:
! 5250: 2001-02-08 Torbjorn Granlund <tege@swox.com>
! 5251:
! 5252: * mpn/generic/sqr_basecase.c: Use mpn_sqr_diagonal when appropriate.
! 5253:
! 5254: 2001-02-07 Kevin Ryde <kevin@swox.se>
! 5255:
! 5256: * gmp.texi (Low-level Functions): mpn_preinv_mod_1 now undocumented.
! 5257:
! 5258: * mpn/generic/random2.c (myrandom): Use rand() on mingw.
! 5259:
! 5260: * mpn/alpha/gmp-mparam.h: Update tuned parameters.
! 5261:
! 5262: 2001-02-05 Torbjorn Granlund <tege@swox.com>
! 5263:
! 5264: * mpn/alpha/ev6/gmp-mparam.h: Retune.
! 5265:
! 5266: 2001-02-05 Kevin Ryde <kevin@swox.se>
! 5267:
! 5268: * Makefile.am (libgmp, libmp): Construct from mpn/libmpn.la etc rather
! 5269: than explicitly listed objects.
! 5270:
! 5271: * urandom.h: Use rand() on mingw.
! 5272:
! 5273: * mpn/powerpc64/lshift.asm,addsub_n.asm: Use r1 not 1.
! 5274:
! 5275: 2001-02-04 Torbjorn Granlund <tege@swox.com>
! 5276:
! 5277: * mpn/ia64/copyi.asm: New file.
! 5278: * mpn/ia64/copyd.asm: New file.
! 5279:
! 5280: 2001-02-04 Kevin Ryde <kevin@swox.se>
! 5281:
! 5282: * mpn/alpha/ev5/gmp-mparam.h, mpn/mips3/gmp-mparam.h,
! 5283: mpn/powerpc32/gmp-mparam.h, mpn/powerpc64/gmp-mparam.h,
! 5284: mpn/sparc64/gmp-mparam.h, mpn/x86/*/gmp-mparam.h:
! 5285: Update tuned parameters.
! 5286:
! 5287: * mpn/x86/i486: New directory.
! 5288: * configure.in (i486-*-*): Use it.
! 5289: * mpn/x86/i486/gmp-mparam.h: New file.
! 5290:
! 5291: * mpn/x86/pentium/mode1o.asm: New file.
! 5292: * mpn/x86/p6/mode1o.asm: New file.
! 5293:
! 5294: * tune/many.pl: Use $(ASMFLAGS_PIC) and $(CFLAGS_PIC).
! 5295:
! 5296: * gmp.texi (Integer Division): Another rewording of 2exp divisions.
! 5297:
! 5298: 2001-02-03 Torbjorn Granlund <tege@swox.com>
! 5299:
! 5300: * mpn/arm/gmp-mparam.h: Tune.
! 5301:
! 5302: * mpn/ia64/popcount.asm: Put a `;;' break at end of main loop.
! 5303:
! 5304: * configure.in (arm*-*-*): Set gcc_cflags in order to pass
! 5305: $fomit_frame_pointer.
! 5306:
! 5307: * tests/mpz/t-mul.c (base_mul): Remove an unused variable.
! 5308:
! 5309: 2001-02-02 Torbjorn Granlund <tege@swox.com>
! 5310:
! 5311: * demos/pexpr.c (TIME): New macro.
! 5312: (main): Use TIME--print timing more accurately.
! 5313: (setup_error_handler): Increase RLIMIT_DATA to 16 Mibyte.
! 5314:
! 5315: * longlong.h (arm): Add __CLOBBER_CC to add_ssaaaa and sub_ddmmss.
! 5316:
! 5317: 2001-02-02 Kevin Ryde <kevin@swox.se>
! 5318:
! 5319: * configure.in: Don't remove gmp-mparam.h and mpn source links under
! 5320: --no-create since in that case they're not re-created.
! 5321:
! 5322: * demos/expr: New directory.
! 5323: * Makefile.am (SUBDIRS, allprogs): Add it.
! 5324: * demos/expr/README, Makefile.am, expr.c, exprv.c, exprz.c, exprza.c,
! 5325: exprq.c, exprqa.c, exprfa.c, exprf.c, exprfr.c, exprfra.c, expr.h,
! 5326: expr-impl-h.in, run-expr.c, t-expr.c: New files.
! 5327: * configure.in: Generate demos/expr/Makefile & demos/expr/expr-impl.h.
! 5328:
! 5329: * Makefile.am: Remove mpfr from main libgmp.
! 5330: * mpfr/Makefile.am: Build and install separate libmpfr.a.
! 5331: * mpfr/*: Update to mpfr 2001.
! 5332:
! 5333: * gmp-h.in (__GNU_MP_VERSION_MINOR): Bump to 2.
! 5334: * Makefile.am (libtool -version-info): Bump appropriately.
! 5335: * NEWS: Updates.
! 5336:
! 5337: * tune/divrem1div.c, tune/divrem1inv.c, tune/divrem2div.c,
! 5338: tune/divrem2inv.c: Renamed from divrem_1_div.c, divrem_1_inv.c,
! 5339: divrem_2_div.c, divrem_2_inv.c, to be unique in DOS 8.3 filenames.
! 5340: * tune/Makefile.am (libspeed_la_SOURCES): Update.
! 5341:
! 5342: * mpn/x86/*/README, mpn/x86/README.family: Misc updates.
! 5343: * tune/README: Misc updates.
! 5344: * doc/configuration: Misc updates.
! 5345:
! 5346: * mpn/x86/pentium/mmx/gmp-mparam.h: Change UDIV_PREINV_TIME to
! 5347: UDIV_NORM_PREINV_TIME.
! 5348:
! 5349: * mpz/pprime_p.c: Use ASSERT_ALWAYS instead of abort.
! 5350:
! 5351: * rand.c (__gmp_rand_lc_scheme): Add "const".
! 5352: (struct __gmp_rand_lc_scheme_struct): Make astr "const char *".
! 5353:
! 5354: * demos/calc/calc.y, demos/calc/calclex.l: Add kron function.
! 5355:
! 5356: * tests/devel/try.c: Partial rewrite, new scheme of function types,
! 5357: allow result validation functions, add sqrtrem and jacobi testing.
! 5358: * tune/many.pl: Corresponding updates.
! 5359: * tests/devel/Makefile.am: Add a convenience rule for libtests.la.
! 5360:
! 5361: * tests/refmpz.c: New file.
! 5362: * tests/Makefile.am: Add it.
! 5363: * tests/misc.c (mpz_erandomb, mpz_erandomb_nonzero): New functions.
! 5364: * tests/tests.h: Add prototypes.
! 5365:
! 5366: * mpn/x86/k6/cross.pl: Add a couple more exceptions.
! 5367:
! 5368: * gmp.texi: Don't use @nicode{'\0'}, it doesn't come out right in tex.
! 5369: (Introduction to GMP): Mention Cray vector systems.
! 5370: (Build Options): Describe --enable-mpfr, refer to its manual. Add
! 5371: Crays under supported CPUs.
! 5372: (Debugging): Add notes on source file paths.
! 5373: (Autoconf): New section.
! 5374: (Assigning Integers): Note truncation by mpz_set_d, mpz_set_q and
! 5375: mpz_set_f.
! 5376: (Converting Integers): Note the size mpz_get_str allocates.
! 5377: (Floating-point Functions): Rewrite introduction, clarifying some
! 5378: points about precision handling.
! 5379: (Converting Floats): Note the size mpf_get_str allocates, and that it
! 5380: gives an empty string for zero. Add mpf_get_si and mpf_get_ui.
! 5381: (Float Comparison): Give the formula mpf_reldiff calculates.
! 5382: (Miscellaneous Float Functions): Add mpf_integer_p and mpf_fits_*_p.
! 5383: (Random Number Functions): Misc rewordings for clarity.
! 5384: (Random State Initialization): Ditto.
! 5385: (Custom Allocation): Remove note on deallocate_function called with 0,
! 5386: misc rewording and clarifications.
! 5387: (Exact Remainder): New section.
! 5388: (Binary GCD): A few words on initial reduction using division.
! 5389: (Accelerated GCD): Refer to exact remainder section.
! 5390: (Extended GCD): Extra remarks on single versus double selection.
! 5391: (Jacobi Symbol): Update for mpz/jacobi.c rewrite and modexact_1_odd.
! 5392: (Modular Powering Algorithm): Refer to exact remainder section.
! 5393: (Assembler SIMD Instructions): Update remarks on MMX.
! 5394: (Contributors): Amend to "Divide and Conquer" division.
! 5395: (References): Tweak some formatting. Add "Proof of GMP Fast Division
! 5396: and Square Root Implementations" by Paul Zimmermann.
! 5397:
! 5398: 2001-01-31 Torbjorn Granlund <tege@swox.com>
! 5399:
! 5400: * configure.in: Don't ever pass -mips3; let ABI flags imply ISA.
! 5401:
! 5402: 2001-01-31 Kevin Ryde <kevin@swox.se>
! 5403:
! 5404: * tune/time.c: Remove unnecessary longlong.h.
! 5405: (speed_endtime): Add some extra diagnostics.
! 5406:
! 5407: * tests/mpz/t-fdiv_ui.c, tests/mpz/t-tdiv_ui.c: Use unsigned long for
! 5408: the divisor, not mp_limb_t.
! 5409: * tests/mpz/t-jac.c (try_base): Use %llu for long long limb.
! 5410: * tests/trace.c: Add <string.h> for strlen.
! 5411:
! 5412: * tune/freq.c (speed_cpu_frequency_proc_cpuinfo): Ignore "cycle
! 5413: frequency" of 0, allow "BogoMIPS" as well as "bogomips".
! 5414:
! 5415: * macos/Makefile.in: Add mpf/fits_s.c and mpf/fits_u.c objects.
! 5416:
! 5417: 2001-01-30 Torbjorn Granlund <tege@swox.com>
! 5418:
! 5419: * longlong.h: Add add_ssaaaa and sub_ddmmss for 64-bit sparc.
! 5420:
! 5421: 2001-01-29 Torbjorn Granlund <tege@swox.com>
! 5422:
! 5423: * mpn/powerpc64/addmul_1.asm: Prefix registers with an `r'.
! 5424: * mpn/powerpc64/submul_1.asm: Likewise.
! 5425: * mpn/powerpc64/mul_1.asm: Likewise.
! 5426:
! 5427: * configure.in (alpha*-*-*): Amend last change to handle pca*.
! 5428:
! 5429: 2001-01-29 Kevin Ryde <kevin@swox.se>
! 5430:
! 5431: * tune/speed.h (SPEED_ROUTINE_INVERT_LIMB_CALL): Don't let the
! 5432: compiler optimize everything away.
! 5433:
! 5434: * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Measure
! 5435: operator_div, operator_mod, mpn_divrem_2_div, mpn_divrem_2_inv,
! 5436: mpn_sb_divrem_m3, mpn_sb_divrem_m3_div, mpn_sb_divrem_m3_inv,
! 5437: mpn_dc_divrem_sb_div, mpn_dc_divrem_sb_inv.
! 5438: * tune/divrem_2_div.c, tune/divrem_2_inv.c, tune/sb_div.c,
! 5439: tune/sb_inv.c: New files.
! 5440:
! 5441: * tune/tuneup.c, gmp-impl.h, tune/speed.h, tune/common.c,
! 5442: tune/Makefile.am: Tune SB_PREINV_THRESHOLD and DIVREM_2_THRESHOLD.
! 5443:
! 5444: * mpn/generic/divrem_2.c: Use new DIVREM_2_THRESHOLD.
! 5445: * mpn/generic/sb_divrem_mn.c: Use new SB_PREINV_THRESHOLD.
! 5446:
! 5447: * mpn/x86/p6/mmx/lshift.asm, mpn/x86/p6/mmx/rshift.asm: New files,
! 5448: just m4 include()ing the P55 code.
! 5449: * configure.in (pentium[23]-*-*): Remove x86/pentium/mmx from path.
! 5450:
! 5451: 2001-01-27 Kevin Ryde <kevin@swox.se>
! 5452:
! 5453: * configure.in (AC_CHECK_FUNCS): Add srand48.
! 5454: * tune/speed.c: Use this test.
! 5455:
! 5456: * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): Allow "egcs-" prefix on gcc
! 5457: --version, warn if the format is unrecognised.
! 5458: (GMP_COMPARE_GE): Guard against empty $1 not only on last arg.
! 5459: (GMP_INIT, GMP_FINISH, GMP_PROG_M4): Obscure or eliminate literal
! 5460: "dnl"s since autoconf thinks they indicate faulty macros.
! 5461:
! 5462: * mpz/get_str.c, mpf/get_str.c: Make allocated string block exactly
! 5463: strlen(str)+1 bytes.
! 5464: * mpz/dump.c, mpf/dump.c, tests/mpz/convert.c: Use this size when
! 5465: freeing.
! 5466: * tests/mpf/t-conv.c: Ditto, and ensure x==0 is exercised.
! 5467:
! 5468: * tests/mpz/t-fits.c: New file.
! 5469: * tests/mpz/Makefile.am: Add it.
! 5470:
! 5471: * tests/mpf/t-fits.c: New file.
! 5472: * tests/mpf/t-get_si.c: New file.
! 5473: * tests/mpf/t-int.c: New file.
! 5474: * tests/mpf/Makefile.am: Add them.
! 5475:
! 5476: * mpf/fits_s.c: New file.
! 5477: * mpf/fits_u.c: New file.
! 5478: * mpf/get_si.c: New file.
! 5479: * mpf/get_ui.c: New file.
! 5480: * mpf/int_p.c: New file.
! 5481: * Makefile.am, mpf/Makefile.am: Add them.
! 5482: * gmp-h.in (mpf_fits_*_p, mpf_get_si, mpf_get_ui, mpf_integer_p): Add
! 5483: prototypes.
! 5484:
! 5485: * tests/memory.c (tests_allocate, tests_reallocate): Guard against
! 5486: size==0.
! 5487:
! 5488: * tests/mpz/*.c, tests/mpq/*.c, tests/mpf/*.c: Uses tests_start and
! 5489: tests_end.
! 5490:
! 5491: * gmp-impl.h (USE_LEADING_REGPARM): Fix conditionals.
! 5492:
! 5493: 2001-01-23 Kevin Ryde <kevin@swox.se>
! 5494:
! 5495: * configure.in, mpn/Makeasm.am (ASMFLAGS_PIC): New substitution,
! 5496: allowing -DPIC to be suppressed on cygwin.
! 5497: (CFLAGS_PIC): New substitution, use it and $(CCAS) directly, rather
! 5498: than $(LIBTOOL), avoiding a problem with FreeBSD 2.2.8.
! 5499:
! 5500: * mpn/x86/k6/mode1o.asm, mpn/x86/k7/mode1o.asm: Remove an unnecessary
! 5501: +[.-L(here)] from _GLOBAL_OFFSET_TABLE_, avoids a segv from gas 1.92.3.
! 5502: * mpn/x86/README.family: Add notes on the problem.
! 5503:
! 5504: 2001-01-20 Torbjorn Granlund <tege@swox.com>
! 5505:
! 5506: * configure.in (alpha*-*-*): Default `flavour' to ev4.
! 5507:
! 5508: 2001-01-19 Kevin Ryde <kevin@swox.se>
! 5509:
! 5510: * assert.c, gmp-impl.h (__gmp_assert_fail): Change return type to
! 5511: void, since it's no longer used in expressions.
! 5512:
! 5513: * mpn/x86/addsub_n.S: Remove file, since it doesn't work and it upsets
! 5514: tune/many.pl.
! 5515:
! 5516: * mpz/jacobi.c: Rewrite, but still binary algorithm; accept zero and
! 5517: negative denominators; merge mpz_jacobi and mpz_legendre, add
! 5518: mpz_kronecker; use mpn directly, add special cases for size==1.
! 5519: * gmp.texi (Number Theoretic Functions): Update.
! 5520: * gmp-h.in (mpz_kronecker): Add prototype.
! 5521: * gmp-impl.h (USE_LEADING_REGPARM): New macro.
! 5522: * tests/mpz/t-jac.c: Test mpz_kronecker.
! 5523: * mpz/legendre.c: Remove file.
! 5524: * Makefile.am, mpz/Makefile.am: Update.
! 5525:
! 5526: * longlong.h (alpha count_leading_zeros): Use __attribute__ ((const))
! 5527: when possible, add parameter to prototype.
! 5528: (ia64 udiv_qrnnd): Use for all compilers, not just gcc.
! 5529: (pentium count_trailing_zeros): Use count_leading_zeros.
! 5530:
! 5531: * acinclude.m4 (GMP_C_ATTRIBUTE_CONST, GMP_C_ATTRIBUTE_NORETURN): New
! 5532: macros.
! 5533: * configure.in: Use them.
! 5534: * gmp-impl.h (ATTRIBUTE_CONST, ATTRIBUTE_NORETURN): New macros.
! 5535: (mpn_invert_limb): Add ATTRIBUTE_CONST.
! 5536: (__gmp_assert_fail): Add ATTRIBUTE_NORETURN.
! 5537:
! 5538: 2001-01-18 Kevin Ryde <kevin@swox.se>
! 5539:
! 5540: * gmp-h.in, gmp-impl.h (__gmp_allocate_func, __gmp_reallocate_func,
! 5541: __gmp_free_func): Move prototypes from gmp-impl.h to gmp-h.in, for the
! 5542: benefit of gmp++.h.
! 5543:
! 5544: * gmp-impl.h, tests/misc.c, tests/tests.h: Move MPZ_SET_STR_OR_ABORT
! 5545: and MPF_SET_STR_OR_ABORT to mpz_set_str_or_abort and
! 5546: mpf_set_str_or_abort in libtests.
! 5547: * tests/mpz/convert.c, tests/mpz/t-bin.c, tests/mpz/t-get_si.c,
! 5548: tests/mpz/t-jac.c, tests/mpz/t-misc.c, tests/mpq/t-md_2exp.c,
! 5549: tests/mpq/t-set_f.c, tests/mpf/t-conv.c, tests/mpf/t-misc.c: Update.
! 5550:
! 5551: * mpn/generic/sqrtrem.c: Use MPN_COPY_INCR (for when rp==NULL).
! 5552:
! 5553: * tests/mpz/reuse.c: Only run mpz_divexact_gcd on positive divisors.
! 5554:
! 5555: 2001-01-18 Torbjorn Granlund <tege@swox.com>
! 5556:
! 5557: * demos/pexpr.c (main): Accept -vml option.
! 5558: (fns): List `hamdist', `pow', `nextprime'.
! 5559: (mpz_eval_expr): Return -1 for `popc' of negative.
! 5560: (mpz_eval_expr): Handle `hamdist', `pow', `nextprime'.
! 5561:
! 5562: 2001-01-15 Kevin Ryde <kevin@swox.se>
! 5563:
! 5564: * mpn/alpha/ev5/mode1o.c: New file.
! 5565:
! 5566: * tune/freq.c (speed_cpu_frequency_measure): Check cycles_works_p
! 5567: before running speed_cyclecounter.
! 5568: * tune/speed.h (cycles_works_p): Add prototype.
! 5569:
! 5570: 2001-01-13 Torbjorn Granlund <tege@swox.com>
! 5571:
! 5572: * tests/rand/t-rand.c (farr): Fix typo.
! 5573: (zarr): Fix typo.
! 5574:
! 5575: 2001-01-12 Kevin Ryde <kevin@swox.se>
! 5576:
! 5577: * mpz/kronsz.c: Don't depend on right shifting a negative.
! 5578:
! 5579: * mpn/x86/gmp-mparam.h: New file.
! 5580:
! 5581: * mpn/x86/pentium/mmx/mul_1.asm: New file.
! 5582:
! 5583: 2001-01-11 Torbjorn Granlund <tege@swox.com>
! 5584:
! 5585: * mpz/kronsz.c: Temporary workaround for Cray right shift oddities.
! 5586: Explicitly compare against zero in tests.
! 5587:
! 5588: 2001-01-10 Kevin Ryde <kevin@swox.se>
! 5589:
! 5590: * mpz/kronzs.c: Don't depend on right shifting a negative.
! 5591:
! 5592: 2001-01-09 Torbjorn Granlund <tege@swox.com>
! 5593:
! 5594: * tests/t-constants.c: Disable some undefined tests.
! 5595: (CHECK_MAX_S): Remove workaround for gcc 2.95.2 bug recently added.
! 5596:
! 5597: 2001-01-09 Kevin Ryde <kevin@swox.se>
! 5598:
! 5599: * tests/t-constants.c: Add more diagnostics.
! 5600: (CHECK_MAX_S): Fix for gcc 2.95.2 -mpowerpc64 -maix64.
! 5601:
! 5602: * mpn/x86/k6/mode1o.asm: New file.
! 5603: * mpn/x86/k7/mode1o.asm: New file.
! 5604:
! 5605: * mpn/asm-defs.m4 (modexact_1_odd, modexact_1c_odd): New define_mpn's.
! 5606: (__clz_tab, modlimb_invert_table, PROLOGUE, EPILOGUE): Add asserts for
! 5607: GSYM_PREFIX.
! 5608: * mpn/x86/x86-defs.m4 (Zdisp): Add a movzbl.
! 5609:
! 5610: * tests/mpz/t-jac.c (check_a_zero): New test.
! 5611: (check_squares_zi): Fix to use (a^2/b), not (a*b/b); revert last
! 5612: change avoiding a,b=0, both are fine.
! 5613: (try_2den): Don't use mpz_kronecker_ui for the expected answer.
! 5614: (try_*): Call abort rather than exit.
! 5615:
! 5616: * mpz/kronzu.c, mpz/kronzs.c: Fix for a=0.
! 5617:
! 5618: * tune/tuneup.c (USE_PREINV_MOD_1): Fix to use new DATA_HIGH_LT_R.
! 5619:
! 5620: 2001-01-08 Torbjorn Granlund <tege@swox.com>
! 5621:
! 5622: * urandom.h: Amend 2000-11-21 change to also handle cygwin.
! 5623:
! 5624: 2001-01-08 Kevin Ryde <kevin@swox.se>
! 5625:
! 5626: * tune/many.pl: Updates for move to tests/devel, add modexact_1_odd,
! 5627: don't assume C files can't have carry-in entrypoints, remove
! 5628: $(TRY_TESTS_OBJS) now in libtests.
! 5629:
! 5630: * tests/devel/try.c, tests/refmpn.c, tests/tests.h: Remove
! 5631: mpn_mod_1_rshift testing.
! 5632:
! 5633: * tune/tuneup.c (fft_step_size): Test for overflow using the actual
! 5634: mp_size_t, don't use BITS_PER_INT.
! 5635:
! 5636: * tune/speed.c (r_string): "r" is a limb, use BITS_PER_MP_LIMB and
! 5637: change LONG_ONES to LIMB_ONES.
! 5638: * tune/time.c (M_2POWU): Use INT_MAX rather than BITS_PER_INT.
! 5639:
! 5640: * extract-dbl.c (BITS_PER_PART): Use BITS_PER_MP_LIMB not
! 5641: BITS_PER_LONGINT.
! 5642:
! 5643: * mpz/inp_raw.c, mpz/out_raw.c: Add private defines of BITS_PER_CHAR.
! 5644: * mpz/fac_ui.c, tests/mpz/t-fac_ui.c: Don't use BITS_PER_LONGINT.
! 5645: * tests/mpz/t-get_si.c: Don't use BITS_PER_LONGINT, do the LONG_MAX
! 5646: tests with some explicit code.
! 5647:
! 5648: * mpn/*/gmp-mparam.h, acinclude.m4, tests/t-constants.c
! 5649: (BITS_PER_LONGINT, BITS_PER_INT, BITS_PER_SHORTINT, BITS_PER_CHAR):
! 5650: Remove defines, remove probings, remove tests.
! 5651:
! 5652: * tune/tuneup.c (MODEXACT_1_ODD_THRESHOLD): Add tuning.
! 5653:
! 5654: * tune/speed.c,speed.h,common.c: Add measuring of mpn_modexact_1_odd,
! 5655: mpn_gcd_finda, and an "N" form for mpn_gcd_1.
! 5656:
! 5657: * tests/mpz/t-jac.c (check_squares_zi): Ensure random a,b != 0.
! 5658:
! 5659: 2001-01-07 Kevin Ryde <kevin@swox.se>
! 5660:
! 5661: * configure.in (gmp_mpn_functions): Add mode1o, remove mod_1_rs.
! 5662:
! 5663: * mpn/generic/mod_1_rs.c: Remove file, no longer needed.
! 5664: * gmp-h.in (mpn_mod_1_rshift): Remove prototype and define.
! 5665:
! 5666: * mpq/set_f.c: Use MPN_STRIP_LOW_ZEROS_NOT_ZERO.
! 5667:
! 5668: * mpz/kronzu.c, mpz/kronzs.c, mpz/kronuz.c, mpz/kronsz.c: Use
! 5669: mpn_modexact_1_odd, new style MPN_STRIP_LOW_ZEROS_NOT_ZERO, and new
! 5670: JACOBI macros. Various rearrangements supporting all this.
! 5671:
! 5672: * mpn/generic/gcd_1.c: Use mpn_modexact_1_odd, reduce u%v if u much
! 5673: bigger than v when size==1, some rearrangements supporting this.
! 5674:
! 5675: * gmp-impl.h (JACOBI_*): More macros, add some casts to "int".
! 5676: (MPN_STRIP_LOW_ZEROS_NOT_ZERO): Add a "low" parameter.
! 5677: (mpn_modexact_1_odd, mpn_modexact_1c_odd): Add prototype and defines.
! 5678: (MODEXACT_1_ODD_THRESHOLD): New threshold.
! 5679: (MPN_MOD_OR_MODEXACT_1_ODD, JACOBI_MOD_OR_MODEXACT_1_ODD): New macros.
! 5680:
! 5681: * mpn/generic/mode1o.c: New file.
! 5682:
! 5683: * tests/mpz/reuse.c: Add testing of mpz_divexact_gcd.
! 5684: * tests/mpz/t-fac_ui.c: Use libtests for memory leak checking.
! 5685: * tests/mpz/t-fib_ui.c: Add a usage comment.
! 5686:
! 5687: * tests/mpz/bit.c: Use libtests.
! 5688: * tests/mpz/t-scan.c: Remove unused subroutines.
! 5689: * tests/devel/try.c: Use libtests, define PROT_NONE if the system
! 5690: doesn't.
! 5691:
! 5692: * tests/spinner.c, tests/x86check.c: Use tests.h.
! 5693: * tests/trace.c: Use tests.h, add mpf_trace.
! 5694: * tests/refmpn.c: Use tests.h, add refmpn_malloc_limbs_aligned,
! 5695: refmpn_tstbit, refmpn_neg.
! 5696:
! 5697: * tune/common.c, tune/speed.h: Update for functions moved to
! 5698: tests/misc.c.
! 5699:
! 5700: * tune/Makefile.am, tests/mpz/Makefile.am, tests/mpq/Makefile.am,
! 5701: tests/mpf/Makefile.am: Use tests/libtests.la.
! 5702:
! 5703: * configure.in (AC_OUTPUT): Update for new directories.
! 5704: (x86 CALLING_CONVENTIONS_OBJS): Use .lo for libtests.la, allow
! 5705: ansi2knr on x86check.c.
! 5706:
! 5707: * tests/Makefile.am: Establish new libtests.la convenience library,
! 5708: add mpz, mpq, mpf, mpbsd subdirectories.
! 5709: * tests/tests.h: New file.
! 5710: * mpn/tests/ref.h,try.h: Remove files, now in tests.h.
! 5711:
! 5712: * tests/mpf/ref.c: Move to tests/refmpf.c, rename functions to refmpf.
! 5713: * tests/mpf/t-add.c, tests/mpf/t-sub.c: Use libtests.
! 5714: * tests/mpf/Makefile.am: Update.
! 5715:
! 5716: * tests/memory.c: New file.
! 5717: * tests/misc.c: New file, a few subroutines from the test programs.
! 5718:
! 5719: * mpz/tests, mpq/tests, mpf/tests, mpbsd/tests: Move directories to
! 5720: tests/mpz etc.
! 5721: * mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am, mpbsd/Makefile.am
! 5722: (SUBDIRS): Remove.
! 5723:
! 5724: * tests/devel: New directory.
! 5725: * mpn/tests/*.c: Move programs to tests/devel.
! 5726: * mpn/tests/Makefile.am, mpn/tests/README: Move to tests/devel, update.
! 5727:
! 5728: * mpn/tests/ref.c: Move to tests/refmpn.c.
! 5729: * mpn/tests/spinner.c,trace.c,x86call.asm,x86check.c: Move to tests
! 5730: directory.
! 5731:
! 5732: * tests/t-constants.c: Add checks of HIGHBIT, MAX and MIN constants,
! 5733: simplify ANSI vs K&R stringizing, use correct printf format types, do
! 5734: all tests before aborting.
! 5735:
! 5736: 2001-01-05 Torbjorn Granlund <tege@swox.com>
! 5737:
! 5738: * mpn/cray/ieee/gmp-mparam.h: Retune.
! 5739:
! 5740: 2001-01-05 Kevin Ryde <kevin@swox.se>
! 5741:
! 5742: * configure.in (mp.h): Only create this under --enable-mpbsd.
! 5743:
! 5744: * demos/calc: New subdirectory, move demos/calc* to it.
! 5745: * demos/calc/Makefile.am: New file, split from demos/Makefile.am.
! 5746: * demos/Makefile.am: Update.
! 5747: * configure.in (AC_OUTPUT): Add demos/calc/Makefile.
! 5748:
! 5749: * tests/t-constants.c (CALC_BITS_PER_TYPE etc): Use a run-time test
! 5750: for how many bits work in a give type, don't assume bits==8*sizeof.
! 5751:
! 5752: 2001-01-04 Kevin Ryde <kevin@swox.se>
! 5753:
! 5754: * mpz/fits_s.c, mpz/fits_u.c: New files, split from fits.c, use plain
! 5755: UINT_MAX etc, not MPZ_FITS_UTYPE_SDT etc.
! 5756: * mpz/fits.c: Remove file.
! 5757: * mpz/Makefile.am, macos/Makefile.in: Update.
! 5758:
! 5759: * gmp-impl.h (UNSIGNED_TYPE_MAX etc): Remove these generic forms.
! 5760: (MPZ_FITS_[SU]TYPE_SDT): Remove these.
! 5761: (UINT_MAX etc): Provide a full set of defaults.
! 5762: * gmp-h.in (__GMP_MP_SIZE_T_INT): New define.
! 5763:
! 5764: * mpz/tests/t-scan.c: New file.
! 5765: * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
! 5766:
! 5767: * mpz/scan0.c, mpz/scan1.c: Rewrite, don't read beyond allocated
! 5768: memory, support negatives, return ULONG_MAX for no bit found.
! 5769: * gmp.texi (Integer Logic and Bit Fiddling): Update.
! 5770:
! 5771: 2001-01-03 Torbjorn Granlund <tege@swox.com>
! 5772:
! 5773: * mpz/tests/dive.c: Generate test operands using new random functions.
! 5774: * mpz/tests/io.c: Likewise.
! 5775: * mpz/tests/logic.c: Likewise.
! 5776: * mpz/tests/t-2exp.c: Likewise.
! 5777:
! 5778: * stack-alloc.c (__gmp_tmp_alloc): Round `now' to required alignment.
! 5779:
! 5780: * stack-alloc.h (__TMP_ALIGN): Append `L'.
! 5781:
! 5782: * gmp-impl.h: For Cray, #include limits.h.
! 5783: (LONG_MIN): New #define.
! 5784: (ULONG_HIGHBIT): #define in terms of ULONG_MAX.
! 5785: (LONG_HIGHBIT): #define as LONG_MIN.
! 5786: (USHRT_MAX): New name for USHORT_MAX.
! 5787: (SHRT_MAX): New name for SHORT_MAX.
! 5788: (SHRT_MIN): New #define.
! 5789: (USHORT_HIGHBIT,SHORT_HIGHBIT): Removed.
! 5790:
! 5791: * mpbsd/tests/t-misc.c (check_itom [data]): *SHORT* => *SHRT*;
! 5792: remove code disabling a test for Cray.
! 5793:
! 5794: * tests/t-constants.c (CHECK_CONSTANT): Cast parameters to long.
! 5795:
! 5796: * mpn/generic/mul_n.c (mpn_kara_sqr_n): Remove unused variable `t'.
! 5797: (mpn_kara_mul_n): Likewise.
! 5798:
! 5799: * mpz/fac_ui.c (MPZ_SET_1_NZ): Actually use `__z'.
! 5800:
! 5801: * mpz/tests/t-jac.c
! 5802: (main, check_squares_zi): Generate test operands using new random
! 5803: functions.
! 5804:
! 5805: All changes below on this date for enabling `make; make check'
! 5806: with C++ compilers:
! 5807:
! 5808: * mpz/tests/t-pow_ui.c (debug_mp, ref_mpz_pow_ui): Provide prototypes.
! 5809:
! 5810: * mpz/tests/t-mul.c (debug_mp, base_mul, ref_mpz_mul):
! 5811: Provide prototypes.
! 5812: (dump_abort): Provide prototype and declare properly for C++.
! 5813:
! 5814: * mpz/tests/t-jac.c: #include stdlib.h and sys/time.h.
! 5815:
! 5816: * mpz/tests/t-fdiv.c
! 5817: (dump_abort): Provide prototype and declare properly for C++.
! 5818: (debug_mp): Provide prototype.
! 5819: * mpz/tests/t-fdiv_ui.c: Likewise.
! 5820: * mpz/tests/t-gcd.c: Likewise.
! 5821: * mpz/tests/t-powm.c: Likewise.
! 5822: * mpz/tests/t-powm_ui.c: Likewise.
! 5823: * mpz/tests/t-sqrtrem.c: Likewise.
! 5824: * mpz/tests/t-tdiv_ui.c: Likewise.
! 5825: * mpz/tests/t-tdiv.c: Likewise.
! 5826:
! 5827: * mpz/tests/t-2exp.c: #include stdlib.h and sys/time.h.
! 5828: Remove #include of longlong.h.
! 5829:
! 5830: * mpz/tests/io.c: #include config.h, stdlib.h, sys/time.h, and
! 5831: conditionally unistd.h.
! 5832:
! 5833: * mpz/tests/dive.c: #include stdlib.h and sys/time.h.
! 5834: (dump_abort): Provide prototype and declare properly for C++.
! 5835: (debug_mp): Provide prototype.
! 5836: * mpz/tests/logic.c: Likewise.
! 5837:
! 5838: * mpz/tests/convert.c (debug_mp): Provide prototype.
! 5839: * mpz/tests/t-root.c (debug_mp): Likewise.
! 5840:
! 5841: * mpz/tests/bit.c: #include stdlib.h and sys/time.h.
! 5842:
! 5843: * mpq/tests/t-get_d.c: #include stdlib.h and sys/time.h.
! 5844: (dump): Provide prototype and declare properly for C++.
! 5845:
! 5846: * mpq/tests/t-cmp_ui.c: #include stdio.h, stdlib.h and sys/time.h.
! 5847: (ref_mpq_cmp_ui): Declare properly for C++.
! 5848:
! 5849: * mpq/tests/t-cmp.c: #include stdlib.h and sys/time.h.
! 5850: (ref_mpq_cmp): Declare properly for C++.
! 5851: (dump): Delete unused function.
! 5852:
! 5853: * mpf/random2.c (myrandom): New function.
! 5854: (mpf_random2): Use it.
! 5855:
! 5856: * mpn/generic/random2.c: #include stdlib.h (for random/mrand48).
! 5857: (myrandom): New function.
! 5858: (mpn_random2): Use it.
! 5859:
! 5860: * mpf/tests/t-add.c: #include stdlib.h and sys/time.h.
! 5861: (oo): Remove unused function.
! 5862: * mpf/tests/t-conv.c: Likewise.
! 5863: * mpf/tests/t-sub.c: Likewise.
! 5864: * mpf/tests/t-dm2exp.c: Likewise.
! 5865: * mpf/tests/t-muldiv.c: Likewise.
! 5866: * mpf/tests/t-sqrt.c: Likewise.
! 5867:
! 5868: * mpf/tests/reuse.c: #include stdlib.h and sys/time.h.
! 5869: Use PROTO on some typedefs.
! 5870: (oo): Remove function.
! 5871: (dump_abort): Call mpf_dump instead of oo.
! 5872:
! 5873: * mpf/set_str.c: #include stdlib.h (for strtol).
! 5874:
! 5875: * mpf/random2.c: #include stdlib.h (for random/mrand48).
! 5876: * mpn/alpha/udiv_arnnd: File deleted.
! 5877:
! 5878: * Remove K&R function headers.
! 5879:
! 5880: 2001-01-02 Torbjorn Granlund <tege@swox.com>
! 5881:
! 5882: * mpn/generic/mul.c: Clean up spacing and indentation.
! 5883:
! 5884: * mpn/generic/mul_fft.c (mpn_fft_add_modF): Use mpn_decr_u.
! 5885: Clean up spacing and indentation.
! 5886:
! 5887: * extract-dbl.c: Generalize to handle smaller limb sizes.
! 5888:
! 5889: 2001-01-01 Torbjorn Granlund <tege@swox.com>
! 5890:
! 5891: * mpbsd/mout.c: Output newline after "0".
! 5892:
! 5893: 2000-12-31 Torbjorn Granlund <tege@swox.com>
! 5894:
! 5895: * ltmain.sh: Remove space between `#!' and `$SHELL' when generating
! 5896: `libtool'.
! 5897:
! 5898: * mpbsd/tests/t-misc.c (check_itom): Exclude test for all Cray
! 5899: vector systems. Correct comment.
! 5900:
! 5901: 2000-12-31 Kevin Ryde <kevin@swox.se>
! 5902:
! 5903: * gmp.texi (ABI and ISA): New enough gcc needed for mips n32 etc, gcc
! 5904: 2.95 needed for sparc 64-bit ABI, gcc 2.8 needed for -mv8plus.
! 5905:
! 5906: * configure.in ([cjt]90,sv1-cray-unicos*): Preserve user specified
! 5907: MPN_PATH, amend test program indenting.
! 5908: (none-*-*): Add -DNO_ASM to gcc to disable longlong.h asm macros in
! 5909: generic C.
! 5910:
! 5911: * config.sub (j90, t90): Preserve these, don't let configfsf.sub turn
! 5912: them into c90.
! 5913:
! 5914: * config.guess (m68k-*-nextstep*,m68k-*-openstep*): Don't transform
! 5915: m68k to m68020, since m68k is already interpreted as 68020.
! 5916:
! 5917: 2000-12-30 Kevin Ryde <kevin@swox.se>
! 5918:
! 5919: * mpq/neg.c: Rewrite, use mpn, avoid denominator copy if unnecessary.
! 5920:
! 5921: * mpz/tstbit.c: Rewrite, slightly simplified.
! 5922: * mpz/tests/bit.c (check_tstbit): New test, and add a couple more
! 5923: diagnostics elsewhere.
! 5924:
! 5925: * configure.in (x86 gcc_cflags_cpu): Add -m486 for gcc 2.7.2.
! 5926: (ccbase): Only use a known compiler in eval statements (avoids
! 5927: problems with non-symbol characters).
! 5928: (ccbase): Use GMP_PROG_CC_IS_GNU to identify gcc installed under a
! 5929: different name.
! 5930: (cclist): Use same style $abi as other variables.
! 5931:
! 5932: * acinclude.m4 (GMP_PROG_CC_IS_GNU): New macro.
! 5933: (GMP_GCC_MARCH_PENTIUMPRO): Use $ccbase to identify gcc.
! 5934: (GMP_ASM_TYPE): Define TYPE to empty, not "dnl", when no .type needed.
! 5935: (GMP_ASM_SIZE): Ditto for SIZE, which ensures EPILOGUE on the last
! 5936: line of a file doesn't leave a tab and no newline.
! 5937: (GMP_ASM_UNDERSCORE): Add a prototype for C++.
! 5938:
! 5939: * configure.in (sys/mman.h, mprotect): New tests.
! 5940: * mpn/tests/try.c: Use them, and HAVE_UNISTD_H too.
! 5941:
! 5942: * configure.in (getopt.h): Remove test.
! 5943: * tune/speed.c, mpn/tests/try.c (getopt.h): Remove include, since
! 5944: plain getopt() is in <unistd.h>.
! 5945:
! 5946: * configure.in, gmp-h.in (mips*-*-irix6*): Set limb_n32=longlong
! 5947: rather than using _ABIN32.
! 5948:
! 5949: 2000-12-29 Torbjorn Granlund <tege@swox.com>
! 5950:
! 5951: * mpz/tests/reuse.c: Rename dump_abort => dump.
! 5952: * mpz/tests/reuse.c: Generate operands using gmp_rand*.
! 5953: * mpz/tests/convert.c: Likewise.
! 5954:
! 5955: * configure.in: Detect T90-ieee systems; move Cray path
! 5956: selection to after AC_PROG_CC. Invoke AC_PROG_CPP.
! 5957: * mpn/cray/cfp: New directory. Move cfp specific files here.
! 5958: * mpn/cray/cfp/mulwwc90.s: New file.
! 5959: * mpn/cray/cfp/mulwwj90.s: New file.
! 5960: * mpn/cray/mulww.s: Delete.
! 5961:
! 5962: 2000-12-27 Torbjorn Granlund <tege@swox.com>
! 5963:
! 5964: * mpn/cray/ieee/mul_1.c: New file.
! 5965: * mpn/cray/ieee/addmul_1.c: New file.
! 5966: * mpn/cray/ieee/submul_1.c: New file.
! 5967: * mpn/cray/ieee/gmp-mparam.h: New file.
! 5968:
! 5969: * mpn/cray/gmp-mparam.h: Disable UMUL_TIME and UDIV_TIME.
! 5970:
! 5971: * mpn/cray/hamdist.c: New file.
! 5972: * mpn/cray/popcount.c: New file.
! 5973: * mpn/cray/rshift.c: New file.
! 5974: * mpn/cray/lshift.c: New file.
! 5975:
! 5976: * longlong.h: Add count_leading_zeros for _CRAY.
! 5977: Reorganize _CRAY stuff.
! 5978:
! 5979: 2000-12-24 Kevin Ryde <kevin@swox.se>
! 5980:
! 5981: * configure.in (alpha*-cray-unicos*): Disable SPEED_CYCLECOUNTER_OBJ,
! 5982: as tune/alpha.asm doesn't suit.
! 5983:
! 5984: * mpn/generic/sqrtrem.c, mpz/pow_ui.c, mpz/powm_ui.c, mpf/get_str.c,
! 5985: mpf/set_str.c: Use mpn_sqr_n when applicable, not mpn_mul_n.
! 5986:
! 5987: 2000-12-23 Torbjorn Granlund <tege@swox.com>
! 5988:
! 5989: * mpn/generic/mul_fft.c: Reformat.
! 5990: (mpn_fft_neg_modF): Remove.
! 5991: (mpn_fft_mul_2exp_modF): Inline mpn_fft_neg_modF.
! 5992:
! 5993: * mpn/cray/gmp-mparam.h: Retune.
! 5994:
! 5995: * configure.in (*-cray-unicos*): Pass `-O3 -htask0'.
! 5996: (vax*-*-*): Fix typo.
! 5997:
! 5998: * mpn/cray/mul_1.c: Use dynamic arrays, get rid of TMP_*.
! 5999: * mpn/cray/addmul_1.c: Likewise.
! 6000: * mpn/cray/submul_1.c: Likewise.
! 6001: * mpn/cray/add_n.c: Likewise.
! 6002: * mpn/cray/sub_n.c: Likewise.
! 6003:
! 6004: * configure.in (default cc_cflags,cc_64_cflags): Remove -g/add -O.
! 6005: (mips*-*-irix[6789]*]): Remove -g from cc_*_cflags.
! 6006:
! 6007: 2000-12-22 Torbjorn Granlund <tege@swox.com>
! 6008:
! 6009: * mpn/generic/mul_n.c: Delete K&R function headers.
! 6010:
! 6011: * mpn/generic/mul_n.c (mpn_kara_mul_n): Clean up type confusion
! 6012: between mp_limb_t and mp_size_t.
! 6013: (mpn_kara_sqr_n): Likewise.
! 6014:
! 6015: * mpn/generic/mul_n.c (mpn_kara_mul_n): Use mpn_incr_u.
! 6016: (mpn_kara_sqr_n): Likewise.
! 6017:
! 6018: * mpn/generic/mul_n.c (mpn_kara_mul_n): Change handling of `sign'
! 6019: to work around GCC 2.8.1 MIPS bug.
! 6020:
! 6021: * configure.in (implied alpha*-cray-unicos*): Remove -g from cc_cflags.
! 6022:
! 6023: 2000-12-21 Torbjorn Granlund <tege@swox.com>
! 6024:
! 6025: * mpn/alpha/invert_limb.asm: Simplify a bit.
! 6026: Add handling of bigend systems.
! 6027: * mpn/alpha/unicos.m4: Define `bigend'.
! 6028: * mpn/alpha/default.m4: Define `bigend' (to expand to nothing).
! 6029:
! 6030: * tests/t-constants.c (CHECK_CONSTANT): Print using %lx.
! 6031:
! 6032: * mpn/alpha/gmp-mparam.h: Remove sizes for plain C types.
! 6033: * mpn/alpha/ev5/gmp-mparam.h: Likewise.
! 6034: * mpn/alpha/ev6/gmp-mparam.h: Likewise.
! 6035:
! 6036: * mpn/alpha/unicos.m4: Define LEA.
! 6037: * mpn/alpha/default.m4: Likewise.
! 6038: * mpn/alpha/invert_limb.asm: Use LEA for loading symbolic addresses.
! 6039: * mpn/alpha/cntlz.asm: Likewise.
! 6040:
! 6041: * mpn/alpha/cntlz.asm: Don't use `ldbu', use slightly slower
! 6042: `ldq_u' + `extbl' instead.
! 6043:
! 6044: * mpn/alpha/unicos.m4: Define EXTERN.
! 6045: * mpn/alpha/default.m4: Define EXTERN (to expand to nothing).
! 6046: * mpn/alpha/cntlz.asm: Declare __clz_tab usign `EXTERN' (for the
! 6047: benefit of Unicos).
! 6048:
! 6049: 2000-12-21 Kevin Ryde <kevin@swox.se>
! 6050:
! 6051: * mpn/alpha/unicos.m4 (GSYM_PREFIX): Define for the benefit of
! 6052: __clz_tab.
! 6053:
! 6054: 2000-12-20 Torbjorn Granlund <tege@swox.com>
! 6055:
! 6056: * longlong.h: Add udiv_qrnnd and count_leading_zeros for _CRAYMPP
! 6057: systems.
! 6058:
! 6059: 2000-12-19 Torbjorn Granlund <tege@swox.com>
! 6060:
! 6061: * configure.in (*sparc*-*-*): Remove -g from cc_cflags and acc_cflags.
! 6062:
! 6063: * mpn/generic/sqrtrem.c (mpn_sqrtrem): Separate `limb' values from
! 6064: `size' values.
! 6065:
! 6066: * configure.in (*-cray-unicos*): Add `-Wa,-B' to cc_cflags.
! 6067:
! 6068: * demos/pexpr.c (rstate): New variable.
! 6069: (main): Initialize rstate.
! 6070: (enum op_t): Add RANDOM.
! 6071: (fns): Add field for RANDOM.
! 6072: (mpz_eval_expr): Handle RANDOM.
! 6073:
! 6074: 2000-12-19 Kevin Ryde <kevin@swox.se>
! 6075:
! 6076: * mpn/generic/sqrtrem.c: Rewrite by Paul Zimmermann, based on his
! 6077: Karatsuba Square Root algorithm.
! 6078: * gmp.texi (Square Root Algorithm): Update.
! 6079:
! 6080: * tune/many.pl: New file.
! 6081:
! 6082: * mpn/tests/try.c,ref.[ch] (mpn_preinv_mod_1, mpn_sb_divrem_mn,
! 6083: mpn_tdiv_qr, mpn_gcd_finda, mpn_kara_mul_n, mpn_kara_sqr_n,
! 6084: mpn_toom3_mul_n, mpn_toom3_sqr_n): Add testing.
! 6085: * mpn/tests/ref.c: Cast some "0"s in function calls.
! 6086:
! 6087: * mpn/x86/k7/mmx/mod_1.asm: Add preinv_mod_1 entrypoint, remove extra
! 6088: variable for loop termination.
! 6089:
! 6090: * mpn/x86/p6/mmx/mod_1.asm: Remove file, in favour of the following.
! 6091: * mpn/x86/p6/mod_1.asm: New file.
! 6092:
! 6093: * mpn/x86/pentium/mod_1.asm: New file.
! 6094:
! 6095: 2000-12-18 Torbjorn Granlund <tege@swox.com>
! 6096:
! 6097: * configure.in (mips*-*-irix[6789]*): Pass options to compiler using
! 6098: `-Wc'.
! 6099:
! 6100: 2000-12-18 Kevin Ryde <kevin@swox.se>
! 6101:
! 6102: * mpn/x86/k6/pre_mod_1.asm: New file.
! 6103:
! 6104: * tune/tuneup.c (USE_PREINV_MOD_1): Tune this, rearrange mpn_divrem_1
! 6105: and mpn_mod_1 handling in support of it.
! 6106: * tune/Makefile.am: Consequent changes to divrem_1.c and mod_1.c.
! 6107:
! 6108: * gmp-impl.h (USE_PREINV_MOD_1, MPN_MOD_OR_PREINV_MOD_1): New macros.
! 6109: * mpn/generic/perfsqr.c, mpz/pprime_p.c: Use MPN_MOD_OR_PREINV_MOD_1.
! 6110:
! 6111: * configure.in: Let an asm mod_1 provide a preinv_mod_1 entrypoint.
! 6112:
! 6113: * mpn/alpha/default.m4: Remove some newlines, add some asserts.
! 6114: (r0 etc, f0 etc): Use defreg and deflit.
! 6115: (PROLOGUE, PROLOGUE_GP, EPILOGUE): Use GSYM_PREFIX.
! 6116: * mpn/alpha/unicos.m4: Remove some newlines, add some asserts.
! 6117: * mpn/alpha/invert_limb.asm: Remove unused second DATASTART parameter.
! 6118: * mpn/alpha/cntlz.asm: Use mpn_count_leading_zeros and __clz_tab.
! 6119:
! 6120: * mpn/asm-defs.m4 (changecom): Comments on portability.
! 6121: (__clz_tab, modlimb_invert_table): New macros, matching gmp-impl.h.
! 6122: (count_leading_zeros, count_trailing_zeros): New define_mpn's.
! 6123: (PROLOGUE etc): Comments on usage, add some asserts.
! 6124: (OPERATION_[lr]shift): Use m4_not_for_expansion, for the benefit of
! 6125: lorrshift multifunc.
! 6126:
! 6127: * mpn/Makeasm.am (RM_TMP): New variable controlling tmp-*.s
! 6128: removal, for development purposes.
! 6129:
! 6130: * mpz/fac_ui.c: Fix for long long limb by using mpn_mul_1 not
! 6131: mpz_mul_ui, and note some possible enhancements.
! 6132:
! 6133: * mpz/tests/t-fac_ui.c: New test.
! 6134: * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
! 6135: * macos/Makefile.in: Ditto, and add t-fib_ui too.
! 6136:
! 6137: * mpn/generic/[lr]shift.c: Remove some DEBUG code adequately covered
! 6138: by new parameter ASSERTs.
! 6139:
! 6140: * longlong.h (count_trailing_zeros): Assert x!=0.
! 6141:
! 6142: * doc/configuration: Updates for new configure things, add some notes
! 6143: on test setups.
! 6144:
! 6145: 2000-12-16 Torbjorn Granlund <tege@swox.com>
! 6146:
! 6147: * configure.in (*-*-aix): Pass -qmaxmem=20000 to xlc also for 64-bit
! 6148: compiles.
! 6149: * configure.in: Disable shared libs for *-*-ultrix*.
! 6150:
! 6151: 2000-12-15 Torbjorn Granlund <tege@swox.com>
! 6152:
! 6153: * configure.in (powerpc*-*-*): Pass -Wa,-mppc when using gcc.
! 6154:
! 6155: * gmp-impl.h (_EXTERN_INLINE): #define different for GCC and other
! 6156: compilers.
! 6157:
! 6158: * gmp-h.in (__gmp_inline): Remove.
! 6159: * mp-h.in: Likewise.
! 6160: * mpn/generic/gcd.c: Use `inline' instead of `__gmp_inline'.
! 6161:
! 6162: * configure.in (mips*-*-irix[6789]*): Define *_ldflags.
! 6163:
! 6164: 2000-12-14 Torbjorn Granlund <tege@swox.com>
! 6165:
! 6166: * mpn/generic/pre_mod_1.c: Use proper type for udiv_qrnnd
! 6167: parameter `dummy'.
! 6168:
! 6169: * mpn/generic/divrem_1.c: Use explicit `!= 0' in if statement.
! 6170: * mpn/generic/mod_1.c: Likewise.
! 6171:
! 6172: 2000-12-14 Kevin Ryde <kevin@swox.se>
! 6173:
! 6174: * config.guess (mips-*-irix[6789]*): Transform to mips64.
! 6175: (m68k-*-nextstep* | m68k-*-openstep*): Transform to m68020.
! 6176:
! 6177: 2000-12-13 Torbjorn Granlund <tege@swox.com>
! 6178:
! 6179: * tests/t-constants.c (main): Conditionalize use of PP_INVERTED.
! 6180:
! 6181: * mpn/mp_bases.c: Handle 4-bit limbs.
! 6182: (main): Add code for generating tables.
! 6183:
! 6184: * mpn/generic/popham.c: Handle limb bitsizes of 4, 8, 16.
! 6185: Suffix all 32-bit constant with `L'.
! 6186: Use CNST_LIMB for 64-bit constants.
! 6187:
! 6188: 2000-12-13 Kevin Ryde <kevin@swox.se>
! 6189:
! 6190: * gmp-impl.h (FIB_THRESHOLD): Defaults for 4,8,16 bits per limb, and
! 6191: an arbitrary fallback default.
! 6192: (modlimb_invert): Add efficient code for 8,16 (or 4) bits per limb.
! 6193:
! 6194: * configure.in (mips3, mips64): Don't bother with o32 (mips2 32-bit
! 6195: limb) on IRIX 6.
! 6196:
! 6197: * Makefile.am (SUBDIRS): Put "tests" first so tests/t-constants.c is
! 6198: run first, to pick up any limb size mismatch.
! 6199:
! 6200: * tune/tuneup.c (DIVREM_1, MOD_1): Fix result values, were off by 1.
! 6201:
! 6202: * mpz/fib_ui.c (table1, table2): Add data for 4,8,16 bits per limb.
! 6203:
! 6204: 2000-12-12 Torbjorn Granlund <tege@swox.com>
! 6205:
! 6206: * gmp-impl.h (LIMBS_PER_DOUBLE): Define for any limb bitsize.
! 6207:
! 6208: 2000-12-11 Torbjorn Granlund <tege@swox.com>
! 6209:
! 6210: * mpn/mp_bases.c: Add tables for 8-bit and 16-bit limbs.
! 6211: Round existing `double' values properly.
! 6212:
! 6213: * gmp-h.in (__gmp_randstate_struct): Prefix field names with _mp_
! 6214: to keep out of user name space.
! 6215: (__gmp_randata_lc): Likewise.
! 6216: * randclr.c, randlc.c, randlc2x.c, randraw.c, randsd.c, randsdui.c:
! 6217: Corresponding changes.
! 6218:
! 6219: * gmp-impl.h (PP): #define for machines with BITS_PER_MP_LIMB
! 6220: of 2, 4, 8, and 16.
! 6221: (PP_FIRST_OMITTED): New, define for various BITS_PER_MP_LIMB.
! 6222: (PP_MASK): Remove.
! 6223: (PP_MAXPRIME): Remove.
! 6224:
! 6225: * mpn/generic/perfsqr.c: Generalize PP handling for machines with
! 6226: limbs of < 32 bits. Allow PP_INVERTED to be undefined.
! 6227: * mpz/pprime_p.c: Likewise.
! 6228:
! 6229: 2000-12-10 Torbjorn Granlund <tege@swox.com>
! 6230:
! 6231: * mpn/generic/mul_1.c: Declare parameters in C89 style.
! 6232:
! 6233: 2000-12-10 Kevin Ryde <kevin@swox.se>
! 6234:
! 6235: * tune/Makefile.am (speed_LDFLAGS, speed_ext_LDFLAGS, tune_LDFLAGS):
! 6236: Don't use -all-static, as gcc 2.95.2 on i386 solaris 8 doesn't like
! 6237: it.
! 6238:
! 6239: * configure.in (mips3,mips64): Add ABI=64, name the others ABI=n32 and
! 6240: ABI=o32.
! 6241: * mpn/mips3/gmp-mparam.h (BITS_PER_LONGINT): Remove #define and let
! 6242: configure determine it, since it varies with ABI=64 or ABI=n32.
! 6243: * gmp.texi (ABI and ISA): Update.
! 6244: (mpz_mod_ui): Remark that it's identical to mpz_fdiv_r_ui.
! 6245: (mpn_divexact_by3): Qualify a statement needing mp_bits_per_limb even.
! 6246:
! 6247: * mul_fft.c (mpn_fft_mul_modF_K etc): Patch by Paul Zimmermann to fix
! 6248: results in certain cases of recursing into a further FFT.
! 6249:
! 6250: 2000-12-09 Torbjorn Granlund <tege@swox.com>
! 6251:
! 6252: * mpz/cmpabs.c: Remove unused variable.
! 6253: * mpz/rrandomb.c: Likewise.
! 6254: * mpz/xor.c: Likewise.
! 6255:
! 6256: 2000-12-07 Torbjorn Granlund <tege@swox.com>
! 6257:
! 6258: * mpn/generic/gcdext.c: Handle double carry when computing s1.
! 6259: Merge two code blocks for computing s0 and s1.
! 6260:
! 6261: 2000-12-07 Kevin Ryde <kevin@swox.se>
! 6262:
! 6263: * configure.in (hppa*-*-*): Remove -Aa -D_HPUX_SOURCE from
! 6264: cc_cflags/cppflags, and instead let AM_C_PROTOTYPES add it, or -Ae,
! 6265: whichever works.
! 6266:
! 6267: * configure.in (*-*-aix[34]*): Disable shared by default, but let
! 6268: the user override that, if desired.
! 6269: * gmp.texi (Notes for Particular Systems): Update.
! 6270:
! 6271: 2000-12-06 Torbjorn Granlund <tege@swox.com>
! 6272:
! 6273: * mpq/cmp_ui.c: Streamline.
! 6274:
! 6275: 2000-12-06 Kevin Ryde <kevin@swox.se>
! 6276:
! 6277: * tune/divrem_1_div.c,divrem_1_inv.c,mod_1_div.c,mod_1_inv.c,
! 6278: gcdext_double.c: New files for measuring.
! 6279: * tune/Makefile.am (libspeed_la_SOURCES): Add them.
! 6280: * tune/speed.c,speed.h,common.c: Add measuring of them.
! 6281: (mpn_preinv_mod_1, mpz_jacobi, mpz_powm_ui): Add measuring.
! 6282:
! 6283: * speed.c (getopt_long): Don't use this, just plain getopt.
! 6284: * configure.in (getopt_long): Remove test.
! 6285:
! 6286: * gmp-impl.h (MPN_KARA_MUL_N_TSIZE, MPN_KARA_MUL_N_MINSIZE,
! 6287: MPN_TOOM3_MUL_N_TSIZE, MPN_TOOM3_MUL_N_MINSIZE): New macros, and
! 6288: assume toom3 square tsize was meant to be the same as the mul (both
! 6289: are overestimates).
! 6290: * tune/tuneup.c, mpn/generic/mul.c, mpn/generic/mul_n.c: Use them.
! 6291: * mpn/generic/mul_n.c (mpn_toom3_sqr_n): Fix an ASSERT to use
! 6292: TOOM3_SQR_THRESHOLD not TOOM3_MUL_THRESHOLD, add a few that might
! 6293: be more realistic size checks.
! 6294: * tune/speed.h (SPEED_ROUTINE_MPN_MUL_N_TSPACE etc): Use minsize.
! 6295:
! 6296: * mpn/generic/divrem_1.c: Partial rewrite, merge fractional part
! 6297: calculation, skip a divide step in more cases, introduce
! 6298: DIVREM_1_NORM_THRESHOLD and DIVREM_1_UNNORM_THRESHOLD.
! 6299: * mpn/generic/mod_1.c: Partial rewrite, skip a divide step in more
! 6300: cases, introduce MOD_1_NORM_THRESHOLD, MOD_1_UNNORM_THRESHOLD.
! 6301: * longlong.h (UDIV_PREINV_ALWAYS): New define, set for alpha and ia64.
! 6302: * tune/tuneup.c (DIVREM_1_NORM_THRESHOLD, DIVREM_1_UNNORM_THRESHOLD,
! 6303: MOD_1_NORM_THRESHOLD, MOD_1_UNNORM_THRESHOLD): Tune these.
! 6304: * gmp-impl.h [TUNE_PROGRAM_BUILD]: Support for this.
! 6305: * tune/Makefile.am (TUNE_MPN_SRCS): Add divrem_1.c and mod_1.c.
! 6306:
! 6307: * gmp-impl.h (UDIV_NORM_PREINV_TIME): Renamed from UDIV_PREINV_TIME.
! 6308: * mpn/generic/perfsqr.c, mpn/generic/sb_divrem_mn.c,
! 6309: mpn/x86/*/gmp-mparam.h: Ditto.
! 6310: * gmp-impl.h (UDIV_UNNORM_PREINV_TIME): New define.
! 6311:
! 6312: * configure.in (AC_C_INLINE, HAVE_INLINE): New test and define.
! 6313: * gmp-impl.h (inline): Remove, use config.h.
! 6314: (_EXTERN_INLINE): Redefine based on HAVE_INLINE.
! 6315: (mpn_zero_p): Use HAVE_INLINE.
! 6316:
! 6317: * acinclude.m4 (GMP_PROG_AR, GMP_PROG_NM): Don't add flags to a user
! 6318: selected $AR or $NM.
! 6319:
! 6320: * tune/tuneup.c (all): Print how long the tuning took.
! 6321:
! 6322: * configure.in (AM_C_PROTOTYPES): Use this, not GMP_ANSI2KNR.
! 6323: * acinclude.m4 (GMP_ANSI2KNR): Remove.
! 6324:
! 6325: * Makefile.am (gmp.h, mp.h): In DISTCLEANFILES not CLEANFILES.
! 6326:
! 6327: * gmp-h.in (mpn_divmod, mpn_divmod_1, mpn_divexact_by3): Cast some
! 6328: zeros, for the benefit of K&R if long!=int.
! 6329:
! 6330: * mpn/lisp/gmpasm-mode.el (gmpasm-comment-start-regexp): Add "*" for
! 6331: the benefit of cray.
! 6332:
! 6333: * compat.c (mpn_divexact_by3, mpn_divmod_1): Return types should be
! 6334: mp_limb_t, not int, and need an actual "return".
! 6335:
! 6336: 2000-12-05 Torbjorn Granlund <tege@swox.com>
! 6337:
! 6338: * mpn/sparc32/v8/supersparc/gmp-mparam.h: Retune.
! 6339: * mpn/alpha/gmp-mparam.h: Tune for 21064.
! 6340:
! 6341: * longlong.h: Reformat to avoid newlines within strings.
! 6342:
! 6343: * gmp-impl.h (inline): Disable if GCC has defined __STRICT_ANSI__.
! 6344:
! 6345: * configure.in: Do a `mkdir tune' before creating tune/sqr_basecase.c.
! 6346:
! 6347: * Makefile.am: Treat mp.h analogously to gmp.h.
! 6348:
! 6349: configure.in (*-*-aix): Pass -qmaxmem=20000 to xlc.
! 6350:
! 6351: * mp-h.in: Renamed from mp.h.
! 6352: Add #define for _LONG_LONG_LIMB.
! 6353: Move some other fixes from gmp-h.in.
! 6354: * mp.h: Removed.
! 6355: * configure.in: Generate mp.h from mp-h.in like we handle
! 6356: gmp-h.in/gmp.h.
! 6357:
! 6358: 2000-12-04 Torbjorn Granlund <tege@swox.com>
! 6359:
! 6360: * acinclude.m4: Fix typo testing for bad HP compiler.
! 6361:
! 6362: 2000-12-03 Torbjorn Granlund <tege@swox.com>
! 6363:
! 6364: * mpbsd/tests/t-misc.c (check_itom): Exclude some tests for Cray
! 6365: CFP systems.
! 6366:
! 6367: * longlong.h (CRAYIEEE umul_ppmm): New.
! 6368:
! 6369: * mpn/cray/gmp-mparam.h (BITS_PER_SHORTINT): 32 => 64.
! 6370: (*_THRESHOLD): Tune.
! 6371:
! 6372: * configure.in: Disable shared libs for *-*-unicos*.
! 6373:
! 6374: 2000-12-03 Kevin Ryde <kevin@swox.se>
! 6375:
! 6376: * configure.in, tune/Makefile.am: Create tune/sqr_basecase.c during
! 6377: configure, and use it unconditionally in $(nodist_tuneup_SOURCES).
! 6378: Fixes a problem with sqr_basecase.lo under --disable-static.
! 6379:
! 6380: 2000-12-01 Torbjorn Granlund <tege@swox.com>
! 6381:
! 6382: * mpf/tests/t-get_d.c (LOW_BOUND,HIGH_BOUND): #define for non-IEEE
! 6383: Cray systems.
! 6384:
! 6385: * gmp-impl.h (union ieee_double_extract): Test for _CRAYIEEE.
! 6386:
! 6387: 2000-11-30 Torbjorn Granlund <tege@swox.com>
! 6388:
! 6389: * mpz/tests/t-mul.c (base_mul): Fix re-evaluation problems in macro
! 6390: invocations.
! 6391: (ref_mpz_mul): New name from mpz_refmul. Make static.
! 6392: (base_mul): New name for _mpn_mul_classic.
! 6393:
! 6394: 2000-11-30 Kevin Ryde <kevin@swox.se>
! 6395:
! 6396: * configure.in: Rewrite of CC/CFLAGS selection scheme, introduce a
! 6397: notion of ABI, merge compiler and mpn path selection, add flags
! 6398: selection for AR and NM, let CC without CFLAGS work.
! 6399: (AC_PROG_CC): Use this, not GMP_SELECT_CC.
! 6400: * acinclude.m4 (GMP_PROG_CC_WORKS): Don't use AC_TRY_COMPILE, combine
! 6401: cc/cflags parameter.
! 6402: (GMP_PROG_CC_FIND, GMP_CHECK_CC_64BIT, GMP_PROG_CC_SELECT): Remove.
! 6403: * gmp.texi (Installing GMP): Updates for new scheme.
! 6404:
! 6405: * configure.in (AC_CANONICAL_HOST): Use this and $host, not $target.
! 6406: * acinclude.m4, acconfig.h, longlong.h, mpn/x86/x86-defs.m4,
! 6407: mpn/x86/k7/mmx/popham.asm: Ditto, renaming HAVE_TARGET_CPU to
! 6408: HAVE_HOST_CPU.
! 6409: * gmp.texi (Build Options, and elsewhere): Update.
! 6410:
! 6411: * acinclude.m4 (GMP_COMPARE_GE): New macro.
! 6412: (GMP_GCC_MARCH_PENTIUMPRO): Use it, add CC parameter, check for GCC.
! 6413: (GMP_HPC_HPPA_2_0): New macro, adapted from GMP_CHECK_CC_64BIT.
! 6414:
! 6415: * acinclude.m4 (GMP_PROG_AR): New macro, using AC_CHECK_TOOL, adding
! 6416: GMP flags.
! 6417: * configure.in: Use it
! 6418:
! 6419: * gmp-h.in: Renamed from gmp.h.
! 6420: (@define_LONG_LONG_LIMB@): Placeholder for instantiation.
! 6421: (__GNU_MP__): Bump to 3.
! 6422: * acinclude.m4 (GMP_VERSION): Get version from gmp-h.in.
! 6423: * configure.in: Create gmp.h from gmp-h.in to set _LONG_LONG_LIMB.
! 6424: * gmp.texi.h (ABI and ISA): Mention this.
! 6425: * acconfig.h (_LONG_LONG_LIMB): Remove undef.
! 6426: * Makefile.am: Distribute gmp-h.in, not gmp.h.
! 6427:
! 6428: * configure.in (AC_PROG_CPP, AC_PROG_INSTALL, AC_PROG_LN_S): Remove,
! 6429: dragged in by other macros.
! 6430: (gmp_asm_syntax_testing): Renamed from gmp_no_asm_syntax_testing.
! 6431: (AC_EXEEXT, AC_OBJEXT): Remove, done automatically by libtool.
! 6432: * configure.in, acinclude.m4: Remove "" from "`foo`", being
! 6433: unnecessary and not portable.
! 6434:
! 6435: * configure.in (GMP_LDFLAGS): New AC_SUBST flags for libtool link.
! 6436: (powerpc64*-*-aix*): Use for -Wc,-maix to fix shared library creation,
! 6437: but can't build shared and static at the same time.
! 6438: * Makefile.am (libgmp_la_LDFLAGS, libmp_la_LDFLAGS): Use
! 6439: $(GMP_LDFLAGS).
! 6440: * gmp.texi (Notes for Particular Systems): Update AIX problem
! 6441:
! 6442: * configure.in (AC_CONFIG_LINKS): Use where needed, not via gmp_links.
! 6443: (gmp_srclinks): Build up as needed, not via gmp_links.
! 6444:
! 6445: * acinclude.m4 (GMP_INIT): Do CONFIG_TOP_SRCDIR and asm-defs.m4 here.
! 6446: * configure.in (asm-defs.m4): Consequent changes.
! 6447:
! 6448: * acinclude.m4 (GMP_INCLUDE_MPN): Using include_mpn(), replacing
! 6449: GMP_INCLUDE and GMP_SINCLUDE.
! 6450: * configure.in (gmp_m4postinc): Remove this scheme, use
! 6451: GMP_INCLUDE_MPN instead.
! 6452:
! 6453: * configure.in (*-*-sco3.2v5*): Force ac_cv_archive_cmds_need_lc=no,
! 6454: until libtool does this itself.
! 6455: * gmp.texi (Known Build Problems): Remove SCO -lc problem.
! 6456:
! 6457: * configure, INSTALL.autoconf, etc: Update to autoconf 2000-11-29.
! 6458: * acinclude.m4 (GMP_C_SIZES): Use AC_CHECK_SIZEOF.
! 6459: * gmp.texi (Known Build Problems): Remove version.c sed/config.h
! 6460: problem, fixed.
! 6461:
! 6462: * ltmain.sh, aclocal.m4: Update to libtool 2000-11-25.
! 6463: * ltconfig: No longer required, but leave an empty dummy for automake.
! 6464: * gmp.texi (Known Build Problems): Remove SunOS native ar ranlib
! 6465: problem, fixed.
! 6466:
! 6467: * */Makefile.in, aclocal.m4: Update to automake 2000-11-25.
! 6468: * mpbsd/tests/Makefile.am, mpfr/tests/Makefile.am (check_PROGRAMS):
! 6469: Remove dummy, no longer required.
! 6470: * mpbsd/tests/dummy.c, mpfr/tests/dummy.c: Remove files.
! 6471: * depcomp: Remove file, no longer required (with no-dependencies).
! 6472:
! 6473: * texinfo.tex: Update to 2000-11-09.
! 6474: * gmp.texi (Build Options): Mention PDF from gmp.texi.
! 6475: * Makefile.am (MOSTLYCLEANFILES): Add gmp.tmp, from new texinfo.tex.
! 6476:
! 6477: * gmp.texi (Build Options): List alphaev56, alphapca56, alphaev67,
! 6478: hppa2.0n and power among supported CPUs.
! 6479:
! 6480: 2000-11-30 Torbjorn Granlund <tege@swox.com>
! 6481:
! 6482: * mpz/tests/t-mul.c: Increase max operand size from 2^17 bits
! 6483: to 2^19 bits. Misc cleanups.
! 6484:
! 6485: 2000-11-26 Kevin Ryde <kevin@swox.se>
! 6486:
! 6487: * tune/tuneup.c (FIB_THRESHOLD): Cope better with different speeds of
! 6488: odd and even sizes.
! 6489:
! 6490: * longlong.h (alpha): Use udiv_qrnnd and count_leading_zeros on all
! 6491: compilers, not just gcc.
! 6492:
! 6493: * pre_mod_1.c: Use conditional subtract to always skip a division.
! 6494: (UMUL_TIME, UDIV_TIME): Remove defaults, now in longlong.h.
! 6495:
! 6496: 2000-11-22 Torbjorn Granlund <tege@swox.com>
! 6497:
! 6498: * mpn/pa64w/gmp-mparam.h: Retune.
! 6499: * mpn/pa64/gmp-mparam.h: Retune.
! 6500: * mpn/sparc64/gmp-mparam.h: Retune.
! 6501:
! 6502: 2000-11-22 Kevin Ryde <kevin@swox.se>
! 6503:
! 6504: * gmp-impl.h (ABOVE_THRESHOLD, BELOW_THRESHOLD): New macros.
! 6505: * mpn/generic/gcdext.c: Use them.
! 6506:
! 6507: * mpn/generic/gcdext.c [WANT_GCDEXT_ONE_STEP]: Force only one step.
! 6508: * tune/gcdextos.c, tune/gcdextod.c: New files, one step gcdext, single
! 6509: and double.
! 6510: * tune/Makefile.am (libspeed_la_SOURCES): Add them.
! 6511: (TUNE_MPN_SRCS): Remove gcdext.c.
! 6512: * tune/speed.h, tune/common.c, tune/speed.c: Add measuring.
! 6513: * tune/tuneup.c: Use for GCDEXT_THRESHOLD, plus check if double limb
! 6514: is ever better. Should be more accurate, and hopefully faster.
! 6515:
! 6516: * tune/gcdext_single.c: New file, gcdext forced to single limbs.
! 6517: * tune/Makefile.am: Add it.
! 6518: * tune/speed.h, tune/common.c, tune/speed.c: Add measuring, and of
! 6519: invert_limb.
! 6520:
! 6521: * tune/speed.h (speed_params r): Use mp_limb_t, not long.
! 6522: * tune/speed.h, tune/common.c: Don't "switch" on "r".
! 6523: * tune/speed.c (r_string): Accept limb sized constants.
! 6524: (choice scale): Add a scale factor (eg. "2.33*mpn_add_n").
! 6525: * tune/common.c (SPEED_ROUTINE_UDIV_QRNND_A): Default r to
! 6526: __mp_bases[10].big_base, being a full limb value.
! 6527:
! 6528: * configure.in (alphapca56*-*-*): Use ev5 mpn path.
! 6529: (am29000*-*-*): Remove this, leave the canonical a29k.
! 6530: (z8k*-*-*, z8kx*-*-*): Changed from z8000, since z8k is canonical.
! 6531: (gmp_mpn_functions_optional): Add invert_limb, use for alpha and ia64.
! 6532:
! 6533: * configure.in (alloca): Accept yes/no/detect, generate an error if
! 6534: "yes" but not available.
! 6535: * gmp.texi (Build Options): Update.
! 6536:
! 6537: * acinclude.m4 (GMP_TRY_ASSEMBLE): Make conftest.out available.
! 6538: (GMP_ASM_ALIGN_FILL_0x90): Use it.
! 6539:
! 6540: * acinclude.m4 (GMP_ASM_X86_MMX) [*-*-solaris*]: Check for solaris
! 6541: 2.6 "as" movq bug.
! 6542: * gmp.texi (Notes for Particular Systems): Update x86 MMX note.
! 6543:
! 6544: 2000-11-21 Torbjorn Granlund <tege@swox.com>
! 6545:
! 6546: * tune/Makefile.am (EXTRA_DIST): List hppa2w.asm.
! 6547:
! 6548: * tune/hppa2.asm: Change level directive to "2.0n".
! 6549: * tune/hppa2w.asm: New file.
! 6550: * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Separate out hppa2.0w.
! 6551:
! 6552: * mpn/pa64/gmp-mparam.h (BITS_PER_LONGINT): 64 => 32.
! 6553:
! 6554: 2000-11-21 Kevin Ryde <kevin@swox.se>
! 6555:
! 6556: * urandom.h (random): No prototype if glibc stdlib.h has already
! 6557: provided it (avoids an int32_t/long conflict).
! 6558:
! 6559: * tune/Makefile.am (LDFLAGS): Use -all-static.
! 6560: (speed-dynamic): Dynamic linked version of speed.c.
! 6561: * tune/README: Update.
! 6562:
! 6563: * mpn/generic/gcd.c (find_a): Use native version if available.
! 6564: * acconfig.h (HAVE_NATIVE_mpn_gcd_finda): Add #undef.
! 6565: * gmp-impl.h (mpn_gcd_finda): Add prototype and define.
! 6566: * mpn/asm-defs.m4 (mpn_gcd_finda): New define_mpn.
! 6567: * tune/gcd_finda_gen.c: #undef any HAVE_NATIVE_mpn_gcd_finda.
! 6568: * configure.in (gmp_mpn_functions_optional): Add gcd_finda.
! 6569: * mpn/x86/k6/gcd_finda.asm: New file.
! 6570:
! 6571: * tune/tuneup.c (POWM_THRESHOLD): Slightly bigger size steps.
! 6572:
! 6573: * gmp-impl.h (__GMP_IMPL_H__): Protect against multiple inclusion.
! 6574: * tune/gcd_bin.c, tune/powm_mod.c, tune/powm_redc.c: Use #undef after
! 6575: gmp-impl.h to force thresholds.
! 6576: * tune/tuneup.c (print_define, fft): No need for #ifndefs on
! 6577: thresholds any more.
! 6578:
! 6579: 2000-11-20 Torbjorn Granlund <tege@swox.com>
! 6580:
! 6581: * mpz/tests/t-powm.c: Analogous changes as made 2000-11-12 to t-mul.c.
! 6582: * mpz/tests/t-powm_ui.c: Likewise.
! 6583: * mpz/tests/t-pow_ui.c: Likewise.
! 6584: * mpz/tests/t-root.c: Likewise.
! 6585:
! 6586: * configure.in [compiler switch]: Pass "-Aa -D_HPUX_SOURCE" to cc for
! 6587: all hppa versions.
! 6588:
! 6589: * mpn/hppa/hppa1_1/udiv_qrnnd.S: Reference data using PC relative
! 6590: addressing (was r19 relative addressing).
! 6591:
! 6592: 2000-11-18 Torbjorn Granlund <tege@swox.com>
! 6593:
! 6594: * rand.c: (__gmp_rand_lc_scheme): Convert strings to hexadecimal.
! 6595: (gmp_randinit): Expect strings in hexadecimal.
! 6596:
! 6597: 2000-11-18 Kevin Ryde <kevin@swox.se>
! 6598:
! 6599: * configfsf.guess, configfsf.sub: Update to 2000-11-16.
! 6600: * config.guess (alpha*-*-openbsd*): Do exact cpu detection.
! 6601:
! 6602: 2000-11-14 Torbjorn Granlund <tege@swox.com>
! 6603:
! 6604: * mpz/tests/t-fdiv.c: Analogous changes as made 2000-11-12 to t-mul.c.
! 6605: * mpz/tests/t-tdiv_ui.c: Likewise.
! 6606: * mpz/tests/t-fdiv_ui.c: Likewise.
! 6607: * mpz/tests/t-sqrtrem.c: Likewise.
! 6608: * mpz/tests/t-gcd.c: Likewise.
! 6609:
! 6610: 2000-11-13 Kevin Ryde <kevin@swox.se>
! 6611:
! 6612: * mpn/Makeasm.am: New file, splitting out assembler rules.
! 6613: * mpn/Makefile.am, tune/Makefile.am: Use it.
! 6614:
! 6615: * mpn/Makefile.am (@CPP@): Remove this, automake already gives it.
! 6616:
! 6617: * configure.in (AC_CHECK_LIBM): New test, and AC_SUBST it.
! 6618: * Makefile.am (MPFR_LIBADD_OPTION): Use it.
! 6619: * demos/Makefile.am (qcn_LDADD): Ditto.
! 6620: * tune/Makefile.am (libspeed_la_LIBADD): Ditto.
! 6621: * tests/rand/Makefile.am (libstat_la_LIBADD): Ditto.
! 6622:
! 6623: * tune/time.c (timeval_diff_secs): Better calculation.
! 6624: (read_real_time): New measuring method for AIX power/powerpc.
! 6625: (speed_endtime): Protect against negative times.
! 6626: * tune/common.c (speed_measure): Protect against big reps.
! 6627: * tune/freq.c (speed_cpu_frequency_measure_one): Better timeval diff.
! 6628: * tune/speed.h (TIMEVAL_DIFF_SEC,USEC): Remove macros.
! 6629: * configure.in: (sys/systemcfg.h, read_real_time): New tests.
! 6630:
! 6631: 2000-11-13 Torbjorn Granlund <tege@swox.com>
! 6632:
! 6633: * mpz/tests/t-mul.c: Remove #include urandom.h.
! 6634: * mpz/tests/t-tdiv.c: Likewise.
! 6635:
! 6636: * configure.in [SPEED_CYCLECOUNTER_OBJS switch]:
! 6637: Declare hppa.asm as just 32 bits (cyclecounter_size=1).
! 6638:
! 6639: 2000-11-12 Torbjorn Granlund <tege@swox.com>
! 6640:
! 6641: * mpz/tests/t-mul.c
! 6642: (main): Generate random numbers using gmp_rand* functions.
! 6643: (main): Distribute random numbers non-uniformly.
! 6644: (main): Seed by current time if GMP_CHECK_RANDOMIZE is set.
! 6645: (_mpn_mul_classic): Streamline.
! 6646: * mpz/tests/t-tdiv.c: Analogous changes.
! 6647:
! 6648: * demos/pexpr.c (HAVE_sigaltstack): Fix typo in testing for _UNICOS.
! 6649: Also test for __hpux.
! 6650:
! 6651: 2000-11-11 Torbjorn Granlund <tege@swox.com>
! 6652:
! 6653: * mpn/alpha/ev5/gmp-mparam.h: Retune.
! 6654:
! 6655: * mpn/alpha/ev6/gmp-mparam.h: Retune.
! 6656:
! 6657: * mpn/alpha/ev6/add_n.asm: Misc cleanups.
! 6658:
! 6659: * mpn/alpha/ev6/sub_n.asm: New file.
! 6660:
! 6661: 2000-11-10 Torbjorn Granlund <tege@swox.com>
! 6662:
! 6663: * configure.in [path switch] (alphaev6*-*-*): Add alpha/ev5 to path.
! 6664:
! 6665: * mpn/alpha/ev6/add_n.asm: New file.
! 6666:
! 6667: 2000-11-10 Kevin Ryde <kevin@swox.se>
! 6668:
! 6669: * mpz/powm.c (redc): Make global under WANT_REDC_GLOBAL.
! 6670: * tune/powm_mod.c, tune/powm_redc.c: New files.
! 6671: * tune/Makefile.am (libspeed_la_SOURCES): Add them.
! 6672: * tune/*: Add measuring of redc, mpz_mod, mpz_powm_mod, mpz_powm_redc.
! 6673:
! 6674: * tune/tuneup.c (POWM_THRESHOLD): Determine from redc and mpz_mod.
! 6675: * tune/Makefile.am (TUNE_MPZ_SRCS): Remove powm.
! 6676:
! 6677: 2000-11-10 Torbjorn Granlund <tege@swox.com>
! 6678:
! 6679: * mpn/mips3/gmp-mparam.h: Retune.
! 6680:
! 6681: * configure.in (os_64bit): Rename to check_64bit_compiler.
! 6682:
! 6683: 2000-11-09 Torbjorn Granlund <tege@swox.com>
! 6684:
! 6685: * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Choose hppa/hppa2 code
! 6686: depending on $CC64.
! 6687:
! 6688: 2000-11-09 Kevin Ryde <kevin@swox.se>
! 6689:
! 6690: * mpn/x86/pentium/mul_1.asm: Unroll 2x, saving 1 c/l when in L1.
! 6691: Add 1c entrypoint.
! 6692: * mpn/x86/pentium/aorsmul_1.asm: Add 1c entrypoints, shave a couple
! 6693: of cycles at entry and exit.
! 6694:
! 6695: * configure.in (power1,2,2sc): Support these as synonyms for plain
! 6696: power.
! 6697:
! 6698: * acinclude.m4 (GMP_ASM_X86_SHLDL_CL): GMP_DEFINE WANT_SHLDL_CL here.
! 6699: (GMP_ASM_X86_MMX, GMP_ASM_X86_SHLDL_CL): Add X86 into the names.
! 6700: * configure.in: Consequent changes.
! 6701:
! 6702: * gmp.texi (Notes for Particular Systems): Remarks about power/powerpc.
! 6703: (Reentrancy): Remarks about simultaneous writing.
! 6704: (Reporting Bugs): Ask for configfsf.guess.
! 6705:
! 6706: 2000-11-08 Kevin Ryde <kevin@swox.se>
! 6707:
! 6708: * acinclude.m4 (GMP_FUNC_ALLOCA): New macro.
! 6709: * configure.in: Use it.
! 6710: * gmp-impl.h (alloca): Conditionals and setups as per autoconf
! 6711: (should make alloca available on more non-gcc compilers).
! 6712:
! 6713: * acinclude.m4: Misc reformatting, simplify some quoting.
! 6714: (GMP_ASM_UNDERSCORE, GMP_ASM_X86_MCOUNT): Use $CC $CFLAGS $CPPFLAGS.
! 6715: (GMP_ASM_UNDERSCORE, GMP_ASM_ALIGN_FILL_0x90, GMP_ASM_RODATA): Put
! 6716: AC_REQUIREs outside AC_CACHE_CHECK.
! 6717: (GMP_C_SIZES): Use $srcdir/gmp.h, not -I; use $CPPFLAGS.
! 6718: (GMP_ASM_UNDERSCORE): Use "gmp_compile" variable, and only rm
! 6719: conftes1* conftes2*.
! 6720: (GMP_PROG_NM): New macro, require it in appropriate GMP_ASM_*.
! 6721: (GMP_TRY_ASSEMBLE): New macro, use it in various GMP_ASM_*.
! 6722: * configure.in: Use GMP_PROG_NM.
! 6723:
! 6724: * mpn/tests/spinner.c (spinner_signal): Use RETSIGTYPE.
! 6725: (spinner_init): Force output to unbuffered.
! 6726:
! 6727: * mpn/x86/README.family: Notes about GOT table and imul, misc updates.
! 6728: * mpn/x86/k7/diveby3.asm: Change to 3 operands for immediate imul.
! 6729: * mpn/x86/k6/diveby3.asm: Ditto.
! 6730:
! 6731: 2000-11-06 Torbjorn Granlund <tege@swox.com>
! 6732:
! 6733: * urandom.h: Simplify and make it work properly for 64-bit
! 6734: machines also in environments without `random'.
! 6735:
! 6736: 2000-11-04 Torbjorn Granlund <tege@swox.com>
! 6737:
! 6738: * configure.in [path switch]: Don't match rs6000-*-*, in
! 6739: particular don't assume POWER.
! 6740:
! 6741: * tune/tuneup.c (fft): Remove usleep calls.
! 6742:
! 6743: * config.guess: Don't pass "$@" when it is known to be empty.
! 6744:
! 6745: * Makefile.am (EXTRA_DIST): List configfsf.guess and configfsf.sub.
! 6746:
! 6747: 2000-11-04 Kevin Ryde <kevin@swox.se>
! 6748:
! 6749: * configfsf.guess, configfsf.sub: Moved from config.guess and
! 6750: config.sub.
! 6751: * config.guess, config.sub: New files, wrappers around around
! 6752: configfsf versions.
! 6753: * configfsf.guess: Update to FSF 2000-10-23.
! 6754: * configfsf.sub: Update to FSF 2000-10-25.
! 6755:
! 6756: * acinclude.m4 (GMP_ASM_POWERPC_R_REGISTERS): New macro.
! 6757: * mpn/powerpc32/powerpc-defs.m4: New file, regmap.m4 r0 etc macros
! 6758: conditionalized by GMP_ASM_POWERPC_R_REGISTERS.
! 6759: * mpn/powerpc32/regmap.m4: Remove file.
! 6760: * configure.in (powerpc*-*-*): Use all this.
! 6761:
! 6762: * mpz/divegcd.c: New file, providing mpz_divexact_gcd.
! 6763: * Makefile.am, mpz/Makefile.am: Add it.
! 6764: * gmp-impl.h (mpz_divexact_gcd): Add prototype.
! 6765: * mpq/aors.c,canonicalize.c,div.c,mul.c: Use it.
! 6766:
! 6767: * longlong.h [pentium] (count_leading_zeros): New macro.
! 6768: (__clz_tab): Always provide prototype.
! 6769: * acconfig.h (HAVE_TARGET_CPU_): Add x86s.
! 6770:
! 6771: * tune/speed.[ch],common.c (count_leading_zeros,
! 6772: count_trailing_zeros, __udiv_qrnnd_c): Add measuring.
! 6773:
! 6774: * configure.in (X86_PATTERN): Move from here ...
! 6775: * acinclude.m4 (X86_PATTERN): ... to here.
! 6776: (GMP_ASM_RODATA): Use it.
! 6777:
! 6778: * configure.in (srandom): New test.
! 6779: * mpn/tests/try.c: Use it.
! 6780: * tune/speed.c: Ditto, and conditionalize getrusage and headers.
! 6781:
! 6782: 2000-11-02 Kevin Ryde <kevin@swox.se>
! 6783:
! 6784: * mpn/Makefile.am (nodist_libdummy_la_SOURCES): Add udiv_qrnnd.c
! 6785: and udiv_w_sdiv.c.
! 6786:
! 6787: * mpn/generic/mul_n.c (mpn_kara_sqr_n): Remove a duplicate
! 6788: subtract at the evaluate stage.
! 6789:
! 6790: 2000-11-01 Torbjorn Granlund <tege@swox.com>
! 6791:
! 6792: * configure.in [compiler switch] (sparc64-*-linux*): Spell
! 6793: gmp_xoptcflags_gcc properly, and pass same options as for other
! 6794: sparcv9 configs.
! 6795:
! 6796: * tune/speed.h (SPEED_ROUTINE_MPN_GET_STR): Fix type of wsize.
! 6797:
! 6798: 2000-10-31 Torbjorn Granlund <tege@swox.com>
! 6799:
! 6800: * configure.in [compiler switch] (sparc64-*-linux*): Remove -mvis
! 6801: from gmp_xoptflags_gcc, this might not be an ultrasparc.
! 6802: Remove -m32 from gmp_cflags_gcc; add -Wa,-xarch=v8plus.
! 6803:
! 6804: 2000-10-29 Torbjorn Granlund <tege@swox.com>
! 6805:
! 6806: * mpn/ia64/lorrshift.asm: New file.
! 6807:
! 6808: * configure.in: New mulfunc `lorrshift' for lshift and rshift.
! 6809:
! 6810: 2000-10-29 Kevin Ryde <kevin@swox.se>
! 6811:
! 6812: * mpn/generic/mul_n.c (mpn_kara_sqr_n): Delete code performing
! 6813: superfluous mpn_sub_n calls.
! 6814:
! 6815: * configure.in (found_asm, M4): Account for SPEED_CYCLECOUNTER_OBJ,
! 6816: for the benefit of targets whose only .asm is a cycle counter.
! 6817:
! 6818: * tune/tuneup.c (fft): Remove bogus usleep calls.
! 6819:
! 6820: 2000-10-28 Torbjorn Granlund <tege@swox.com>
1.1.1.3 maekawa 6821:
1.1.1.4 ! ohara 6822: * mpn/ia64/invert_limb.asm: Get return value for 0x800...00 right.
! 6823:
! 6824: * tune/Makefile.am (EXTRA_DIST): Add ia64.asm.
! 6825:
! 6826: * tune/ia64.asm: Fix typo.
! 6827:
! 6828: * add_n.asm addmul_1.asm mul_1.asm popcount.asm sub_n.asm:
! 6829: Preserve ar.lc as required by ABI.
! 6830: * longlong.h (ia64 udiv_qrnnd): New.
! 6831:
! 6832: * configure.in [path switch] (ia64*-*-*): Set extra_functions.
! 6833: * mpn/ia64/invert_limb.asm: New file.
! 6834:
! 6835: 2000-10-27 Torbjorn Granlund <tege@swox.com>
! 6836:
! 6837: * configure.in [compiler switch]:
! 6838: Get rid of c89 for all hppa flavours--it is an evil compiler!
! 6839:
! 6840: * tune/speed.h (SPEED_ROUTINE_MPN_SET_STR): Fix type of xp.
! 6841: (SPEED_ROUTINE_MPN_GET_STR): Fix type of wp.
! 6842:
! 6843: 2000-10-27 Kevin Ryde <kevin@swox.se>
! 6844:
! 6845: * gmp.texi (Fibonacci Number Algorithm): New section.
! 6846:
! 6847: * mpz/tests/t-fib_ui.c: New file.
! 6848: * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
! 6849:
! 6850: * mpz/fib_ui.c: Rewrite, same formulas but using mpn functions and
! 6851: some lookup tables, much faster at small to moderate sizes.
! 6852: * gmp-impl.h (MPZ_FIB_SIZE): New macro.
! 6853: (FIB_THRESHOLD): Establish default here.
! 6854: * tune/tuneup.c (FIB_THRESHOLD): Start search after the new table
! 6855: data.
! 6856:
! 6857: * mpn/x86/x86-defs.m4 (mcount_movl_GOT_ebx): Rename from movl_GOT_ebx,
! 6858: and don't use GSYM_PREFIX with _GLOBAL_OFFSET_TABLE_.
! 6859:
! 6860: * tune/freq.c (speed_cpu_frequency_measure): New test comparing
! 6861: gettimeofday and speed_cyclecounter, should cover many systems.
! 6862:
! 6863: 2000-10-27 Torbjorn Granlund <tege@swox.com>
! 6864:
! 6865: * mpn/ia64/gmp-mparam.h: Retune.
! 6866:
! 6867: 2000-10-26 Torbjorn Granlund <tege@swox.com>
! 6868:
! 6869: * longlong.h (ia64): Set UMUL_TIME and UDIV_TIME.
! 6870:
! 6871: * mpn/ia64/submul_1.c: Fix typo.
! 6872:
! 6873: 2000-10-25 Kevin Ryde <kevin@swox.se>
! 6874:
! 6875: * tune/freq.c (speed_cpu_frequency_sysctl): New test, supporting
! 6876: hw.model for BSD flavours.
! 6877: * configure.in (sysctl, sys/param.h): New tests.
! 6878:
! 6879: 2000-10-24 Torbjorn Granlund <tege@swox.com>
! 6880:
! 6881: * tune/freq.c: Explicitly #include config.h before other include files.
! 6882:
! 6883: * mpz/tests/reuse.c (FAIL2): New #define.
! 6884: (main): Use FAIL2. Now this test properly returns non-zero exit
! 6885: status when it fails.
! 6886:
! 6887: * mpn/powerpc32/gmp-mparam.h: Retune.
! 6888: * mpn/powerpc64/gmp-mparam.h: Retune.
! 6889:
! 6890: 2000-10-24 Kevin Ryde <kevin@swox.se>
! 6891:
! 6892: * mpn/x86/k6/cross.pl: Support 8 and 16 byte code alignment.
! 6893:
! 6894: * mpq/aors.c, mpq/canonicalize.c: Skip two mpz_divexact calls if
! 6895: gcd gives 1, which should be 60% of the time.
! 6896: * gmp-impl.h (MPZ_EQUAL_1_P): New macro.
! 6897: * mpq/mul.c, mpq/div.c: Use it, and a new DIV_OR_SET.
! 6898:
! 6899: * tune/tuneup.c (xp_block, yp_block): Initialize these with random
! 6900: data. Fixes GCD_ACCEL and GCDEXT thresholds, and latest POWM.
! 6901:
! 6902: 2000-10-23 Torbjorn Granlund <tege@swox.com>
! 6903:
! 6904: * configure.in [SPEED_CYCLECOUNTER_OBJS switch]: Add ia64 case.
! 6905:
! 6906: * mpn/ia64/gmp-mparam.h: Fill in some parameters.
! 6907:
! 6908: * mpn/ia64/submul_1.c: New file.
! 6909:
! 6910: * tune/ia64.asm: New file.
! 6911:
! 6912: * gmp-impl.h (union ieee_double_extract): Handle ia64.
! 6913:
! 6914: * mpn/mp_bases.c: Decrease chars_per_bit_exactly for entry 1 to
! 6915: work around buggy ia64-linux.
! 6916:
! 6917: * longlong.h (ia64 umul_ppmm): Update register flags to match new GCC.
! 6918:
! 6919: 2000-10-22 Torbjorn Granlund <tege@swox.com>
! 6920:
! 6921: * mpn/alpha/ev6/gmp-mparam.h (DC_THRESHOLD): Update.
! 6922: * mpn/alpha/ev6/submul_1.asm: New file.
! 6923:
! 6924: 2000-10-22 Kevin Ryde <kevin@swox.se>
! 6925:
! 6926: * tune/gcd_bin.c: New file.
! 6927: * tune/gcd_finda_gen.c: New file.
! 6928: * tune/Makefile.am (libspeed_la_SOURCES): Add them.
! 6929: * tune/speed.[ch],common.c (mpn_gcd_binary, find_a): Add measuring.
! 6930:
! 6931: * * (__gmp_allocate_func etc): Rename from _mp_allocate_func etc.
! 6932: (__gmp_default_allocate etc): Rename from _mp_default_allocate etc.
! 6933: * gmp-impl.h (__GMP_REALLOCATE_FUNC_TYPE,
! 6934: __GMP_REALLOCATE_FUNC_LIMBS): New macros.
! 6935:
! 6936: * gmp-impl.h (DC_THRESHOLD): Establish default here, set to 3*KARA
! 6937: since that's the measured average.
! 6938: * mpn/generic/dc_divrem_n.c, mpn/generic/tdiv_qr.c (DC_THRESHOLD):
! 6939: Remove default.
! 6940:
! 6941: 2000-10-21 Torbjorn Granlund <tege@swox.com>
! 6942:
! 6943: * mpn/Makefile.am (TARG_DIST): Add ia64.
! 6944:
! 6945: 2000-10-21 Kevin Ryde <kevin@swox.se>
! 6946:
! 6947: * *: Change BZ -> DC.
! 6948: * mpn/generic/dc_divrem_n.c: Renamed from bz_divrem_n.c.
! 6949:
! 6950: * doc/multiplication: Remove file, now in the manual.
! 6951: * doc/assembly_code: Ditto.
! 6952: * tune/README: Remove some parts now in the manual.
! 6953:
! 6954: * gmp.texi (@m etc): Add and use some new macros.
! 6955: (Integer Division - mpz_[cft]div_*): Merge descriptions, for brevity
! 6956: and to emphasise similarities.
! 6957: (Low-Level Functions - mpn_[lr]shift): Specify count as 1 to
! 6958: mp_bits_per_limb-1.
! 6959: (Algorithms): New chapter.
! 6960: (References): Add some papers.
! 6961:
! 6962: * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Remove some
! 6963: unused variables.
! 6964: * mpn/generic/mul_fft.c (mpn_fft_best_k): Ditto.
! 6965:
! 6966: * tune/freq.c: New file, split from time.c.
! 6967: * tune/time.c: Rewrite, now more automated.
! 6968: * configure.in, tune/*: Consequent changes.
! 6969:
! 6970: 2000-10-20 Torbjorn Granlund <tege@swox.com>
! 6971:
! 6972: * mpn/ia64/default.m4: New file.
! 6973: * configure.in [config.m4 switch] (ia64*-*-*): Use ia64/default.m4.
! 6974:
! 6975: * mpn/ia64/mul_1.asm: New file.
! 6976: * mpn/ia64/addmul_1.asm: New file.
! 6977: * mpn/ia64/add_n.asm: New file.
! 6978: * mpn/ia64/sub_n.asm: New file.
! 6979: * mpn/ia64/popcount.asm: New file.
! 6980: * mpn/ia64/README: New file.
! 6981:
! 6982: * mpn/alpha/cntlz.asm: Override `.set noat' from ASM_START.
! 6983:
! 6984: * configure.in (HAVE_TARGET_CPU_*): Support hppa1.0, hppa1.1, hppa2.0
! 6985: by sed'ing the period into `_'.
! 6986:
! 6987: * acconfig.h: Add #undefs for hppa targets.
! 6988:
! 6989: * longlong.h (udiv_qrnnd): Fix typo in last change.
! 6990:
! 6991: * mpz/tstbit.c: Rewrite (partly to work around GCC 2.95.2 HPPA bug).
! 6992:
! 6993: * configure.in [path switch]:
! 6994: (hppa2.0*-*-*): For non-CC64 case, update path.
! 6995:
! 6996: * configure.in [compiler switch]:
! 6997: (hppa2.0w-*-*): Match with same regexp in both places.
! 6998: (hppa*-*-*): New case.
! 6999: (all hppa alternatives): Don't inherit default gmp_cflags_cc,
! 7000: gmp_cflags_c89.
! 7001:
! 7002: 2000-10-18 Torbjorn Granlund <tege@swox.com>
! 7003:
! 7004: * configure.in (alpha*-*-*): Define gmp_xoptcflags_gcc like for
! 7005: alpha*-*-osf*.
! 7006:
! 7007: * longlong.h (x86 udiv_qrnnd): Change `d' => `dx' to avoid K&R C
! 7008: stringification.
! 7009:
! 7010: 2000-10-15 Kevin Ryde <kevin@swox.se>
! 7011:
! 7012: * doc/configuration: Updates.
! 7013:
! 7014: * demos/calc.y: Remove some comments.
! 7015:
! 7016: 2000-10-14 Kevin Ryde <kevin@swox.se>
! 7017:
! 7018: * gmp.texi (Parameter Conventions, Memory Management): New sections
! 7019: split from "Variable Conventions".
! 7020: (Efficiency, Debugging, Profiling): New sections in "GMP Basics".
! 7021: (Reentrancy): Some rewording, add note on standard I/O.
! 7022: (Build options): Add --enable-assert and --enable-profiling.
! 7023:
! 7024: * configure.in (--enable-profiling): New option.
! 7025: * acinclude.m4 (GMP_ASM_X86_MCOUNT): New macro, finding how to profile.
! 7026: * mpn/x86/x86-defs.m4 (PROLOGUE_cpu, call_mcount): Profiling support.
! 7027:
! 7028: * acinclude.m4, configure.in (GMP_ASM_*): Rename from GMP_CHECK_ASM_*,
! 7029: to follow autoconf conventions.
! 7030:
! 7031: * configure.in: Run GMP_CHECK_ASM tests only if needed.
! 7032: * acinclude.m4 (GMP_CHECK_ASM_MMX): Don't use GMP_CHECK_ASM_TEXT.
! 7033:
! 7034: * mpn/x86/x86-defs.m4 (ASSERT): Allow no condition, to just emit code.
! 7035:
! 7036: 2000-10-13 Kevin Ryde <kevin@swox.se>
! 7037:
! 7038: * mpq/md_2exp.c: New file.
! 7039: * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
! 7040: * Makefile.am (MPQ_OBJECTS): Ditto.
! 7041: * gmp.h (mpq_mul_2exp, mpq_div_2exp): Add prototypes.
! 7042: * gmp.texi (Rational Arithmetic): Add documentation.
! 7043:
! 7044: * mpq/tests/t-md_2exp.c: New file.
! 7045: * mpq/tests/Makefile.am (check_PROGRAMS): Add it.
! 7046:
! 7047: * mpn/generic/perfsqr.c: Add/amend some comments.
! 7048:
! 7049: * gmp.texi (Known Build Problems): Note VERSION problem with old
! 7050: sed, do some minor rewording.
! 7051: (Build Options): Add cygwin and djgpp URLs, mention INSTALL.autoconf,
! 7052: mention HTML.
! 7053: (Getting the Latest Version of GMP): Move this ...
! 7054: (Introduction to GMP): ... to here.
! 7055: (Compatibility with older versions): Just refer to 2.x and 3.x, not
! 7056: every minor version.
! 7057: (Initializing Integers): Note restrictions on mpz_array_init'ed
! 7058: variables.
! 7059: (Integer Logic and Bit Fiddling): Note bits are numbered from 0.
! 7060:
! 7061: * INSTALL.autoconf: New file.
! 7062: * Makefile.am (EXTRA_DIST): Add it.
! 7063:
! 7064: * tune/Makefile.am, tune/tuneup.c, configure.in, gmp-impl.h: New
! 7065: scheme for recompiled objects used by tune program. Don't use
! 7066: libgmptune.a, make better use of libtool, work with ansi2knr.
! 7067:
! 7068: * tune/speed.h,common.c (SPEED_ROUTINE_MPZ_POWM): Use s->yp and
! 7069: s->xp_block, make exponent a fixed size.
! 7070:
! 7071: 2000-10-07 Torbjorn Granlund <tege@swox.com>
! 7072:
! 7073: * mpn/mips3/gmp-mparam.h: Retune.
! 7074:
! 7075: * mpn/generic/mul_n.c (USE_MORE_MPN): Revert last change.
! 7076:
! 7077: 2000-10-06 Torbjorn Granlund <tege@swox.com>
! 7078:
! 7079: * mpn/mips3/add_n.s: Decrease carry recurrence from 4 to 3 cycles.
! 7080: * mpn/mips3/sub_n.s: Likewise.
1.1.1.3 maekawa 7081:
7082: 2000-10-04 Torbjorn Granlund <tege@swox.com>
7083:
7084: * configure.in (sparc64-*-linux*): Set path according to CC64.
7085:
1.1.1.4 ! ohara 7086: 2000-10-04 Kevin Ryde <kevin@swox.se>
! 7087:
! 7088: * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Use LABEL_SUFFIX, not a
! 7089: hard-coded ":".
! 7090:
! 7091: * config.sub: Don't demand "86" in CPU name for SCO.
! 7092:
! 7093: * configure.in (supersparc-*-*): Remove -DSUPERSPARC.
! 7094: * longlong.h: Use HAVE_TARGET_CPU_supersparc.
! 7095:
! 7096: * configure.in (HAVE_TARGET_CPU_*): AC_DEFINE from $target_cpu.
! 7097: * acconfig.h: Add #undefs, but only for targets of interest.
! 7098:
! 7099: 2000-10-03 Torbjorn Granlund <tege@swox.com>
! 7100:
! 7101: * mpn/alpha/cntlz.asm: Rewrite.
! 7102:
! 7103: * mp_clz_tab.c (__clz_tab): Half table size to 128 entires.
! 7104: * longlong.h (count_leading_zeros): Demand just 128 entries from
! 7105: __clz_tab.
! 7106:
! 7107: * configure.in (mips-sgi-irix6.*): Pass -mips3 in addition to options
! 7108: for n32 ABI.
! 7109:
! 7110: * longlong.h: Move NO_ASM test around all assembly code.
! 7111: From gcc:
! 7112: * longlong.h (count_leading_zeros): Sparclite scan instruction was
! 7113: being invoked incorrectly.
! 7114: Replace __mc68332__ with __mcpu32__.
! 7115: Add ARC support.
! 7116:
! 7117: 2000-10-02 Torbjorn Granlund <tege@swox.com>
! 7118:
! 7119: * mpn/mips3/gmp-mparam.h: Retune for both gcc and cc.
! 7120:
! 7121: * mpn/generic/mul_n.c (USE_MORE_MPN): Remove exception for __mips.
! 7122: (interpolate3): Cast mp_limb_t variables to mp_limb_signed_t
! 7123: when testing sign bit.
! 7124:
! 7125: * mpn/alpha/ev6/gmp-mparam.h: Retune.
! 7126: * mpn/powerpc32/gmp-mparam.h: Retune.
! 7127: * mpn/powerpc64/gmp-mparam.h: Retune.
! 7128: * mpn/x86/pentium/gmp-mparam.h: Retune.
! 7129: * mpn/x86/pentium/mmx/gmp-mparam.h: Retune.
! 7130: * mpn/sparc32/v9/gmp-mparam.h: Retune.
! 7131: * mpn/x86/k6/gmp-mparam.h: Retune.
! 7132: * mpn/x86/p6/gmp-mparam.h: Retune.
! 7133: * mpn/x86/k7/gmp-mparam.h: Retune.
! 7134: * mpn/sparc64/gmp-mparam.h: Retune.
! 7135:
! 7136: * mpn/m68k/gmp-mparam.h: New file.
! 7137: * mpn/alpha/ev5/gmp-mparam.h: New file.
! 7138:
! 7139: * gmp-impl.h (default MPN_COPY): Remove final `;'.
! 7140:
! 7141: * tune/time.c (speed_endtime): Rewrite.
! 7142:
! 7143: * tune/speed.h (SPEED_ROUTINE_MPZ_POWM): Set base to a large value,
! 7144: not 2.
! 7145:
! 7146: * demos/pexpr.c (setup_error_handler): Fix typo.
! 7147:
! 7148: * mpz/powm.c (redc): New function, based on old mpz_redc. Don't
! 7149: multiply here.
! 7150: (mpz_redc): Remove.
! 7151: (mpz_powm): Major changes, partially reverting to mpn calls.
! 7152: Multiply before calling redc.
! 7153: (mpz_powm): Use TMP_ allocation.
! 7154: (mpz_powm): Refine calculation of k (width of exponent window).
! 7155: (mpz_powm): Cast constants to mp_limb_t before left shifting.
! 7156:
! 7157: * longlong.h: Use ia64 count_leading_zeros just when __GNUC__.
! 7158:
! 7159: 2000-09-29 Kevin Ryde <kevin@swox.se>
! 7160:
! 7161: * acinclude.m4 (GMP_C_SIZES): New macro.
! 7162: * configure.in: Use it.
! 7163: * acconfig.in (BYTES_PER_MP_LIMB etc): Add #undefs.
! 7164: * mpn/generic/gmp-mparam.h (BYTES_PER_MP_LIMB etc): Remove #defines.
! 7165: * gmp.texi (Known Build Problems): Remove 64-bit generic C
! 7166: gmp-mparam.h problem, now fixed.
! 7167:
! 7168: * configure.in: Only run GMP_PROG_M4 if it's actually needed.
! 7169:
1.1.1.3 maekawa 7170: 2000-09-27 Torbjorn Granlund <tege@swox.com>
7171:
1.1.1.4 ! ohara 7172: * demos/pexpr.c: Clean up code for systems not supporting
! 7173: sigaltstack. Handle old Linux without sigaltstack. Properly
! 7174: disable all stuff related to sigaltstack under Unicos.
! 7175:
1.1.1.3 maekawa 7176: * mpn/alpha/ev6/addmul_1.asm: Use explicit offset for all load and
7177: store insns. Helps old gas.
7178:
1.1.1.4 ! ohara 7179: * longlong.h (count_leading_zeros): Define for ia64.
1.1.1.3 maekawa 7180:
1.1.1.4 ! ohara 7181: 2000-09-27 Paul Zimmermann <Paul.Zimmermann@loria.fr>
1.1.1.3 maekawa 7182:
1.1.1.4 ! ohara 7183: * mpn/generic/bz_divrem_n.c: Fix qhl handling, simplify.
1.1.1.3 maekawa 7184:
1.1.1.4 ! ohara 7185: 2000-09-27 Kevin Ryde <kevin@swox.se>
1.1.1.3 maekawa 7186:
1.1.1.4 ! ohara 7187: * mpn/Makefile.in (.SUFFIXES): Regenerate with patched automake to
! 7188: get .s before .c, which is needed to override ansi2knr .c rules.
1.1.1.3 maekawa 7189:
1.1.1.4 ! ohara 7190: * gmp.texi (mpn_sqrtrem): Fix r2p==NULL return value description
! 7191: to match the code (change by Torbjorn).
! 7192: (mpn_gcd, mpn_gcdext, mpn_sqrtrem, mpn_tdiv_qr): Note most
! 7193: significant limbs must be non-zero.
! 7194: (mpn_gcd, mpn_gcdext, mpn_sqrtrem): Clarify destination size
! 7195: requirements.
! 7196: (mpn_gcd_1): Clarify value must be non-zero, not just size.
1.1.1.3 maekawa 7197:
1.1.1.4 ! ohara 7198: * gmp-impl.h (mpn_zero_p): New inline function.
! 7199: * mpn/generic/inlines.c: Add gmp-impl.h.
! 7200: * mpf/integer.c, mpz/get_d.c, mpn/generic/mul_fft.c: Use it.
! 7201:
! 7202: * mpn/generic/gcd.c: Use MPN_COPY_INCR not MPN_COPY.
! 7203: * mpf/add_ui.c: Ditto.
! 7204: * mpf/add.c: Ditto, and fix test to skip copy.
! 7205:
! 7206: 2000-09-26 Kevin Ryde <kevin@swox.se>
! 7207:
! 7208: * gmp-impl.h, longlong.h, mpn/generic/*.c: Add ASSERTs for various
! 7209: parameter restrictions.
! 7210:
! 7211: * gmp-impl.h (UDIV_PREINV_TIME): New macro.
! 7212: * mpn/generic/sb_divrem_mn.c: Use it.
! 7213: * mpn/generic/perfsqr.c: Ditto.
! 7214: * mpn/x86/*/gmp-mparam.h (UDIV_PREINV_TIME): Add values.
! 7215:
! 7216: * macos/Makefile.in: Add mpz/tests/t-get_si.c, mpf/tests/t-set_f.c,
! 7217: and new multi-function mpz and mpq files.
! 7218:
! 7219: 2000-09-25 Kevin Ryde <kevin@swox.se>
! 7220:
! 7221: * randlc.c, randlc2x.c, randsd.c, mpz/urandomb.c, mpz/urandomm.c:
! 7222: Use mpz_ptr and mpz_srcptr for parameters.
! 7223: * gmp.h (gmp_randinit_lc, gmp_randinit_lc_2exp, gmp_randseed,
! 7224: mpz_urandomb, mpz_urandomm): Corresponding change to prototypes.
! 7225: * randsdui.c: Remove wrong K&R parameters part.
! 7226:
! 7227: 2000-09-12 Kevin Ryde <kevin@swox.se>
1.1.1.3 maekawa 7228:
7229: * gmp-impl.h (mpn_tdiv_qr): Move prototype from here ...
7230: * gmp.h (mpn_tdiv_qr): ... to here.
7231:
1.1.1.4 ! ohara 7232: * gmp.texi (Miscellaneous Rational Functions): Comment-out and
! 7233: move version 1 compatibility note to "Compatibility" section.
! 7234: (Rational Number Functions): Ditto for canonicalization note.
! 7235:
! 7236: 2000-09-10 Kevin Ryde <kevin@swox.se>
! 7237:
! 7238: * mpn/x86/pentium/com_n.asm: New file.
! 7239:
! 7240: * gmp.texi (Rational Arithmetic): Add mpq_abs.
! 7241: (Miscellaneous Rational Functions): Merge and simplify descriptions of
! 7242: mpq_get_num, mpq_get_den, mpq_set_num, mpq_set_den.
! 7243:
! 7244: * mpq/abs.c: New file.
! 7245: * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
! 7246: * Makefile.am (MPQ_OBJECTS): Add it.
! 7247: * gmp.h (mpq_abs): Add prototype.
! 7248:
! 7249: * mpq/set_den.c: Don't discard sign when copying, this makes the
! 7250: code match the manual.
! 7251:
! 7252: 2000-09-07 Torbjorn Granlund <tege@swox.com>
! 7253:
! 7254: * tune/alpha.asm: Rewrite to actually work right.
! 7255:
! 7256: 2000-09-07 Kevin Ryde <kevin@swox.se>
! 7257:
! 7258: * tune/common.c,speed.[ch]: Add measuring of mpn_sqrtrem,
! 7259: mpn_get_str, mpn_set_str.
! 7260: * tune/README: Various updates.
! 7261:
! 7262: 2000-09-06 Torbjorn Granlund <tege@swox.com>
! 7263:
! 7264: * mpz/fits.c: Correct type of `data'.
! 7265:
! 7266: 2000-09-06 Kevin Ryde <kevin@swox.se>
! 7267:
! 7268: * gmp.texi (Build Options): Clarify where to find CFLAGS.
! 7269: (Known Build Problems): Note SCO -lc problem.
1.1.1.3 maekawa 7270:
7271: * tune/speed.h (SPEED_ROUTINE_MPN_GCD_CALL): Fix for sizes > 512 limbs.
7272:
1.1.1.4 ! ohara 7273: * doc/multiplication: Corrections and additions suggested by Paul.
1.1.1.3 maekawa 7274:
1.1.1.4 ! ohara 7275: * tune/modlinv.c: New file with alternate modlimb_inverts.
! 7276: * tune/Makefile.am, tune/speed.[ch]: Add measuring of them.
! 7277: * tune/speed.c (FLAG_NODATA): New attribute, use for mpz_bin_uiui,
! 7278: mpz_fib_ui, mpz_fac_ui.
1.1.1.3 maekawa 7279:
1.1.1.4 ! ohara 7280: * mpn/x86/t-zdisp.sh: New file.
! 7281:
! 7282: * tests/t-modlinv.c: New file.
! 7283: * tests/Makefile.am (check_PROGRAMS): Add it.
! 7284:
! 7285: * mpq/tests/t-set_f.c: New file.
! 7286: * mpq/tests/Makefile.am (check_PROGRAMS): Add it.
! 7287:
! 7288: * gmp-impl.h (MPQ_CHECK_FORMAT): New macro.
! 7289: * mpq/tests/t-get_d.c: Use it.
! 7290:
! 7291: * mpq/set_f.c: New file.
! 7292: * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
! 7293: * Makefile.am (MPQ_OBJECTS): Ditto.
! 7294: * gmp.h: Add prototype.
! 7295: * gmp.texi (Miscellaneous Rational Functions): Document mpq_set_f,
! 7296: correct return type of mpq_set_d.
! 7297:
! 7298: 2000-09-03 Kevin Ryde <kevin@swox.se>
! 7299:
! 7300: * mpz/aors_ui.c: New file merging add_ui.c and sub_ui.c, no object
! 7301: code changes.
! 7302: * mpz/add_ui.c, mpz/sub_ui.c: Remove files.
! 7303: * mpz/Makefile.am: Update.
! 7304:
! 7305: * gmp-impl.h (MPZ_FITS_STYPE_SDT, MPZ_FITS_UTYPE_SDT): New macros.
! 7306: * mpz/fits.c: New file merging six separate fits*.c.
! 7307: * mpz/fits_sshort_p.c, fits_sint_p.c, fits_slong_p.c, fits_ushort_p.c,
! 7308: fits_uint_p.c, fits_ulong_p.c: Remove files
! 7309: * mpz/Makefile.am: Use new fits.c, change object names from
! 7310: fits_*_p.lo to fits_*.lo to avoid SunOS 4 native "ar" warnings.
! 7311: * Makefile.am (MPZ_OBJECTS): Change from fits_*_p.lo to fits_*.lo.
! 7312:
! 7313: * acinclude.m4 (GMP_CHECK_ASM_RODATA): New macro, defining RODATA.
! 7314: * configure.in: Use it.
! 7315: * mpn/x86/k[67]/mmx/popham.asm: Use it.
! 7316:
! 7317: * mpn/x86/*/*.asm: Use "TEXT" not ".text".
! 7318:
! 7319: 2000-09-02 Kevin Ryde <kevin@swox.se>
! 7320:
! 7321: * mpq/aors.c: New file merging add.c and sub.c, no object code changes.
! 7322: * mpq/add.c, mpq/sub.c: Remove files.
! 7323: * mpq/Makefile.am: Update.
! 7324:
! 7325: * mpz/aors.c: New file merging add.c and sub.c, no object code changes.
! 7326: * mpz/add.c, mpz/sub.c: Remove files.
! 7327: * mpz/Makefile.am, mpbsd/Makefile.am: Update.
! 7328:
! 7329: * configure.in: Re-apply "PROLOGUE.*" regexp change for the
! 7330: benefit of alpha PROLOGUE_GP, lost in path search reorganisation.
! 7331:
! 7332: * mpn/x86/x86-defs.m4 (jadcl0, cmov_simulate, ASSERT,
! 7333: movl_text_address): Don't use "1:" style labels.
! 7334: (Zdisp): Rearrange a bit, switch to all hex.
! 7335: * mpn/x86/README.family: Note SCO "as" doesn't support "1:" style
! 7336: local labels, misc rewordings.
! 7337:
! 7338: 2000-08-29 Torbjorn Granlund <tege@swox.com>
! 7339:
! 7340: * demos/primes.c: Include string.h.
! 7341:
! 7342: * config.guess (x86 variant recog code): Remove dummy*.o files
! 7343: generated by some compilers.
! 7344:
! 7345: 2000-08-28 Kevin Ryde <kevin@swox.se>
! 7346:
! 7347: * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix Solaris 2.8
! 7348: warning message supression, add notes about SCO.
! 7349:
! 7350: * Makefile.am (MPZ_OBJECTS etc): Move some comments.
! 7351:
! 7352: 2000-08-25 Kevin Ryde <kevin@swox.se>
! 7353:
! 7354: * mpz/pprime_p.c (mpz_millerrabin): Fix a TMP_FREE.
! 7355:
! 7356: * gmp.texi (Copying): Refer to Lesser not Library GPL.
! 7357: (GMP and Reentrancy): Note stack-alloc.c is not reentrant, and
! 7358: that SCO <ctype.h> is potentially not reentrant.
! 7359:
! 7360: * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Test by attempting to
! 7361: link with or without an underscore.
! 7362: * gmp.texi (Known Build Problems): Remove SunOS 4 native grep
! 7363: GSYM_PREFIX problem, now fixed.
! 7364:
! 7365: * gmp-impl.h (MODLIMB_INVERSE_3): New constant.
! 7366: * mpn/generic/diveby3.c: Use it instead of own INVERSE_3.
! 7367: * mpn/generic/mul_n.c: Ditto.
! 7368: * tests/t-constants.c: Check it, and PP_INVERTED too.
! 7369:
! 7370: * acinclude.m4 (GMP_GCC_MARCH_PENTIUMPRO): New macro.
! 7371: * configure.in [p6 and athlon] (gmp_optcflags_gcc): Use it to
! 7372: possibly add -march=pentiumpro.
! 7373:
! 7374: * gmp-impl.h (MPZ_SET_STR_OR_ABORT, MPF_SET_STR_OR_ABORT): New macros.
! 7375: * mpz/tests/t-bin.c, mpz/tests/t-get_si.c, mpz/tests/t-jac.c,
! 7376: mpz/tests/t-misc.c: Use them.
! 7377: * mpf/tests/t-conv.c, mpf/tests/t-misc.c: Ditto.
! 7378: * mpz/tests/convert.c: Ditto and amend diagnostics slightly.
! 7379: * mpz/tests/t-misc.c (check_mpz_set_si): Remove a superfluous init.
! 7380: * mpz/tests/io.c: Differentiate between I/O and data conversion errors.
! 7381:
! 7382: * mpn/generic/aors_n.c: New file merging add_n and sub_n, no
! 7383: object code changes.
! 7384: * mpn/generic/add_n.c: Remove file.
! 7385: * mpn/generic/sub_n.c: Remove file.
! 7386:
! 7387: * mpn/generic/aorsmul_1.c: New file merging addmul_1 and submul_1,
! 7388: no object code changes.
! 7389: * mpn/generic/addmul_1.c: Remove file.
! 7390: * mpn/generic/submul_1.c: Remove file.
! 7391:
! 7392: * mpn/generic/popham.c: New file merging popcount and hamdist, no
! 7393: object code changes.
! 7394: * mpn/generic/popcount.c: Remove file.
! 7395: * mpn/generic/hamdist.c: Remove file.
! 7396:
! 7397: 2000-08-24 Torbjorn Granlund <tege@swox.com>
1.1.1.3 maekawa 7398:
7399: * gmp-impl.h (mpn_com_n): Fix typo.
7400:
1.1.1.4 ! ohara 7401: 2000-08-23 Torbjorn Granlund <tege@swox.com>
! 7402:
! 7403: * demos/primes.c (main): Don't call mpz_probab_prime_p for numbers
! 7404: that are known to be prime after sieving.
! 7405: (main): Declare and initialize max_s_prime_squared.
! 7406: (MAX_S_PRIME): Increase.
! 7407: (ST_SIZE): Increase.
! 7408:
! 7409: 2000-08-23 Kevin Ryde <kevin@swox.se>
! 7410:
! 7411: * gmp-impl.h (ASSERT_ALWAYS): Change to statement style.
! 7412: (JACOBI_TWO_U_BIT1): Remove ASSERT.
! 7413: (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS as a statement.
! 7414:
! 7415: 2000-08-21 Torbjorn Granlund <tege@swox.com>
! 7416:
! 7417: * gmp-impl.h (ASSERT): Use do..while for dummy version.
! 7418:
1.1.1.3 maekawa 7419: * mpf/get_str.c: Don't set n_digits from digits_computed_so_far
7420: when the converted operand becomes zero. Misc cleanups.
7421:
1.1.1.4 ! ohara 7422: 2000-08-21 Kevin Ryde <kevin@swox.se>
! 7423:
! 7424: * mpz/fdiv_r_2exp.c, mpz/lcm.c, mpz/urandomm.c: Add missing
! 7425: TMP_MARK/FREE, avoiding memory leak when using stack-alloc.c.
! 7426:
! 7427: 2000-08-20 Kevin Ryde <kevin@swox.se>
! 7428:
! 7429: * mpz/set.c [BERKELEY_MP] (move): Add conditionals to build as
! 7430: "move" for libmp.
! 7431: * mpbsd/Makefile.am: Use mpz/set.c, not move.c.
! 7432: * Makefile.am (MPBSD_OBJECTS): Corresponding change.
! 7433: * mpbsd/move.c: Remove file.
! 7434:
! 7435: * mpn/Makefile.am, mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am,
! 7436: mpbsd/Makefile.am (-DOPERATION_foo): Use "foo" even for ansi2knr
! 7437: "foo_" objects. Do this with the makefiles to keep the sources
! 7438: cleaner.
! 7439: * mpz/mul_siui.c, mpf/integer.c: Revert to plain OPERATION_* forms.
! 7440:
! 7441: * mpn/lisp/gmpasm-mode.el (gmpasm-remove-from-list): Renamed from
! 7442: gmpasm-delete-from-list, because it's non-destructive.
! 7443: (gmpasm-font-lock-keywords): Add some more keywords.
! 7444:
! 7445: 2000-08-16 Kevin Ryde <kevin@swox.se>
! 7446:
! 7447: * tune/mul_n_mpn.c, tune/mul_n_open.c: New files, being forced
! 7448: open-coded and mpn #includes of mpn/generic/mul_n.c.
! 7449: * tune/*: Add measuring of them.
! 7450: * tune/speed.c: Print command line into *.gnuplot file.
! 7451:
! 7452: * mpn/generic/mul_n.c (USE_MORE_MPN): Change to #if not #ifdef for
! 7453: using the value, add #ifndef for providing the default.
! 7454: * mpn/sparc64/gmp-mparam.h (USE_MORE_MPN): Add #ifndef.
! 7455:
! 7456: * tests/t-constants.c: New file.
! 7457: * tests/Makefile.am (check_PROGRAMS): Add it.
! 7458:
! 7459: * mpz/get_si.c: Use LONG_MAX, not BITS_PER_MP_LIMB, so the result
! 7460: doesn't depend on limb size when outside the range of a long
! 7461: (though such results are not actually documented).
! 7462: * mpz/tests/t-get_si.c: New file.
! 7463: * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
! 7464:
! 7465: * mpn/tests/try.c (call): Cast popcount and hamdist calls,
! 7466: for the benefit of long long limb.
! 7467:
! 7468: 2000-08-15 Kevin Ryde <kevin@swox.se>
! 7469:
! 7470: * mp.h (mp_set_memory_functions): Add missing #define.
! 7471: * mpbsd/tests/allfuns.c (mp_set_memory_functions): Verify its
! 7472: existance.
! 7473:
! 7474: * mpf/tests/t-misc.c (check_mpf_getset_prec): New test, verifying
! 7475: reverted behaviour of mpf_get_prec.
! 7476:
! 7477: * mpn/tests/ref.c (refmpn_strip_twos): Use refmpn_copyi, not
! 7478: MPN_COPY_INCR.
! 7479:
! 7480: * mpz/mul_siui.c, mpf/integer.c: Recognise OPERATION_*_ forms
! 7481: produced under ansi2knr.
! 7482:
! 7483: * configure.in (mpn_objects, mpn_objs_in_libgmp): Add $U to .c
! 7484: objects when ansi2knr in use.
! 7485:
! 7486: * mpn/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
! 7487: (libdummy.la): Add this, not built, to create ansi2knr style rules
! 7488: for all potential .c files.
! 7489: * mpz/Makefile.am, mpq/Makefile.am, mpf/Makefile.am, mpfr/Makefile.am,
! 7490: mpbsd/Makefile.am, mpq/tests/Makefile.am, tests/Makefile.am
! 7491: (AUTOMAKE_OPTIONS): Enable ansi2knr (now everywhere).
! 7492: * Makefile.am (MPZ_OBJECTS, MPQ_OBJECTS, MPF_OBJECTS, MPFR_OBJECTS,
! 7493: MPBSD_OBJECTS, libmp_la_DEPENDENCIES): Add $U to all .lo filenames.
! 7494:
! 7495: 2000-08-03 Torbjorn Granlund <tege@swox.com>
! 7496:
! 7497: * mpn/alpha/ev6/addmul_1.asm: Correct number of cycles to 3.5/28.
! 7498:
1.1.1.2 maekawa 7499: 2000-08-02 Torbjorn Granlund <tege@swox.com>
7500:
7501: * Version 3.1 released.
7502:
7503: * gmp.texi: Rephrase mpf_urandomb documentation.
7504:
7505: * mpn/alpha/ev6: New directory with ev6/21264 optimized code.
7506: * mpn/alpha/ev6/addmul_1.asm: New file.
7507: * mpn/alpha/ev6/gmp-mparam.h: New file.
7508:
7509: 2000-08-02 Kevin Ryde <kevin@swox.se>
7510:
7511: * demos/factorize.c (random): Don't use "inline".
7512:
1.1.1.4 ! ohara 7513: * mpfr/log.c, mpfr/mul_ui.c, mpfr/round.c, mpfr/set.c, mpfr/set_d.c:
! 7514: Corrections to K&R parts.
1.1.1.2 maekawa 7515:
7516: * Makefile.am (EXTRA_HEADERS): Omit $(MPFR_HEADERS_OPTION).
7517: * mpfr/Makefile.am (EXTRA_DIST): Add mpfr.h.
7518:
7519: * gmp.texi (Known Build Problems): Note problem stripping libgmp.a.
1.1.1.3 maekawa 7520:
1.1.1.2 maekawa 7521: 2000-08-02 Kent Boortz <kent@swox.com>
7522:
7523: * mpfr: Integrated experimental version of mpfr-0.4.
7524: * configure.in: Changes for option --enable-mpfr.
7525: * Makefile.am: Changes for option --enable-mpfr.
7526:
7527: 2000-08-01 Torbjorn Granlund <tege@swox.com>
7528:
7529: * mpn/generic/popcount.c: Disable SPARC v9 popc_limb pattern.
7530: * mpn/generic/hamdist.c: Likewise.
7531:
7532: 2000-08-01 Kevin Ryde <kevin@swox.se>
7533:
7534: * mpn/tests/try.c (try_init): Account for ALIGNMENTS when sizing
7535: source and dest regions.
7536:
7537: 2000-07-31 Torbjorn Granlund <tege@swox.com>
7538:
7539: * mpf/get_str.c: Develop three extra digits, not just one.
7540:
7541: 2000-07-31 Kevin Ryde <kevin@swox.se>
7542:
7543: * gmp.texi (References): Add URL for invariant division.
7544:
7545: 2000-07-30 Kevin Ryde <kevin@swox.se>
7546:
7547: * tune/time.c (speed_cpu_frequency_proc_cpuinfo): Add support for
7548: alpha linux "cycle frequency".
7549:
7550: * mpn/sparc64/gmp-mparam.h: Re-run tune program for FFT thresholds.
7551:
7552: 2000-07-29 Kevin Ryde <kevin@swox.se>
7553:
7554: * gmp.texi (ABI and ISA): Add sparc64-*-linux*.
7555: * configure.in [sparc64-*-linux*] (gmp_cflags64_gcc): Same flags
7556: as under solaris.
7557:
7558: * configure.in (--enable-fft): New option, default "no".
7559: * gmp.texi (Build Options): Describe it.
1.1.1.4 ! ohara 7560: * mpn/generic/mul.c, mpn/generic/mul_n.c [WANT_FFT]: Use it.
1.1.1.2 maekawa 7561: * tune/tuneup.c [WANT_FFT]: By default don't probe FFTs if not enabled.
7562: * NEWS: Multiplication optionally using FFT.
7563:
7564: * tune/README: Notes on FFT and GCD thresholds, other minor updates.
7565:
7566: * Makefile.am: Expunge the macos generated files update stuff.
7567:
7568: 2000-07-28 Kevin Ryde <kevin@swox.se>
7569:
7570: * mpn/x86/*/gmp-mparam.h: Add some FFT thresholds.
7571:
7572: 2000-07-28 Kent Boortz <kent@swox.se>
7573:
7574: * macos/Asm*, macos/CmnObj, macos/Mp*: Delete directories.
7575: * macos/Makefile: Delete file.
7576: * macos/Makefile.cw: Delete file.
7577: * macos/config.h: Delete file.
7578: * macos/Asm/*.s: Delete files.
7579: * macos/configure: Create target directories. Don't transform
7580: '(C)' to '(;)' in a 'dnl' line comment in .asm file.
7581: * Makefile.am: Delete macos targets.
7582: * macos/README: Reflect that we reverted back to a build
7583: process that require ""macos/configure" to run on MacOS.
7584: This imply that MacPerl is needed for a build in MacOS.
7585:
7586: 2000-07-27 Kevin Ryde <kevin@swox.se>
7587:
7588: * mpn/generic/mul_fft.c: New file, by Paul Zimmermann, minor mods
7589: applied.
7590: * configure.in (gmp_mpn_functions): Add it.
1.1.1.4 ! ohara 7591: * mpn/generic/mul.c, mpn/generic/mul_n.c: Use it.
1.1.1.2 maekawa 7592: * doc/multiplication: Describe it (briefly).
7593:
7594: * gmp-impl.h (FFT_MUL_THRESHOLD etc): New thresholds.
7595: (mpn_fft_best_k, mpn_fft_next_size, mpn_mul_fft, mpn_mul_fft_full):
7596: New functions.
7597: (numberof, TMP_ALLOC_TYPE etc, _MP_ALLOCATE_FUNC_TYPE etc,
7598: UNSIGNED_TYPE_MAX etc): New macros.
7599:
7600: * tune/*: Add FFT threshold tuning and speed measuring.
7601: * tune/common.c: Avoid huge macro expansions for umul and udiv.
7602:
1.1.1.4 ! ohara 7603: * mpz/tests/t-bin.c, mpz/tests/t-jac.c, mpz/tests/t-misc.c,
! 7604: mpbsd/tests/t-misc.c, mpf/tests/t-misc.c, mpn/tests/try.c,
! 7605: mpn/tests/spinner.c: Use new gmp-impl.h macros.
1.1.1.2 maekawa 7606:
7607: * demos/Makefile.am (BUILT_SOURCES): Don't need calc.c etc under this.
7608:
7609: 2000-07-27 Torbjorn Granlund <tege@swox.com>
7610:
7611: * mpn/ia64/gmp-mparam.h: New file.
7612:
7613: 2000-07-26 Torbjorn Granlund <tege@swox.com>
7614:
7615: * demos/isprime.c: Handle any number of arguments and print
7616: classification for each. Add `-q' option for old behaviour.
7617:
7618: 2000-07-26 Kevin Ryde <kevin@swox.se>
7619:
7620: * gmp.texi (Build Options): Mention djgpp stack size.
7621: (Notes for Package Builds): New section.
7622: (Compatibility with older versions): Update for 3.1, add mpf_get_prec.
7623:
1.1.1.4 ! ohara 7624: * demos/factorize.c [__GLIBC__]: Don't declare random() under glibc.
1.1.1.2 maekawa 7625:
7626: * gmp.h (gmp_version): Add prototype and define.
7627:
7628: * Makefile.am: Keep macos directory generated files up-to-date
7629: during development and on a "make dist".
7630:
7631: 2000-07-25 Torbjorn Granlund <tege@swox.com>
7632:
7633: * mpn/hppa/gmp-mparam.h: Update threshold values from new `tune' run.
7634:
7635: * mpn/pa64/gmp-mparam.h: Fill in values from `make tune' run.
7636: * mpn/pa64w/gmp-mparam.h: Likewise.
7637: * mpn/mips3/gmp-mparam.h: Likewise.
7638:
7639: * tune/hppa2.asm: Fix typo in .level directive.
7640:
7641: * configure.in: Add sparc64-*-linux* support (from Jakub Jelinek).
7642: * configure: Regenerate.
7643:
7644: * mpn/sparc64/rshift.asm: Use %g5 instead of volatile stack frame area
7645: for return value (from Jakub Jelinek).
7646: * mpn/sparc64/lshift.asm: Likewise.
7647:
7648: * mpf/get_prc.c: Revert Aug 8, 1996 change.
7649:
7650: * version.c: No longer static.
7651:
7652: * mpn/pa64/gmp-mparam.h: Only #define *_THRESHOLD if not already
7653: defined.
7654: * mpn/pa64w/gmp-mparam.h: Likewise.
7655: * mpn/arm/gmp-mparam.h: Likewise.
7656: * mpn/mips3/gmp-mparam.h: Likewise.
7657:
7658: 2000-07-25 Kevin Ryde <kevin@swox.se>
7659:
7660: * INSTALL: It's "info -f ./gmp.info" to be sure of hitting the
7661: gmp.info in the current directory.
7662:
7663: * Makefile.am (libmp_la_DEPENDENCIES): Add mpz/cmp.lo, for last
7664: mpz/powm.c fix.
7665:
1.1.1.4 ! ohara 7666: * mpn/sparc64/addmul1h.asm, mpn/sparc64/submul1h.asm: Renamed from
! 7667: addmul_1h.asm, submul_1h.asm to avoid name conflicts on an 8.3
! 7668: filesystem.
! 7669: * mpn/sparc64/addmul_1.asm, mpn/sparc64/submul_1.asm,
! 7670: mpn/sparc64/mul_1.asm: Update include_mpn()s.
1.1.1.2 maekawa 7671:
7672: 2000-07-24 Torbjorn Granlund <tege@swox.com>
7673:
7674: * Update header of all files previously under the Library GPL
7675: to instead be under the Lesser GPL.
7676:
7677: * COPYING.LIB: Now Lesser GPL.
7678: * demos/primes.c: Change license to GPL (was Library GPL).
7679: * demos/isprime.c: Change license to GPL (was Library GPL).
7680:
7681: * gmp.h (error code enum): Add GMP_ERROR_BAD_STRING (currently unused).
7682:
7683: * mpz/tests/t-mul.c: Default SIZE to a function of TOOM3_MUL_THRESHOLD.
7684: Improve error messages. Decrease reps.
7685:
7686: 2000-07-22 Kevin Ryde <kevin@swox.se>
7687:
7688: * tune/speed.h: Decrease the amount of data used for gcd and powm
7689: measuring, to make the tune go a bit faster.
7690:
7691: 2000-07-21 Kent Boortz <kent@swox.se>
7692:
7693: * macos/Asm*, macos/CmnObj, macos/Mp*: Directories no longer created
7694: from configure script, now part of dist.
7695: * macos/Makefile
7696: * macos/Makefile.cw
7697: * macos/config.h
7698: * macos/Asm/*.s
7699: New files and directories that is the output from configure. This way
7700: no Perl installation is required to build on MacOS, just MPW.
7701: * macos/configure: Added prefix '__g' to exported assembler labels.
7702: Changed to handle new m4 syntax instead of the old cpp syntax in asm.
7703: * macos/Makefile.in: Corrected 'clean' target, added 'distclean'
7704: and 'maintainer_clean'. Added "mpn/mp_bases.c" to build.
7705: * macos/README: Reflect the new build process without configure.
7706: Corrected the file structure for Apple MPW installation.
7707:
7708: 2000-07-21 Torbjorn Granlund <tege@swox.com>
7709:
7710: * mpf/tests/t-muldiv.c: Relax error limit. Make precision depend
7711: on SIZE. Misc changes.
7712:
7713: * configure: Regenerate.
7714:
7715: 2000-07-20 Kent Boortz <kent@swox.com>
7716:
7717: * macos/Makefile.in: Removed hard coded targets, added special
7718: targets found in Makefile.am files.
7719: * macos/configure: Generate targets from top configure script and
7720: Makefile.am files. Made script runnable from Unix for testing.
7721: * macos/README: Notes about search paths for includes, contributed
7722: by Marco Bambini.
7723: * configure.in: Added comment about lines that the "macos/configure"
7724: script depend on.
7725:
7726: 2000-07-20 Torbjorn Granlund <tege@swox.com>
7727:
7728: * mpz/powm.c (mpz_powm): After final mpz_redc call, subtract `mod'
7729: from result if it is greater than `mod'.
7730:
7731: 2000-07-19 Torbjorn Granlund <tege@swox.com>
7732:
7733: * mpn/hppa/gmp-mparam.h: Fill in values from `make tune' run.
7734: * mpn/alpha/gmp-mparam.h: Likewise.
7735: * mpn/powerpc32/gmp-mparam.h: Likewise.
7736:
7737: * tune/hppa.asm: New file.
7738: * tune/hppa2.asm: New file.
7739: * configure.in (SPEED_CYCLECOUNTER_OBJS): Set for hppa2*-*-* and
7740: hppa*-*-*.
7741: * tune/Makefile.am (EXTRA_DIST): Add hppa.asm and hppa2.asm.
7742:
7743: * tune/speed.h (SPEED_ROUTINE_MPN_BZ_DIVREM_CALL): Declare `marker';
7744: invoke TMP_FREE.
7745:
7746: * mpn/hppa/hppa1_1/udiv_qrnnd.S: Use "%" instead of "'" for
7747: reloc/symbol delimiter.
7748:
7749: 2000-07-16 Torbjorn Granlund <tege@swox.com>
7750:
7751: * mpn/powerpc64/gmp-mparam.h: Update with output from tune utility.
7752: * mpn/powerpc64/copyi.asm: New file.
7753: * mpn/powerpc64/copyd.asm: New file.
7754:
7755: 2000-07-16 Kevin Ryde <kevin@swox.se>
7756:
7757: * tune/*: Add measuring for umul_ppmm and udiv_qrnnd.
7758:
7759: 2000-07-14 Kevin Ryde <kevin@swox.se>
7760:
7761: * mpn/x86/k6/k62mmx: New directory.
7762: * configure.in (k6[23]*-*-*): Use it.
1.1.1.4 ! ohara 7763: * mpn/x86/k6/k62mmx/copyi.asm, mpn/x86/k6/k62mmx/copyd.asm: Move from
! 7764: mmx directory, improve code alignment a bit.
! 7765: * mpn/x86/k6/k62mmx/lshift.asm, mpn/x86/k6/k62mmx/rshift.asm: Ditto,
! 7766: and improve addressing modes for pre-CXT cores.
1.1.1.2 maekawa 7767: * mpn/x86/x86-defs.m4 (Zdisp): Add an instruction.
1.1.1.4 ! ohara 7768: * mpn/x86/k6/mmx/lshift.asm, mpn/x86/k6/mmx/rshift.asm: New files,
! 7769: suiting plain K6.
! 7770: * mpn/x86/README, mpn/x86/k6/README: Updates.
1.1.1.2 maekawa 7771: * mpn/x86/k6/mmx/*.asm: Update some comments.
7772:
7773: * mpn/tests/Makefile.am: Use $(MAKE) in .asm rules, not "m".
7774: * tune/Makefile.am: Use $(EXEEXT) and libtool --config objdir, for
7775: the benefit of djgpp.
7776:
7777: * */Makefile.in: Regenerate with patched automake that adds
7778: $(EXEEXT) to EXTRA_PROGRAMS.
7779:
7780: * mpn/tests/try.c: Add #ifdef to SIGBUS, for the benefit of djgpp.
7781: * config.guess: Recognise pc:*:*:* as an x86, for djgpp.
7782:
7783: * configure: Regenerate with patched autoconf to fix temp file
7784: ".hdr" which is invalid on a DOS 8.3 filesystem, and to fix two
7785: sed substitutes that clobbered a ":" in $srcdir (eg. a DOS drive
7786: spec).
7787:
7788: * mpz/tests/io.c: Use one fp opened "w+", since separately opened
7789: input and output doesn't work on MS-DOS 6.21.
7790:
1.1.1.4 ! ohara 7791: * tests/rand/Makefile.am (allprogs): Pseudo-target to build everything.
! 7792: (CLEANFILES): Add EXTRA_PROGRAMS and EXTRA_LTLIBRARIES.
! 7793: (manual-test, manual-bigtest): Add $(EXEEXT) to dependencies.
! 7794:
! 7795: * tests/rand/*/Makefile.in: Regenerate with patched automake that adds
! 7796: $(EXEEXT) to EXTRA_PROGRAMS.
! 7797:
1.1.1.2 maekawa 7798: 2000-07-13 Torbjorn Granlund <tege@swox.com>
7799:
7800: * mpz/tests/t-root.c: Also test mpz_perfect_power_p.
7801: Generate `nth' so that there will be fewer trivial values.
7802:
7803: * mpz/root.c: Reverse return value in tests for detecting root of +1
7804: and -1.
7805:
7806: * mpz/perfpow.c: Use TMP_ALLOC interface.
7807:
7808: 2000-07-12 Torbjorn Granlund <tege@swox.com>
7809:
7810: * mpz/perfpow.c (primes): Make it const.
7811:
7812: 2000-07-06 Kevin Ryde <kevin@swox.se>
7813:
7814: * mpn/x86/k6/cross.pl: New file.
7815:
7816: * mpn/x86/*/gmp-mparam.h: Updates to thresholds, conditionalize
7817: all _TIME defines.
7818: * mpn/x86/pentium/mmx/gmp-mparam.h: New file.
7819: * mpn/sparc64/gmp-mparam.h: Update thresholds.
7820: * mpn/sparc32/v9/gmp-mparam.h: Ditto.
7821:
7822: 2000-07-04 Kevin Ryde <kevin@swox.se>
7823:
7824: * NEWS: Updates.
7825: * mpn/x86/*/README: Miscellaneous updates.
7826:
7827: * tune/speed-ext.c: New file.
7828: * tune/Makefile.am: Add it.
7829: * tune/README: Updates.
7830: * tune/speed.h (SPEED_ROUTINE_MPN_DIVREM_2): Bug fixes.
7831:
7832: * demos/calc.y,calclex.l: New files.
7833: * demos/calc.c,calc.h,calclex.c: New files, generated from .y and .l.
7834: * demos/Makefile.am: Add them.
7835:
7836: * gmp.h (mpq_swap, mpf_swap): Add prototypes and defines.
7837:
7838: 2000-07-01 Kevin Ryde <kevin@swox.se>
7839:
7840: * gmp.texi (ABI and ISA): New section, bringing together ABI notes.
7841: (Build Options): Add MPN_PATH, various updates.
7842: (Build Options): Add note on setting CFLAGS when setting CC.
7843: (Notes for Particular Systems): Add -march=pentiumpro problem.
7844: (Known Build Problems): Note on gmp-mparam.h for 64-bit generic C.
7845: (GMP Variable Conventions): Add some info on user defined functions.
7846: (Reporting Bugs): Minor rewording.
7847:
7848: * configure.in (MPN_PATH): Renamed from mpn_path.
7849:
7850: * gmp-impl.h (ULONG_MAX,ULONG_HIGHBIT,...,SHORT_MAX): New defines.
7851: * mp[zf]/tests/t-misc.c: Use them.
7852:
7853: * mpbsd/tests/t-misc.c: New file.
7854: * mpbsd/tests/Makefile.am: Add it.
7855:
7856: * Makefile.am (LIBGMP_LT_*, LIBMP_LT_*): Bump version info.
7857: * gmp.h (__GNU_MP_VERSION_*): Bump to 3.1.
7858:
7859: * mpf/tests/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
7860:
7861: * Makefile.am (libmp_la_SOURCES): Add mp_set_fns.c, accidentally
7862: omitted in gmp 3.0.x.
7863: * gmp.texi (Custom Allocation): Note this is available in mpbsd,
7864: and some minor rewording.
7865:
7866: 2000-06-30 Torbjorn Granlund <tege@swox.com>
7867:
7868: * demos/factorize.c (random): New function, defined conditionally.
7869: (factor_using_pollard_rho): Use it, not mrand48.
7870:
1.1.1.4 ! ohara 7871: * mpn/cray/README: New file.
! 7872:
1.1.1.2 maekawa 7873: 2000-06-30 Kevin Ryde <kevin@swox.se>
7874:
7875: * mpn/x86/pentium/aorsmul_1.asm: Add MULFUNC_PROLOGUE.
7876:
7877: * mpz/tests/t-jac.c: Test limbs on mpn_jacobi_base, not just ulongs.
7878:
7879: * gmp-impl.h, mpn/tests/try.c, mpn/tests/spinner.c, tune/speed.c:
7880: Use config.h unconditionally, not under HAVE_CONFIG_H.
7881:
7882: * demos/pexpr.c [__DJGPP__]: Patch by Richard Dawe to not use
7883: setup_error_handler on djgpp.
7884:
7885: * tune/*: Locate data to help direct-mapped caches, add measuring
7886: of mpz_init/clear, mpz_add and mpz_bin_uiui, various cleanups.
7887: * configure.in (AC_CHECK_FUNCS): Add popen.
7888:
7889: 2000-06-29 Torbjorn Granlund <tege@swox.com>
7890:
7891: * mpf/mul_2exp.c: Streamline criterion for whether to use mpn_lshift or
7892: mpn_rshift. Increase precision when exp is a multiple of
7893: BITS_PER_MP_LIMB primarily to make exp==0 be a noop.
7894: * mpf/div_2exp.c: Analogous changes.
7895:
7896: * mpf/tests/t-dm2exp.c: Set u randomly in loop. Perform more
7897: mpf_mul_2exp testing.
7898:
7899: * configure.in: Recognize cray vector processors with a broad `*';
7900: move after alpha* not to match that.
7901:
7902: 2000-06-28 Kevin Ryde <kevin@swox.se>
7903:
7904: * mpz/tests/io.c: Use a disk file, not a pipe, switch to ansi2knr
7905: style, switch from MP_INT to mpz_t, add a couple of error checks.
7906: * mpz/tests/Makefile.am (CLEANFILES): Add io.tmp, in case io.c fails.
7907:
7908: 2000-06-27 Torbjorn Granlund <tege@swox.com>
7909:
7910: * mpf/tests/t-get_d.c: Be more lax about relative error, to handle Cray
7911: floating point format.
7912:
7913: * mpq/tests/t-get_d.c: Decrease default reps to 1000.
7914:
7915: * mpf/tests/t-conv.c: Correct type of `bexp'.
7916:
7917: * configure.in (cray vector machines): Don't inherit gmp_cflags_cc.
7918:
7919: * tune/Makefile.am (EXTRA_DIST): Delete sparc64.asm.
7920:
7921: * configure.in (cray vector machines): Set extra_functions.
7922:
7923: * mpn/cray/mulww.f: New file with vectorizing cray code.
7924: * mpn/cray/mulww.s: Generated from mulww.f.
7925: * mpn/cray/mul_1.c: New file.
7926: * mpn/cray/addmul_1.c: New file.
7927: * mpn/cray/submul_1.c: New file.
7928: * mpn/cray/add_n.c: New file.
7929: * mpn/cray/sub_n.c: New file.
7930:
7931: 2000-06-26 Kevin Ryde <kevin@swox.se>
7932:
7933: * acinclude.m4 (GMP_CHECK_ASM_ALIGN_FILL_0x90): Fix so it actually
7934: detects solaris 2.6, and also suppress warning on solaris 2.8.
7935: * configure.in (SPEED_CYCLECOUNTER): Remove spurious "athlon" from
7936: sparc case.
7937:
7938: * mpn/lisp/gmpasm-mode.el: Move keymap to the top of the docstring.
7939:
7940: 2000-06-21 Kevin Ryde <kevin@swox.se>
7941:
7942: * mpn/generic/mul_n.c (mpn_kara_mul_n, mpn_kara_sqr_n): Use
7943: mp_size_t for n2.
7944: (mpn_toom3_mul_n, mpn_toom3_sqr_n): Use mp_size_t for size
7945: parameters and "l" variables.
7946: * gmp-impl.h (mpn_toom3_mul_n, mpn_toom3_sqr_n): Update prototypes.
7947:
1.1.1.4 ! ohara 7948: * mpbsd/itom.c, mpbsd/sdiv.c: Add casts for correct handling of
! 7949: -0x80...00 on systems with sizeof(short)==sizeof(int).
1.1.1.2 maekawa 7950:
7951: * mpz/tests/t-misc.c: Move "bin" test from here ...
7952: * mpz/tests/t-bin.c: ... to here, and add a new (2k,k) test too.
7953: * mpz/tests/Makefile.am (check_PROGRAMS): Add t-bin.
7954:
7955: * mpz/bin_ui.c [_LONG_LONG_LIMB]: Use mpn_divrem_1, since kacc is
7956: a limb not a ulong.
7957: * mpz/bin_uiui.c [_LONG_LONG_LIMB]: Ditto, and use mpn_mul_1 too,
7958: since nacc is a limb.
7959:
7960: * mpf/tests/t-misc.c (check_mpf_set_si, check_mpf_cmp_si):
7961: New file, testing mpf_set_si, mpf_init_set_si, and mpf_cmp_si.
7962: * mpf/tests/Makefile.am (check_PROGRAMS): Add it.
7963:
7964: * mpz/tests/t-misc.c (check_mpz_set_si, check_mpz_cmp_si):
7965: New tests, for mpz_set_si, mpz_init_set_si, and mpz_cmp_si.
7966:
1.1.1.4 ! ohara 7967: * mpz/set_si.c, mpz/iset_si.c, mpz/cmp_si.c [_LONG_LONG_LIMB]: Fix
! 7968: handling of -0x80..00.
! 7969: * mpf/set_si.c, mpf/iset_si.c, mpf/cmp_si.c [_LONG_LONG_LIMB]: Ditto.
1.1.1.2 maekawa 7970:
7971: 2000-06-19 Torbjorn Granlund <tege@swox.com>
7972:
7973: * demos/primes.c: Properly handle arguments `m +n'.
7974:
7975: 2000-06-17 Torbjorn Granlund <tege@swox.com>
7976:
7977: * config.sub: Recognize k5 and k6 with common pattern.
7978:
7979: * mpq/tests/t-get_d.c: Also test mpq_set_d. Misc improvements.
7980:
7981: * mpq/set_d.c: Special case 0.0. Don't call mpn_rshift with 0 count.
7982: Allocate correct amount of memory for numerator. Delete spurious
7983: ASSERT_ALWAYS(1).
7984:
7985: 2000-06-17 Kevin Ryde <kevin@swox.se>
7986:
7987: * mpz/perfsqr.c: Fix so that zero is considered a perfect square.
7988: (Was wrongly calling mpn_perfect_square_p with size==0.)
7989:
7990: 2000-06-16 Kevin Ryde <kevin@swox.se>
7991:
7992: * configure.in: Set k5*-*-* to use basic i386 code until there's
7993: something specific. Add path=x86 as a default for x86s.
7994:
7995: * acinclude.m4 (GMP_CHECK_ASM_ALIGN_LOG): Generate
7996: ALIGN_LOGARITHMIC setting, not a full ALIGN definition.
7997: (GMP_CHECK_ASM_ALIGN_FILL_0x90): New test.
7998: * configure.in [x86-*-*]: Use GMP_CHECK_ASM_ALIGN_FILL_0x90.
7999: * mpn/asm-defs.m4 (ALIGN): New macro.
8000: * mpn/x86/x86-defs.m4 (ALIGN): Remove supplementary definition.
8001:
8002: * tune/*: Plain "unsigned" for speed_cyclecounter.
8003: * configure.in: Use tune/sparcv9.asm for 32 and 64 bit modes.
8004: * tune/sparc64.asm: Remove file.
8005:
8006: 2000-06-15 Torbjorn Granlund <tege@swox.com>
8007:
8008: * mpn/x86/k7/mmx/copyi.asm: Use `testb' instead of `test'.
8009: * mpn/x86/k7/mmx/copyd.asm: Likewise.
8010:
8011: * mpn/x86/k7/mmx/lshift.asm: Avoid using `~' (Solaris as problems).
8012: * mpn/x86/k7/mmx/rshift.asm: Likewise.
8013: * mpn/x86/k6/aors_n.asm: Likewise.
8014: * mpn/x86/k7/aors_n.asm: Likewise.
8015: * mpn/x86/k7/mul_basecase.asm: Likewise.
8016:
8017: 2000-06-13 Torbjorn Granlund <tege@swox.com>
8018:
8019: * tune/sparcv9.asm: Tune, deleting two instructions.
8020:
8021: * tune/alpha.asm: Update to unified speed_cyclecounter.
8022:
8023: 2000-06-11 Kevin Ryde <kevin@swox.se>
8024:
8025: * mpz/tests/reuse.c (FAIL): Add a K&R version.
8026: Use _PROTO on some typedefs.
8027: * mpz/tests/t-misc.c: Add gmp-impl.h for "const".
8028:
8029: * configure.in: Rework mpn multi-function and optional files.
8030: Names standardized, no need for explicit declarations, all picked
8031: up in one $path traversal.
8032: * doc/configuration: Updates.
8033:
1.1.1.4 ! ohara 8034: * tests/rand/t-rand.c (main): Change "usage" to work with K&R.
! 8035:
1.1.1.2 maekawa 8036: 2000-06-10 Kevin Ryde <kevin@swox.se>
8037:
1.1.1.4 ! ohara 8038: * mpn/x86/pentium/mmx/popham.asm, mpn/x86/p6/mmx/popham.asm,
! 8039: mpn/x86/p6/p3mmx/popham.asm, mpn/x86/p6/diveby3.asm: Add
! 8040: MULFUNC_PROLOGUE for correct HAVE_NATIVE_* matching.
1.1.1.2 maekawa 8041:
8042: * mpn/x86/x86-defs.m4 (cmov_bytes_tttn): Use eval() on expressions.
8043: (cmov_available_p): Switch to list CPUs which do have cmov.
1.1.1.4 ! ohara 8044: * mpn/x86/p6/sqr_basecase.asm, mpn/x86/k6/sqr_basecase.asm,
! 8045: mpn/x86/k7/sqr_basecase.asm: Use eval() for multiplication.
1.1.1.2 maekawa 8046: * mpn/x86/README.family: Various updates.
8047:
8048: 2000-06-09 Kevin Ryde <kevin@swox.se>
8049:
8050: * mpbsd/tests/allfuns.c (main): Call exit() instead of doing return.
8051:
1.1.1.4 ! ohara 8052: * doc/tasks.html, doc/projects.html: Moved from projects directory.
1.1.1.2 maekawa 8053: * doc/multiplication: New file.
8054: * Makefile.am (EXTRA_DIST): Remove projects, add doc.
8055:
8056: * Makefile.am (libgmp_la_LIBADD, libmp_la_LIBADD): Remove
8057: unnecessary -lm.
8058: * INSTALL: Remove -lm from instructions.
8059: * demos/Makefile.am (qcn_LDADD): Add -lm.
8060:
8061: * tune/*: Add measuring for mpn_divrem_2 and modlimb_invert,
8062: improve addsub_n. Switch to unified speed_cyclecounter.
8063: * configure.in: Update configs for speed_cyclecounter.
8064:
8065: * gmp-impl.h (MP_LIMB_T_MAX, MP_LIMB_T_HIGHBIT): New macros.
1.1.1.4 ! ohara 8066: * mpn/generic/diveby3.c, mpn/generic/mul_n.c, mpn/generic/gcd.c,
! 8067: tune/speed.c, mpn/tests/ref.c: Use them.
1.1.1.2 maekawa 8068:
8069: * mpn/tests/spinner.c: Remove setitimer, just alarm is enough.
8070: * configure.in (AC_CHECK_FUNCS): Remove setitimer.
8071: * mpn/tests/x86call.asm: Start with junk in %eax, %ecx, %edx.
8072: * mpn/tests/ref.[ch] (refmpn_addsub_nc): New function.
8073: * mpn/tests/try.c: Add some support for mpn_addsub_nc.
8074: * mpn/tests/Makefile.am (EXTRA_PROGRAMS): Remove addsub_n and
8075: addsub_n_2 which don't currently build.
8076: * mpn/tests/copy.c: Test MPN_COPY_INCR, not __gmpn_copy.
8077:
1.1.1.4 ! ohara 8078: * tests/rand/Makefile.am (libstat_la_LIBADD): Add -lm, no longer on
! 8079: libgmp.la.
! 8080: (findlc_LDADD): Use libstat.la.
! 8081: (AUTOMAKE_OPTIONS): Use ansi2knr.
! 8082:
1.1.1.2 maekawa 8083: 2000-06-08 Torbjorn Granlund <tege@swox.com>
8084:
8085: * configure.in (alpha*-*-osf*): Default `flavour' to ev6 for ev6 and
8086: higher.
8087: (alpha*-*-*): Likewise.
8088: (alpha*-*-osf*: gmp_optcflags_cc): Move -arch/-tune flags from
8089: gmp_xoptcflags_gcc.
8090:
8091: * mpn/Makefile.am (TARG_DIST): Add pa64w.
8092:
8093: * longlong.h: Wrap 64-bit hppa code in #ifndef LONGLONG_STANDALONE.
8094:
8095: 2000-06-07 Torbjorn Granlund <tege@swox.com>
8096:
8097: * mpz/remove.c: Fail for `src' being zero.
8098:
8099: * mpz/tests/reuse.c: Test more functions.
8100: (FAIL): New define.
8101:
8102: * mpz/tests/t-powm.c: Loop during operand generation while they
8103: are mathematically ill-defined (used to just skip such tests).
8104:
8105: * mpz/powm.c (mpz_redc): Clean up argument declarations.
8106:
8107: * configure.in (gmp_cflags64_gcc): Don't add bogus -mWHAT option.
8108: (sparcv9-*-solaris2.[7-9]], gmp_cflags64_gcc):
8109: Inherit from previous gmp_cflags64_gcc; pass `-m64 -mptr64'.
8110: (ia64*-*-*): New.
8111:
8112: * mpn/generic/dump.c: Make it work when an mp_limb_t is not `long'.
8113:
8114: * mpf/set_prc.c: MPN_COPY => MPN_COPY_INCR.
8115:
8116: 2000-06-06 Torbjorn Granlund <tege@swox.com>
8117:
8118: * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n):
8119: Use mpn_incr_u for final carry propagation.
8120:
8121: * mpz/tests/t-gcd.c: Add calls to mpz_gcdext with argument t == NULL.
8122:
8123: * mpz/tests/reuse.c: Major rewrite; test many more functions.
8124:
8125: * mpz/powm_ui.c: When exp is 0, change res assign order in order
8126: to handle argument overlap.
8127: * mpz/powm.c: When exp is 0, change res assign order in order
8128: to handle argument overlap. Handle negative exp and mod arguments.
8129:
8130: * mpz/gcdext.c: Rework code after mpn_gcdext call to handle
8131: argument overlap.
8132:
8133: * mpz/fdiv_qr.c: Read dividend->_mp_size before calling mpz_tdiv_qr
8134: in order to handle argument overlap.
8135: * mpz/cdiv_qr.c: Likewise.
8136:
8137: * mpf/tests/reuse.c: Fix typo that effectively disabled `dis_funcs'
8138: tests. Clean up test for mpf_ui_div.
8139:
8140: 2000-06-06 Kevin Ryde <kevin@swox.se>
8141:
8142: * mpn/x86/p6/sqr_basecase.asm: New file.
8143: * mpn/x86/mod_1.asm: Avoid one conditional jump.
8144: * mpn/x86/p6/gmp-mparam.h: Update thresholds, #ifndef UMUL_TIME
8145: and UDIV_TIME, add COUNT_TRAILING_ZEROS_TIME.
8146:
8147: * mp_minv_tab.c: New file.
8148: * Makefile.am (libgmp_la_SOURCES, libmp_la_SOURCES): Add it.
8149: * gmp-impl.h (modlimb_invert): New macro.
8150: * mpz/powm.c: Remove mpz_dmprepare, use modlimb_invert instead.
8151: * mpn/generic/bdivmod.c: Use modlimb_invert instead of a loop.
8152: * mpn/generic/gcd.c: Inline two small mpn_bdivmod calls, use
8153: MPN_COPY_INCR not MPN_COPY in one place.
8154:
8155: 2000-06-05 Torbjorn Granlund <tege@swox.com>
8156:
8157: * mpf/tests/reuse.c (dsi_funcs): Add mpf_mul_2exp and mpf_div_2exp.
8158: (main): Clean up test for mpf_div_ui.
8159:
8160: * mpf/mul_2exp.c: Correct criterion for whether to use mpn_lshift or
8161: mpn_rshift. MPN_COPY => MPN_COPY_INCR. Coerce the two assignments to
8162: r->_mp_size.
8163:
8164: * mpf/div_2exp.c: Use mpn_rshift instead of mpn_lshift when overlap
8165: so requires. MPN_COPY => MPN_COPY_INCR.
8166:
8167: * mpf/tests/t-dm2exp.c: Correct type of res_prec.
8168:
8169: 2000-06-04 Kevin Ryde <kevin@swox.se>
8170:
8171: * mpz/bin_uiui.c: Fix result for n==0 and n==k.
8172: * mpz/bin_ui.c: Fix result for k>n, add support for n<0.
8173: * gmp.texi (Number Theoretic Functions): Update mpz_bin_ui to
8174: note n<0 is supported.
8175:
8176: * mpz/tests/t-misc.c: New file.
8177: * mpz/tests/Makefile.am (check_PROGRAMS): Add it.
8178:
8179: 2000-05-31 Kevin Ryde <kevin@swox.se>
8180:
8181: * tune/speed.* (FLAG_R_OPTIONAL): New option for routines, use on
8182: mpn_gcd_1 and mpn_mul_basecase.
8183: * tune/README: Update.
8184:
8185: * tune/alpha.asm: New file, by Torbjorn.
8186: * tune/Makefile.am (EXTRA_DIST): Add it.
8187: * configure.in (alpha*-*-*): Use it.
8188:
1.1.1.4 ! ohara 8189: 2000-05-31 Linus Nordberg <linus@swox.se>
! 8190:
! 8191: * doc/configuration: New file.
! 8192:
1.1.1.2 maekawa 8193: 2000-05-30 Torbjorn Granlund <tege@swox.com>
8194:
8195: * mpn/generic/mul_basecase.c: Call mpn_mul_2 and mpn_addmul_2
8196: if available. Don't include longlong.h.
8197:
1.1.1.4 ! ohara 8198: * doc/isa_abi_headache: New file.
! 8199:
1.1.1.2 maekawa 8200: 2000-05-30 Linus Nordberg <linus@swox.se>
8201:
8202: * configure.in (NM): Use AC_PROG_NM rather than AC_CHECK_TOOL to
8203: find `nm'. (AC_PROG_NM comes with Libtool and is needed to get
8204: the `-B' option (BSD compatible output) included in $NM.)
8205: (AR): Use AC_CHECK_PROG rather than AC_CHECK_TOOL to find `ar'.
8206: (Now that NM isn't a cross compilation tool, don't give the
8207: impression that we know how to cross compile.)
8208: (CCAS): Remove spurious comment.
8209:
8210: * gmp.texi (Notes for Particular Systems): Remove comment about
8211: using GNU `nm' on AIX since system nm now works.
8212:
8213: 2000-05-29 Torbjorn Granlund <tege@swox.com>
8214:
8215: * mpn/power/mul_1.s: Remove [PR] from first word in function
8216: descriptor.
8217: * mpn/power/addmul_1.s: Likewise.
8218: * mpn/power/submul_1.s: Likewise.
8219:
8220: 2000-05-28 Kevin Ryde <kevin@swox.se>
8221:
8222: * configure.in, tune/*: Change pentium rdtsc cycle scheme to
8223: HAVE_SPEED_CYCLECOUNTER and SPEED_CYCLECOUNTER_OBJS.
8224: * tune/pentium.asm: Renamed and converted from rdtsc.asm.
8225: * tune/sparcv9.asm: New file, by Torbjorn.
8226: * tune/sparc64.asm: New file.
8227: * tune/tuneup.c: Put a limit on gcdext search.
8228:
8229: * gmp.h (mp_set_memory_functions): Add extern "C".
8230: * mp.h (__GNU_MP__): Bump to "3".
8231: * mpz/add.c,mul.c,powm.c,sub.c,sqrtrem.c,tdiv_qr.c [BERKELEY_MP]:
8232: Include mp.h for mpbsd compile.
8233: * mpz/gcd.c: Ditto, and remove _mpz_realloc declaration.
8234:
8235: * gmp.texi (Integer Functions): Flatten @subsections into @sections.
8236: (Floating-point Functions): Ditto.
8237: (Integer Random Numbers): Split from miscellaneous as a sep section.
8238: (Installing GMP): Make nodes for the sections.
8239: Add more "@cindex"s.
8240: (Known Build Problems): Remove SunOS get_d problem, believed fixed.
8241: (Notes for Particular Systems): Remove HPPA note since now PIC.
8242: (References): URL for Jebelean.
8243:
8244: 2000-05-27 Torbjorn Granlund <tege@swox.com>
8245:
8246: * mpn/pa64w: New directory, contents based on corresponding mpn/pa64
8247: files.
8248: * configure.in (hppa2.0w-*-*): New.
8249: * mpz/tests/io.c (_INCLUDE_POSIX_SOURCE): Define when __hpux before
8250: including stdio.h.
8251: * gmp-impl.h: Always define DItype and UDItype.
8252:
8253: 2000-05-27 Kevin Ryde <kevin@swox.se>
8254:
8255: * tune/common.c (speed_measure): Correction to array sorting,
8256: better diagnostic when measuring fails.
8257: * tune/time.c: Add microsecond accurate getrusage method.
8258:
8259: * tune/time.c (speed_cpu_frequency_processor_info): New function.
8260: * configure.in (AC_CHECK_FUNCS): Add processor_info.
8261:
8262: 2000-05-26 Linus Nordberg <linus@swox.se>
8263:
8264: * gmp.texi (Installing GMP): Shared libraries work for AIX < 4.3
8265: if using GNU nm.
8266:
8267: 2000-05-26 Torbjorn Granlund <tege@swox.com>
8268:
8269: * tune/tuneup.c (SIGNED_TYPE_MAX): Shift `-1' instead of `1' to
8270: avoid signed overflow.
8271:
8272: * demos/pexpr.c (setup_error_handler): Don't call sigaltstack on
8273: Unicos.
8274:
8275: 2000-05-25 Torbjorn Granlund <tege@swox.com>
8276:
8277: * insert-dbl.c: Work around GCC 2.8 bug.
8278: * extract-dbl.c: Likewise.
8279:
8280: * config.sub: Allow i586, i686, i786 again.
8281:
8282: * config.guess: Use X86CPU for lots more systems.
8283:
8284: 2000-05-25 Linus Nordberg <linus@swox.se>
8285:
8286: * mpbsd/tests/dummy.c (main): Call exit() instead of doing return
8287: (some old SysV machines don't get this correct, I've heard.)
8288:
8289: 2000-05-25 Kevin Ryde <kevin@swox.se>
8290:
8291: * mpf/iset_str.c: Initialize _mp_size and _mp_exp to 0, in case no
8292: digits in string, so it's the same as a separate init and set_str.
8293:
8294: 2000-05-24 Torbjorn Granlund <tege@swox.com>
8295:
8296: * mpz/tests/reuse.c: Use mpz_random2 instead of mpz_random.
8297:
8298: * mpz/divexact.c: Read pointers after reallocation.
8299: Compare `quot' and `den' instead of `qp' and `dp' in overlap check.
8300: Use MPN_COPY_INCR for copying from `np'.
8301:
8302: (*-*-aix4.[3-9]*): Disable shared libs just for problematic AIX
8303: versions.
8304: * configure.in (*-cray-unicos*): Disable asm syntax checking; set
8305: compiler explicitly.
8306: * configure.in (hppa*-*-*): Remove code disabling shared libs.
8307:
8308: 2000-05-24 Linus Nordberg <linus@swox.se>
8309:
8310: * acinclude.m4 (GMP_PROG_CC_WORKS): Don't report progress to user
8311: when doing the AIX specific test to avoid "nested output".
8312:
8313: 2000-05-22 Kevin Ryde <kevin@swox.se>
8314:
8315: * mp.h (_PROTO): Copy from gmp.h, use on prototypes.
8316: Add extern "C" too.
8317: * mpbsd/tests/Makefile.am (AUTOMAKE_OPTIONS): Enable ansi2knr.
8318: * mpbsd/tests/allfuns.c: Don't execute mout, just link to it.
8319: (main): ANSI style definition.
8320:
8321: * gmp-impl.h (MP_BASE_AS_DOUBLE): Change the expression to
8322: something that works on SunOS native cc. Seems to fix the
8323: mp*_get_d problems.
8324:
8325: * mpn/tests/ref.c (refmpn_strip_twos): Use MPN_COPY_INCR.
8326: * mpn/tests/Makefile.am: Let .asm.o rules work with absolute $srcdir.
8327:
8328: 2000-05-21 Kevin Ryde <kevin@swox.se>
8329:
8330: * mpn/x86/k7/sqr_basecase.asm: Replace file with K7 specific code.
8331: * mpn/x86/k7/README: Update.
8332: * mpn/x86/k7/gmp-mparam.h: Tune thresholds.
8333: (COUNT_TRAILING_ZEROS_TIME): New define.
8334: * mpn/x86/k6/gmp-mparam.h: Ditto.
8335:
8336: * mpn/x86/pentium/mmx/popham.asm: New file (include_mpn of K6 version).
8337: * mpn/x86/p6/diveby3.asm: New file (include_mpn of P5 version).
8338: * mpn/x86/p6/mmx/popham.asm: New file (include_mpn of K6 version).
8339: * mpn/x86/p6/p3mmx/popham.asm: New file (include_mpn of K7 version).
8340: * configure.in (pentium3-*-*): Add p3mmx to $path.
8341:
8342: * gmp.texi (Integer Arithmetic): Clarify mpz_jacobi op2; add
8343: mpz_*_kronecker_*.
8344: (Miscellaneous Integer Functions): Add mpz_odd_p and mpz_even_p.
8345: (Low-level Functions): Put mpn_divmod_1 with mpn_divrem_1 and note
8346: it's now a macro.
8347: (References): Add Henri Cohen.
8348:
8349: * gmp.h (mpn_addmul_1c, mpn_divrem_1c, mpn_mod_1c, mpn_mul_1c,
8350: mpn_submul_1c): Add prototypes.
8351: (mpz_odd_p, mpz_even_p): New macros.
8352:
8353: * mpn/asm-defs.m4 (m4wrap_prepend): New macro.
8354: (m4_error): Use it.
8355: (m4_not_for_expansion): Corrections to OPERATION symbols.
8356: More comments about variations between m4 versions.
8357: * mpn/x86/x86-defs.m4 (PROLOGUE): Use m4wrap_prepend (fixes error
8358: exit under BSD m4, previously m4_error printed the message but the
8359: exit code was 0).
8360:
8361: * gmp.h (mpn_divmod_1): Change to a macro calling mpn_divrem_1.
8362: * mpn/generic/divrem_1.c: Move divmod_1.c code to here, make it
8363: static and call it __gmpn_divmod_1_internal.
8364: * mpn/generic/divmod_1.c: Remove file.
8365: * configure.in (gmp_mpn_functions): Remove divmod_1.
8366: * mpn/asm-defs.m4 (define_mpn): Remove divmod_1 and divmod_1c.
8367: * compat.c (mpn_divmod_1): Add compatibility function.
8368: * tune/*: Remove mpn_divmod_1 measuring (leave just divrem_1).
8369:
8370: * acconfig.h (HAVE_NATIVE_mpn_*): Add some missing carry-in
8371: variants, remove divmod_1.
8372:
8373: * mpn/x86/diveby3.asm: Use imul, update comments.
8374:
8375: * demos/qcn.c: New file.
8376: * demos/Makefile.am (EXTRA_PROGRAMS): Add it.
8377:
8378: * mpz/tests/t-jac.c: New file.
8379: * mpz/tests/Makefile.am (check_PROGRAMS): Add it. Enable ansi2knr.
8380:
8381: * mpz/kronsz.c: New file.
8382: * mpz/kronuz.c: New file.
8383: * mpz/kronzs.c: New file.
8384: * mpz/kronzu.c: New file.
8385: * mpz/Makefile.am (libmpz_la_SOURCES): Add them.
8386: * Makefile.am (MPZ_OBJECTS): Add them.
8387: * gmp-impl.h (JACOBI_*, MPN_STRIP_LOW_ZEROS_NOT_ZERO): New macros.
8388: * gmp.h (mpz_*_kronecker_*): New defines and prototypes.
8389:
8390: * mpn/generic/jacbase.c: New file.
8391: * mpn/generic/mod_1_rs.c: New file.
8392: * configure.in (gmp_mpn_functions): Add them.
8393: * gmp.h (mpn_jacobi_base, mpn_mod_1_rshift): New defines and
8394: prototypes.
8395: * longlong.h (COUNT_TRAILING_ZEROS_TIME): New define.
8396: * mpn/tests/ref.c (refmpn_mod_1_rshift): New function.
8397: * mpn/tests/try.c: Add mpn_mod_1_rshift.
8398: * tune/*: Add measuring for mpn_jacobi_base.
8399:
8400: * acinclude.m4 (GMP_FINISH): Add ifdefs to allow multiple
8401: inclusion of config.m4.
8402: (GMP_PROG_M4): Put "good" message through to config.log.
8403:
8404: * mpz/powm.c: Use a POWM_THRESHOLD for where redc stops.
8405: * tune/*: Add mpz_powm measuring, and tune POWM_THRESHOLD.
8406: * gmp-impl.h [TUNE_PROGRAM_BUILD] (POWM_THRESHOLD): Conditional
8407: redefinition for use when tuning.
8408:
8409: * mpz/powm_ui.c: Use DIVIDE_BY_ZERO.
8410:
8411: * mpz/iset_str.c: Initialize _mp_size to 0, in case no digits in
8412: string; this makes it the same as a separate init and set_str.
8413:
8414: 2000-05-20 Kevin Ryde <kevin@swox.se>
8415:
8416: * mpn/asm-defs.m4: Note &,|,^ aren't bitwise in BSD m4 eval().
8417: * mpn/x86/k6/sqr_basecase.asm: Use "%" not "&" in m4 eval()s.
8418:
8419: * mpn/x86/x86-defs.m4 (Zdisp): Yet more instruction forms.
8420:
8421: 2000-05-19 Linus Nordberg <linus@swox.se>
8422:
8423: * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't use shell variable
8424: `ac_compile' for our own compile command string since other
8425: Autoconf macros may depend on it.
8426:
8427: 2000-05-19 Kevin Ryde <kevin@swox.se>
8428:
8429: * mpn/generic/mul_n.c (mpn_toom3_mul_n, mpn_toom3_sqr_n): Fix
8430: carry propagation in final coefficient additions.
8431:
8432: 2000-05-18 Linus Nordberg <linus@swox.se>
8433:
8434: * configure.in: Set NM before looking for compiler since
8435: GMP_CHECK_CC_64BIT needs it.
8436:
8437: * acinclude.m4 (GMP_CHECK_CC_64BIT): Don't execute on target.
8438: (GMP_PROG_CC_FIND): Before checking if the compiler knows how to
8439: produce 64-bit code, verify that it works at all. The background
8440: is that /usr/ucb/cc on Solaris 7 successfully compiles in 64-bit
8441: mode but fails when doing final link.
8442: (GMP_PROG_CC_WORKS): Report to user what's happening.
8443:
8444: 2000-05-17 Linus Nordberg <linus@swox.se>
8445:
8446: * config.guess: Use X86CPU for x86 Cygwin.
8447:
8448: 2000-05-16 Kevin Ryde <kevin@swox.se>
8449:
8450: * mpn/x86/p6/mmx/divrem_1.asm: New file.
8451: * mpn/x86/p6/mmx/mod_1.asm: New file.
8452: * mpn/x86/p6/README: Update.
8453: * mpn/x86/divrem_1.asm: Update comments.
8454: * mpn/x86/mod_1.asm: Ditto.
8455:
8456: 2000-05-14 Kevin Ryde <kevin@swox.se>
8457:
8458: * tune/speed.h: Run gcd functions on a set of data.
8459:
8460: * mpn/tests/try.c: New file.
8461: * mpn/tests/try.h: New file.
8462: * mpn/tests/spinner.c: New file.
8463: * mpn/tests/trace.c: New file.
8464: * mpn/tests/x86call.asm: New file.
8465: * mpn/tests/x86check.c: New file.
8466: * mpn/tests/ref.c (refmpn_hamdist): Allow size==0.
8467: (refmpn_gcd): New function, and other additions supporting it.
8468: * mpn/tests/ref.h: More prototypes.
8469: * mpn/tests/Makefile.am: Add try program, use ansi2knr.
8470:
8471: * mpn/x86/k7/mmx/popham.asm: New file.
8472: * mpn/x86/k6/mmx/popham.asm: New file.
8473: * mpn/x86/k6/sqr_basecase.asm: Unroll the addmul, for approx 1.3x
8474: speedup above 15 limbs.
8475: * mpn/x86/k7/README: Update.
8476: * mpn/x86/k6/README: Update, and add notes on plain K6 and pre-CXT
8477: K6-2 problems.
8478: * configure.in (k6*-*-*, athlon-*-*): Add popham.
8479:
8480: * mpn/x86/pentium/diveby3.asm: New file.
8481: * mpn/x86/pentium/README: Update.
8482:
8483: * gmp.texi (Installing GMP): Add note on bad OpenBSD 2.6 m4.
8484: (Reporting Bugs): Ask for config.m4 if asm file related.
8485: (I/O of Rationals): New section, add mpq_out_str.
8486: (References): Add url for on-line gcc manuals.
8487: A few node and menu updates.
8488:
8489: * INSTALL: Better command line argument checking for test progs.
8490: Change MP -> GMP.
8491:
8492: * configure.in (WANT_ASSERT, USE_STACK_ALLOC, HAVE_PENTIUM_RDTSC):
8493: Put descriptions here, not in acconfig.h.
8494: (CALLING_CONVENTIONS_OBJS): New AC_SUBST (for mpn/tests/try).
8495: (HAVE_CALLING_CONVENTIONS): New AC_DEFINE.
8496: (AC_CHECK_HEADERS): Add sys/time.h.
8497: (AC_CHECK_FUNCS): Add getpagesize, setitimer.
8498: (KARATSUBA_SQR_THRESHOLD): Strip trailing comments from the
8499: #define when passing through to config.m4.
8500: * acconfig.h (PACKAGE, VERSION, WANT_ASSERT, USE_STACK_ALLOC,
8501: HAVE_PENTIUM_RDTSC): No need for #undefs, autoheader gets them
8502: from configure.in.
8503:
8504: * acinclude.m4 (GMP_PROG_M4): Check for broken OpenBSD 2.6 m4
8505: eval(), put messages into config.log.
8506: * mpn/asm-defs.m4: Add notes and test for OpenBSD 2.6 m4.
8507:
8508: * mpq/out_str.c: New file.
8509: * mpq/Makefile.am (libmpq_la_SOURCES): Add it.
8510: * Makefile.am (MPQ_OBJECTS): Ditto.
8511: * gmp.h (mpq_out_str): New define and prototype.
8512:
8513: 2000-05-12 Kevin Ryde <kevin@swox.se>
8514:
8515: * configure.in (CONFIG_TOP_SRCDIR): Fix to use $srcdir not
8516: $top_srcdir (which doesn't exist).
8517: * acinclude.m4 (GMP_C_ANSI2KNR): Fix setting U=_.
8518: * gmp-impl.h (mpn_com_n, MPN_LOGOPS_N_INLINE): Fix missing "do"
8519: (not currently used, probably no ill effect anyway).
8520:
8521: 2000-05-11 Torbjorn Granlund <tege@swox.com>
8522:
8523: * randraw.c (lc): Major overhaul (pending rewrite).
8524: (_gmp_rand): Rewrite.
8525:
8526: 2000-05-08 Torbjorn Granlund <tege@swox.com>
8527:
8528: * mpz/tests/convert.c: Call free via _mp_free_func.
8529: * mpf/tests/t-conv.c: Likewise.
8530:
8531: * memory.c: Add code enabled for DEBUG that adds special patterns
8532: around allocated blocks.
8533:
8534: 2000-05-05 Linus Nordberg <linus@swox.se>
8535:
8536: * gmp.texi (Miscellaneous Float Functions): Correct parameter list
8537: for mpf_urandomb().
8538:
8539: * configure.in: Invoke AC_REVISION.
8540:
8541: 2000-05-05 Kevin Ryde <kevin@swox.se>
8542:
8543: * gmp.texi: Use @dircategory and @direntry.
8544: (Installing GMP): Clarification for --target, updates on SunOS
8545: problems.
8546: (Integer Arithmetic): Add mpz_mul_si.
8547: (Initializing Rationals): Add mpq_swap.
8548: (Assigning Floats): Add mpf_swap.
8549: (Low-level Functions): Add mpn_divexact_by3c, and details of what
8550: the calculation actually gives.
8551: (Low-level Functions): Note extra space needed by mpn_gcdext,
8552: clarify the details a bit.
8553:
8554: * compat.c: New file, entry points for upward binary compatibility.
8555: (mpn_divexact_by3): Compatibility function.
8556: * Makefile.am (libgmp_la_SOURCES): Add compat.c.
8557:
8558: * mpn/tests/ref.c: Rearrange macros for ansi2knr.
8559: (div1): Renamed from div to avoid library function.
8560: (refmpn_divexact_by3c, refmpn_gcd_1, refmpn_popcount,
8561: refmpn_hamdist): New functions.
8562: * mpn/tests/ref.h: Add extern "C", add new prototypes.
8563:
8564: * gmp.h (gmp_randinit, etc): Add extern "C".
8565: (_mpq_cmp_ui): Fix prototype name from mpq_cmp_ui.
8566: (mpn_divexact_by3): Now a macro calling mpn_divexact_by3c.
8567: (mpn_divexact_by3c): New prototype and define.
8568:
8569: * mpn/x86/diveby3.asm: Change to mpn_divexact_by3c.
8570: * mpn/x86/k6/diveby3.asm: Ditto.
8571: * mpn/generic/diveby3.c: Ditto.
8572: * mpn/asm-defs.m4: Ditto on the define_mpn.
8573: * acconfig.h (HAVE_NATIVE_mpn_divexact_by3c): New define.
8574:
8575: * mpq/swap.c: New file, derived from mpz/swap.c.
8576: * mpf/swap.c: Ditto.
8577: * mpq/Makefile.am: Add swap.c.
8578: * mpf/Makefile.am: Ditto.
8579: * Makefile.am: Add two new "swap.lo"s.
8580:
8581: * mpn/x86/k6/mmx/com_n.asm: Fix an addressing bug (fortunately
8582: this code hasn't been used anywhere yet).
8583:
8584: * mpn/x86/k7/mmx/divrem_1.asm: New file.
8585: * mpn/x86/k7/mmx/mod_1.asm: New file.
8586: * mpn/x86/k7/diveby3.asm: New file.
8587: * mpn/x86/k7/README: Update.
8588:
8589: * mpn/x86/k7/aorsmul_1.asm: Use new cmovCC, no object code change.
8590: * mpn/x86/k7/mul_basecase.asm: Ditto.
8591: * mpn/x86/p6/aorsmul_1.asm: Ditto.
8592:
8593: * mpn/x86/x86-defs.m4 (defframe_empty_if_zero): Eval the argument.
8594: (cmovCC): New macros, replacing individual cmovCC_reg_reg forms.
8595: (Zdisp): Recognise more instructions.
8596: (shldl,etc): Use m4_instruction_wrapper().
8597: (ASSERT, movl_text_address): New macros.
8598:
8599: * mpn/asm-defs.m4: Add remarks on SunOS /usr/bin/m4 and new
8600: OpenBSD m4.
8601: (m4_assert_numargs_internal_check): Remove a spurious parameter.
8602: (m4_empty_if_zero): Eval the argument.
8603: (m4_assert, m4_assert_numargs_range, m4_config_gmp_mparam,
8604: m4_instruction_wrapper): New macros.
8605:
8606: 2000-05-04 Linus Nordberg <linus@swox.se>
8607:
8608: * gmp.texi (Reporting Bugs): Be explicit about output from running
8609: a command.
8610:
8611: 2000-05-02 Torbjorn Granlund <tege@swox.com>
8612:
8613: * mpn/generic/bz_divrem_n.c (mpn_bz_divrem_n): Handle non-zero return
8614: from first mpn_bz_div_3_halves_by_2 call.
8615: (mpn_bz_divrem_aux): Likewise.
8616:
8617: 2000-04-30 Kevin Ryde <kevin@swox.se>
8618:
8619: * tune/* (GCD_ACCEL_THRESHOLD, GCDEXT_THRESHOLD): Tune these.
8620:
8621: * mpn/generic/gcdext.c (GCDEXT_THRESHOLD): Rename from THRESHOLD,
8622: use with >=, adjust default to 17 accordingly.
8623: Use new *_SWAP macros.
8624:
8625: * mpn/generic/gcd.c (GCD_ACCEL_THRESHOLD): Rename from
8626: ACCEL_THRESHOLD, use with >=, adjust default to 5 accordingly.
8627: Use new *_SWAP macros.
8628:
8629: * mpf/get_str.c, mpf/set_str.c, mpf/sub.c, mpz/add.c, mpz/ior.c,
8630: mpz/and.c, mpz/sub.c, mpz/xor.c, mpz/ui_pow_ui.c,
8631: mpn/generic/mul.c: Use new *_SWAP macros.
8632:
8633: * stack-alloc.h: Add extern "C" around prototypes.
8634:
8635: * gmp-impl.h: (MP_PTR_SWAP, etc): New macros.
8636: (_mp_allocate_func, etc): Use _PROTO.
8637: [TUNE_PROGRAM_BUILD]: More changes in tune program build part.
8638:
8639: 2000-04-28 Torbjorn Granlund <tege@swox.com>
8640:
8641: * mpn/pa64/add_n.s: Add `,entry' to export directive.
1.1.1.4 ! ohara 8642: * mpn/pa64/addmul_1.S, mpn/pa64/lshift.s, mpn/pa64/mul_1.S,
! 8643: mpn/pa64/rshift.s, mpn/pa64/sub_n.s, mpn/pa64/submul_1.S,
! 8644: mpn/pa64/umul_ppmm.S: Likewise.
1.1.1.2 maekawa 8645: * mpn/hppa/hppa1_1/udiv_qrnnd.S: New name for udiv_qrnnd.s.
8646: Add PIC support.
8647:
8648: 2000-04-29 Kevin Ryde <kevin@swox.se>
8649:
8650: * gmp-impl.h [TUNE_PROGRAM_BUILD] (TOOM3_MUL_THRESHOLD_LIMIT): New
8651: define.
8652: * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Use
8653: TOOM3_MUL_THRESHOLD_LIMIT, not a hard coded 500.
8654:
8655: * memory.c: Use <stdlib.h> for malloc etc, and use _PROTO.
8656: * stack-alloc.c: Don't use C++ reserved word "this".
8657: * urandom.h: Put extern "C" around prototypes.
8658: * mpz/powm.c: Switch a couple of parameters to "const", which they
8659: are, to satisfy g++.
8660:
8661: * randraw.c, stack-alloc.c, mpbsd/mout.c, mpbsd/mtox.c: Add casts to
8662: help g++.
8663:
8664: * stack-alloc.c: Provide dual ANSI/K&R function definitions.
8665: * mpz/addmul_ui.c,get_d.c,inp_str.c,perfpow.c,powm.c,pprime_p.c,
8666: rrandomb.c,set_str.c,ui_pow_ui.c: Ditto.
8667: * mpf/integer.c,set_str.c: Ditto.
8668: * mpbsd/min.c,xtom.c: Ditto.
8669: * mpn/generic/bz_divrem_n.c,dump.c,gcd_1.c,get_str.c,hamdist.c,
8670: popcount.c,random.c,random2.c,set_str.c: Ditto.
8671:
8672: * rand.c: Use <stdio.h> for NULL.
8673: * mpz/gcd_ui.c,gcdext.c,mul.c,perfpow.c,powm_ui.c,root.c,sqrt.c,
8674: sqrtrem.c: Ditto
8675: * mpf/sqrt.c,sqrt_ui.c: Ditto.
8676: * mpn/generic/perfsqr.c,sqrtrem.c: Ditto.
8677:
8678: * gmp-impl.h (NULL, malloc, realloc, free): Don't define/declare.
8679: (extern "C"): Add around function prototypes.
8680: (mpn_kara_mul_n, mpn_kara_sqr_n, mpn_toom3_mul_n, mpn_toom3_sqr_n):
8681: Add prototypes.
8682: [TUNE_PROGRAM_BUILD] (FIB_THRESHOLD): Add necessary redefinitions for
8683: use by tune program.
8684: * mpn/generic/mul_n.c: Remove mpn_toom3_mul_n prototype.
8685:
8686: * acinclude.m4 (GMP_C_ANSI2KNR): New macro.
8687: (GMP_CHECK_ASM_MMX, GMP_CHECK_ASM_SHLDL_CL): Fix to use
8688: $gmp_cv_check_asm_text which is what GMP_CHECK_ASM_TEXT sets.
8689: * configure.in (GMP_C_ANSI2KNR): Use this instead of AM_C_PROTOTYPES,
8690: for reasons described with its definition.
8691:
8692: * demos/Makefile.am (ansi2knr): Use $(top_builddir) nor $(top_srcdir).
8693:
8694: * mpz/fib_ui.c (FIB_THRESHOLD): Rename from FIB_THRES, for consistency.
8695: (FIB_THRESHOLD): Conditionalize so gmp-mparam.h can define a value.
8696: (mpz_fib_bigcase): Use >= FIB_THRESHOLD, same as main mpz_fib_ui.
8697: * tune/tuneup.c,Makefile.am (FIB_THRESHOLD): Tune this.
8698:
8699: * configure.in (*-*-aix* gmp_m4postinc): Fix setting (don't overwrite
8700: a value just stored).
8701:
8702: 2000-04-26 Kevin Ryde <kevin@swox.se>
8703:
8704: * mpn/sparc32/udiv_fp.asm: Use mpn_udiv_qrnnd macro.
8705: * mpn/sparc32/udiv_nfp.asm: Ditto.
8706: * mpn/sparc32/v8/supersparc/udiv.asm: Ditto.
8707: * mpn/sparc32/umul.asm: Name the function mpn_umul_ppmm.
8708: * mpn/sparc32/v8/umul.asm: Ditto.
8709: * mpn/powerpc32/umul.asm: Ditto.
8710:
8711: * mpn/x86/syntax.h: Remove file, since now unused.
8712:
8713: * configure.in (x86): Remove -DBROKEN_ALIGN and -DOLD_GAS
8714: previously used by .S files.
8715: (x86 extra_functions): Add udiv and umul.
8716: (GMP_PROG_M4): Use this instead of AC_CHECK_PROG(M4,m4,...)
8717: (HAVE_NATIVE_*): Loosen up the regexp to "PROLOGUE.*" so as to
8718: accept PROLOGUE_GP on alpha.
8719:
8720: * acconfig.h (HAVE_NATIVE_mpn_umul_ppmm, udiv_qrnnd, invert_limb):
8721: New template defines.
8722: * mpn/asm-defs.m4 (mpn_umul_ppmm, mpn_udiv_qrnnd): New define_mpn()s.
8723: * longlong.h (umul_ppmm, udiv_qrnnd): Use a library version if
8724: it's available and an asm macro isn't.
8725: * gmp-impl.h (invert_limb): Ditto.
8726:
8727: * gmp-impl.h (ASSERT_NOREALLOC): Not a good idea, remove it.
8728:
8729: * acinclude.m4 (GMP_PROG_M4): New macro.
8730:
8731: 2000-04-25 Linus Nordberg <linus@swox.se>
8732:
8733: * gmp.texi (Random State Initialization): Correct arguments to
8734: `gmp_randinit'.
8735:
8736: * acinclude.m4 (GMP_VERSION): Change `eval' --> `m4_eval'. Fix
8737: from Kevin.
8738: * aclocal.m4: Regenerate.
8739:
8740: 2000-04-25 Kevin Ryde <kevin@swox.se>
8741:
8742: * mpn/x86/aors_n.asm: Remove parentheses around an immediate that
8743: Solaris "as" doesn't like, change by Torbjorn.
8744:
8745: 2000-04-24 Kevin Ryde <kevin@swox.se>
8746:
8747: * configure.in (AC_CHECK_FUNCS): Add strtoul.
8748:
8749: * mpn/generic/mul_n.c [TUNE_PROGRAM_BUILD] (mpn_mul_n): Bigger
8750: array for karatsuba temporary space for tune program build.
8751: (mpn_toom3_sqr_n) Remove an unused variable.
8752:
8753: * demos/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
8754: Add "allprogs:" pseudo-target.
8755: * demos/factorize.c, demos/isprime.c: Switch to ANSI functions,
8756: rely on ansi2knr.
8757:
8758: * gmp.texi (Getting the Latest Version of GMP): Add reference to
8759: ftp.gnu.org mirrors list.
8760: * INSTALL: Add arg count check to example programs.
8761:
8762: * mpn/x86/*/*.asm: Convert to FORTRAN ... or rather to
8763: FORTRAN-style "C" commenting to support Solaris "as".
8764: * mpn/x86/x86-defs.m4: Ditto, and add another Zdisp insn.
8765: * mpn/asm-defs.m4 (C): Update comments.
8766: * mpn/x86/README.family: Add a note on commenting, remove
8767: description of .S files.
8768:
8769: * mpn/sparc64/addmul_1.asm, mul_1.asm, submul_1.asm: Use
8770: include_mpn().
8771:
8772: 2000-04-23 Torbjorn Granlund <tege@swox.com>
8773:
8774: * config.sub: Merge with FSF version of April 23.
8775:
8776: * mpn/powerpc32: Use dnl/C instead of `#' for comments.
8777:
8778: * config.guess: Get "model" limit between pentium 2 and pentium3 right.
8779: Get rid of code determining `_' prefix; use double labels instead.
8780: * config.guess: Partially merge with FSF version of April 22.
8781: (Don't bring over NetBSD changes for now.)
8782:
8783: 2000-04-23 Kevin Ryde <kevin@swox.se>
8784:
1.1.1.4 ! ohara 8785: * tune/Makefile.am, tune/README, tune/common.c, tune/rdtsc.asm,
! 8786: tune/speed.c, tune/speed.h, tune/time.c, tune/tuneup.c: New files.
1.1.1.2 maekawa 8787: * tune/Makefile.in: New file, generated from Makefile.am.
8788:
8789: * gmp-impl.h (ASSERT_NOREALLOC,TMP_ALLOC_LIMBS): New macros.
8790: [TUNE_PROGRAM_BUILD] Further mods for tune program builds.
8791:
8792: * mpz/Makefile.am: Add -DOPERATION_$* for new mul_siui.c.
8793: Add rules to build mul_si and mul_ui from a common mul_siui.c.
8794: * mpz/mul_siui.c: New file, derived from and replacing mul_ui.c.
8795: * gmp.h (mpz_mul_si): New prototype and define.
8796:
8797: * mpn/tests/*.c [__i386__] (CLOCK): Don't use floating point in
8798: CLOCK because cpp can't handle floats in #if's (TIMES is derived
8799: from CLOCK by default).
8800:
8801: * mpn/asm-defs.m4 (include_mpn): New macro.
8802: (m4_assert_numargs) Changes to implementation.
8803:
8804: * mpf/Makefile.am: Add -DOPERATION_$* for new integer.c.
8805: Remove explicit rules for floor.o etc.
8806: * mpf/integer.c: Use OPERATION_$* for floor/ceil/trunc.
8807:
8808: * mpn/Makefile.am: Put "tests" in SUBDIRS.
8809: * mpn/tests/Makefile.am: New file providing rules to build test
8810: programs, nothing done in a "make all" or "make check" though.
8811: * mpn/tests/README: New file.
8812:
8813: * acconfig.h (HAVE_PENTIUM_RDTSC): New define.
8814:
8815: * configure.in (x86): Rearrange target cases.
8816: Add mulfunc aors_n and aorsmul_1 for x86 and pentium (now all x86s).
8817: Remove asm-syntax.h generation not needed.
8818: Remove now unused family=x86.
8819: (sparc) Remove unused family=sparc.
8820: (HAVE_PENTIUM_RDTSC) New AC_DEFINE and AM_CONDITIONAL.
8821: (AM_C_PROTOTYPES) New test, supporting ansi2knr.
8822: (AC_CHECK_HEADERS) Add getopt.h, unistd.h and sys/sysctl.h for
8823: tune progs.
8824: (AC_CHECK_FUNCS) Add getopt_long, sysconf and sysctlbyname for
8825: tune progs.
8826: (config.m4 CONFIG_TOP_SRCDIR) Renamed from CONFIG_SRCDIR.
8827: (config.m4 asm-defs.m4) Use CONFIG_TOP_SRCDIR and include().
8828: (gmp_m4postinc) Use include_mpn().
8829: (gmp_links) Omit asm-defs.m4/asm.m4 and gmp_m4postinc's.
8830: (MULFUNC_PROLOGUE) Fix regexps so all functions get AC_DEFINE'd.
8831: (PROLOGUE) Ditto (native copyi and copyd were unused in gmp 3).
8832: (KARATSUBA_SQR_THRESHOLD) Copy from gmp-mparam.h into config.m4.
8833: (AC_OUTPUT) Add tune/Makefile, mpn/tests/Makefile.
8834:
8835: * Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
8836: (SUBDIRS): Add tune, reorder directories.
8837: (MPZ_OBJECTS): Add mpz/mul_si.lo.
8838: (libmp_la_SOURCES): Use this for top-level objects, not .lo's.
1.1.1.4 ! ohara 8839: * ansi2knr.c, ansi2knr.1: New files, provided by automake.
1.1.1.2 maekawa 8840:
8841: * mpn/x86/aors_n.asm: Convert add_n.S and sub_n.S to a
8842: multi-function aors_n.asm, no object code change.
8843: * mpn/x86/pentium/aors_n.asm: Ditto.
8844: * mpn/x86/aorsmul_1.asm: Ditto for addmul/submul.
8845: * mpn/x86/pentium/aorsmul_1.asm: Ditto.
8846:
1.1.1.4 ! ohara 8847: * mpn/x86/lshift.asm, mpn/x86/mul_1.asm, mpn/x86/mul_basecase.asm,
! 8848: mpn/x86/rshift.asm: Convert from .S, no object code change.
! 8849: * mpn/x86/pentium/lshift.asm, mpn/x86/pentium/mul_1.asm,
! 8850: mpn/x86/pentium/mul_basecase.asm, mpn/x86/pentium/rshift.asm: Ditto.
1.1.1.2 maekawa 8851:
8852: * gmp.texi (Reporting Bugs): Itemize the list of things to include.
8853: (Miscellaneous Float Functions): Correct typo in mpf_ceil etc
8854: argument types.
8855: Change @ifinfo -> @ifnottex for benefit of makeinfo --html.
8856: Remove unnecessary @iftex's around @tex.
8857:
8858: 2000-04-22 Torbjorn Granlund <tege@swox.com>
8859:
8860: * config.guess: Generalize x86 cpu determination code.
8861: Now works on Solaris.
8862:
8863: * mpz/nextprime.c: Rewrite still disabled code.
8864:
8865: * configure.in: Specifically match freebsd[3-9].
8866:
8867: 2000-04-21 Torbjorn Granlund <tege@swox.com>
8868:
8869: * rand.c: Call mpz_clear for otherwise leaking mpz_t.
8870:
8871: * mpz/pprime_p.c (mpz_probab_prime_p): Merge handling of negative
8872: n into code for handling small positive n. Merge variables m and n.
8873: After dividing, simply call mpz_millerrabin.
8874: (isprime): Local variables now use attribute `long'.
8875: (mpz_millerrabin): New static function, based on code from
8876: mpz_probab_prime_p.
8877: (millerrabin): Now simple workhorse for mpz_millerrabin.
8878:
8879: 2000-04-19 Torbjorn Granlund <tege@swox.com>
8880:
8881: * gmp-impl.h: Fix parenthesis error in test for __APPLE_CC__.
8882:
8883: 2000-04-18 Linus Nordberg <linus@swox.se>
8884:
8885: * NEWS: Add info about shared libraries. Remove reference to
8886: gmp_randinit_lc.
8887:
8888: 2000-04-17 Torbjorn Granlund <tege@swox.com>
8889:
8890: * Version 3.0 released.
8891:
8892: * mpn/arm/add_n.S: New version from Robert Harley.
8893: * mpn/arm/addmul_1.S: Likewise.
8894: * mpn/arm/mul_1.S: Likewise.
8895: * mpn/arm/sub_n.S: Likewise.
8896:
8897: * gmp.h (__GNU_MP_VERSION_PATCHLEVEL): Now 0.
8898:
8899: 2000-04-17 Linus Nordberg <linus@swox.se>
8900:
8901: * configure.in (hppa2.0*-*-*): Pass `+O3' to cc/c89 in 64-bit mode
8902: to avoid compiler bug.
8903: (ns32k*-*-*): Fix typo in path. Change by Kevin.
8904: (alpha*-*-osf*): New case. Pass assembly flags for architecture
8905: to gcc.
8906: (alpha*-*-*): Don't bother searching for cc.
8907: * configure: Regenerate.
8908:
8909: * Makefile.am (EXTRA_DIST): Add `macos', `.gdbinit'.
8910: * Makefile.in: Regenerate.
8911: * mpn/Makefile.am (EXTRA_DIST): Add `m88k', `lisp'.
8912: * mpn/Makefile.in: Regenerate.
8913:
8914: 2000-04-16 Kevin Ryde <kevin@swox.se>
8915:
8916: * README: Updates, and don't duplicate the example in INSTALL.
8917: * INSTALL: Minor updates.
8918: * gmp.texi (Installing MP): Minor edits, restore CC/CFLAGS description.
8919:
8920: 2000-04-16 Linus Nordberg <linus@swox.se>
8921:
8922: * configure.in (*-*-cygwin*): Select BSD_SYNTAX to avoid
8923: .type/.size in PROLOGUE for ELF_SYNTAX. Override ALIGN definition
8924: from x86/syntax.h.
8925: (gmp_xoptcflags_${CC}): New set of variables, indicating
8926: ``exclusive optional cflags''.
8927: (most sparcs): Use gmp_xoptcflags instead of gmp_optcflags to
8928: ensure that we pass CPU type to older gcc.
8929: (CFLAGS): CFLAGS on the command line was spoiled.
8930: * configure: Regenerate.
8931:
8932: 2000-04-16 Linus Nordberg <linus@swox.se>
8933:
8934: * configure.in: Invoke AC_PROG_LIBTOOL directly.
8935:
8936: * acinclude.m4 (GMP_PROG_CC_FIND): Quote source variable when
8937: setting CC64 and CFLAGS64.
8938: (GMP_PROG_CC_SELECT): Cache result.
8939: (GMP_PROG_LIBTOOL): Remove.
8940:
8941: * aclocal.m4: Regenerate.
8942: * configure: Regenerate.
8943:
1.1.1.4 ! ohara 8944: 2000-04-16 Linus Nordberg <linus@swox.se>
! 8945:
! 8946: * tests/rand/t-rand.c (main): Add non-ANSI function declaration.
! 8947: Don't use `const'.
! 8948:
1.1.1.2 maekawa 8949: 2000-04-16 Torbjorn Granlund <tege@swox.com>
8950:
8951: * mpn/generic/dump.c: Suppress output of leadign zeros.
8952:
8953: * mpz/inp_str.c: Fix memory leakage.
8954:
8955: * mpz/tests/reuse.c (dss_func_division): Add a final 1.
8956:
8957: * longlong.h (alpha count_leading_zeros): Wrap in __MPN.
8958: * mpn/alpha/cntlz.asm: Use __gmpn prefix (by means of __MPN).
8959:
8960: * longlong.h (__umul_ppmm, __udiv_qrnnd): Wrap in __MPN.
8961: * mpn/alpha/udiv_qrnnd.S: Use __gmpn prefix.
8962: * mpn/hppa/udiv_qrnnd.s: Likewise.
8963: * mpn/hppa/hppa1_1/udiv_qrnnd.s: Likewise.
8964: * mpn/pa64/udiv_qrnnd.c: Likewise (by means of __MPN).
8965: * mpn/pa64/umul_ppmm.S: Likewise.
8966: * mpn/sparc32/udiv_fp.asm: Likewise (by means of MPN).
8967: * mpn/sparc32/udiv_nfp.asm: Likewise (by means of MPN).
8968: * mpn/sparc32/v8/supersparc/udiv.asm: Likewise (by means of MPN).
8969:
8970: * mpn/generic/tdiv_qr.c: Work around gcc 2.7.2.3 i386 register handling
8971: bug.
8972:
8973: * mpn/generic/tdiv_qr.c: Use udiv_qrnnd instead of mpn_divrem_1
8974: when computing appropriate quotient; mpn_divrem_1 writes too
8975: many quotient limbs.
8976:
8977: * mpn/asm-defs.m4: invert_normalized_limb => invert_limb.
8978: * mpn/alpha/invert_limb.asm: mpn_invert_normalized_limb =>
8979: mpn_invert_limb.
8980: * gmp.h: Likewise.
8981: * gmp-impl.h (alpha specific): invert_normalized_limb => invert_limb;
8982: wrap with __MPN.
8983: * longlong.h (alpha udiv_qrnnd): Likewise.
8984:
8985: 2000-04-16 Kevin Ryde <kevin@swox.se>
8986:
8987: * gmp.h (mp_set_memory_functions,mp_bits_per_limb,gmp_errno): Add
8988: #defines so the library symbols are __gmp_*.
8989: * errno.c: Include gmp.h.
8990: * gmp-impl.h (_mp_allocate_func,etc): Add #defines to __gmp_*.
8991: (__clz_tab): New #define to __MPN(clz_tab).
8992: * stack-alloc.c (__gmp_allocate_func,etc): Change from _mp_*.
8993:
8994: * Makefile.am (libmp_la_DEPENDENCIES): Add some mpz files needed
8995: for new mpz_powm (pow in libmp).
8996: (EXTRA_DIST): Add projects directory.
8997:
8998: * mpn/*: Change __mpn to __gmpn.
8999: * gmp.h (__MPN): Ditto.
9000: * stack_alloc.c,stack-alloc.h: Change __tmp to __gmp_tmp.
9001:
9002: * mpn/generic/sb_divrem_mn.c (mpn_sb_divrem_mn): Avoid gcc 2.7.2.3
9003: i386 register handling bug (same as previously in mpn_divrem_classic).
9004:
9005: * mpn/generic/divrem.c: Now contains mpn_divrem, which is not an
9006: internal function, so remove warning comment.
9007:
9008: * gmp.texi (Compatibility with Version 2.0.x): Source level only.
9009:
9010: 2000-04-16 Linus Nordberg <linus@swox.se>
9011:
9012: * configure.in (hppa1.0*): Prefer c89 to cc.
9013: * configure: Regenerate.
9014:
9015: 2000-04-15 Linus Nordberg <linus@swox.se>
9016:
9017: * configure.in: If `mpn_path' is set by user on configure command
9018: line, use that as path.
9019: * configure: Regenerate.
9020:
9021: 2000-04-15 Linus Nordberg <linus@swox.se>
9022:
9023: * configure.in (hppa2.0*): Use path "hppa/hppa1_1 hppa" if no
9024: 64-bit compiler was found.
9025: * configure: Regenerate.
9026:
9027: 2000-04-15 Linus Nordberg <linus@swox.se>
9028:
9029: * configure.in: Honor `CC' and `CFLAGS' set by user on configure
9030: command line.
9031: * acinclude.m4: (GMP_PROG_CC_SELECT): Set CFLAGS if not set already.
9032: * aclocal.m4: Regenerate.
9033: * configure: Regenerate.
9034:
9035: 2000-04-15 Linus Nordberg <linus@swox.se>
9036:
9037: * acinclude.m4 (GMP_PROG_CC_FIND): Remove debug output. Remove
9038: commented out code.
9039: * aclocal.m4: Regenerate.
9040: * configure: Regenerate.
9041:
9042: * configure.in: Make all `-mcpu' options to gcc optional.
9043: * configure: Regenerate.
9044:
1.1.1.4 ! ohara 9045: * tests/rand/Makefile.am: Don't do anything for target 'all'.
! 9046: * tests/rand/Makefile.in: Regenerate.
! 9047:
1.1.1.2 maekawa 9048: 2000-04-15 Kevin Ryde <kevin@swox.se>
9049:
9050: * README: Small updates.
9051: * NEWS: Add some things about 3.0.
9052:
9053: * mpz/Makefile.am (EXTRA_DIST): Remove dmincl.c.
9054:
9055: * Makefile.am: Use -version-info on libraries, not -release.
9056:
9057: * mpz/tdiv_qr.c: Add mdiv function header #ifdef BERKELEY_MP.
9058: * mpbsd/Makefile.am: Use mpz/tdiv_qr.c, not mdiv.c.
9059: * Makefile.am (MPBSD_OBJECTS): Change mdiv.lo to tdiv_qr.lo.
9060: (libmp_la_DEPENDENCIES): Add mp_clz_tab.lo.
9061: * mpbsd/mdiv.c: Remove file.
9062:
9063: * config/mt-linux,mt-m68k,mt-m88110,mt-ppc,mt-ppc64-aix,mt-pwr,
9064: mt-sprc8-gcc,mt-sprc9-gcc,mt-supspc-gcc,mt-vax,mt-x86,
9065: mpn/config/mt-pa2hpux,mt-sprc9,t-oldgas,t-ppc-aix,t-pwr-aix:
9066: Remove configure fragments not used since change to autoconf.
9067:
9068: * mpn/generic/bz_divrem_n.c,sb_divrem_mn.c: Add comment that
9069: internal functions are changeable and shouldn't be used directly.
9070:
9071: 2000-04-15 Linus Nordberg <linus@swox.se>
9072:
9073: * configure.in: Remove debug output.
9074: * configure: Regenerate.
9075:
9076: 2000-04-15 Torbjorn Granlund <tege@swox.com>
9077:
9078: * mpn/generic/tdiv_qr.c: Don't use alloca directly.
9079:
9080: * mpz/tdiv_qr.c: Fix typo.
9081: * mpz/tdiv_r.c: Fix typo.
9082: * mpz/tdiv_q.c: Fix typo.
9083:
9084: * configure.in: Disable -march=pentiumpro due to apparent compiler
9085: problems.
9086:
9087: * mpz/powm.c: Replace with new code from Paul Zimmermann.
9088:
9089: * mpz/tdiv_q.c: Remove debug code.
9090:
9091: * mpn/generic/divrem.c: Remove C++ style `//' commented-out code.
9092: * mpn/generic/sb_divrem_mn.c: Likewise.
9093:
9094: 2000-04-14 Torbjorn Granlund <tege@swox.com>
9095:
9096: * mpz/cdiv_q.c: Change temp allocation for new requirements of
9097: mpz_tdiv_qr.
9098: * mpz/fdiv_q.c: Likewise.
9099:
9100: * mpn/sparc64/gmp-mparam.h: Set up parameters for TOOM3.
9101:
9102: * mpz/dmincl.c: Delete file.
9103: * mpz/tdiv_qr.c: Rewrite using mpn_tdiv_qr.
9104: * mpz/tdiv_r.c: Likewise.
9105: * mpz/tdiv_q.c: Likewise.
9106:
9107: * mpn/generic/tdiv_qr.c: New file.
9108: * mpn/generic/bz_divrem_n.c: New file.
9109: * mpn/generic/sb_divrem_mn.c: New file.
9110:
9111: * gmp-impl.h (MPZ_REALLOC): New macro.
9112: (mpn_sb_divrem_mn): Declare.
9113: (mpn_bz_divrem_n): Declare.
9114: (mpn_tdiv_qr): Declare.
9115:
9116: * configure.in (gmp_mpn_functions): Delete divrem_newt and divrem_1n;
9117: add tdiv_qr, bz_divrem_n, and sb_divrem_mn.
9118: * mpn/generic/divrem_newt.c: Delete file.
9119: * mpn/generic/divrem_1n.c: Delete file.
9120:
9121: * gmp.h (mpn_divrem_newton): Remove declaration.
9122: (mpn_divrem_classic): Remove declaration.
9123:
9124: * gmp.h (mpn_divrem): Remove function definition.
9125: * mpn/generic/divrem.c: Replace mpn_divrem_classic with a
9126: mpn_divrem wrapper.
9127:
9128: 2000-04-14 Kevin Ryde <kevin@swox.se>
9129:
9130: * mpf/dump.c, mpz/dump.c, mpn/generic/dump.c,
9131: mpn/generic/divrem.c, mpn/generic/divrem_1n.c,
9132: mpn/generic/divrem_2.c, mpn/generic/divrem_newt.c,
9133: mpn/generic/mul.c, mpn/generic/mul_basecase.c,
9134: mpn/generic/mul_n.c, mpn/generic/sqr_basecase.c,
9135: mpn/generic/udiv_w_sdiv.c: Add comment that internal functions are
9136: changeable and shouldn't be used directly.
9137:
9138: * mpq/div.c: Use DIVIDE_BY_ZERO (previously didn't get an
9139: exception on zero divisor).
9140:
9141: * mpf/tests/t-get_d.c, mpz/tests/reuse.c: Add K&R function
9142: definitions.
9143: * mpz/tests/t-2exp.c: Don't use ANSI-ism 2ul.
9144:
9145: * gmp.texi (Installing MP): Build problem notes for GSYM_PREFIX
9146: and ranlib on native SunOS.
9147: Particular systems notes about AIX and HPPA shared libraries
9148: disabled.
9149: (MP Basics): Add that undocumented things shouldn't be used.
9150: (Introduction to MP): Add to CPUs listed.
9151:
9152: * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): Don't depend on C
9153: having "void".
9154:
9155: 2000-04-13 Linus Nordberg <linus@swox.se>
9156:
9157: * mpn/pa64/udiv_qrnnd.c (__udiv_qrnnd64): Add K&R function
9158: definition.
9159:
9160: * configure.in: Disable shared libraries for hppa*.
9161: (mips-sgi-irix6.*): Fix flags for 64-bit gcc.
9162: (hppa2.0*-*-*): Prefer c89 to cc.
9163: * configure: Regenerate.
9164:
9165: * gmp.h (gmp_randalg_t): Remove comma after last element.
9166:
1.1.1.4 ! ohara 9167: * tests/rand/t-rand.c: Add copyright notice.
! 9168:
1.1.1.2 maekawa 9169: 2000-04-13 Kevin Ryde <kevin@swox.se>
9170:
9171: * mpn/generic/mul_n.c, mpn/generic/gcdext.c, mpz/nextprime.c,
9172: mpz/remove.c, mpz/root.c: Add K&R function definitions.
9173: * mpz/rrandomb.c: Fix typo in K&R part.
9174: * stack-alloc.c: Add K&R style function pointer declarations.
9175:
9176: * mpz/root.c: Use SQRT_OF_NEGATIVE on even roots of negatives.
9177: Use DIVIDE_BY_ZERO on a "zero'th" root.
9178:
9179: * configure: Regenerate with autoconf backpatched to fix --srcdir
9180: absolute path wildcards that bash doesn't like, change by Linus.
9181:
9182: * gmp.texi (Integer Arithmetic): Document mpz_nextprime.
9183: (Miscellaneous Integer Functions): Fix mpz_fits_* formatting.
9184: (Installing MP): Comment-out CC and CFLAGS description.
9185:
9186: 2000-04-13 Linus Nordberg <linus@swox.se>
9187:
9188: * rand.c (gmp_randinit): Don't combine va_alist with ordinary
9189: arguments for non STDC.
9190:
9191: 2000-04-13 Torbjorn Granlund <tege@swox.com>
9192:
9193: * mpz/nextprime.c: Use proper names of new random types and functions.
9194:
9195: * mpz/rrandomb.c: New file.
9196: * mpz/Makefile.am: List it.
9197: * mpz/Makefile.in: Regenerate.
9198: * Makefile.am: Here too.
9199: * Makefile.in: Regenerate.
9200: * gmp.h: Declare mpz_rrandomb.
9201:
9202: 2000-04-12 Linus Nordberg <linus@swox.se>
9203:
9204: * Makefile.am, demos/Makefile.am, mpbsd/Makefile.am,
9205: mpbsd/tests/Makefile.am, mpf/Makefile.am, mpf/tests/Makefile.am,
9206: mpn/Makefile.am, mpq/Makefile.am, mpq/tests/Makefile.am,
9207: mpz/Makefile.am, mpz/tests/Makefile.am, tests/Makefile.am,
9208: tests/rand/Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'.
9209:
9210: * Makefile.in, demos/Makefile.in, mpbsd/Makefile.in,
9211: mpbsd/tests/Makefile.in, mpf/Makefile.in, mpf/tests/Makefile.in,
9212: mpn/Makefile.in, mpq/Makefile.in, mpq/tests/Makefile.in,
9213: mpz/Makefile.in, mpz/tests/Makefile.in, tests/Makefile.in,
9214: tests/rand/Makefile.in: Regenerate.
9215:
9216: 2000-04-12 Linus Nordberg <linus@swox.se>
9217:
9218: * randlc.c (gmp_randinit_lc): Disable function.
9219: * gmp.texi (Random State Initialization): Remove gmp_randinit_lc.
9220:
9221: * acinclude.m4 (GMP_CHECK_CC_64BIT): Compiling an empty main
9222: successfully with `-n32' will have to suffice on irix6.
9223: * aclocal.m4: Regenerate.
9224:
9225: * configure.in (sparc): Don't pass -D_LONG_LONG_LIMB to compiler.
9226: (mips-sgi-irix6.*): Use compiler option `-n32' rather than `-64'
9227: for 64-bit `cc'. Add options for gcc.
9228: * configure: Regenerate.
9229:
9230: * mpf/urandomb.c (mpf_urandomb): Add third parameter 'nbits'. If
9231: 'nbits' doesn't make even limbs, shift up result before
9232: normalizing.
9233:
9234: * gmp.h (mpf_urandomb): Add parameter to prototype.
9235:
9236: * mpf/urandom.c: Rename file to ...
9237: * mpf/urandomb.c: ... this.
9238: * Makefile.am (MPF_OBJECTS): Change urandom.lo --> urandomb.lo.
9239: * Makefile.in: Regenerate.
9240: * mpf/Makefile.am (libmpf_la_SOURCES): Change urandom.c --> urandomb.c.
9241: * mpf/Makefile.in: Regenerate.
9242:
9243: * config.in: Regenerate for HAVE_DECL_OPTARG.
9244:
9245: * randraw.c (_gmp_rand): Fix bug with _LONG_LONG_LIMB.
9246: (lc): Change return type.
9247: Use one temporary storage instead of two.
9248: Handle seed of size 0.
9249: Avoid modulus operation in some cases.
9250: Abort if M is not a power of 2.
9251: Fix bug with 64-bit limbs.
9252: Fix bug with small seed, small A and large M.
9253:
1.1.1.4 ! ohara 9254: * tests/rand/gen.c (main): Include gmp.h. Remove macros MIN, MAX. Add
! 9255: option '-q'. Don't demand argument N. Change parameters in call
! 9256: to mpf_urandomb.
! 9257:
! 9258: * tests/rand/t-rand.c: New file for testing random number generation.
! 9259:
! 9260: * tests/rand/Makefile.am: Run t-rand for 'make check'.
! 9261: (test, bigtest): Rename to manual-test, manual-bigtest.
! 9262: * tests/rand/Makefile.in: Regenerate.
! 9263:
1.1.1.2 maekawa 9264: 2000-04-12 Kevin Ryde <kevin@swox.se>
9265:
9266: * gmp-impl.h: Include config.h before TMP_ALLOC, so
9267: --disable-alloca works.
9268:
9269: * mpbsd/Makefile.am: Don't recompile top-level sources here.
9270: * Makefile.am (libmp_la_DEPENDENCIES): Put objects here instead,
9271: add errno.lo and stack-alloc.lo.
9272:
9273: * mpn/asm-defs.m4: Add a test and message for the unsuitable SunOS m4.
9274: * gmp.texi (Installing MP): Update note on SunOS m4 failure.
9275:
9276: * acconfig.h: Add copyright notice using @TOP@.
9277:
9278: * stack-alloc.c: Use _mp_allocate_func, not malloc.
9279: * gmp.texi (Installing MP): Note this under --disable-alloca.
9280:
9281: * gmp.texi (Comparison Functions): mpz_cmp_abs => mpz_cmpabs.
9282: (Integer Arithmetic): mpz_prime_p not yet implemented, comment out.
9283: (Float Arithmetic): mpf_pow_ui now implemented, uncomment-out.
9284: (Miscellaneous Float Functions): Add mpf_ceil, mpf_floor, mpf_trunc.
9285: (Low-level Functions): Add mpn_random2, with mpn_random.
9286:
9287: * mpn/m68k/mc68020/udiv.S: Rename from udiv.s.
9288: * mpn/m68k/mc68020/umul.S: Ditto.
9289:
9290: * mpn/alpha/umul.asm: Rename from umul.s, remove .file and
9291: compiler identifiers.
9292:
9293: * mpn/powerpc32/syntax.h: Removed, no longer used.
9294:
9295: * mpn/a29k/udiv.s: Remove .file and compiler identifiers.
9296: * mpn/a29k/umul.s: Ditto.
9297:
9298: * mpn/tests/ref.c: Use WANT_ASSERT.
9299: * mpn/tests/ref.h: Use _PROTO.
9300:
9301: * mpbsd/configure.in: Removed, no longer required.
9302:
9303: * mpf/div.c: Use DIVIDE_BY_ZERO.
9304: * mpf/div_ui.c: Ditto.
9305: * mpf/ui_div.c: Ditto.
9306: * mpq/inv.c: Ditto.
9307: * mpf/sqrt.c: Use SQRT_OF_NEGATIVE.
9308: * mpz/sqrt.c: Ditto.
9309: * mpz/sqrtrem.c: Ditto.
9310:
9311: * gmp-impl.h (GMP_ERROR,SQRT_OF_NEGATIVE): New macros.
9312: (DIVIDE_BY_ZERO): Use GMP_ERROR.
9313: (__mp_bases): #define to __MPN(mp_bases).
9314:
1.1.1.4 ! ohara 9315: 2000-04-11 Linus Nordberg <linus@swox.se>
! 9316:
! 9317: * tests/rand/stat.c (main): Initialize `l1runs' at declaration.
! 9318:
1.1.1.2 maekawa 9319: 2000-04-11 Kevin Ryde <kevin@swox.se>
9320:
9321: * mpz/fib_ui.c: Add K&R function definitions.
9322:
9323: * mpbsd/tests/Makefile.am (TESTS): Add a dummy test to avoid a
9324: shell problem with an empty "for tst in $(TESTS) ; ...".
9325: * mpbsd/tests/dummy.c: New file.
9326:
9327: 2000-04-10 Torbjorn Granlund <tege@swox.com>
9328:
9329: * mpz/bin_uiui.c: Delete several unused variables.
9330: Add copyright notice.
9331: * mpz/bin_ui.c: Add copyright notice.
9332:
9333: * longlong.h: Declare __count_leading_zeros for alpha.
9334:
9335: 2000-04-10 Linus Nordberg <linus@swox.se>
9336:
9337: * rand.c (gmp_randinit): Change parameter list to (rstate, alg, ...).
9338: * gmp.h: Change prototype accordingly.
9339: * mpz/pprime_p.c (millerrabin): Change call accordingly.
9340:
9341: * configure.in: Check for `optarg'.
9342: * configure: Regenerate.
9343:
9344: * mpn/Makefile.am: Remove incorrect comment.
9345: * mpn/Makefile.in: Regenerate.
9346:
9347: * gmp.h: Rename most of the random number functions, structs and
9348: some of the struct members.
9349: * rand.c (gmp_randinit): Likewise.
9350: * randclr.c (gmp_randclear): Likewise.
9351: * randlc.c (gmp_randinit_lc): Likewise.
9352: * randlc2x.c (gmp_randinit_lc_2exp): Likewise.
9353: * randraw.c (lc): Likewise.
9354: (_gmp_rand_getraw): Likewise.
9355: * randsd.c (gmp_randseed): Likewise.
9356: * randsdui.c (gmp_randseed_ui): Likewise.
9357: * gmp.texi: Likewise.
9358:
9359: * gmp.texi: Use three hyphens for a dash.
9360: (Low-level Functions): Remove documentation for gmp_rand_getraw.
9361: (Random Number Functions): Add info on where to find documentation
9362: on the random number functions.
9363:
1.1.1.4 ! ohara 9364: * tests/rand/Makefile.am (test, bigtest): Quote argument to grep.
! 9365: * tests/rand/Makefile.in: Regenerate.
! 9366:
! 9367: * tests/rand/gen.c: Declare optarg, optind, opterr if not already
! 9368: declared.
! 9369: (main): Use new names for the random stuff.
! 9370: (main): Don't use strtoul() if we don't have it. Use strtol()
! 9371: instead, if we have it. Otherwise, use atoi().
! 9372: (main): Use srandom/srandomdev for __FreeBSD__ only.
! 9373: (main): Use new parameter order to gmp_randinit().
! 9374:
! 9375: * tests/rand/stat.c: Declare optarg, optind, opterr if not already
! 9376: declared.
! 9377:
1.1.1.2 maekawa 9378: 2000-04-10 Torbjorn Granlund <tege@swox.com>
9379:
9380: * mpz/pprime_p.c: Pass 0L for mpz_scan1. mpz_mmod => mpz_mod.
9381: (millerrabin): Use new random interface.
9382: (millerrabin): ... and don't forget to call gmp_randclear.
9383:
9384: * mpz/nextprime.c: New file.
9385: * gmp.h: Declare mpz_nextprime.
9386: * mpz/Makefile.am: List nextprime.c.
9387: * mpz/Makefile.in: Regenerate.
9388: * Makefile.am: List mpz/nextprime.lo.
9389: * Makefile.in: Regenerate.
9390:
9391: 2000-04-10 Kevin Ryde <kevin@swox.se>
9392:
1.1.1.4 ! ohara 9393: * move-if-change, mpz/tests/move-if-change, mpq/tests/move-if-change,
! 9394: mpf/tests/move-if-change: Remove, no longer used.
1.1.1.2 maekawa 9395:
9396: * Makefile.am (SUBDIRS): Add tests, demos, mpbsd.
9397: (libmp.la): New target, conditional on WANT_MPBSD.
9398: (libgmp_la_LIBADD): Add -lm.
9399: (AUTOMAKE_OPTIONS): Add check-news.
9400: (include_HEADERS): Setup to install gmp.h and possibly mp.h.
9401: (DISTCLEANFILES): Add generated files.
9402: (check): Remove explicit target (now uses check-recursive).
9403:
9404: * configure.in: Use AM_CONFIG_HEADER.
9405: Add --enable-mpbsd setting automake conditional WANT_MPBSD.
9406: Output demos/Makefile, mpbsd/Makefile and mpbsd/tests/Makefile.
9407:
9408: * mpz/Makefile.am: Add SUBDIRS=tests, shorten INCLUDES since now
9409: using AM_CONFIG_HEADER.
9410: * mpq/Makefile.am: Ditto.
9411: * mpf/Makefile.am: Ditto, and add DISTCLEANFILES.
9412: * mpn/Makefile.am: Shorten INCLUDES, amend some comments.
9413: * mpz/tests/Makefile.am: Use TESTS and $(top_builddir).
9414: * mpf/tests/Makefile.am: Ditto.
9415: * mpq/tests/Makefile.am: Ditto.
9416: * demos/Makefile.am: New file.
9417:
9418: * mpbsd/Makefile.am: New file, derived from old mpbsd/Makefile.in.
9419: * mpbsd/Makefile.in: Now generated from Makefile.am.
9420: * mpbsd/realloc.c: Removed, use mpz/realloc.c instead.
9421: * mpbsd/tests/Makefile.am: New file.
9422: * mpbsd/tests/Makefile.in: New file, generated from Makefile.am.
9423: * mpbsd/tests/allfuns.c: New file.
9424:
9425: * gmp.texi (Top): Use @ifnottex, to help makeinfo --html.
9426: (Installing MP): Describe --enable-mpbsd and demo programs.
9427:
1.1.1.4 ! ohara 9428: * tests/rand/statlib.c: mpz_cmp_abs => mpz_cmpabs.
! 9429:
! 9430: * tests/rand/Makefile.am (LDADD): Don't need -lm (now in libgmp.la).
! 9431: (EXTRA_PROGRAMS): Not noinst_PROGRAMS.
! 9432: (INCLUDES): Shorten to -I$(top_srcdir) now using AM_CONFIG_HEADER.
! 9433:
1.1.1.2 maekawa 9434: 2000-04-09 Torbjorn Granlund <tege@swox.com>
9435:
9436: * mpz/urandomm.c: Get type of count right.
9437: Simplify computation of nbits.
9438:
9439: 2000-04-08 Torbjorn Granlund <tege@swox.com>
9440:
9441: * mpz/urandomb.c: Fix reallocation condition.
9442: Simplify size computation.
9443:
9444: 2000-04-08 Linus Nordberg <linus@swox.se>
9445:
9446: * acinclude.m4 (GMP_CHECK_CC_64BIT): Add special handling for
9447: HPUX.
9448: (GMP_CHECK_ASM_W32): Ditto.
9449: * aclocal.m4: Regenerate.
9450:
9451: * mpn/Makefile.am: Use $(CCAS) for assembling.
9452: (.asm.obj): Add rule.
9453: * mpn/Makefile.in: Regenerate.
9454:
9455: * gmp.texi (Miscellaneous Integer Functions): Fix typos.
9456:
9457: * configure.in: Never pass `-h' to grep.
9458: (mips-sgi-irix6.[2-9]*): Try to find 64-bit compiler.
9459: (hppa1.0*-*-*): New flag for cc.
9460: (hppa2.0*-*-*): Try to find 64-bit compiler. Chose path, set
9461: CCAS.
9462: * configure: Regenerate.
9463:
9464: 2000-04-08 Torbjorn Granlund <tege@swox.com>
9465:
9466: * mpz/bin_ui.c: Don't depend on ANSI C features.
9467: * mpz/bin_uiui.c: Likewise.
9468:
9469: * Makefile.am (MPZ_OBJECTS): mpz/cmp_abs* => mpz/cmpabs*.
9470: (MPQ_OBJECTS): Add mpq/set_d.lo.
9471: (MPZ_OBJECTS): Add mpz/fits*.lo.
9472: * Makefile.in: Regenerate.
9473:
9474: * mpz/cmpabs.c: New name for mpz/cmp_abs.c.
9475: * mpz/cmpabs_ui.c: New name for mpz/cmp_abs_ui.c.
9476: * mpz/Makefile.am: Corresponding changes.
9477: * mpz/Makefile.in: Regenerate.
9478: * gmp.h: mpz_cmp_abs* => mpz_cmpabs*.
9479:
9480: * mpz/addmul_ui.c (mpn_neg1): Don't depend on ANSI C features.
9481:
9482: * mpz/invert.c: Use TMP_MARK since we invoke MPZ_TMP_INIT.
9483:
9484: * gmp.h (mpq_set_d): Declare correctly.
9485: (mpz_root): Use _PROTO.
9486: (mpz_remove): Use _PROTO.
9487: (mpf_pow_iu): Use _PROTO.
9488:
9489: * mpn/asm-defs.m4 (MPN_PREFIX): Revert previous change.
9490: * gmp.h (__MPN): Revert previous change.
9491:
9492: * mpz/perfpow.c: De-ANSI-fy. Add copyright notice.
9493:
9494: * mpz/set_d.c: Misc cleanups.
9495:
9496: * mpq/set_d: New file.
9497: * gmp.h: Declare mpq_set_d.
9498: * mpq/Makefile.am: List set_d.c.
9499: * mpq/Makefile.in: Regenerate.
9500:
9501: 2000-04-07 Torbjorn Granlund <tege@swox.com>
9502:
9503: * mpz/fits_sint_p.c: New file.
9504: * mpz/fits_slong_p.c: New file.
9505: * mpz/fits_sshort_p.c: New file.
9506: * mpz/fits_uint_p.c: New file.
9507: * mpz/fits_ulong_p.c: New file.
9508: * mpz/fits_ushort_p.c: New file.
9509: * gmp.h: Declare mpz_fits_*.
9510: * mpz/Makefile.am: List fits_* files.
9511: * mpz/Makefile.in: Regenerate.
9512:
9513: 2000-04-06 Kevin Ryde <kevin@swox.se>
9514:
9515: * gmp.texi (Installing MP): Add known build problem SunOS 4.1.4 m4
9516: failure.
9517:
9518: * mpn/x86/pentium/gmp-mparam.h: Tune thresholds.
9519: * mpn/x86/p6/gmp-mparam.h: Ditto.
9520: * mpn/x86/k6/gmp-mparam.h: Tune thresholds, add UMUL_TIME, UDIV_TIME.
9521: * mpn/x86/k7/gmp-mparam.h: Tune thresholds, amend UMUL_TIME.
9522:
9523: * mpn/generic/mul_n.c (mpn_kara_mul_n): Add an ASSERT.
9524: (mpn_kara_sqr_n): Add an ASSERT, use KARATSUBA_SQR_THRESHOLD.
9525: (mpn_toom3_sqr_n): Eliminate second evaluate3.
9526:
9527: * gmp-impl.h (mpn_com_n,MPN_LOGOPS_N_INLINE): Don't allow size==0.
9528: (tune_mul_threshold,tune_sqr_threshold): Conditionalize
9529: declarations on TUNE_PROGRAM_BUILD.
9530:
9531: * mpn/generic/sqr_basecase.c: Add an assert.
9532:
9533: 2000-04-05 Torbjorn Granlund <tege@swox.com>
9534:
9535: * gmp.h, mpn/asm-defs.m4: List the same functions for __MPN, but
9536: leave some commented out.
9537:
9538: * gmp-impl.h (MPN_LOGOPS_N_INLINE): Optimize.
9539: (mpn_com_n): Optimize.
9540:
9541: * gmp.h (__MPN): Make it use __gmpn instead of __mpn for consistency.
9542: * mpn/asm-defs.m4 (MPN_PREFIX): Likewise.
9543:
9544: * gmp.h (GMP_ERROR_ALLOCATE): New errcode.
9545:
9546: * gmp-impl.h (MPN_MUL_N_RECURSE): Delete.
9547: (MPN_SQR_RECURSE): Delete.
9548:
9549: * gmp-impl.h (TARGET_REGISTER_STARVED): New define.
9550:
9551: * gmp-impl.h (mpn_kara_sqr_n): Remap with __MPN.
9552: (mpn_toom3_sqr_n): Likewise.
9553: (mpn_kara_mul_n): Likewise.
9554: (mpn_toom3_mul_n): Likewise.
9555: (mpn_reciprocal): Likewise.
9556:
9557: * gmp-impl.h (__gmpn_mul_n): Remove declaration.
9558: (__gmpn_sqr): Likewise.
9559: * gmp.h (mpn_sqr_n): Declare/remap.
9560: * mpn/generic/mul.c (mpn_sqr_n): New name for mpn_sqr.
9561:
9562: * gmp.h (mpn_udiv_w_sdiv): Move __MPN remap from here...
9563: * gmp-impl.h: ...to here.
9564:
9565: 2000-04-05 Linus Nordberg <linus@swox.se>
9566:
9567: * gmp.texi (Top): Add `Random Number Functions' to menu.
9568: (Introduction to MP): Fix typo.
9569: (MP Basics): Create menu for all sections. Move `Random Number
9570: Functions' to its own chapter. Add nodes for all sections.
9571: (Function Classes): Mention random generation functions under
9572: miscellaneous.
9573: (Miscellaneous Integer Functions): Update mpz_urandomb,
9574: mpz_urandomm.
9575: (Low-level Functions): Remove mpn_rawrandom.
9576: (Random State Initialization): Update.
9577:
9578: * mpf/urandom.c (mpf_urandomb): Remove SIZE parameter. Normalize
9579: result correctly.
9580:
9581: * gmp.h (mpf_urandomb): Remove SIZE parameter.
9582:
9583: * randraw.c (gmp_rand_getraw): Handle the case where (1) the LC
9584: scheme doesn't generate even limbs and (2) more than one LC
9585: invokation is necessary to produce the requested number of bits.
9586:
9587: 2000-04-05 Torbjorn Granlund <tege@swox.com>
9588:
9589: * mpn/generic/mul_n.c (INVERSE_3): New name for THIRD, define for
9590: any BITS_PER_MP_LIMB.
9591: (MP_LIMB_T_MAX): New.
9592: (mpn_divexact3_n): Remove.
9593: (interpolate3): Use mpn_divexact_by3 instead of mpn_divexact3_n.
9594:
9595: 2000-04-05 Kevin Ryde <kevin@swox.se>
9596:
9597: * gmp-impl.h (KARATSUBA_MUL_THRESHOLD<2): Remove cpp test.
9598: (tune_mul_threshold,tune_sqr_threshold): Add declarations, used in
9599: development only.
9600:
9601: * mpn/x86/k7/sqr_basecase.asm: New file, only a copy of k6 for now.
9602:
9603: 2000-04-04 Torbjorn Granlund <tege@swox.com>
9604:
9605: * gmp-impl.h (TOOM3_MUL_THRESHOLD): Provide default.
9606: (TOOM3_SQR_THRESHOLD): Provide default.
9607:
9608: * mpn/generic/mul_n.c: Rewrite (mostly by Robert Harley).
9609: * mpn/generic/mul.c: Rewrite (mostly by Robert Harley).
9610:
9611: * configure.in (sparcv9 64-bit OS): Set extra_functions.
9612:
9613: 2000-04-04 Linus Nordberg <linus@swox.se>
9614:
9615: * mpn/generic/rawrandom.c: Remove file and replace with randraw.c
9616: on top level.
9617: (mpn_rawrandom): Rename to gmp_rand_getraw.
9618:
9619: * randraw.c: New file; essentially a copy of
9620: mpn/generic/rawrandom.c.
9621: (gmp_rand_getraw): New function (formerly known as mpn_rawrandom).
9622:
9623: * mpz/urandomb.c (mpz_urandomb): Change mpn_rawrandom -->
9624: gmp_rand_getraw.
9625: * mpz/urandomm.c (mpz_urandomb): Ditto.
9626: * mpf/urandom.c (mpf_urandomb): Ditto.
9627:
9628: * gmp.h (gmp_rand_getraw): Add function prototype.
9629: (mpn_rawrandom): Remove function prototype.
9630:
9631: * Makefile.am (libgmp_la_SOURCES): Add randraw.c.
9632: * Makefile.in: Regenerate.
9633:
9634: * configure.in (gmp_mpn_functions): Remove rawrandom.
9635: * configure: Regenerate.
9636:
9637: 2000-04-04 Linus Nordberg <linus@swox.se>
9638:
9639: * gmp.h (GMP_ERROR enum): Remove comma after last enumeration
9640: since the AIX compiler (xlc) doesn't like that.
9641:
9642: * randlc.c (gmp_rand_init_lc): Allocate enough space for seed to
9643: hold any upcoming seed.
9644: * randlc2x.c (gmp_rand_init_lc_2exp): Likewise.
9645:
9646: * mpn/generic/rawrandom.c: Remove debugging code.
9647: (mpn_lc): Don't reallocate seed.
9648:
9649: * mpz/urandomm.c (mpz_urandomm): Implement function.
9650:
9651: * mpz/urandomb.c (mpz_urandomb): Fix typo in function definition.
9652:
9653: 2000-04-04 Kevin Ryde <kevin@swox.se>
9654:
9655: * make.bat: Removed (no longer works, no longer supported).
9656: * mpn/msdos/asm-syntax.h: Removed (was used only by make.bat).
9657:
9658: 2000-04-03 Torbjorn Granlund <tege@swox.com>
9659:
9660: * mpn/generic/brandom.c: New file, replacing random2.
9661:
9662: 2000-04-02 Torbjorn Granlund <tege@swox.com>
9663:
9664: * mpn/sparc32/v9/submul_1.asm: Change some carry-form instructions
9665: into their plain counterparts.
9666:
9667: * mpn/sparc64/copyi.asm: Avoid executing ALIGN.
9668:
9669: * mpn/sparc64/mul_1.asm: Handle overlap of rp/sp.
9670: * mpn/sparc64/addmul_1.asm: Likewise.
9671: * mpn/sparc64/submul_1.asm: Likewise.
9672:
9673: 2000-04-01 Linus Nordberg <linus@swox.se>
9674:
9675: * gmp.h: Fix function prototypes for randomization functions.
9676: (__gmp_rand_lc_scheme_struct): Replace `m' with `m2exp'. Remove
9677: unused `bits'.
9678: (__gmp_rand_data_lc): Add `m2exp' as another way of representing
9679: the modulus.
9680: (__gmp_rand_state_struct): Remove unused `size'.
9681:
9682: * rand.c (__gmp_rand_scheme): Use better multipliers. Remove test
9683: schemes. Replace `m' with `m2exp'.
9684: (gmp_rand_init): Change parameters and return type. Use `m2exp'
9685: instead of `m'. Set `gmp_errno' on error. Disable BBS algorithm.
9686:
9687: * randlc.c (gmp_rand_init_lc): Don't use malloc(). Change
9688: parameters.
9689:
9690: * randclr.c (gmp_rand_clear): Don't use free(). Disable BBS
9691: algorithm. Set `gmp_errno' on error.
9692:
9693: * randlc2x.c (gmp_rand_init_lc_2exp): New function.
9694: * randsd.c (gmp_rand_seed): New function.
9695: * randsdui.c (gmp_rand_seed_ui): New function.
9696: * randlcui.c: Remove unused file.
9697:
9698: * mpn/generic/rawrandom.c (mpn_rawrandom): Rewrite.
9699: (mpn_lc): New static function.
9700:
9701: * mpz/urandomb.c (mpz_urandomb): Use ABSIZ() instead of SIZ() for
9702: determining size of ROP.
9703:
9704: * mpf/urandom.c (mpf_urandomb): Add third parameter, nbits. (Not
9705: used yet!)
9706: Change parameter order to mpn_rawrandom().
9707:
9708: * Makefile.am (libgmp_la_SOURCES): Add errno.c, randlc2x.c,
9709: randsd.c, randsdui.c. Remove randui.c.
9710: (MPZ_OBJECTS): Rename urandom.lo --> urandomb.lo. Add urandomm.lo.
9711: * Makefile.in: Regenerate.
9712:
9713: * mpz/Makefile.am (libmpz_la_SOURCES): Change urandom.c -->
9714: urandomb.c. Add urandomm.c.
9715: * mpz/Makefile.in: Regenerate.
9716:
1.1.1.4 ! ohara 9717: * tests/rand/Makefile.am (noinst_PROGRAMS): Change findcl --> findlc.
! 9718: Add gen.static.
! 9719: * tests/rand/Makefile.in: Regenerate.
! 9720:
! 9721: * tests/rand/gen.c (main): Add mpz_urandomm. Add command line options
! 9722: `-C', `-m', extend `-a'. Use *mp*_*rand*() with new parameters. Call
! 9723: gmp_rand_seed().
! 9724:
1.1.1.2 maekawa 9725: 2000-04-01 Kevin Ryde <kevin@swox.se>
9726:
9727: * acinclude.m4 (GMP_CHECK_ASM_DATA): Plain .data for hpux.
9728: * configure.in (CCAS): No CFLAGS, they're added when it's used.
9729: (CONFIG_SRCDIR): New define for config.m4.
9730: * mpn/sparc64/addmul_1.asm: Use it for an include().
9731: * mpn/sparc64/submul_1.asm: Ditto.
9732: * mpn/sparc64/mul_1.asm: Ditto.
9733:
9734: 2000-03-31 Linus Nordberg <linus@swox.se>
9735:
9736: * mpz/urandom.c: Rename to...
9737: * mpz/urandomb.c: ...this.
9738:
9739: * mpz/urandomb.c (mpz_urandomb): Change operand order in call to
9740: mpn_rawrandom(). Use ABSIZ() instead of SIZ() when checking size
9741: of ROP.
9742:
9743: * mpz/urandomm.c: New file.
9744:
9745: 2000-03-31 Kevin Ryde <kevin@swox.se>
9746:
9747: * acinclude.m4 (GMP_CHECK_ASM_MMX): Give a warning when mmx code
9748: will be omitted.
9749:
9750: 2000-03-30 Torbjorn Granlund <tege@swox.com>
9751:
9752: * mpn/sparc64/mul_1h.asm: New file.
9753: * mpn/sparc64/addmul_1h.asm: New file.
9754: * mpn/sparc64/submul_1h.asm: New file.
9755: * mpn/sparc64/mul_1.asm: Rewrite.
9756: * mpn/sparc64/addmul_1.asm: Rewrite.
9757: * mpn/sparc64/submul_1.asm: Rewrite.
9758:
9759: 2000-03-28 Torbjorn Granlund <tege@swox.com>
9760:
9761: * mpn/sparc32/v9/mul_1.asm: Fix typo in branch prediction.
9762: * mpn/sparc32/v9/addmul_1.asm: Likewise.
9763: * mpn/sparc32/v9/submul_1.asm: Likewise.
9764:
9765: 2000-03-25 Kevin Ryde <kevin@swox.se>
9766:
9767: * mpn/lisp/gmpasm-mode.el: Fix some comment detection, use custom,
9768: fontify more keywords, turn into a standalone mode.
9769:
9770: * stamp-vti: New file, generated together with version.texi.
9771:
9772: * acinclude.m4 (GMP_VERSION,GMP_HEADER_GETVAL): New macros.
9773: * configure.in (AM_INIT_AUTOMAKE): Use GMP_VERSION.
9774:
9775: 2000-03-24 Kevin Ryde <kevin@swox.se>
9776:
9777: * INSTALL: Updates for new configure system.
9778:
9779: * configure.in: Add gmp_optcflags_gcc for the x86s, setting -mcpu
9780: and -march.
9781:
9782: 2000-03-23 Torbjorn Granlund <tege@swox.com>
9783:
9784: * demos/pexpr.c (mpz_eval_expr): Properly initialize rhs/lhs
9785: for ROOT.
9786:
9787: 2000-03-23 Kevin Ryde <kevin@swox.se>
9788:
9789: * config.guess (i?86:*:*:*): Use uname -m if detection program fails.
9790:
9791: * mpn/x86/README: Remove remarks on the now implemented MMX shifts.
9792: * mpn/x86/k6/README: Add speed of mpn_divexact_by3, update mpn_mul_1.
9793:
9794: * gmp.texi (Installing MP): Corrections to target CPUs.
9795:
9796: * version.c: Use VERSION from config.h, add copyright comment,
9797: restore "const" somehow lost.
9798:
9799: * configure.in (a29k*-*-*): Fix directory name.
9800:
9801: 2000-03-22 Torbjorn Granlund <tege@swox.com>
9802:
9803: * demos/pexpr.c (op_t): Add ROOT.
9804: (fns): Add ROOT.
9805: (mpz_eval_expr): Add ROOT.
9806:
9807: * mpz/root.c: Handle roots of negative numbers.
9808: Fix other border cases.
9809: Fix rare memory leakage.
9810:
9811: * errno.c: New file.
9812:
9813: 2000-03-21 Torbjorn Granlund <tege@swox.com>
9814:
9815: * gmp.h (error number enum): New anonymous enum.
9816: (gmp_errno): New.
9817:
9818: * gmp.h (__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR): Bump for GMP 3.0.
9819:
9820: 2000-03-20 Torbjorn Granlund <tege@swox.com>
9821:
9822: * mpn/alpha/unicos.m4 (FLOAT64): New define.
9823: * mpn/alpha/default.m4 (FLOAT64): New define.
9824: * mpn/alpha/invert_limb.asm (C36): Use FLOAT64.
9825:
9826: 2000-03-21 Kevin Ryde <kevin@swox.se>
9827:
9828: * mpn/x86/k6/diveby3.asm: Tiny speedup.
9829:
9830: * acinclude.m4 (GMP_CHECK_ASM_SHLDL_CL): New macro.
9831: * configure.in: Use it, set WANT_SHLDL_CL in config.m4.
9832: * mpn/x86/x86-defs.m4 (shldl,shrdl,shldw,shrdw): New macros, using
9833: WANT_SHLDL_CL.
9834: * mpn/x86/k6/mmx/lshift.asm: Use shldl macro.
9835: * mpn/x86/k7/mmx/lshift.asm: Ditto.
9836: * mpn/x86/pentium/mmx/lshift.asm: Ditto.
9837: * mpn/x86/k6/mmx/rshift.asm: Use shrdl macro.
9838: * mpn/x86/k7/mmx/rshift.asm: Ditto.
9839: * mpn/x86/pentium/mmx/rshift.asm: Ditto.
9840: * mpn/x86/README.family: Add a note about this.
9841:
9842: 2000-03-20 Linus Nordberg <linus@swox.se>
9843:
9844: * mpn/generic/rawrandom.c (mpn_rawrandom): Handle seed value of 0
9845: correctly.
9846:
9847: * configure.in: Fix detection of alpha flavour.
9848: Set compiler options for `sparcv8'.
9849: * configure: Regenerate.
9850:
9851: * rand.c (__gmp_rand_scheme): Clean up some. Use slightly better
9852: multipliers.
9853:
9854: * configure.in (AC_OUTPUT): Add tests/Makefile and
9855: tests/rand/Makefile.
9856:
9857: * acinclude.m4 (AC_CANONICAL_BUILD): Define to
9858: `_AC_CANONICAL_BUILD' to deal with incompabilities between
9859: Autoconf and Libtool.
9860: (AC_CHECK_TOOL_PREFIX): Likewise.
9861:
9862: * Makefile.am (EXTRA_DIST): Add directory `tests'.
9863:
9864: * mkinstalldirs: Update (Automake 2000-03-17).
9865: * ltconfig: Update (Libtool 2000-03-17).
9866: * ltmain.sh: Ditto.
9867:
9868: * configure: Regenerate with new autoconf/-make/libtool suite.
9869: * aclocal.m4: Ditto.
9870: * config.in: Ditto.
9871: * all Makefile.in's: Ditto.
9872:
9873: 2000-03-20 Torbjorn Granlund <tege@swox.com>
9874:
9875: * demos/pexpr.c (main): Don't allow `-N' for base, require `-bN'.
9876:
9877: * mpn/alpha/unicos.m4 (cvttqc): New define.
9878: * mpn/alpha/invert_limb.asm: Use new define for cvttqc.
9879:
9880: 2000-03-19 Kevin Ryde <kevin@swox.se>
9881:
9882: * mpn/x86/k6/sqr_basecase.asm: Tiny amendments for 3x3 case.
9883:
9884: * gmp.texi: Use @include version.texi.
9885: Use @email and @uref.
9886: (Installing MP): Rewrite for new configure.
9887: (Low-level Functions): Add mpn_divexact_by3.
9888:
9889: * configure.in (--enable-alloca): New option.
9890: * acconfig.h (USE_STACK_ALLOC): For --disable-alloca.
9891:
9892: 2000-03-18 Kent Boortz <kent@swox.com>
9893:
9894: * macos: New directory with macos port files.
9895:
9896: 2000-03-17 Torbjorn Granlund <tege@swox.com>
9897:
9898: * gmp-impl.h (union ieee_double_extract): Check _CRAYMPP.
9899:
9900: * mpn/asm-defs.m4 (invert_normalized_limb): Define.
9901:
9902: * mpn/alpha: Translate `.s' files to `.asm'.
9903:
9904: * configure: Regenerate.
9905:
9906: * mpn/alpha/invert_limb.asm: Replace dash in file name with underscore.
9907: * configure.in: Corresponding change.
9908:
9909: * configure.in: Assign special "path" for alphaev6.
9910:
9911: * mpn/alpha/unicos.m4: New file.
9912: * configure.in (alpha*-cray-unicos*): [This part of the change
9913: commited 2000-03-13 by linus]
9914: * mpn/alpha/default.m4: New file.
9915: * configure.in (alpha*-*-*): Use it.
9916:
9917: 2000-03-17 Kevin Ryde <kevin@swox.se>
9918:
9919: * mpn/x86/pentium/rshift.S: Use plain rcrl (not rcrl $1) for
9920: shift-by-1 case, significant speedup.
9921: * mpn/x86/pentium/README: Add shift-by-1 speed.
9922:
9923: 2000-03-16 Torbjorn Granlund <tege@swox.com>
9924:
9925: * config.guess: Handle Cray T3D/E.
9926:
9927: 2000-03-15 Kevin Ryde <kevin@swox.se>
9928:
9929: * mpn/generic/diveby3.c: New file.
9930: * mpn/x86/diveby3.asm: New file.
9931: * mpn/x86/k6/diveby3.asm: New file.
9932: * gmp.h (mpn_divexact_by3): Prototype and define.
9933: * mpn/asm-defs.m4: define_mpn(divexact_by3).
9934: * configure.in (gmp_mpn_functions): Add diveby3.
9935:
9936: * mpn/x86/pentium/sqr_basecase.asm: A few better addressing modes.
9937:
9938: * configure.in: Add AC_C_STRINGIZE and AC_CHECK_TYPES((void)).
9939: * gmp-impl.h (ASSERT): Use them.
9940:
9941: * mpn/x86/k7/mmx/lshift.asm: New file.
9942: * mpn/x86/k7/mmx/rshift.asm: Rewrite simple loop and return value
9943: handling, add some pictures.
9944:
9945: 2000-03-14 Torbjorn Granlund <tege@swox.com>
9946:
9947: * mpn/sparc32/v8/mul_1.asm: Make PIC actually work.
9948: * mpn/sparc32/v8/addmul_1.asm: Likewise.
9949:
9950: * mpn/sparc32/v8/mul_1.asm: Use m4 ifdef, not cpp #if.
9951: * mpn/sparc32/v8/addmul_1.asm: Likewise.
9952:
9953: * mpn/asm-defs.m4 (C): New define for comments.
9954: * mpn/sparc32: Start comments with `C'.
9955:
9956: * config.guess: Remove `SunOS 6' handling.
9957: Recognize sun4m and sun4d architectures under old SunOS.
9958:
9959: 2000-03-14 Linus Nordberg <linus@swox.se>
9960:
9961: * configure.in (gmp_srclinks): Set to list of links created by
9962: configure.
9963: * configure: Regenerate.
9964:
9965: * Makefile.am (libgmp_la_LDFLAGS): Set version info.
9966: (DISTCLEANFILES): Include @gmp_srclinks@.
9967: * Makefile.in: Regenerate.
9968:
9969: 2000-03-13 Linus Nordberg <linus@swox.se>
9970:
9971: * configure.in: Remove some changequote's by quoting the strings
9972: containing `[]'.
9973: Add support for `alpha*-cray-unicos*'.
9974: AC_DEFINE `_LONG_LONG_LIMB' instead of passing it in CFLAGS.
9975: Conditionalize the assembler syntax checks.
9976: * configure: Regenerate.
9977: * config.in: Regenerate.
9978:
9979: * acinclude.m4 (GMP_PROG_CCAS): Remove macro.
9980: * aclocal.m4: Regenerate.
9981:
9982: 2000-03-13 Kevin Ryde <kevin@swox.se>
9983:
9984: * mpn/x86/p6/README: New file.
9985:
9986: * mpn/x86/k6/mul_1.asm: Rewrite, smaller and slightly faster.
9987:
9988: * mpn/lisp/gmpasm-mode.el: Rewrite assembler comment detection and
9989: handling.
9990:
9991: * configure.in: Separate mmx directories for each x86 flavour.
9992: * configure: Regenerate.
9993:
9994: 2000-03-12 Kevin Ryde <kevin@swox.se>
9995:
9996: * mpn/x86/x86-defs.m4 (ALIGN): Supplement definition from
9997: config.m4 so as to pad with nops not zeros on old gas.
9998:
9999: * mpn/x86/k7/mmx/copyd.asm: Use plain emms (femms is just an alias
10000: for emms now).
10001: * mpn/x86/k7/mmx/copyi.asm: Ditto.
10002: * mpn/x86/k7/mmx/rshift.asm: Ditto.
10003: * mpn/x86/x86-defs.m4: Amend comments.
10004:
10005: * mpn/x86/mod_1.asm: Add comments on speeds.
10006:
10007: * mpn/x86/pentium/mmx/lshift.asm: New file.
10008: * mpn/x86/pentium/mmx/rshift.asm: New file.
10009: * mpn/x86/pentium/README: Add speeds of various routines.
10010:
10011: 2000-03-10 Linus Nordberg <linus@swox.se>
10012:
10013: * configure.in: Reorganize.
10014: Use AC_CHECK_TOOL to find `ar'.
10015: Add post-includes `regmap.m4' and `aix.m4' for AIX targets.
10016: asm-syntax.h is not needed for PPC or sparc anymore.
10017: (powerpc64-*-aix*): Compiler is always 64-bit. Use `-q64
10018: -qtune=pwr3' to xlc and `-maix64 -mpowerpc64' to gcc. Pass `-X
10019: 64' to `ar' and `nm'.
10020: (pentiummmx): Use GMP_CHECK_ASM_MMX and avoid MMX assembly path if
10021: assembler is not MMX capable.
10022: (pentium[23]): Likewise.
10023: (athlon): Likewise.
10024: (k6*): Likewise.
10025: * configure: Regenerate.
10026:
10027: * acinclude.m4 (GMP_PROG_CC_WORKS): New macro.
10028: (GMP_PROG_CC_FIND): Use GMP_PROG_CC_WORKS instead of
10029: AC_TRY_COMPILER. Make sure that the *first* working 32-bit
10030: compiler is used if no 64-bit compiler is found.
10031: (GMP_CHECK_ASM_MMX): New macro.
10032: * aclocal.m4: Regenerate.
10033:
10034: * Makefile.in: Regenerate. (CC_TEST removed.)
10035: * mpf/Makefile.in: Likewise.
10036: * mpn/Makefile.in: Likewise.
10037: * mpq/Makefile.in: Likewise.
10038: * mpz/Makefile.in: Likewise.
10039: * mpf/tests/Makefile.in: Likewise.
10040: * mpq/tests/Makefile.in: Likewise.
10041: * mpz/tests/Makefile.in: Likewise.
10042:
10043: * acconfig.h (_LONG_LONG_LIMB): Add.
10044:
10045: * gmp-impl.h: Include config.h only if HAVE_CONFIG_H is defined.
10046:
10047: 2000-03-09 Kevin Ryde <kevin@swox.se>
10048:
10049: * mpn/x86/pentium/mul_basecase.S: Small speedup by avoiding an AGI.
10050:
10051: * mpn/x86/k7/mmx/copyd.asm: Tiny speedup by avoiding popl.
10052: * mpn/x86/k7/mmx/copyi.asm: Ditto.
10053: * mpn/x86/k7/mul_basecase.asm: Ditto.
10054:
10055: 2000-03-07 Torbjorn Granlund <tege@swox.com>
10056:
10057: * config.guess: Better recognize POWER/PowerPC processor type.
10058:
10059: 2000-03-07 Kevin Ryde <kevin@swox.se>
10060:
10061: * mpn/generic/addsub_n.c: Use HAVE_NATIVE_* now in config.h.
10062:
10063: * mpn/asm-defs.m4: Add comments about SysV m4.
10064: (m4_log2): Don't use <<.
10065: (m4_lshift,m4_rshift): New macros.
10066:
10067: 2000-03-06 Torbjorn Granlund <tege@swox.com>
10068:
10069: * mpn/powerpc32/regmap.m4: Map cr0 => `0', etc.
10070:
10071: 2000-03-06 Kevin Ryde <kevin@swox.se>
10072:
10073: * mpn/tests/ref.c (refmpn_divexact_by3): New function.
10074: * mpn/tests/ref.h: Prototype.
10075:
10076: * acconfig.h (WANT_ASSERT): New define.
10077: * configure.in (--enable-assert): Turn on WANT_ASSERT.
10078: * assert.c: New file.
10079: * Makefile.am: Add to build.
10080: * gmp-impl.h (ASSERT): New macro.
10081: (ASSERT_NOCARRY) Renamed from assert_nocarry.
10082: (MPZ_CHECK_FORMAT): Use ASSERT_ALWAYS.
10083: * mpn/tests/ref.c: Use ASSERT.
10084: * mpf/get_str.c: Use ASSERT_ALWAYS.
10085: * mpf/set_str.c: Remove old assert macro.
10086:
10087: * mpn/x86/x86-defs.m4 (cmovnz_ebx_ecx): New macro.
10088: * mpn/x86/p6/aorsmul_1.asm: Use cmov.
10089:
10090: * mpn/x86/lshift.S: Use %dl with testb, not %edx. No object code
10091: change, testb was still getting generated.
10092: * mpn/x86/rshift.S: Ditto.
10093:
10094: 2000-03-03 Torbjorn Granlund <tege@swox.com>
10095:
10096: * longlong.h: Add IA-64 support.
10097:
10098: * mpn/powerpc32: Misc cleanups.
10099: * mpn/powerpc32/aix.m4: New file (mainly by Linus).
10100: * mpn/powerpc64/aix.m4: New file (mainly by Linus).
10101: * mpn/powerpc64: Translate `.S' files to `.asm'.
10102:
10103: * configure.in: Fix tyops.
10104: * configure: Regenerate.
10105:
10106: 2000-03-02 Torbjorn Granlund <tege@swox.com>
10107:
10108: * mpn/powerpc32/regmap.m4: New file.
10109: * mpn/powerpc32: Translate `.S' files to `.asm'.
10110: * configure.in: Use mpn/powerpc32/regmap.m4 for powerpc targets
10111: except some weird ones.
10112:
10113: 2000-03-03 Kevin Ryde <kevin@swox.se>
10114:
10115: * mpn/lisp/gmpasm-mode.el: Suppress postscript comment prefixes in
10116: filladapt.
10117:
10118: * mpn/x86/pentium/sqr_basecase.asm: New file.
10119: * mpn/x86/pentium/gmp-mparam.h (KARATSUBA_SQR_THRESHOLD): Update.
10120:
10121: * configure.in: Add --enable-assert, enable k6 logops functions.
10122:
10123: * mpn/x86/k6/mmx/copyi.asm: Use m4 for divide, not as.
10124: * mpn/x86/k6/mmx/copyd.asm: Ditto.
10125: * mpn/x86/README.family: Add a note on this.
10126:
10127: 2000-03-02 Kevin Ryde <kevin@swox.se>
10128:
10129: * mpn/x86/k6/aors_n.asm: Don't use stosl.
10130: * mpn/x86/copyi.asm: Use cld to clear direction flag.
10131: * mpn/x86/divrem_1.asm: Ditto.
10132: * mpn/x86/README.family: Add a note on this.
10133:
10134: * mpn/x86/k6/mmx/copyi.asm: Rewrite.
10135: * mpn/x86/k6/mmx/copyd.asm: New file.
10136: * mpn/x86/k6/README: Update, and small amendments.
10137:
10138: * mpn/x86/x86-defs.m4 (Zdisp): New macro.
10139: * mpn/asm-defs.m4 (m4_stringequal_p): New macro.
10140:
10141: * mpn/x86/p6/aorsmul_1.asm: Use Zdisp to force zero displacements.
10142: * mpn/x86/k6/aorsmul_1.asm: Ditto.
10143: * mpn/x86/k6/mul_1.asm: Ditto.
10144: * mpn/x86/k6/mul_basecase.asm: Ditto.
10145: * mpn/x86/k7/aors_n.asm: Ditto.
10146: * mpn/x86/k7/aorsmul_1.asm: Ditto.
10147: * mpn/x86/k7/mul_1.asm: Ditto.
10148: * mpn/x86/k7/mul_basecase.asm: Ditto.
10149: * mpn/x86/README.family: Add a note on this.
10150:
10151: 2000-02-27 Kevin Ryde <kevin@swox.se>
10152:
10153: * mpn/generic/divrem.c (mpn_divrem_classic): Patch to avoid gcc
10154: 2.7.2.3 i386 register handling bug.
10155:
10156: * mpn/x86/k6/aors_n.asm: Rewrite.
10157: * mpn/x86/k6/mmx/lshift.asm: Rewrite.
10158: * mpn/x86/k6/mmx/rshift.asm: Rewrite.
10159: * mpn/x86/k6/README: Update.
10160:
10161: * mpn/x86/k7/mmx/copyd.asm: Support size==0.
10162: * mpn/x86/k7/mmx/copyi.asm: Ditto.
10163: * mpn/x86/k6/mmx/copyi.asm: Ditto.
10164: * gmp-impl.h: Comment size==0 allowed in MPN_COPY_INCR and
10165: MPN_COPY_DECR.
10166: * configure.in: Enable x86 copyi, copyd; add k6 com_n.
10167:
10168: 2000-02-25 Torbjorn Granlund <tege@swox.com>
10169:
10170: * demos/pexpr.c (power): Move factorial handing code from `factor'
10171: to `power'.
10172:
10173: * demos/factorize.c (factor_using_pollard_rho): Move resetting of `c'
10174: to before checking for a non-zero gcd.
10175:
10176: 2000-02-25 Kevin Ryde <kevin@swox.se>
10177:
10178: * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro by Linus.
10179: * mpn/x86/k6/aors_n.asm: Use MULFUNC_PROLOGUE.
10180: * mpn/x86/k6/aorsmul_1.asm: Ditto.
10181: * mpn/x86/k7/aors_n.asm: Ditto.
10182: * mpn/x86/k7/aorsmul_1.asm: Ditto.
10183: * mpn/x86/p6/aorsmul_1.asm: Ditto.
10184:
10185: * mpn/tests/ref.c (refmpn_copyi,refmpn_copyd): Allow size==0.
10186:
10187: * gmp-impl.h: Move mpn_and_n, mpn_andn_n, mpn_com_n, mpn_ior_n,
10188: mpn_iorn_n, mpn_nand_n, mpn_nior_n, mpn_xor_n and mpn_xorn_n here
10189: from gmp.h. Use HAVE_NATIVE_mpn_* to make these functions or
10190: inlines.
10191:
10192: * gmp-impl.h: Move mpn_copyd, mpn_copyi here from gmp.h.
10193: * gmp-impl.h (MPN_COPY_INCR): Use mpn_copyi if available.
10194: * gmp-impl.h (MPN_COPY_DECR): Use mpn_copyd if available.
10195:
10196: * mpn/x86/k6/mmx/com_n.asm: Moved into mmx subdirectory.
10197: * mpn/x86/k6/mmx/copyi.asm: Ditto.
10198: * mpn/x86/k6/mmx/lshift.asm: Ditto.
10199: * mpn/x86/k6/mmx/rshift.asm: Ditto.
10200: * mpn/x86/k7/mmx/rshift.asm: Ditto.
10201: * mpn/x86/k6/mmx/logops_n.asm: New file.
10202: * configure.in (k6*-*-*): Add logops_n.asm.
10203: * mpn/x86/k6/README: Update.
10204:
10205: * mpn/x86/k7/mmx/copyi.asm: New file.
10206: * mpn/x86/k7/mmx/copyd.asm: New file.
10207: * mpn/x86/k7/README: Update.
10208:
10209: 2000-02-24 Kevin Ryde <kevin@swox.se>
10210:
10211: * mpn/x86/x86-defs.m4 (femms): Generate emms if 3dnow not available.
10212: * mpn/x86/x86-defs.m4 (FRAME_popl): New macro.
10213:
10214: * Makefile.am: Add info_TEXINFOS = gmp.texi
10215:
10216: * mpn/x86/divrem_1.asm: Moved from mpn/x86/k6, allow size==0,
10217: conditionalize loop versus decl/jnz.
10218: * mpn/x86/mod_1.asm: Ditto.
10219: * mpn/x86/divmod_1.asm: Removed.
10220: * gmp.texi (mpn_divrem_1,mpn_mod_1): Add that size==0 is allowed.
10221: * mpn/tests/ref.c (refmpn_divrem_1c,etc): Allow size==0.
10222:
10223: * mpn/x86/k6/aors_n.asm: Avoid gas 1.92.3 leal displacement
10224: expression problem.
10225: * mpn/x86/k6/aorsmul_1.asm: Ditto.
10226: * mpn/x86/k6/mul_1.asm: Ditto.
10227: * mpn/x86/k6/mul_basecase.asm: Ditto
10228: * mpn/x86/k7/aors_n.asm: Ditto.
10229: * mpn/x86/k7/aorsmul_1.asm: Ditto.
10230: * mpn/x86/k7/mul_1.asm: Ditto.
10231: * mpn/x86/k7/mul_basecase.asm: Ditto.
10232: * mpn/x86/k7/rshift.asm: Ditto.
10233: * mpn/x86/p6/aorsmul_1.asm: Ditto.
10234: * mpn/x86/README.family: Describe problem.
10235:
10236: 2000-02-24 Linus Nordberg <linus@swox.se>
10237:
10238: * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Add dummy symbol to
10239: testcase to avoid nm failure. Try nm before piping to grep.
10240:
10241: * acconfig.h: Undef HAVE_NATIVE_func for every mpn function found
10242: in gmp.h.
10243:
10244: * configure.in: Invoke AC_CONFIG_HEADERS.
10245: Don't invoke AM_CONFIG_HEADER; it makes autoconf confused.
10246: Dig out entry points declared in assembly code and AC_DEFINE proper
10247: HAVE_NATIVE_func.
10248:
10249: * mpn/asm-defs.m4 (MULFUNC_PROLOGUE): New macro.
10250:
10251: * mpn/x86/p6/aorsmul_1.asm: Use MULFUNC_PROLOGUE.
10252: * mpn/x86/k6/aors_n.asm: Likewise.
10253:
10254: * Makefile.am (EXTRA_DIST): Add config.in; needed when we don't
10255: use AM_CONFIG_HEADER in configure.in.
10256:
10257: * mpn/Makefile.am (INCLUDES): Add `-I..' for config.h and
10258: gmp-mparam.h.
10259: * mpf/Makefile.am: Likewise.
10260: * mpq/Makefile.am: Likewise.
10261: * mpz/Makefile.am: Likewise.
10262:
10263: * mpf/tests/Makefile.am (INCLUDES): Add `-I../..' for config.h and
10264: gmp-mparam.h.
10265: * mpq/tests/Makefile.am: Likewise.
10266: * mpz/tests/Makefile.am: Likewise.
10267:
10268: * configure: Regenerate.
10269: * aclocal.m4: Regenerate.
10270: * config.in: Regenerate.
10271: * Makefile.in: Regenerate.
10272: * mpf/Makefile.in: Regenerate.
10273: * mpn/Makefile.in: Regenerate.
10274: * mpq/Makefile.in: Regenerate.
10275: * mpz/Makefile.in: Regenerate.
10276: * mpf/tests/Makefile.in: Regenerate.
10277: * mpq/tests/Makefile.in: Regenerate.
10278: * mpz/tests/Makefile.in: Regenerate.
10279:
10280: 2000-02-23 Kevin Ryde <kevin@swox.se>
10281:
10282: * mpn/x86/addmul_1.S: Amend comments, this code no longer used by
10283: PentiumPro.
10284: * mpn/x86/submul_1.S: Ditto.
10285:
10286: * mpn/x86/k6/com_n.asm: Rewrite, smaller but same speed.
10287:
10288: * mpn/x86/addmul_1.S: Add PROLOGUE and EPILOGUE to get .type and
10289: .size for ELF. Rename #define size to n to avoid .size.
10290: * mpn/x86/lshift.S: Ditto.
10291: * mpn/x86/mul_1.S: Ditto.
10292: * mpn/x86/mul_basecase.S: Ditto.
10293: * mpn/x86/rshift.S: Ditto.
10294: * mpn/x86/submul_1.S: Ditto.
10295: * mpn/x86/udiv.S: Ditto.
10296: * mpn/x86/umul.S: Ditto.
10297: * mpn/x86/pentium/add_n.S: Ditto.
10298: * mpn/x86/pentium/addmul_1.S: Ditto.
10299: * mpn/x86/pentium/lshift.S: Ditto.
10300: * mpn/x86/pentium/mul_1.S: Ditto.
10301: * mpn/x86/pentium/mul_basecase.S: Ditto.
10302: * mpn/x86/pentium/rshift.S: Ditto.
10303: * mpn/x86/pentium/sub_n.S: Ditto.
10304: * mpn/x86/pentium/submul_1.S: Ditto.
10305:
10306: 2000-02-22 Linus Nordberg <linus@swox.se>
10307:
10308: * acinclude.m4 (GMP_INIT): Use temporary file cnfm4p.tmp for
10309: post-defines.
10310: (GMP_FINISH): Ditto.
10311: (GMP_DEFINE): Add third optional argument specifying location in
10312: outfile.
10313: (GMP_DEFINE_RAW): New macro.
10314: * aclocal.m4: Regenerate.
10315:
10316: * configure.in: Add `HAVE_TARGET_CPU_$target_cpu' using
10317: GMP_DEFINE_RAW.
10318: * configure: Regenerate.
10319:
10320: * mpz/tests/Makefile.am: New test t-root.
10321: * mpz/tests/Makefile.in: Regenerate.
10322:
10323: 2000-02-22 Torbjorn Granlund <tege@swox.com>
10324:
10325: * mpz/root.c: Complete rewrite; still primitive, but at least correct.
10326: * mpz/tests/t-root.c: New test.
10327:
10328: 2000-02-22 Kevin Ryde <kevin@swox.se>
10329:
10330: * mpn/x86/k7/mul_basecase.asm: New file.
10331: * mpn/x86/k7/README: Add mpn_mul_basecase speed.
10332: * mpn/x86/k7/gmp-mparam.h: New file.
10333:
10334: * mpn/x86/x86-defs.m4 (loop_or_decljnz,cmov_bytes): New macros.
10335: * mpn/asm-defs.m4 (m4_ifdef_anyof_p): New macro.
10336:
10337: * mpn/x86/k6/aorsmul_1.asm: New file.
10338: * mpn/x86/k6/addmul_1.S: Removed (was a copy of pentium version).
10339: * mpn/x86/k6/submul_1.S: Removed (was a copy of pentium version).
10340:
10341: * mpn/x86/p6/aorsmul_1.asm: Use OPERATION_addmul_1 and
10342: OPERATION_submul_1.
10343: * mpn/x86/k6/aors_n.asm: Use OPERATION_add_n and OPERATION_sub_n.
10344: * configure.in: Declare multi-function files for k6 and p6.
10345:
10346: * configure.in: Add HAVE_TARGET_CPU_$target_cpu for config.m4.
10347: * mpn/asm-defs.m4 (define_not_for_expansion): New macro.
10348:
10349: * mpn/generic/divrem_1n.c (__gmpn_divrem_1n): New file, split from
10350: mpn/generic/divrem_1.c.
10351: * mpn/generic/divrem_1.c: Ditto.
10352: * configure.in (gmp_mpn_functions): Ditto.
10353:
10354: 2000-02-21 Torbjorn Granlund <tege@swox.com>
10355:
10356: * gmp.h: Undo 1996-10-06 NeXT change, it was clearly improperly
10357: written.
10358:
10359: 2000-02-21 Linus Nordberg <linus@swox.se>
10360:
10361: * configure.in: Link <src>/mpn/asm-defs.m4 to <build>mpn/asm.m4.
10362: * configure: Regenerate.
10363:
10364: 2000-02-21 Linus Nordberg <linus@swox.se>
10365:
10366: * mpn/x86/k7/aorsmul_1.asm: Change OPERATION_ADDMUL -->
10367: OPERATION_addmul_1. Change OPERATION_SUBMUL -->
10368: OPERATION_submul_1.
10369:
10370: * mpn/x86/k7/aors_n.asm: Change OPERATION_ADD --> OPERATION_add_n.
10371: Change OPERATION_SUB --> OPERATION_sub_n.
10372:
10373: * mpn/Makefile.am: Pass -DOPERATION_$* to preprocessors.
10374: * mpn/Makefile.in: Regenerate.
10375:
10376: * configure.in: Symlink mpn/asm-defs.m4 to build-dir/mpn. Link
10377: multi-function files to mpn/<function>.asm and remove function
10378: name from `gmp_mpn_functions'.
10379: * configure: Regenerate.
10380:
10381: * acinclude.m4 (GMP_FINISH): Tell user what we're doing.
10382: * aclocal.m4: Regenerate.
10383:
10384: 2000-02-21 Kevin Ryde <kevin@swox.se>
10385:
10386: * gmp-impl.h: Rename __gmpn_mul_basecase to mpn_mul_basecase and
10387: __gmpn_sqr_basecase to mpn_sqr_basecase, remove __gmpn prototypes.
10388: * mpn/x86/mul_basecase.S: Ditto.
10389: * mpn/x86/pentium/mul_basecase.S: Ditto.
10390:
10391: * configure.in (gmp_m4postinc): Use x86-defs.m4 on athlon-*-* too.
10392:
10393: 2000-02-20 Kevin Ryde <kevin@swox.se>
10394:
10395: * acinclude.m4 (GSYM_PREFIX): Drop $1, change by Linus.
10396: * mpn/asm-defs.m4 (PROLOGUE,EPILOGUE): Use GSYM_PREFIX as a
10397: string, change by Linus.
10398: * mpn/x86/x86-defs.m4: Use GSYM_PREFIX as a string.
10399:
10400: * mpn/x86/k6/gmp-mparam.h: New file.
10401: * mpn/asm-defs.m4 (m4_warning): New macro.
10402:
10403: * mpn/x86/README: Amendments per new code and directories.
10404: * mpn/x86/README.family: New file.
10405: * mpn/x86/k6/README: New file.
10406: * mpn/x86/k7/README: New file.
10407:
10408: * mpn/generic/mul_n.c: Rename __gmpn_mul_basecase to
10409: mpn_mul_basecase and __gmpn_sqr_basecase to mpn_sqr_basecase.
10410: * mpn/generic/mul_basecase.c: Ditto.
10411: * mpn/generic/sqr_basecase.c: Ditto.
10412: * mpn/generic/mul.c: Ditto.
10413:
10414: 2000-02-19 Linus Nordberg <linus@swox.se>
10415:
10416: * configure.in: Don't try to symlink more than one multi-func
10417: file.
10418: * configure: Regenerate.
10419:
10420: 2000-02-18 Linus Nordberg <linus@swox.se>
10421:
10422: * acinclude.m4 (GMP_CHECK_ASM_UNDERSCORE): GMP_DEFINE
10423: `GSYM_PREFIX'. Run ACTIONs even when value is found in cache.
10424: (GMP_CHECK_ASM_ALIGN_LOG): GMP_DEFINE `ALIGN'. Run ACTIONs even
10425: when value is found in cache.
10426: * aclocal.m4: Regenerate.
10427:
10428: * configure.in: Don't define GSYM_PREFIX or ALIGN.
10429: Add mechanism for multi-function files.
10430: * configure: Regenerate.
10431:
10432: 2000-02-18 Kevin Ryde <kevin@swox.se>
10433:
10434: * configure.in (gmp_m4postinc): Enable x86-defs.m4.
10435: * mpn/x86/k7/mul_1.asm: Fix include.
10436: * mpn/x86/k6/mul_basecase.S: Removed (copy of the pentium version).
10437: * mpn/x86/k6/mul_basecase.asm: New file.
10438: * mpn/x86/k6/sqr_basecase.asm: New file.
10439: * mpn/x86/k6/com_n.asm: New file.
10440: * mpn/x86/k6/copyi.asm: New file.
10441: * gmp.texi (Low-level Functions): Clarify mpn overlaps permitted.
10442: * gmp-impl.h (MPN_OVERLAP_P): New macro.
10443: * gmp-impl.h (assert_nocarry): New macro.
10444: * mpn/tests/ref.c: New file, based in part on other mpn/tests/*.c.
10445: * mpn/tests/ref.h: New file.
10446:
10447: 2000-02-17 Linus Nordberg <linus@swox.se>
10448:
10449: * Makefile.am (dist-hook): Don't include any emacs backup files
10450: (*.~*) in dist.
10451: * Makefile.in: Regenerate.
10452:
10453: 2000-02-17 Torbjorn Granlund <tege@swox.com>
10454:
10455: * mpn/sparc32/v9/mul_1.asm: Use `rd' to get current PC; get rid of
10456: getpc function.
10457: * mpn/sparc32/v9/addmul_1.asm: Likewise.
10458: * mpn/sparc32/v9/submul_1.asm: Likewise.
10459:
10460: 2000-02-17 Kevin Ryde <kevin@swox.se>
10461:
10462: * gmp.h: Add prototypes and defines for mpn_and_n, mpn_andn_n,
10463: mpn_com_n, mpn_copyd, mpn_copyi, mpn_ior_n, mpn_iorn_n,
10464: mpn_mul_basecase, mpn_nand_n, mpn_nior_n, mpn_sqr_basecase,
10465: mpn_xor_n, mpn_xorn_n.
10466:
10467: * mpn/asm-defs.m4: Many additions making up initial version.
10468: * mpn/asm-defs.m4 (L): Use defn(`LSYM_PREFIX').
10469: * mpn/x86/x86-defs.m4: New file.
10470: * mpn/x86/k6/aors_n.asm: New file.
10471: * mpn/x86/k6/divmod_1.asm: New file.
10472: * mpn/x86/k6/divrem_1.asm: New file.
10473: * mpn/x86/k6/lshift.S: Removed (was a copy of the pentium version).
10474: * mpn/x86/k6/lshift.asm: New file.
10475: * mpn/x86/k6/mod_1.asm: New file.
10476: * mpn/x86/k6/mul_1.S: Removed (was a copy of the pentium version).
10477: * mpn/x86/k6/mul_1.asm: New file.
10478: * mpn/x86/k6/rshift.S: Removed (was a copy of the pentium version).
10479: * mpn/x86/k6/rshift.asm: New file.
10480: * mpn/x86/k7/aors_n.asm: New file.
10481: * mpn/x86/k7/aorsmul_1.asm: New file.
10482: * mpn/x86/k7/mul_1.asm: New file.
10483: * mpn/x86/k7/rshift.asm: New file.
10484: * mpn/x86/p6/aorsmul_1.asm: New file.
10485: * mpn/x86/copyi.asm: New file.
10486: * mpn/x86/copyd.asm: New file.
10487: * mpn/lisp/gmpasm-mode.el: New file.
10488:
10489: 2000-02-16 Torbjorn Granlund <tege@swox.com>
10490:
10491: * mpn/sparc32/v9/mul_1.asm: Conditionalize for PIC.
10492: * mpn/sparc32/v9/addmul_1.asm: Likewise.
10493: * mpn/sparc32/v9/submul_1.asm: Likewise.
10494: * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
10495: * mpn/sparc32/udiv_fp.asm: Likewise.
10496:
10497: 2000-02-16 Linus Nordberg <linus@swox.se>
10498:
10499: * configure.in: Add mechanism for including target specific
10500: m4-files in config.m4.
10501: * configure: Regenerate.
10502:
10503: * acinclude.m4 (GMP_PROG_CCAS): Begin assembly lines (except
10504: labels) with a tab character. HP-UX demands it.
10505: (GMP_CHECK_ASM_SIZE): Ditto.
10506: (GMP_CHECK_ASM_LSYM_PREFIX): Ditto.
10507: (GMP_CHECK_ASM_LABEL_SUFFIX): Set to empty string for HP-UX.
10508: (GMP_CHECK_ASM_GLOBL): Change `.xport' --> `.export'.
10509: * aclocal.m4: Regenerate.
10510:
10511: 2000-02-16 Linus Nordberg <linus@swox.se>
10512:
10513: * acinclude.m4 (GMP_CHECK_ASM_LSYM_PREFIX): Define LSYM_PREFIX as
10514: the prefix only, no argument.
10515: * aclocal.m4: Regenerate.
10516: * configure: Regenerate.
10517:
10518: * mpn/asm-defs.m4 (L): No argument to LSYM_PREFIX.
10519:
10520: 2000-02-15 Linus Nordberg <linus@swox.se>
10521:
10522: * acinclude.m4: Prefix all temporary shell variables with
10523: `gmp_tmp_'.
10524: (GMP_PROG_CC_FIND): Use defaults if no arguments are passed.
10525: Quote use of arguments.
10526: (GMP_PROG_CCAS): New macro.
10527: (GMP_INIT): New macro.
10528: (GMP_FINISH): New macro.
10529: (GMP_INCLUDE): New macro.
10530: (GMP_SINCLUDE): New macro.
10531: (GMP_DEFINE): New macro.
10532: (GMP_CHECK_ASM_LABEL_SUFFIX): New macro.
10533: (GMP_CHECK_ASM_TEXT): New macro.
10534: (GMP_CHECK_ASM_DATA): New macro.
10535: (GMP_CHECK_ASM_GLOBL): New macro.
10536: (GMP_CHECK_ASM_TYPE): New macro.
10537: (GMP_CHECK_ASM_SIZE): New macro.
10538: (GMP_CHECK_ASM_LSYM_PREFIX): New macro.
10539: (GMP_CHECK_ASM_W32): New macro.
10540: * aclocal.m4: Regenerate.
10541:
10542: * configure.in: Find m4 and nm for target.
10543: Use new macros to create config.m4.
10544: Prefix all temporary shell variables with `tmp_'.
10545: Pass `-X 64' to nm for 64-bit PPC target with 64-bit compiler.
10546: * configure: Regenerate.
10547:
10548: * Makefile.am (dist-hook): *Really* remove all CVS dirs in
10549: dist.
10550: * Makefile.in: Regenerate.
10551:
10552: * mpn/Makefile.am: Add target for building .lo and .o from
10553: .asm.
10554: Pass -DPIC to preprocessor (CPP/m4) when building .lo.
10555: Build .o a second time for target .lo, without -DPIC to
10556: preprocessor.
10557: (SUFFIX): Add `.asm'.
10558: (EXTRA_DIST): Add asm-defs.m4.
10559: * mpn/Makefile.in: Regenerate.
10560:
10561: * mpf/Makefile.in: Regenerate.
10562: * mpf/tests/Makefile.in: Regenerate.
10563: * mpq/Makefile.in: Regenerate.
10564: * mpq/tests/Makefile.in: Regenerate.
10565: * mpz/Makefile.in: Regenerate.
10566: * mpz/tests/Makefile.in: Regenerate.
10567:
10568: 2000-02-15 Torbjorn Granlund <tege@swox.com>
10569:
10570: * mpn/sparc32/udiv_fp.asm: Change `RODATA' to `DATA'.
10571: * mpn/sparc32/v8/supersparc/udiv.asm: Likewise.
10572: * mpn/sparc32/v9/addmul_1.asm: Likewise.
10573: * mpn/sparc32/v9/submul_1.asm: Likewise.
10574: * mpn/sparc32/v9/mul_1.asm: Likewise.
10575:
10576: * mpn/sparc32/add_n.asm: Rename `size' -> `n'.
10577: * mpn/sparc32/sub_n.asm: Likewise.
10578:
10579: * sparc32: Rename `.s' and `.S' files to `.asm'.
10580: * sparc64: Rename `.s' and `.S' files to `.asm'.
10581:
10582: 2000-02-11 Torbjorn Granlund <tege@swox.com>
10583:
10584: * config.sub: Adopt to new config.guess sparc naming conventions.
10585:
10586: * config.guess (sun4u:SunOS:5.*:*): Change `sparc9' to `sparcv9'.
10587: * config.guess (sun4m:SunOS:5.*:*): Change to sun4[md]:SunOS:5.*:* and
10588: change `sparc8' to `sparcv8'.
10589:
10590: * mpn/x86/add_n.S: Use PROLOGUE/EPILOGUE.
10591: * mpn/x86/sub_n.S: Likewise.
10592:
10593: * mpn/x86/syntax.h (PROLOGUE): New name for PROLOG.
10594: * mpn/x86/syntax.h (EPILOGUE): New name for EPILOG.
10595:
10596: 2000-02-11 Linus Nordberg <linus@swox.se>
10597:
10598: * configure.in: Better path for 64-bit sparc without 64-bit cc.
10599: Change sparc8 --> sparcv8.
10600: Change sparc9 --> sparcv9.
10601: * configure: Regenerate.
10602:
10603: 2000-02-10 Linus Nordberg <linus@swox.se>
10604:
10605: * configure.in: Use Autoconf.
10606: * Makefile.am: New file.
10607:
10608: * AUTHORS: New file.
10609: * COPYING: New file.
10610: * acinclude.m4: New file.
10611: * acconfig.h: New file.
10612:
10613: * configure: Generate.
10614: * Makefile.in: Generate.
10615: * aclocal.m4: Generate.
10616: * config.in: Generate.
10617:
10618: * install.sh: Remove.
10619: * install-sh: New file from Automake.
10620: * missing: New file from Automake.
10621: * ltconfig: New file from Libtool.
10622: * ltmain.sh: New file from Libtool.
10623:
10624: * mpf/Makefile.am: New file.
10625: * mpf/Makefile.in: Generate.
10626: * mpf/configure.in: Remove.
10627: * mpf/tests/Makefile.am: New file.
10628: * mpf/tests/Makefile.in: Generate.
10629: * mpf/tests/configure.in: Remove.
10630:
10631: * mpn/Makefile.am: New file.
10632: * mpn/Makefile.in: Generate.
10633: * mpn/configure.in: Remove.
10634:
10635: * mpq/Makefile.am: New file.
10636: * mpq/Makefile.in: Generate.
10637: * mpq/configure.in: Remove.
10638: * mpq/tests/Makefile.am: New file.
10639: * mpq/tests/Makefile.in: Generate.
10640: * mpq/tests/configure.in: Remove.
10641:
10642: * mpz/Makefile.am: New file.
10643: * mpz/Makefile.in: Generate.
10644: * mpz/configure.in: Remove.
10645: * mpz/tests/Makefile.am: New file.
10646: * mpz/tests/Makefile.in: Generate.
10647: * mpz/tests/configure.in: Remove.
10648:
10649: 2000-02-10 Torbjorn Granlund <tege@swox.com>
10650:
10651: * mpn/x86/add_n.S: Don't use label L0 twice.
10652: * mpn/x86/sub_n.S: Likewise.
10653:
10654: 2000-01-20 Linus Nordberg <linus@swox.se>
10655:
10656: * demos/pexpr.c: Don't use setup_error_handler() in windoze.
10657:
10658: 2000-01-19 Torbjorn Granlund <tege@swox.com>
10659:
10660: * demos/pexpr.c (sigaltstack): #define to sigstack for AIX.
10661: (setup_error_handler): Don't write to ss_size and ss_flags
10662: on AIX.
10663:
10664: 2000-01-11 Torbjorn Granlund <tege@swox.com>
10665:
10666: * mpn/configure.in (hppa2.0*-*-*): Move assignment of
10667: target_makefile_frag to where it belongs.
10668:
10669: 1999-12-21 Torbjorn Granlund <tege@swox.com>
10670:
10671: * longlong.h (v9 umul_ppmm): New #define.
10672: (v9 udiv_qrnnd): New #define.
10673:
10674: 1999-12-14 Torbjorn Granlund <tege@swox.com>
10675:
10676: * mpn/generic/divmod_1.c: Use invert_limb.
10677: * mpn/generic/mod_1.c: Use invert_limb.
10678:
10679: * gmp-impl.h (invert_limb): Put definition here.
10680: * mpn/generic/divrem.c (invert_limb): Delete definition.
10681: * mpn/generic/divrem_2.c (invert_limb): Delete definition.
10682:
10683: * gmp.h (mpn_divrem): Inhibit for non-gcc.
10684: But declare (undo 1999-11-22 change).
10685:
10686: * gmp-impl.h (DItype,UDItype): Do these also if _LONG_LONG_LIMB.
10687:
10688: * longlong.h: Move 64-bit hppa code out of __GNUC__ conditional.
10689:
10690: * stack-alloc.c (HSIZ): New #define.
10691: (__tmp_alloc): Use HSIZ instead of sizeof(tmp_stack).
10692:
10693: 1999-12-10 Torbjorn Granlund <tege@swox.com>
10694:
10695: * config.sub: Clean up handling of x86 CPUs: Properly recognize
10696: Amd CPUs as unique entities. Use manufacturer's names of
10697: processors ("pentium", etc); still match ambiguous names like
10698: "i586", "i686", "p6" but be conservative in interpreting them.
10699:
10700: * configure.in: Recognize x86 CPU types known by config.guess.
10701: * mpn/configure.in: Likewise. Add x86/mmx path component as
10702: appropriate.
10703: (athlon-*-*): Fix typo.
10704:
10705: * config.guess: Update x86 recog code to intiallly match
10706: more than just i386.
10707: Call K6-2 and K6-III for "k62" and "k63" respectively.
10708:
10709: * config.guess: Recognize x86 CPU types.
10710: Update code for FreeBSD, NetBSD, OpenBSD, Linux.
10711:
10712: 1999-12-08 Torbjorn Granlund <tege@swox.com>
10713:
10714: * mpf/pow_ui.c: Avoid final squaring in loop.
10715:
10716: 1999-12-07 Torbjorn Granlund <tege@swox.com>
10717:
10718: * gmp-impl.h (udiv_qrnnd_preinv2gen): Prefix local variables with `_'.
10719: (udiv_qrnnd_preinv2norm): Likewise.
10720: From Kevin Ryde:
10721: (HAVE_ALLOCA): #define also if defined (alloca).
10722:
10723: 1999-12-04 Torbjorn Granlund <tege@swox.com>
10724:
10725: * mpn/tests/add_n.c: Set OPS from CLOCK.
10726: * mpn/tests/sub_n.c: Likewise.
10727: * mpn/tests/mul_1.c: Likewise.
10728: * mpn/tests/addmul_1.c: Likewise.
10729: * mpn/tests/submul_1.c: Likewise.
10730:
10731: * mpn/tests/lshift.c: Update from add_n.c.
10732: * mpn/tests/rshift.c: Likewise.
10733:
10734: 1999-12-03 Torbjorn Granlund <tege@swox.com>
10735:
10736: * mpn/powerpc64/copy.S: New file.
10737:
10738: 1999-12-02 Torbjorn Granlund <tege@swox.com>
10739:
10740: * mpn/sparc64/copy.s: New file.
10741:
10742: * mpn/tests/copy.c: New file.
10743:
10744: * mpn/configure.in: Recognize more Amd CPUs; Set special paths for
10745: k7 CPU.
10746:
10747: * configure.in: Recognize Amd x86 CPUs.
10748:
10749: * mpz/fdiv_r_2exp.c: In rounding code, read in->_mp_size before
10750: writing to res->_mp_size.
10751:
10752: * mpn/powerpc64/*.S: Clean up assembly syntax, add function headers.
10753: * mpn/powerpc64/gmp-mparam.h: (KARATSUBA_MUL_THRESHOLD): #define.
10754: (KARATSUBA_SQR_THRESHOLD): #define.
10755:
10756: * mpn/tests/add_n.c (main): Only print test number if TIMES==1
10757: and not printing.
10758: (main): Don't run reference code if NOCHECK.
10759: * mpn/tests/sub_n.c: Likewise.
10760: * mpn/tests/mul_1.c: Likewise.
10761: * mpn/tests/addmul_1.c: Likewise.
10762: * mpn/tests/submul_1.c: Likewise.
10763:
10764: * mpn/tests/lshift.c: (main): Only print test number if TIMES==1
10765: and not printing.
10766: * mpn/tests/rshift.c: Likewise.
10767:
10768: 1999-11-22 Torbjorn Granlund <tege@swox.com>
10769:
10770: * gmp.h (mpz_init_set_str): Declare using __gmp_const.
10771: (mpz_set_str): Likewise.
10772: (mpf_init_set_str): Likewise.
10773: (mpf_set_str): Likewise.
10774: (mpn_set_str): Likewise.
10775: (__gmp_0): Likewise.
10776: (mpn_divrem): Remove separate declaration; it's defined later in
10777: this file.
10778:
10779: * gmp.h: Replace "defined (__STD__)' by (__STDC__-0) in
10780: expressions involving more than one term, to handle Sun's compiler
10781: that most helpfully sets __STDC__ to 0.
10782: * gmp-impl.h: Likewise.
10783: * longlong.h: Likewise.
10784:
10785: 1999-11-21 Torbjorn Granlund <tege@swox.com>
10786:
10787: * mpn/sparc64/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
10788: (KARATSUBA_SQR_THRESHOLD): #define.
10789:
10790: * mpn/sparc64/lshift.s: Compensate stack references for odd stack ptr.
10791: * mpn/sparc64/rshift.s: Likewise.
10792:
10793: * mpn/sparc64/addmul_1.s: Propagate carry properly.
10794: * mpn/sparc64/submul_1.s: Likewise.
10795:
10796: * mpn/sparc64/sub_n.s: Rewrite.
10797:
10798: * mpn/sparc64/sub_n.s: Get operand order for main subcc right
10799: (before scrapping this code for new code).
10800:
10801: 1999-11-20 Torbjorn Granlund <tege@swox.com>
10802:
10803: * mpn/sparc64/add_n.s: Rewrite.
10804:
10805: 1999-11-17 Torbjorn Granlund <tege@swox.com>
10806:
10807: * mpn/x86/syntax.h (PROLOG): New #define.
10808: (EPILOG): New #define.
10809:
10810: * gmp.h (mpn_addsub_n): Declare.
10811: * gmp.h (mpn_add_nc): Declare.
10812: * gmp.h (mpn_sub_nc): Declare.
10813: * mpn/powerpc64/addsub_n.S: New file.
10814:
10815: 1999-11-17 Torbjorn Granlund <tege@swox.com>
10816:
10817: * mpn/alpha/gmp-mparam.h
10818: (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
10819: (KARATSUBA_SQR_THRESHOLD): Likewise.
10820:
10821: 1999-11-14 Torbjorn Granlund <tege@swox.com>
10822:
10823: * mpn/x86/mul_1.S: Unroll and optimize for P6 and K7.
10824:
10825: 1999-11-09 Torbjorn Granlund <tege@swox.com>
10826:
10827: * mpn/x86/p6/gmp-mparam.h
10828: (KARATSUBA_MUL_THRESHOLD): Only #define #ifndef.
10829: (KARATSUBA_SQR_THRESHOLD): Likewise.
10830:
10831: 1999-11-05 Torbjorn Granlund <tege@swox.com>
10832:
10833: * mpn/generic/addsub_n.c: New file.
10834:
10835: 1999-11-02 Torbjorn Granlund <tege@swox.com>
10836:
10837: * config.guess: Handle alpha:FreeBSD with alpha:NetBSD.
10838:
10839: * configure.in (vax*-*-*): New case.
10840: * config/mt-vax: New file.
10841: * mpn/vax/add_n.s: Rewrite.
10842: * mpn/vax/sub_n.s: Rewrite.
10843:
10844: 1999-10-31 Torbjorn Granlund <tege@swox.com>
10845:
10846: * mpn/vax/rshift.s: New file.
10847: * mpn/vax/lshift.s: New file.
10848:
10849: 1999-10-29 Torbjorn Granlund <tege@swox.com>
10850:
10851: * config.sub: Handle k5 and k6.
10852: * mpn/configure.in: Recognize k6.
10853:
10854: * mpf/tests/t-get_d.c (LOW_BOUND, HIGH_BOUND): New #defines.
10855: (main): Tighten error bounds to 14 digits.
10856:
10857: * longlong.h (default umul_ppmm, when smul_ppmm exists):
10858: Rename __m0 => __xm0, __m1 => __xm1.
10859: (default smul_ppmm): Likewise.
10860:
10861: 1999-10-11 Torbjorn Granlund <tege@swox.com>
10862:
10863: * config.guess: Reverse the test for POWER vs PowerPC.
10864: * config.guess (sun4m:SunOS:5.*:*): New case.
10865: * config.guess (sun4u:SunOS:5.*:*): New case.
10866:
10867: 1999-09-29 Torbjorn Granlund <tege@swox.com>
10868:
10869: * mpn/generic/divrem_2.c: Clean up comments.
10870:
10871: 1999-09-23 Torbjorn Granlund <tege@swox.com>
10872:
10873: * mpz/tests/Makefile.in: Use move-if-change when generating binaries.
10874: * mpf/tests/Makefile.in: Likewise.
10875: * mpq/tests/Makefile.in: Likewise.
10876: * mpz/tests/move-if-change: New file.
10877: * mpf/tests/move-if-change: New file.
10878: * mpq/tests/move-if-change: New file.
10879:
10880: * gmp.h (mpn_incr_u): New macro (from mpn/generic/mul_n.c).
10881: (mpn_decr_u): New macro.
10882:
10883: * mpn/generic/mul_n.c (mpn_incr): Delete.
10884: * mpn/generic/mul_n.c: Update usages mpn_incr => mpn_incr_u.
10885: * mpn/generic/divrem_newt.c: Use mpn_incr_u and mpn_decr_u instead of
10886: mpn_add_1 and mpn_sub_1.
10887: * mpn/generic/sqrtrem.c: Likewise.
10888: * mpz/cdiv_q_ui.c: Likewise.
10889: * mpz/cdiv_qr_ui.c: Likewise.
10890: * mpz/fdiv_q_ui.c: Likewise.
10891: * mpz/fdiv_qr_ui.c: Likewise.
10892:
10893: * mpn/generic/sqrtrem.c: Start single-limb Newton iteration from 18
10894: bits.
10895:
10896: 1999-07-27 Torbjorn Granlund <tege@swox.com>
10897:
10898: * mpn/generic/divrem_1.c (__gmpn_divrem_1n): New function.
10899:
10900: * mpn/generic/divrem_2.c: New file, code from divrem.c, `case 2:'.
10901: * mpn/Makefile.in: Compile divrem_2.c.
10902: * make.bat: Compile divrem_2.c.
10903: * mpn/configure.in (functions): Add divrem_2.
10904: * gmp.h: Declare mpn_divrem_2.
10905:
10906: * mpn/generic/divrem.c: Delete special cases, handle just divisors
10907: of more than 2 limbs.
10908: * gmp.h (mpn_divrem): Call mpn_divrem_1, mpn_divrem_2, as appropriate.
10909:
10910: * mpn/generic/divrem.c: Rework variable usage for better register
10911: allocation.
10912:
10913: 1999-07-26 Torbjorn Granlund <tege@swox.com>
10914:
10915: * mpn/alpha/ev5/add_n.s: Rewrite for better ev6 speed.
10916: * mpn/alpha/ev5/sub_n.s: Likewise.
10917:
10918: 1999-07-21 Torbjorn Granlund <tege@swox.com>
10919:
10920: * longlong.h (alpha): Define umul_ppmm for cc.
10921:
10922: * gmp-impl.h (DItype, UDItype): Define for non-gcc if _LONGLONG is
10923: defined.
10924:
10925: 1999-07-15 Torbjorn Granlund <tege@swox.com>
10926:
10927: * longlong.h (powerpc64 count_leading_zeros): Fix typo.
10928: (powerpc64 add_ssaaaa): Fix typos.
10929: (powerpc64 sub_ddmmss): Fix typos.
10930:
10931: 1999-07-14 Torbjorn Granlund <tege@swox.com>
10932:
10933: * mpz/tests/Makefile.in: Pass XCFLAGS when linking.
10934: * mpf/tests/Makefile.in: Likewise.
10935: * mpq/tests/Makefile.in: Likewise.
10936: * mpn/Makefile.in (.S.o): Pass XCFLAGS.
10937:
10938: * longlong.h: Add support for 64-bit PowerPC.
10939: * config.sub: Handle "powerpc64".
10940: * configure.in: Likewise.
10941: * mpn/configure.in: Suppress use of config/t-ppc-aix for now,
10942: it seems compiler passes proper options.
10943: * mpn/powerpc64/*.S: New files.
10944:
10945: * Makefile.in (FLAGS_TO_PASS): Pass "AR=$(AR)".
10946:
10947: 1999-07-07 Torbjorn Granlund <tege@swox.com>
10948:
10949: * demos/pexpr.c (factor): Change alloca call to a malloc/free pair.
10950:
10951: * mpn/powerpc32/syntax.h: Add #define's for crN.
10952:
10953: * gmp.h (gmp_rand_algorithm): Remove spurious `,'.
10954:
10955: 1999-07-05 Torbjorn Granlund <tege@swox.com>
10956:
10957: * mpn/generic/divrem_1.c: Normalize divisor when needed.
10958:
10959: 1999-07-02 Torbjorn Granlund <tege@swox.com>
10960:
10961: * mpn/configure.in (powerpc*-apple-mach): New configuration.
10962: * mpn/powerpc32/*: Add support for apple-macho syntax.
10963: * mpn/powerpc32/syntax.h: New file.
10964: * gmp-impl.h: Don't use `__attribute__' syntax for Apple's perversion
10965: of GCC.
10966:
10967: 1999-05-26 Linus Nordberg <linus@swox.se>
10968:
10969: * rand.c (gmp_rand_init): Fix typo.
10970:
10971: * mpn/generic/rawrandom.c (mpn_rawrandom): Count bits, not limbs,
10972: to keep track of how many rounds to do in loop. Clean up
10973: temporary allocation. Update `seedsize' inside loop. Mask off
10974: the correct number of bits from final result. Init `mcopyp' even
10975: when not normalizing `m'.
10976:
10977: * randlc.c (gmp_rand_init_lc): Fix typo (don't call
10978: mpz_init_set_ui()).
10979:
10980: * mpn/generic/rawrandom.c (mpn_rawrandom): Set SIZ(s->seed) when
10981: reallocating.
10982:
1.1.1.4 ! ohara 10983: * tests/rand/Makefile (test, bigtest): Add 33-bit tests.
! 10984:
! 10985: * tests/rand/gen.c (main): Set precision of variable passed to
! 10986: mpf_urandomb(). Add option `-p'.
! 10987:
1.1.1.2 maekawa 10988: 1999-05-25 Linus Nordberg <linus@swox.se>
10989:
10990: * randcm.c: Remove.
10991: * randcmui.c: Remove.
10992: * Makefile.in: Remove randcm and randcmui.
10993: * make.bat: Ditto.
10994: * gmp-impl.h: Remove prototypes for __gmp_rand_init_common() and
10995: __gmp_rand_init_common_ui().
10996: * randlc.c (gmp_rand_init_lc): Don't call
10997: __gmp_rand_init_common().
10998:
10999: * randlcui.c (gmp_rand_init_lc_ui): Don't call
11000: __gmp_rand_init_common_ui().
11001:
11002: * gmp.h (__gmp_rand_state_struct): Remove unused member `maxval'.
11003: * randclr.c (gmp_rand_clear): Remove reference to s->maxval.
11004: * randcm.c (__gmp_rand_init_common): Ditto
11005:
11006: * mpn/generic/rawrandom.c (mpn_rawrandom): Don't calculate nlimbs
11007: twice.
11008:
11009: * gmp.h (__gmp_rand_dist): Remove.
11010:
11011: 1999-05-24 Linus Nordberg <linus@swox.se>
11012:
11013: * mpn/generic/rawrandom.c: Clean up comments.
11014:
11015: * gmp.texi: Add documentation for random number generation.
11016:
11017: 1999-05-21 Linus Nordberg <linus@swox.se>
11018:
11019: * gmp.h: Typedef `gmp_rand_state' as an array with one element.
11020: Change prototypes accordingly.
11021: * gmp-impl.h: Change prototypes using `gmp_rand_state'.
11022: * rand.c (gmp_rand_init): Take `gmp_rand_state' as argument
11023: instead of a pointer to a `gmp_rand_state'.
11024: * mpf/urandom.c (mpf_urandomb): Ditto.
11025: * mpz/urandom.c (mpz_urandomb): Ditto.
11026: * mpn/generic/rawrandom.c (mpn_rawrandom): Ditto.
11027: * randcmui.c (__gmp_rand_init_common_ui): Ditto.
11028: * randlc.c (gmp_rand_init_lc): Ditto.
11029: * randlcui.c (gmp_rand_init_lc_ui): Ditto.
11030: * randui.c (gmp_rand_init_ui): Ditto.
11031: * randcm.c (__gmp_rand_init_common): Ditto.
11032: * randclr.c (gmp_rand_clear): Ditto.
11033:
1.1.1.4 ! ohara 11034: * tests/rand/gen.c (main): Pass `s' to rand-funcs instead of address
! 11035: of `s'.
! 11036:
1.1.1.2 maekawa 11037: 1999-05-20 Linus Nordberg <linus@swox.se>
11038:
11039: * Makefile.in: Rename randi.c --> rand.c, randi_lc.c --> randlc.c,
11040: randicom.c --> randcm.c. Add randui.c, randcmui.c, randlcui.c.
11041: * make.bat: Ditto.
11042:
11043: * gmp.h: Add prototypes for gmp_rand_init_ui() and
11044: gmp_rand_init_lc_ui().
11045: * gmp-impl.h: Add prototypes for __gmp_rand_init_common() and
11046: __gmp_rand_init_common_ui().
11047:
11048: * randlc.c, randcm.c, randclr.c, rand.c: Change #include of
11049: <gmp.h> to "gmp.h".
11050: * randclr.c: Include stdlib.h for free().
11051: * rand.c: Include gmp-impl.h.
11052:
11053: 1999-05-12 Torbjorn Granlund <tege@swox.com>
11054:
11055: * mpn/configure.in: Put generic m68k alternative last.
11056:
11057: 1999-05-04 Torbjorn Granlund <tege@swox.com>
11058:
11059: * demos/pexpr.c (setup_error_handler): Use sigemptyset to create
11060: empty set (for portability).
11061: (fns): Fix typo '#if #if'.
11062: (mpz_eval_expr): Implement FERMAT and MERSENNE.
11063:
11064: * demos/pexpr.c: Cast longjmp argument via long to silent warnings on
11065: 64-bit hosts.
11066:
11067: 1999-05-03 Torbjorn Granlund <tege@swox.com>
11068:
11069: * demos/pexpr.c: Add #defines for GMP 1.x and 2.0 compatibility.
11070:
11071: * demos/pexpr.c (setup_error_handler): New function; take signal
11072: handler setup code from main(), with major modifications to use modern
11073: signal interface.
11074: (main): Remove signal handler setup code; call setup_error_handler.
11075:
1.1.1.4 ! ohara 11076: 1999-04-29 Linus Nordberg <linus@swox.se>
! 11077:
! 11078: * tests/rand/findcl.c (main): Add option '-i' for interval factor.
! 11079: Separate v and merit lose figures. Add '-v' for version.
! 11080:
! 11081: 1999-04-28 Linus Nordberg <linus@swox.se>
! 11082:
! 11083: * tests/rand/statlib.c: Change debugging stuff.
! 11084:
! 11085: * tests/rand/gmpstat.h: Add debug values definitions.
! 11086:
! 11087: * tests/rand/findcl.c (main): Print low and high merit on startup.
! 11088: Print version string on startup. Catch SEGV and HUP. Add option -d
! 11089: for debug. Fix bug making test for v too hard.
! 11090: (sh_status): New function.
! 11091: (sh_status): Flush stdout. Add RCSID.
! 11092:
! 11093: 1999-04-27 Linus Nordberg <linus@swox.se>
! 11094:
! 11095: * tests/rand/Makefile (clean): Add target.
! 11096:
! 11097: 1999-04-27 Linus Nordberg <linus.nordberg@canit.se>
! 11098:
! 11099: * tests/rand/stat.c: Include gmpstat.h.
! 11100: Add global int g_debug.
! 11101:
! 11102: * tests/rand/spect.c: Include <unistd.h>.
! 11103:
! 11104: * tests/rand/findcl.c (main): Input is `m', not all factors of `m'.
! 11105: Print only the very first matching multiplier. Include <unistd.h>.
! 11106: Flush stdout. Print "done." when done.
! 11107:
! 11108: * tests/rand/spect.c: Move everything but main() to statlib.c.
! 11109:
! 11110: * tests/rand/findcl.c: New file.
! 11111:
! 11112: * tests/rand/gmpstat.h: New file.
! 11113:
! 11114: * tests/rand/statlib.c (merit, merit_u, f_floor, vz_dot,
! 11115: spectral_test): New functions.
! 11116:
1.1.1.2 maekawa 11117: 1999-04-27 Torbjorn Granlund <tege@swox.com>
11118:
11119: * mpn/configure.in: Fix typo, "sparc-*)" was "sparc)".
11120:
11121: 1999-04-21 Torbjorn Granlund <tege@swox.com>
11122:
11123: * config.sub: Recognize ev6.
11124:
11125: 1999-04-12 Linus Nordberg <linus.nordberg@canit.se>
11126:
11127: * urandom.c: Split up into randclr.c, randi.c, randi_lc.c,
11128: randicom.c.
11129: * randclr.c, randi.c, randi_lc.c, randicom.c: New files.
11130: * Makefile.in: Remove urandom. Add randclr, randi, randi_lc,
11131: randicom.
11132: * make.bat: Ditto
11133:
11134: 1999-03-31 Torbjorn Granlund <tege@matematik.su.se>
11135:
11136: * configure.in (sparc9-*-solaris2.[789]*, etc): New alternative.
11137: * mpn/configure.in: Use mt-sprc9 also for ultrasparc*-*-solaris2*.
11138:
11139: 1999-03-30 Linus Nordberg <linus.nordberg@canit.se>
11140:
11141: * urandom.c (__gmp_rand_scheme): Change NULL->0.
11142: Include "gmp.h" instead of <gmp.h>.
11143:
11144: 1999-03-29 Linus Nordberg <linus.nordberg@canit.se>
11145:
11146: * gmp.h (__gmp_rand_data_lc): Now holds a, c, m instead of scheme
11147: struct.
11148: (__gmp_rand_lc_scheme_struct): Remove mpz_t's `a' and `m'.
11149:
1.1.1.4 ! ohara 11150: * tests/rand/stat.c (f_freq): Don't print 2nd level results if doing
! 11151: 1st level.
! 11152:
! 11153: * tests/rand/gen.c (main): Set default algorithm to mpz_urandomb.
! 11154: (main): Add option -c.
! 11155:
! 11156: 1999-03-24 Linus Nordberg <linus.nordberg@canit.se>
! 11157:
! 11158: * tests/rand/Makefile (GMPINC): Rename to GMPH.
! 11159: (GMPH): Add gmp-mparam.h.
! 11160: (CFLAGS): Add -I$(GMPLIBDIR)/mpn
! 11161:
1.1.1.2 maekawa 11162: 1999-03-23 Linus Nordberg <linus.nordberg@canit.se>
11163:
11164: * Makefile.in: Compile top-dir/urandom.c.
11165: * make.bat: Ditto.
11166:
11167: * mpn/Makefile.in: Compile rawrandom.c.
11168: * make.bat: Ditto.
11169:
11170: * mpn/configure.in (functions): Add rawrandom.
11171:
11172: * gmp.h (__gmp_rand_scheme_struct): Rename to
11173: __gmp_rand_lc_scheme_struct.
11174: (__gmp_rand_data_lc): Remove member 'n'. Allocate a
11175: __gmp_rand_lc_scheme_struct instead of a pointer to one.
11176: Add prototype for gmp_rand_init_lc(), mpn_rawrandom().
11177: New prototype for mpz_urandomb().
11178:
11179: * urandom.c: New file.
11180: (__gmp_rand_init_common): New function.
11181: (gmp_rand_init_lc): New function.
11182: (gmp_rand_init): Don't init data_lc->n. Call gmp_rand_init_lc()
11183: and __gmp_rand_init_common().
11184: (gmp_rand_clear): Remove reference to data_lc->n.
11185:
11186: * mpz/urandom.c (gmp_rand_init, gmp_rand_clear): Move to new file
11187: urandom.c in top-dir.
11188: (mpz_urandomb): Add function parameter nbits. Call mpn_rawrandom().
11189:
11190: * mpf/urandom.c (mpf_urandomb): Call mpn_rawrandom().
11191:
11192: * mpn/generic/rawrandom.c: New file.
11193: (mpn_rawrandom): New function.
11194:
11195: 1999-03-17 Torbjorn Granlund <tege@matematik.su.se>
11196:
11197: * extract-dbl.c: When packing result, adjust exp when sc == 0.
11198:
11199: * mpf/tests/t-get_d.c: New file.
11200: * mpf/tests/Makefile.in: Compile t-get_d.c.
11201:
11202: 1999-03-16 Linus Nordberg <linus.nordberg@canit.se>
11203:
11204: * mpz/urandom.c (__gmp_rand_scheme): Add extra braces around the
11205: mpz_t members.
11206:
11207: * make.bat: Compile mpz/urandom.c and mpf/urandom.c
11208:
1.1.1.4 ! ohara 11209: * tests/rand/statlib.c (ks_table): Use mpf_pow_ui() and exp().
! 11210:
! 11211: * tests/rand/gen.c: Include unistd.h for getopt.
! 11212:
1.1.1.2 maekawa 11213: 1999-03-15 Linus Nordberg <linus.nordberg@canit.se>
11214:
11215: * mpz/urandom.c (gmp_rand_init): New function.
11216: (gmp_rand_clear): New function.
11217: (mpz_urandomb): New function.
11218:
11219: * mpz/Makefile.in: Compile urandom.c
11220:
11221: * mpf/urandom.c (mpf_urandomb): New function.
11222:
11223: * mpf/Makefile.in: Compile urandom.c.
11224:
11225: * gmp.h (__gmp_rand_state_struct, __gmp_rand_scheme_struct): New
11226: structs for randomization functions.
11227: (gmp_rand_dist, gmp_rand_alogrithm): New enums for randomization
11228: functions.
11229: (mpz_urandomb, mpf_urandomb): Add prototype.
11230: (gmp_rand_init, gmp_rand_clear): Add prototype.
11231:
1.1.1.4 ! ohara 11232: * tests/rand/gen.c, stat.c, statlib.c, statlib.h: New files.
! 11233: * tests/rand/Makefile, tests/rand/ChangeLog: New files.
! 11234:
1.1.1.2 maekawa 11235: 1999-03-15 Torbjorn Granlund <tege@matematik.su.se>
11236:
11237: * .gdbinit: New file.
11238:
11239: * mpz/dump.c: New file.
11240: * mpz/Makefile.in: Compile dump.c.
11241: * make.bat: Likewise.
11242: * gmp.h (mpz_dump): Declare.
11243:
11244: 1999-03-14 Torbjorn Granlund <tege@matematik.su.se>
11245:
11246: * mpz/tests/reuse.c: Also test mpz_invert and mpz_divexact.
11247:
11248: * mpz/tests/convert.c: Update to GMP 2 variable syntax.
11249:
11250: 1999-03-13 Torbjorn Granlund <tege@matematik.su.se>
11251:
11252: * mpf/README: New file.
11253: * mpz/README: New file.
11254:
11255: * mpf/pow_ui.c: New file.
11256: * mpf/Makefile.in: Compile pow_ui.c.
11257: * make.bat: Likewise.
11258: * gmp.h (mpf_pow_ui): Declare.
11259:
11260: 1999-03-12 Torbjorn Granlund <tege@matematik.su.se>
11261:
11262: * mpn/configure.in: Stage 1 of rewrite.
11263: * mpn/underscore.h: New name for bsd.h.
11264: * mpn/sysv.h: Deleted.
11265:
11266: * mpn/m68k/*: Don't include sysdep.h.
11267:
1.1.1.4 ! ohara 11268: * mpn/pa64/README: New file.
! 11269:
1.1.1.2 maekawa 11270: 1999-03-11 Torbjorn Granlund <tege@matematik.su.se>
11271:
11272: * mpn/powerpc32/add_n.S: Add support for both AIX and ELF syntax.
11273: Renamed from `.s'.
11274: * mpn/powerpc32/sub_n.S: Likewise.
11275: * mpn/powerpc32/lshift.S: Likewise.
11276: * mpn/powerpc32/rshift.S: Likewise.
11277: * mpn/powerpc32/mul_1.S: Likewise.
11278: * mpn/powerpc32/addmul_1.S: Likewise.
11279: * mpn/powerpc32/submul_1.S: Likewise.
11280:
11281: * mpn/powerpc32/umul.S: New file.
11282: * mpn/sparc32/v8/umul.S: New file.
11283: * mpn/sparc32/umul.S: New file.
11284: * mpn/x86/umul.S: New file.
11285: * mpn/x86/udiv.S: New file.
11286:
11287: * mpn/Makefile.in (mul_basecase.o): Delete rule.
11288:
11289: 1999-02-22 Torbjorn Granlund <tege@matematik.su.se>
11290:
11291: * configure.in (hppa2.0*-*-*): Force use of GCC.
11292:
11293: * extract-dbl.c: Handle IEEE denormalized numbrs. Clean up.
11294:
11295: 1998-12-02 Torbjorn Granlund <tege@matematik.su.se>
11296:
11297: * mpn/Makefile.in (CCAS): New macro.
11298: (.s.o): Use CCAS.
11299: (.S.o): Likewise.
11300:
11301: * mpn/Makefile.in (mul_basecase.o): Add dependency.
11302: (sqr_basecase.o): Likewise.
11303: (mod_1.o): Likewise.
11304:
11305: * demos/pexpr.c (cputime): Test also __hpux.
11306: (cleanup_and_exit): Check SIGXCPU only #ifdef LIMIT_RESOURCE_USAGE.
11307:
11308: * mpz/tests/t-2exp.c: Use urandom, not random.
11309:
11310: * mpn/configure.in (arm*-*-*): New alternative.
11311:
11312: 1998-11-30 Torbjorn Granlund <tege@matematik.su.se>
11313:
11314: * gmp-impl.h (union ieee_double_extract): Special case for
11315: little-endian arm.
11316: (LIMBS): Alias for PTR.
11317:
11318: 1998-11-26 Torbjorn Granlund <tege@matematik.su.se>
11319:
11320: * longlong.h (m68000 umul_ppmm): Use `muluw', not `mulu'.
11321: (m68k stuff): Clean up; add coldfire support.
11322:
11323: 1998-11-23 Torbjorn Granlund <tege@matematik.su.se>
11324:
11325: * mpn/mips3/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
11326: (KARATSUBA_SQR_THRESHOLD): #define.
11327:
11328: * mpn/sparc32/v9/README: New file.
11329:
11330: 1998-11-20 Torbjorn Granlund <tege@matematik.su.se>
11331:
11332: * mpn/x86/README: New file.
11333:
11334: * mpn/arm/gmp-mparam.h: New file.
11335: * mpn/pa64/gmp-mparam.h: New file.
11336: * mpn/hppa/gmp-mparam.h: New file.
11337: * mpn/x86/pentium/gmp-mparam.h: New file.
11338: * mpn/sparc32/v9/gmp-mparam.h: New file.
11339: * mpn/powerpc32/gmp-mparam.h: New file.
11340: * mpn/x86/p6/gmp-mparam.h: New file.
11341:
11342: * mpn/alpha/gmp-mparam.h (KARATSUBA_MUL_THRESHOLD): #define.
11343: (KARATSUBA_SQR_THRESHOLD): #define.
11344:
11345: * mpn/configure.in: Point to x86/p6 when appropriate.
11346:
11347: * mpn/power/umul.s: New file.
11348: * mpn/power/sdiv.s: New file.
11349: * mpn/pa64/addmul_1.S: New file.
11350: * mpn/pa64/submul_1.S: New file.
11351: * mpn/pa64/mul_1.S: New file.
11352: * mpn/pa64/udiv_qrnnd.c: New file.
11353: * mpn/pa64/umul_ppmm.S: New file.
11354: * mpn/mips2/umul.s: New file.
11355: * mpn/m68k/mc68020/umul.s: New file.
11356: * mpn/m68k/mc68020/udiv.s: New file.
11357: * mpn/hppa/hppa1_1/umul.s: New file.
11358: * mpn/alpha/umul.s: New file.
11359: * mpn/a29k/udiv.s: New file.
11360: * mpn/a29k/umul.s: New file.
11361:
11362: 1998-11-17 Torbjorn Granlund <tege@matematik.su.se>
11363:
11364: * mpn/x86/mul_basecase.S: New file for non-pentiums.
11365: * mpn/x86/mul_basecase.S: Move to mpn/x86/pentium.
11366:
11367: 1998-11-16 Torbjorn Granlund <tege@matematik.su.se>
11368:
11369: * make.bat: Compile mul_basecase.c and sqr_basecase.c.
11370:
11371: 1998-11-10 Torbjorn Granlund <tege@matematik.su.se>
11372:
11373: * mpz/invert.c: Defer writing to parameter `invert' until
11374: end.
11375:
11376: 1998-11-03 Torbjorn Granlund <tege@matematik.su.se>
11377:
11378: * mpn/pa64/udiv_qrnnd.c: Handle more border cases.
11379:
11380: 1998-10-29 Torbjorn Granlund <tege@matematik.su.se>
11381:
11382: * insert-dbl.c: Special case biased exponents < 1; Get boundary for
11383: Inf right.
11384:
11385: * longlong.h (COUNT_LEADING_ZEROS_NEED_CLZ_TAB): New #define.
11386:
11387: 1998-10-28 Torbjorn Granlund <tege@matematik.su.se>
11388:
11389: * mpn/powerpc32/submul_1.s: Rewrite, optimizing for PPC604.
11390: * mpn/powerpc32/addmul_1.s: Likewise.
11391: * mpn/powerpc32/lshift.s: Likewise.
11392:
11393: 1998-10-23 Torbjorn Granlund <tege@matematik.su.se>
11394:
11395: * config/mt-sprc9-gcc (XCFLAGS): Add -Wa,-xarch=v8plus.
11396:
11397: * mpn/sparc32/v9/submul_1.s: New file.
11398:
11399: 1998-10-21 Torbjorn Granlund <tege@matematik.su.se>
11400:
11401: * mpn/config/mt-pa2hpux: New file.
11402: * mpn/configure.in (hppa2.0*-*-*): Use new 64-bit code.
11403:
11404: * config.sub: Recognize hppa2.0 as CPU type.
11405:
11406: * longlong.h (64-bit hppa): Add umul_ppmm and udiv_qrnnd.
11407: * mpn/pa64/mul_1.S: New file.
11408: * mpn/pa64/addmul_1.S: New file.
11409: * mpn/pa64/submul_1.S: New file.
11410: * mpn/pa64/umul_ppmm.S: New file.
11411: * mpn/pa64/udiv_qrnnd.c: New file.
11412:
11413: 1998-10-20 Torbjorn Granlund <tege@matematik.su.se>
11414:
11415: * mpz/pprime_p.c: Pass 1L, not 1, to mpz_cmp_ui.
11416:
11417: * mpz/fdiv_q_2exp.c: Cast `long' argument to `mp_limb_t' for mpn calls.
11418: * mpz/gcd_ui.c: Likewise.
11419: * mpz/add_ui.c: Likewise.
11420: * mpz/sub_ui.c: Likewise.
11421:
11422: 1998-10-19 Torbjorn Granlund <tege@matematik.su.se>
11423:
11424: * mpn/generic/bdivmod.c: Avoid using switch statement with mp_limb_t
11425: index.
11426:
11427: 1998-10-17 Torbjorn Granlund <tege@matematik.su.se>
11428:
11429: * mpn/sparc32/v9/mul_1.s: Misc cleanups.
11430: * mpn/sparc32/v9/addmul_1.s: Misc cleanups.
11431:
11432: 1998-10-16 Torbjorn Granlund <tege@matematik.su.se>
11433:
11434: * mpn/tests/{add,sub,}mul_1.c: Print xlimb using mpn_print.
11435:
11436: * mpz/tests/t-powm.c (SIZE): Increase to 50.
11437: (EXP_SIZE): New parameter; use it for computing exp_size.
11438:
11439: 1998-10-15 Torbjorn Granlund <tege@matematik.su.se>
11440:
11441: * mpn/generic/divrem_newt.c: Use TMP_ALLOC interface.
11442:
11443: * mpn/generic/sqrtrem.c: Check BITS_PER_MP_LIMB before defining
11444: assembly variants of SQRT.
11445:
11446: 1998-10-14 Torbjorn Granlund <tege@matematik.su.se>
11447:
11448: * mpn/tests: Clean up timing routines. Don't include longlong.h
11449: where it is not needed.
11450: (mpn_print): Handle printing when _LONG_LONG_LIMB.
11451: * mpn/tests/{add,sub,}mul_1.c: Generate xlimb with mpn_random2
11452: and do it whether TIMES != 1 or not.
11453:
11454: * mpn/generic/mul_n.c: Delay assignment of `sign' for lower
11455: register pressure.
11456:
11457: * mpn/sparc32/v9/mul_1.s: New file.
11458:
11459: * config/mt-sprc9-gcc: New file.
11460: * configure.in: Use it.
11461:
11462: * mpn/configure.in: Use sparc64 for Solaris 2.7 and later with a
11463: sparc v9 CPU.
11464: * mpn/configure.in: Use sparc32/v9 for Solaris 2.6 or earlier with
11465: a sparc v9 CPU.
11466:
11467: * mpf/sub.c: In initial code for ediff == 0, limit precision
11468: before jumping to `normalize'.
11469:
11470: 1998-10-13 Torbjorn Granlund <tege@matematik.su.se>
11471:
11472: * mpn/hppa/hppa2_0/add_n.s: New file.
11473: * mpn/hppa/hppa2_0/sub_n.s: New file.
11474: * mpn/configure.in: Handle hppa2.0 (32-bit code for now).
11475:
11476: * config.guess: Update from egcs 1.1.
11477: (9000/[3478]??:HP-UX:*:*): Properly return 2.0 for all known 2.0
11478: machines.
11479:
11480: 1998-10-07 Torbjorn Granlund <tege@matematik.su.se>
11481:
11482: * mpz/root.c (mpz_root): New file.
11483: * mpz/Makefile.in: Compile it.
11484: * make.bat: Likewise.
11485: * gmp.h (mpz_root): Declare.
11486:
11487: * mpz/perfpow.c: New file.
11488: * mpz/Makefile.in: Compile it.
11489: * make.bat: Likewise.
11490: * gmp.h (mpz_perfect_power_p): Declare.
11491:
11492: * mpz/remove.c: New file.
11493: * mpz/Makefile.in: Compile it.
11494: * make.bat: Likewise.
11495: * gmp.h (mpz_remove): Declare.
11496:
11497: * mpz/bin_ui.c: New file.
11498: * mpz/Makefile.in: Compile it.
11499: * make.bat: Likewise.
11500: * gmp.h (mpz_bin_ui): Declare.
11501:
11502: * mpz/bin_uiui.c: New file.
11503: * mpz/Makefile.in: Compile it.
11504: * make.bat: Likewise.
11505: * gmp.h (mpz_bin_uiui): Declare.
11506:
11507: 1998-09-16 Torbjorn Granlund <tege@matematik.su.se>
11508:
11509: * longlong.h: Test for __powerpc__ in addition to _ARCH_PPC.
11510:
11511: Sat Sep 5 17:22:28 1998 Torbjorn Granlund <tege@matematik.su.se>
11512:
11513: * mpf/cmp_si.c: Compare most significant mantissa limb before
11514: trying to deduce anything from the limb count.
11515: * mpf/cmp_ui.c: Likewise.
11516:
11517: Tue Aug 18 10:24:39 1998 Torbjorn Granlund <tege@matematik.su.se>
11518:
11519: * mpz/pprime_p.c (mpz_probab_prime_p): Add new code block
11520: for doing more dividing.
11521:
11522: Sat Aug 15 18:43:17 1998 Torbjorn Granlund <tege@matematik.su.se>
11523:
11524: * mpn/generic/divrem_newt.c: New name for divrem_newton.c.
11525: * mpn/Makefile.in: Corresponding changes.
11526: * mpn/configure.in: Likewise.
11527:
11528: Wed Aug 12 23:07:09 1998 Torbjorn Granlund <tege@matematik.su.se>
11529:
11530: * config.guess: Handle powerpc for NetBSD.
11531:
11532: Tue Jul 28 23:10:55 1998 Torbjorn Granlund <tege@matematik.su.se>
11533:
11534: * mpz/fib_ui.c: New file.
11535: * mpz/Makefile.in: Compile it.
11536: * make.bat: Likewise.
11537: * gmp.h (mpz_fib_ui): Declare.
11538:
11539: Wed Jun 17 22:52:58 1998 Torbjorn Granlund <tege@matematik.su.se>
11540:
11541: * make.bat: Fix typo, `asm-synt.h' => `asm-syntax.h'.
11542:
11543: Wed Jun 3 11:27:32 1998 Torbjorn Granlund <tege@matematik.su.se>
11544:
11545: * config/mt-pwr: New file.
11546: * config/mt-ppc: New file.
11547: * configure.in: Use the new files.
11548:
11549: Tue Jun 2 13:04:17 1998 Torbjorn Granlund <tege@matematik.su.se>
11550:
11551: * mpn/sparc32/v9/addmul_1.s: New file.
11552: * mpn/config/mt-sprc9: New file.
11553: * mpn/configure.in: Use mt-sprc9.
11554:
11555: Tue May 26 11:24:18 1998 Torbjorn Granlund <tege@matematik.su.se>
11556:
11557: * demos/factorize.c (factor_using_pollard_rho): Pass correct
11558: parameters in recursive calls; join the two recursion arms.
11559:
11560: * mpf/set_q.c: Set result sign.
11561: When normalizing the numerator, don't allow it to increase in size
11562: beyond prec.
11563:
11564: Tue May 19 17:28:14 1998 Torbjorn Granlund <tege@matematik.su.se>
11565:
11566: * demos/factorize.c (factor_using_division): Call fflush
11567: also for the factor 2.
11568:
11569: Mon May 18 15:51:01 1998 Torbjorn Granlund <tege@matematik.su.se>
11570:
11571: * make.bat: Pass -fomit-frame-pointer. Do not pass -g.
11572:
11573: Tue May 5 01:42:50 1998 Torbjorn Granlund <tege@matematik.su.se>
11574:
11575: * mpz/Makefile.in (LOCAL_CC): Remove definition.
11576:
11577: * gmp.h: Get rid of GMP_SMALL stuff.
11578: * mpz/Makefile.in: Likewise.
11579: * mpq/Makefile.in: Likewise.
11580: * mpf/Makefile.in: Likewise.
11581:
11582: * mpz/invert.c: Fix typo in comment.
11583:
11584: Mon May 4 23:05:32 1998 Torbjorn Granlund <tege@matematik.su.se>
11585:
11586: * mpn/generic/sqrtrem.c: Check that __arch64__ is not defined
11587: before defining sparc SQRT.
11588:
11589: Mon Apr 20 19:16:17 1998 Torbjorn Granlund <tege@matematik.su.se>
11590:
11591: * mpn/generic/gcdext.c: Allow gp to be NULL.
11592:
11593: 1998-04-03 Torbjorn Granlund <tege@matematik.su.se>
11594:
11595: * mpn/configure.in: Recognize `alphaev5*', not `alphaev5'.
11596:
11597: * config.guess: Handle CPU variants for NetBSD.
11598:
11599: Mon Mar 16 13:07:54 1998 Torbjorn Granlund <tege@matematik.su.se>
11600:
11601: * mpz/pprime_p.c: Use mpn_mod_1/mpn_preinv_mod_1 for computing mod PP,
11602: not mpz_tdiv_r_ui (which expects an `unsigned long').
11603: (mpz_probab_prime_p): Change type of `r' to mp_limb_t.
11604:
11605: Thu Mar 12 17:19:04 1998 Torbjorn Granlund <tege@matematik.su.se>
11606:
11607: * gmp.h (mpf_ceil, mpf_floor, mpf_trunc): Add declarations.
11608:
11609: * config.guess: Update from FSF version.
11610: * config.sub: Likewise.
11611:
11612: * config.guess: Add special handling of alpha-*-NetBSD.
11613:
11614: Wed Mar 11 00:55:34 1998 Torbjorn Granlund <tege@matematik.su.se>
11615:
11616: * mpz/inp_str.c: Update from set_str.c.
11617: Properly increment `nread' when skipping minus sign.
11618:
11619: * mpz/set_str.c: Check for empty string after having skipped
11620: leading zeros.
11621:
11622: Mon Mar 9 19:28:00 1998 Torbjorn Granlund <tege@matematik.su.se>
11623:
11624: * mpz/set_str.c: Skip leading zeros.
11625:
11626: Wed Mar 4 19:29:16 1998 Torbjorn Granlund <tege@matematik.su.se>
11627:
11628: * gmp.h (mpz_cmp_si): Cast argument before calling mpz_cmp_ui.
11629:
11630: * demos/factorize.c: Rewrite.
11631:
11632: 1998-02-04 Torbjorn Granlund <tege@matematik.su.se>
11633:
11634: * configure.in (i[3456]86* etc): Check if using gcc before
11635: choosing mt-x86.
11636:
11637: * configure.in (m68*-*-*): New alterantive.
11638: * config/mt-m68k: New file.
11639:
11640: * mpn/alpha/invert-limb.s: Put tables in text segment,
11641: since not all systems support "rdata".
11642:
11643: Wed Feb 4 02:20:57 1998 Torbjorn Granlund <tege@matematik.su.se>
11644:
11645: * gmp.h (__GNU_MP_VERSION_SNAP): New #define.
11646: (__GNU_MP_VERSION_MINOR): Now 1.
11647:
11648: Wed Jan 28 22:29:36 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
11649:
11650: * longlong.h (alpha udiv_qrnnd): #define UDIV_NEEDS_NORMALIZATION.
11651:
11652: Wed Jan 28 20:28:19 1998 Torbjorn Granlund <tege@sophie.matematik.su.se>
11653:
11654: * mpz/pprime_p.c (mpz_probab_prime_p): Delete 59 from tried divisors.
11655:
11656: Mon Jan 26 01:39:02 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
11657:
11658: * mpz/pprime_p.c (mpz_probab_prime_p): Major overhaul: Check small
11659: numers specifically; check small factors, then perform a fermat test.
11660:
11661: Tue Jan 13 14:58:28 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
11662:
11663: * longlong.h (alpha udiv_qrnnd): Call __mpn_invert_normalized_limb
11664: and udiv_qrnnd_preinv.
11665:
11666: Wed Jan 7 01:52:54 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
11667:
11668: * mpn/configure.in (alpha*, extra_functions): Add invert-limb and
11669: remove udiv_qrnnd.
11670:
11671: * mpn/tests/divrem.c: Get allocations right.
11672:
11673: * mpn/generic/divrem.c: Conditionally pre-invert most significant
11674: divisor limb.
11675:
11676: Tue Jan 6 23:08:54 1998 Torbjorn Granlund <tege@tunnis.tmg.se>
11677:
11678: * mpn/generic/divrem_1.c: Rename variables to comply to conventions.
11679: Make `i' have type `mp_size_t'.
11680:
11681: Tue Dec 30 22:21:42 1997 Torbjorn Granlund <tege@matematik.su.se>
11682:
11683: * mpz/tdiv_qr_ui.c: Return the remainder.
11684: * mpz/tdiv_r_ui.c: Likewise.
11685: * mpz/tdiv_q_ui.c: Likewise.
11686: * gmp.h: Change return type of mpz_tdiv_qr_ui, mpz_tdiv_r_ui,
11687: mpz_tdiv_q_ui.
11688:
11689: * mpz/tdiv_ui.c: New file.
11690: * mpz/Makefile.in: Compile it.
11691: * make.bat: Likewise.
11692: * gmp.h (mpz_tdiv_ui): Declare.
11693:
11694: Fri Nov 7 04:21:15 1997 Torbjorn Granlund <tege@matematik.su.se>
11695:
11696: * mpf/integer.c (FUNC_NAME): Fix bogus test for mpf_trunc.
11697:
11698: * demos/isprime.c: New file.
11699:
11700: Sat Nov 1 19:32:25 1997 Torbjorn Granlund <tege@matematik.su.se>
11701:
11702: * mpz/cmp_abs.c: New file.
11703: * mpz/Makefile.in: Compile it.
11704: * make.bat: Likewise.
11705: * gmp.h (mpz_cmp_abs): Declare.
11706:
11707: * mpz/cmp_abs_ui.c: New file.
11708: * mpz/Makefile.in: Compile it.
11709: * make.bat: Likewise.
11710: * gmp.h (mpz_cmp_abs_ui): Declare.
11711:
11712: Sat Sep 27 04:49:52 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
11713:
11714: * mpz/fdiv_r_2exp.c: Get allocation for `tmp' right.
11715:
11716: * mpz/fdiv_q_2exp.c: In final result adjustment code, handle
11717: that intermediate result is zero.
11718:
11719: * mpz/tests/t-2exp.c: New file.
11720: * mpz/tests/Makefile.in: Handle t-2exp.c.
11721:
11722: Fri Sep 26 16:29:21 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
11723:
11724: * mpz/divexact.c: Fix typo in test for whether to copy numerator to
11725: quotient and move that statement to after handling quotient and
11726: denominator overlap. Misc cleanups.
11727:
11728: * mpn/generic/gcd.c: Change count argument of mpn_lshift/mpn_rshift
11729: calls to `unsigned int'.
11730: * mpz/divexact.c: Likewise.
11731:
11732: Mon Sep 22 02:19:52 1997 Torbjorn Granlund <tege@pro.tmg.se>
11733:
11734: * mpz/tests/t-powm.c: Decrease `reps' to 2500.
11735:
11736: * mpz/tests/t-pow_ui.c: New file.
11737: * mpz/tests/Makefile.in: Handle t-pow_ui.c.
11738:
11739: * mpz/ui_pow_ui.c: Get special cases for exponent and base right.
11740:
11741: * mpz/pow_ui.c: Increase temp space allocation by 1 limb.
11742: Split `rsize' into two variables; compute space allocation into
11743: `ralloc'.
11744:
11745: Sun Sep 7 04:15:12 1997 Torbjorn Granlund <tege@pro.tmg.se>
11746:
11747: * mpn/pa64/lshift.s: New file.
11748: * mpn/pa64/rshift.s: New file.
11749: * mpn/pa64/sub_n.s: New file.
11750:
11751: Sat Sep 6 19:14:13 1997 Torbjorn Granlund <tege@gmp.tmg.se>
11752:
11753: * mpn/pa64/add_n.s: New file.
11754: * mpn/pa64: New directory.
11755:
11756: Tue Aug 19 16:17:09 1997 Torbjorn Granlund <tege@pro.tmg.se>
11757:
11758: * mpz/swap.c: New file.
11759: * mpz/Makefile.in: Compile it.
11760: * make.bat: Likewise.
11761: * gmp.h (mpz_swap): Declare.
11762:
11763: * mpn/generic/mul_n.c: Push assignment of x and y pointers into the
11764: if/else clauses in several places. (Decreases register pressure.)
11765:
11766: Mon Aug 18 03:29:50 1997 Torbjorn Granlund <tege@pro.tmg.se>
11767:
11768: * mpn/thumb/add_n.s: New file.
11769: * mpn/thumb/sub_n.s: New file.
11770: * mpn/arm/add_n.s: New file.
11771: * mpn/arm/sub_n.s: New file.
11772:
11773: * mpz/powm.c: After mpn_mul_n and mpn_mul calls, adjust product size
11774: if most significant limb is zero.
11775: * mpz/powm_ui.c: Likewise.
11776:
11777: Fri Aug 15 02:13:57 1997 Torbjorn Granlund <tege@pro.tmg.se>
11778:
11779: * mpn/arm/m/mul_1.s: New file.
11780: * mpn/arm/m/addmul_1.s: New file.
11781:
11782: * mpn/powerpc32/mul_1.s: Rewrite.
11783:
11784: * mpn/alpha/mul_1.s: Prefix labels with `.'.
11785:
11786: Mon Aug 11 02:37:16 1997 Torbjorn Granlund <tege@pro.tmg.se>
11787:
11788: * mpn/powerpc32/add_n.s: Rewrite.
11789: * mpn/powerpc32/sub_n.s: Rewrite.
11790:
11791: Sun Aug 10 17:07:15 1997 Torbjorn Granlund <tege@pro.tmg.se>
11792:
11793: * mpn/powerpc32/addmul_1.s: Delete obsolete comments.
11794: * mpn/powerpc32/submul_1.s: Likewise.
11795:
11796: Fri Jul 25 20:07:54 1997 Torbjorn Granlund <tege@pro.tmg.se>
11797:
11798: * mpz/addmul_ui.c: New file.
11799: * mpz/Makefile.in: Compile it.
11800: * make.bat: Likewise.
11801: * gmp.h (mpz_addmul_ui): Declare.
11802:
11803: * mpz/setbit.c: Add missing code after final `else'.
11804:
11805: Tue Jul 22 17:45:01 1997 Torbjorn Granlund <tege@tunnis.tmg.se>
11806:
11807: * mpn/sh/add_n.s: Fix typo.
11808: * mpn/sh/sub_n.s: Likewise.
11809:
11810: * longlong.h (ns32k count_trailing_zeros): Fix typo.
11811:
11812: * insert-dbl.c: Check for exponent overflow and return Inf.
11813:
11814: * mpz/get_d.c: Rewrite to avoid rounding errors.
11815:
11816: Thu May 29 11:51:07 1997 Torbjorn Granlund <tege@pro.tmg.se>
11817:
11818: * mpq/add.c: Swap some usages of tmp1 and tmp2 to make sure
11819: their allocation suffices.
11820: * mpq/sub.c: Likewise.
11821:
11822: Wed Apr 16 02:24:25 1997 Torbjorn Granlund <tege@pro.tmg.se>
11823:
11824: * demos/pexpr.c: New file.
11825:
11826: * mpn/generic/mul_n.c: Misc optimizations from Robert Harley.
11827:
11828: * gmp-impl.h (MPZ_PROVOKE_REALLOC): New #define.
11829:
11830: Sat Apr 12 17:54:04 1997 Torbjorn Granlund <tege@pro.tmg.se>
11831:
11832: * mpz/tstbit.c: New file.
11833: * mpz/Makefile.in: Compile it.
11834: * make.bat: Likewise.
11835: * gmp.h (mpz_tstbit): Declare.
11836:
11837: * mpz/tests/logic.c: Use MPZ_CHECK_FORMAT.
11838: * mpz/tests/bit.c: New test.
11839: * mpz/tests/Makefile.in: Handle bit.c.
11840:
11841: * mpz/ior.c: In -OP2,+OP1 case, normalize OP2 after call to mpn_sub_1.
11842:
11843: * gmp-impl.h (MPZ_CHECK_FORMAT): New #define.
11844:
11845: Thu Apr 10 00:30:14 1997 Torbjorn Granlund <tege@tmg.se>
11846:
11847: * longlong.h (POWER/PowerPC): Test _ARCH_PWR instead of _IBMR2.
11848:
11849: Wed Apr 9 18:23:31 1997 Torbjorn Granlund <tege@pro.tmg.se>
11850:
11851: * gmp-impl.h: Move defaulting of UMUL_TIME and UDIV_TIME from here...
11852: * longlong.h: ...to here.
11853:
11854: Sun Mar 30 12:16:23 1997 Torbjorn Granlund <tege@matematik.su.se>
11855:
11856: * mpn/generic/next_prime.c: New file.
11857:
11858: * mpn/generic/perfsqr.c: Remove definitions of PP and PP_INVERTED.
11859: * gmp-impl.h: Put them here.
11860:
11861: Fri Mar 28 08:18:05 1997 Torbjorn Granlund <tege@matematik.su.se>
11862:
11863: * gmp-impl.h (MPN_COPY_INCR, MPN_COPY_DECR): Define as inline asm for
11864: for x86, but leave disabled for now.
11865:
11866: Fri Feb 28 02:39:47 1997 Torbjorn Granlund <tege@matematik.su.se>
11867:
11868: * mpn/Makefile.in (.S.o): Pass SFLAGS and CFLAGS also to compiler
11869: for assembly phase.
11870: (.s.o): Pass SFLAGS.
11871:
11872: Wed Feb 26 06:46:08 1997 Torbjorn Granlund <tege@matematik.su.se>
11873:
11874: * mpn/configure.in: For Pentium Pro, use default code, not Pentium
11875: optimized code.
11876:
11877: * mpn/x86/addmul_1.S: Unroll and optimize for Pentium Pro.
11878: * mpn/x86/submul_1.S: Likewise.
11879:
11880: Thu Feb 13 08:26:09 1997 Torbjorn Granlund <tege@matematik.su.se>
11881:
11882: * mpf/Makefile.in: Compile floor.o, ceil.o and trunc.o (from
11883: integer.c).
11884: * make.bat: Likewise.
11885:
11886: Wed Feb 5 05:58:44 1997 Torbjorn Granlund <tege@matematik.su.se>
11887:
11888: * mpn/configure.in (alpha*): Add cntlz to extra_functions.
11889:
11890: Wed Feb 4 03:30:45 1997 Torbjorn Granlund <tege@matematik.su.se>
11891:
11892: * mpf/integer.c: New file (supporting mpf_floor, mpf_ceil, mpf_trunc).
11893:
11894: Mon Feb 3 14:21:36 1997 Torbjorn Granlund <tege@matematik.su.se>
11895:
11896: * make.bat: Fix typo, set_dfl_prc => set_dfl_prec.
11897:
11898: Sun Feb 2 02:34:33 1997 Torbjorn Granlund <tege@matematik.su.se>
11899:
11900: * mpf/out_str.c: After outputting `-', decrement n_digits.
11901:
11902: Wed Jan 8 02:50:20 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
11903:
11904: * mpn/generic/divrem.c: qextra_limbs => qxn.
11905:
11906: Wed Dec 18 07:50:46 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11907:
11908: * mpz/tests/t-tdiv.c (SIZE): Increase to 200.
11909:
11910: Tue Dec 17 19:32:48 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11911:
11912: * mpn/generic/divrem.c (mpn_divrem_classic): New name for mpn_divrem.
11913: * gmp.h (mpn_divrem): New function.
11914: * mpn/generic/divrem_newton.c: New file.
11915: * mpn/configure.in (functions): Add divrem_newton.
11916: * make.bat: Likewise.
11917:
11918: Thu Dec 12 17:55:13 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11919:
11920: * gmp.h (_GMP_H_HAVE_FILE): Test also __dj_include_stdio_h_.
11921:
11922: Sat Dec 7 09:40:06 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11923:
11924: * mpn/alpha/invert-limb.s: New file.
11925:
11926: Thu Dec 5 01:25:31 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11927:
11928: * mpz/ui_pow_ui.c (mpz_pow2): New (static) function.
11929: (mpz_ui_pow_ui): Rewrite.
11930:
11931: * make.bat: `pre_mod_1.c' => `pre_mod_.c'. Fix typo in path to
11932: gmp-mpar.h.
11933:
11934: Fri Nov 15 00:49:55 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11935:
11936: * mpz/ui_pow_ui.c: Rewrite for better speed.
11937:
11938: Fri Nov 1 16:36:56 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11939:
11940: * Makefile.in (recursive make rules): Use `&&' instead of `;' as
11941: delimiter.
11942:
11943: Fri Oct 25 17:12:36 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11944:
11945: * gmp-impl.h (Cray/uxp MPN_COPY): Really declare as inline.
11946:
11947: Thu Oct 24 15:08:19 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11948:
11949: * mpn/fujitsu/rshift.c: Fix typo in loop boundaries.
11950:
11951: Fri Oct 18 03:13:54 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11952:
11953: * mpn/configure.in: Recognize `nextstep' for m68k variants; likewise
11954: for x86 variants.
11955:
11956: * mpn/x86/syntax.h (INSND): New macro.
11957: * mpn/x86/[lr]shift.S: Use INSND.
11958: * mpn/x86/pentium/[lr]shift.S: Likewise.
11959: * mpn/config/t-oldgas (SFLAGS): Pass -DOLD_GAS.
11960:
11961: * gmp-impl.h: In code for determining endianess, test also
11962: __BIG_ENDIAN__ and __hppa__. Remove test of __NeXT__.
11963:
11964: Wed Oct 16 03:50:34 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11965:
11966: * mpf/set_str.c: Let `prec' determine precision used in
1.1.1.4 ! ohara 11967: exponentiation code; decrease allocation accordingly.
1.1.1.2 maekawa 11968:
11969: * mpn/vax: Change `jsob*' to `sob*' in all files.
11970:
11971: Tue Oct 15 03:54:06 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11972:
11973: * longlong.h (m88110 udiv_qrnnd): Change type of intermediate quotient
11974: to DImode (divu.d generates a 64-bit quotient).
11975:
11976: * configure.in (m88110*): Fix typo.
11977:
11978: * mpf/get_str.c: Compute exp_in_base using `double' to avoid overflow.
11979:
11980: * gmp-impl.h (struct bases): Change type of chars_per_bit_exactly from
11981: float to double.
11982: * mpn/mp_bases.c (__mp_bases): Give 17 digits for chars_per_bit_exactly
11983: field.
11984:
11985: * mpf/get_str.c: Let `prec' determine precision used in
1.1.1.4 ! ohara 11986: exponentiation code; decrease allocation accordingly.
1.1.1.2 maekawa 11987:
11988: Sun Oct 13 03:31:53 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
11989:
11990: * longlong.h: Major cleanup.
11991: (__udiv_qrnnd_c): Compute remainders using multiply and subtract,
11992: not explicit `%' operator.
11993: (C umul_ppmm): Get rid of a redundant __ll_lowpart.
11994:
11995: * mpz/invert.c: Properly detect all operands that would yield an
11996: undefined inverse; make sure the inverse is always positive.
11997:
11998: * mpz/xor.c: New file.
11999: * mpz/Makefile.in: Compile it.
12000: * make.bat: Likewise.
12001: * gmp.h (mpz_xor): Declare.
12002:
12003: * mpz/tests/logic.c: Also test mpz_xor.
12004:
12005: * mpz/lcm.c: Special case for when either operand equals 0.
12006:
12007: Sat Oct 12 01:57:09 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12008:
12009: * mpn/generic/gcd.c (find_a): Don't inline on x86.
12010:
12011: * Makefile.in (CFLAGS): Default to just `-g'.
12012:
12013: * configure.in: Recognize 386 and 486 wherever other x86 cpus are
12014: recognized.
12015: * configure.in: Use mt-x86 for all x86 cpus.
12016: * config/mt-x86: New file.
12017:
12018: * mpn/alpha/cntlz.s: New file.
12019:
12020: Tue Oct 8 00:16:18 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12021:
12022: * longlong.h: Define smul_ppmm for Fujitsu vpp/uxp.
12023: Rewrite umul_ppmm to actually work on the hardware.
12024:
12025: * mpn/x86/sub_n.S: Avoid parens around displacement of `leal'.
12026: * mpn/x86/add_n.S: Likewise.
12027:
12028: * mpn/x86/syntax.h (R): Define differently depending on __STDC__.
12029:
12030: Mon Oct 7 16:48:08 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12031:
12032: * longlong.h: Don't test for __NeXT__ in outer 68k conditional;
12033: add test for __m68k__.
12034:
12035: Sun Oct 6 00:59:09 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12036:
12037: * gmp.h: Declare mpn_random.
12038: * make.bat: Compile mpn/generic/random.c.
12039:
12040: * longlong.h: Define umul_ppmm for Fujitsu vpp/uxp.
12041:
12042: * gmp-impl.h: Protect definitions using `__attribute__ ((mode (...)))'
12043: with test also for __GNUC_MINOR__.
12044:
12045: * gmp.h: Don't define macros using __builtin_constant_p when using
12046: NeXT's compiler.
12047:
12048: Fri Oct 4 16:53:50 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12049:
12050: * mpz/lcm.c: New file.
12051: * mpz/Makefile.in: Compile it.
12052: * make.bat: Likewise.
12053: * gmp.h (mpz_lcm): Declare.
12054:
12055: Wed Sep 25 00:06:21 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12056:
12057: * mpq/tests/t-cmp_ui.c: Make sure numerator and denominator of `b' is
12058: within limits of an `unsigned long int'.
12059:
12060: * mpz/tests/t-powm_ui.c: Change type of exp2 to `unsigned long int'.
12061:
12062: Tue Sep 24 18:58:20 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12063:
12064: * mpz/powm_ui.c: Make result always positive.
12065:
12066: * urandom.h (urandom): Make it return mp_limb_t.
12067:
12068: * gmp-impl.h (CNST_LIMB): New macro.
12069: * mpn/mp_bases.c: Use CNST_LIMB.
12070: * mpn/generic/hamdist.c (popc_limb): Likewise.
12071: * mpn/generic/popcount.c (popc_limb): Likewise.
12072: * mpn/generic/perfsqr.c: Likewise.
12073:
12074: Fri Sep 20 03:08:10 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12075:
12076: * mpz/pprime_p.c: When n <= 3, don't clear out n before using it.
12077:
12078: Wed Sep 18 11:22:45 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12079:
12080: * mpn/fujitsu/mul_1.c: New file.
12081: * mpn/fujitsu/addmul_1.c: New file.
12082: * mpn/fujitsu/sub_n.c: New file.
12083: * mpn/fujitsu/add_n.c: Mew file.
12084:
12085: Sun Sep 15 03:13:02 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12086:
12087: * mpn/generic/random.c: New file.
12088: * mpn/configure.in (functions): Add `random'.
12089:
12090: * gmp-impl.h (MPN_COPY): Define as annotated inline function for
12091: Crays and Fujitsu VPPs.
12092:
12093: * gmp.h (mp_size_t): Define as `int' for non-MPP Cray.
12094: (mp_exp_t): Likewise.
12095:
12096: * configure.in: Add support for Fujitsu VPP machines.
12097: * mpn/configure.in: Likewise.
12098: * config.guess: Likewise.
12099: * config.sub: Likewise.
12100:
12101: * mpn/fujitsu/rshift.c: New file.
12102: * mpn/fujitsu/lshift.c: New file.
12103: * mpn/fujitsu: New directory, for Fujitsu VPP machines.
12104:
12105: Wed Sep 11 11:34:38 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12106:
12107: * mpn/generic/mul_n.c (__gmpn_mul_n): New name for impn_mul_n.
12108: Call __gmpn_mul_basecase, not impn_mul_n_basecase; update parameter
12109: list to work with __gmpn_mul_basecase.
12110: (__gmpn_sqr): New name for impn_sqr_n.
12111: Call __gmpn_sqr_basecase, not impn_sqr_n_basecase; update parameter
12112: list to work with __gmpn_sqr_basecase.
12113: (mpn_mul_n): Update calls to match new names and parameter conventions.
12114: * gmp-impl.h (MPN_MUL_N_RECURSE): Likewise.
12115: (MPN_SQR_RECURSE): New name for MPN_SQR_N_RECURSE.
12116: Update calls to match new names and parameter conventions.
12117: * mpn/generic/mul.c: Never perform multiply explicitly here, call
12118: __gmpn_mul_basecase instead.
12119: Update calls to match new names and parameter conventions.
12120:
12121: * mpn/x86/mul_basecase.S: New file.
12122: * mpn/generic/mul_basecase.c: New file.
12123: * mpn/generic/sqr_basecase.c: New file.
12124:
12125: Wed Sep 4 02:59:21 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12126:
12127: * mpz/set_str.c: Let `0b' and `0B' mean base 2.
12128:
12129: Fri Aug 30 00:44:00 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12130:
12131: * longlong.h (x86 umul_ppmm): Work around GCC bug that was
12132: triggered by Aug 28 change.
12133:
12134: * mpbsd/min.c (digit_value_in_base): New function.
12135:
12136: * mpz/set_str.c: Refine allocation size computation, use
12137: chars_per_bit_exactly instead of chars_per_limb.
12138:
12139: * mpbsd/Makefile.in (.c.o): Add -D_mpz_realloc=_mp_realloc.
12140:
12141: Wed Aug 28 02:52:14 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12142:
12143: * longlong.h (x86 umul_ppmm): Don't cast result operands.
12144: (x86 udiv_qrnnd): Likewise.
12145: (default smul_ppmm): Fix typo, umul_ppmm => smul_ppmm.
12146: (default umul_ppmm): New #define using smul_ppmm.
12147: (vax smul_ppmm): New #define.
12148: (vax umul_ppmm): Delete.
12149: (POWER umul_ppmm): Delete.
12150: (IBM 370 smul_ppmm): New #define.
12151: (IBM 370 umul_ppmm): Delete.
12152: (IBM RT/ROMP smul_ppmm): New #define.
12153: (IBM RT/ROMP umul_ppmm): Delete.
12154:
12155: Tue Aug 27 01:03:25 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12156:
12157: * gmp-impl.h (__gmp_0): Make it `const'.
12158:
12159: * mpn/Makefile.in (clean mostlyclean): Comment out recursive clean
12160: of `tests'.
12161:
12162: * mpn/generic/mul.c: Identify when we do squaring, and call
12163: impn_sqr_n_basecase/impn_sqr_n as appropriate. Use
12164: KARATSUBA_MUL_THRESHOLD and KARATSUBA_SQR_THRESHOLD.
12165: Don't #define KARATSUBA_THRESHOLD.
12166:
12167: * mpn/generic/mul_n.c: Don't #define KARATSUBA_THRESHOLD.
12168: (impn_mul_n, impn_sqr_n): Rewrite, based on code contributed by
12169: Robert Harley.
12170: (impn_sqr_n_basecase): Rewrite.
12171:
12172: * gmp-impl.h (KARATSUBA_MUL_THRESHOLD): New #define.
12173: (KARATSUBA_SQR_THRESHOLD): Likewise.
12174: (MPN_SQR_N_RECURSE): Use KARATSUBA_SQR_THRESHOLD.
12175: (MPN_MUL_N_RECURSE): Use KARATSUBA_MUL_THRESHOLD.
12176:
12177: * configure.in: Fix typo in last change.
12178:
12179: Mon Aug 26 22:25:18 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12180:
12181: * mpn/generic/random2.c: Fix typo, `alpha__' => `__alpha'.
12182: * mpf/random2.c: Likewise.
12183:
12184: Sun Aug 25 00:07:09 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
12185:
12186: * mpz/tests/t-mul.c: Also test squaring.
12187:
12188: Fri Aug 16 05:12:08 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12189:
12190: * mp_clz_tab.c (__clz_tab): Declare as `const'.
12191: * version.c (gmp_version): Likewise.
12192: * mpn/generic/sqrtrem.c (even_approx_tab, odd_approx_tab): Likewise.
12193:
12194: Thu Aug 15 02:34:47 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12195:
12196: * gmp.h: Fix typo, `mips__' => `__mips'.
12197:
12198: * mpf/set_str.c: Allow a number to start with a period, if next
12199: position contains a digit.
12200:
12201: Tue Aug 13 18:41:25 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12202:
12203: * mpz/gcdext.c: Get cofactor sign right for negative input operands.
12204: Clean up code for computing tt.
12205:
12206: * mpz/invert.c: Get rid of variable `rv'.
12207:
12208: * mpz/divexact.c: Test for zero divisor in special case for zero
12209: dividend.
12210:
12211: Mon Aug 12 18:04:07 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12212:
12213: * mpz/?div_*_ui.c: Special case for division by 0.
12214: * mpz/tdiv_q.c: Likewise.
12215:
12216: Sat Aug 10 14:45:26 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12217:
12218: * mpz/dmincl.c: Special case for division by 0.
12219:
12220: * mpz/tdiv_*_ui.c: Delete special case for dividend being 0; handle
12221: it when computing size after mpn_divmod_1 call.
12222:
12223: * mp_bpl.c: (__gmp_junk): New variable.
12224: (__gmp_0): New constant.
12225:
12226: * gmp-impl.h (DIVIDE_BY_ZERO): New #define.
12227:
12228: Fri Aug 9 20:03:27 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12229:
12230: * mpz/divexact.c: Test for dividend being zero before testing
12231: for small divisors.
12232:
12233: Thu Aug 8 13:20:23 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12234:
12235: * configure.in: Require operating system specification for cpus
12236: where assembly syntax differs between system.
12237:
12238: * Makefile.in (many targets): Change `-' action prefix to `@'.
12239:
12240: * mpn/Makefile.in: (distclean): Fix typo.
12241:
12242: * mpq/cmp_ui.c: Rename function to _mpq_cmp_ui.
12243: (mpq_cmp_ui): #undef deleted.
12244: * mpz/cmp_si.c: Rename function to _mpz_cmp_si.
12245: (mpz_cmp_si): #undef deleted.
12246: * mpz/cmp_ui.c: Rename function to _mpz_cmp_ui.
12247: (mpz_cmp_ui): #undef deleted.
12248: * Makefile.in: Corresponding changes.
12249:
12250: * mpf/get_prc.c: Return the *highest* precision achievable.
12251:
12252: * mpf/get_str.c: Complete rewrite.
12253:
12254: * mpf/set_str.c (swapptr): New #define.
12255: (assert): New #define.
12256: * mpf/set_str.c: Set prec to one more than the saved _mp_prec.
12257: Misc cleanups.
12258:
12259: * mpz/set_str.c: #include string.h.
12260: * mpf/out_str.c: #include string.h.
12261: * mpbsd/xtom.c: #include string.h and ctype.h.
12262: * mpbsd/mout.c: #include string.h.
12263:
12264: Wed Aug 7 11:46:04 EDT 1996 Ken Weber <kweber@mcs.kent.edu>
12265:
12266: * mpn/generic/gcd.c: Reorder mpn_gcd argument list.
12267: * mpz/gcd.c: Change call to mpn_gcd.
12268: * gmp.texi: Update manual entry on mpn_gcd.
12269: * mpn/generic/bdivmod.c: Delete limb cache to make mpn_bdivmod
12270: reentrant.
12271:
12272: Wed Aug 7 02:15:38 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12273:
12274: * mpf/get_str.c: Rewrite code for converting integral part of a
12275: number with both an integral and fractional part.
12276:
12277: * mpf/set_str.c: Get rid of variable xxx. New variables madj and radj.
12278: In exp_in_base==0 case, add madj to msize for EXP field.
12279:
12280: * mpz/tests/t-gcd.c: Test deleted. Rename t-gcd2.c to t-gcd.c.
12281: Increase reps to 2000.
12282: * mpz/tests/t-gcd2.c: Get rid of mpz_refgcd.
12283:
12284: * mpf/set_str.c: Ignore excess limbs in MP,MSIZE.
12285:
12286: Thu Jul 25 04:39:10 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12287:
12288: * mpn/configure.in: Fix typo in setting path, "sparc" => "sparc32".
12289:
12290: Wed Jul 24 02:27:02 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12291:
12292: * mpn/generic/gcdext.c: Reorganize and clean up. Get rid of all
12293: signed limb arithmetic.
12294:
12295: Mon Jul 22 02:39:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12296:
12297: * mpn/generic/gcdext.c (mpn_gcdext): For large enough operands,
12298: work with most significant *two* limbs.
12299: (div2): New function (two variants).
12300: (THRESHOLD): New #define.
12301:
12302: * mpz/gcdext.c: Fix typo in MPZ_TMP_INIT call.
12303:
12304: * longlong.h (alpha UMUL_TIME): Now 30.
12305: (alpha UDIV_TIME): Now 350.
12306: (x86 UMUL_TIME): Now 10 (let Pentium decide).
12307: (SuperSPARC UDIV_TIME): Override default.
12308:
12309: * extract-dbl.c (MP_BASE_AS_DOUBLE): Don't redefine here.
12310:
12311: * extract-dbl.c: New name for extract-double.c.
12312: * insert-dbl.c: New name for insert-double.c.
12313: * Makefile.in: Corresponding changes.
12314: * make.bat: Likewise.
12315:
12316: * mpz/Makefile.in (.c.o): Don't pass non-portable `-f' to cp.
12317: * mpq/Makefile.in: Likewise.
12318: * mpf/Makefile.in: Likewise.
12319:
12320: Sat Jul 20 01:35:18 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12321:
12322: * mpz/getlimbn.c: Take ABS of integer->_mp_size.
12323:
12324: * mpz/divexact.c: Use mpn_divmod_1 if divisor is a single limb.
12325:
12326: Thu Jul 18 00:31:15 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12327:
12328: * mpn/generic/popcount.c (popc_limb): Use different masking trick
12329: for first step (due to David Seal).
12330: * mpn/generic/hamdist.c (popc_limb): Likewise.
12331:
12332: Wed Jul 17 23:21:48 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12333:
12334: * mpn/generic/divrem.c: In MPN_COPY_DECR call, copy dsize - 1 limbs.
12335:
12336: Sun Jul 14 17:47:46 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12337:
12338: * configure.in: Handle sparc9, sparc64, and ultrasparc like sparc8.
12339:
12340: Thu Jul 11 14:05:54 1996 J.T. Conklin <jtc@rtl.cygnus.com>
12341:
12342: * longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
12343: for the '020, '030, '040, and '332. Define count_leading_zeros
12344: for the '020, '030, '040, and '060.
12345:
12346: Sun Jul 14 15:24:53 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12347:
12348: From Joe Keane:
12349: * mpq/equal.c: Take ABS of num1_size before passing it to mpn_cmp.
12350:
12351: Fri Jul 12 17:11:17 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12352:
12353: * mpn/generic/sqrtrem.c (SQRT): New asm for x86, but leave it
12354: disabled for now.
12355:
12356: * mpn/generic/sqrtrem.c: Use MP_BASE_AS_DOUBLE.
12357:
12358: Wed Jul 10 03:17:45 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12359:
12360: * cre-mparam.c: Delete obsolete file.
12361:
12362: * gmp.h: #define _LONG_LONG_LIMB if __mips && _ABIN32.
12363: * longlong.h: Test __mips instead of __mips__.
12364:
12365: Sun Jul 7 23:19:13 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12366:
12367: * longlong.h (_PROTO): Define, unless already defined.
12368: (alpha __udiv_qrnnd): Declare using _PROTO.
12369: (hppa __udiv_qrnnd): Likewise.
12370: (sparc __udiv_qrnnd): Likewise.
12371:
12372: Mon Jul 1 01:44:30 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12373:
12374: * config.guess: Update from master version; add Cray x90 handling.
12375:
12376: Wed Jun 26 05:35:02 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12377:
12378: * mpn/power/add_n.s (__mpn_add_n): Work around GAS bug.
12379: * mpn/power/sub_n.s (__mpn_sub_n): Likewise.
12380:
12381: * insert-double.c: Rework loop to avoid potential overflow.
12382:
12383: * mpq/get_d.c: For vax, if qsize > N_QLIMBS, ignore excess limbs.
12384:
12385: * mpq/tests/t-get_d.c (SIZE): Special case for vax.
12386:
12387: * gmp.h (mpX_cmp_ui): #define also when ! __GNUC__.
12388:
12389: Mon Jun 24 17:13:21 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12390:
12391: * longlong.h (vax sdiv_qrnnd): Fix typo.
12392:
12393: Sat Jun 15 01:33:33 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12394:
12395: * gmp.h: Support `small' and `large' type and function variants,
12396: controlled by GMP_SMALL.
12397:
12398: * mpz/Makefile.in (.c.o): Compile each function twice, for small and
12399: large variant.
12400: (MPZS_OBJS): New variable.
12401: (libmpz.a): Include MPZS_OBJS in archive.
12402: * mpf/Makefile.in: Analogous changes.
12403: * mpq/Makefile.in: Analogous changes.
12404:
12405: * gmp.h: Prefix all functions with __gmp, to allow namespace-clean
12406: internal calls.
12407:
12408: * mp.h: Rip out __MP_SMALL__ stuff.
12409: (__mpz_struct): mp_size_t => int.
12410:
12411: * mpz/invert.c: #include "gmp-impl.h".
12412: Use MPZ_TMP_INIT, not mpz_init.
12413:
12414: * mpz/gcdext.c: Rewrite to call mpn_gcdext.
12415:
12416: Fri Jun 14 18:05:29 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12417:
12418: * mpn/generic/gcdext.c (s0size): New parameter.
12419: * gmp.h (mpn_gcdext): Update prototype.
12420:
12421: * mpn/generic/gcdext.c: Major rewrite.
12422:
12423: Mon Jun 10 00:14:27 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12424:
12425: * mpn/generic/dump.c: Add missing `else'.
12426:
12427: Fri Jun 7 03:35:12 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
12428:
12429: * Makefile.in (gmp_toc.html): Pass -expandinfo to texi2html.
12430:
12431: Thu Jun 6 19:00:53 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12432:
12433: * Version 2.0.2 released.
12434:
12435: * install.sh: New file.
12436: * Makefile.in (INSTALL): Use install.sh.
12437: (install-normal): New name for target `install'.
12438: (install): New dummy target.
12439:
12440: * mpz/pow_ui.c: Swap tests for (e == 0) and (bsize == 0).
12441: * mpz/ui_pow_ui.c: Swap tests for (e == 0) and (blimb == 0).
12442:
12443: * config/mt-linux (AR_FLAGS): New file.
12444: * configure.in: Use config/mt-linux for all linux systems.
12445:
1.1.1.2 maekawa 12446: Tue Jun 4 03:42:18 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12447:
12448: * Version 2.0.1 released.
12449:
12450: * mpf/tests/ref.c: Cast result of TMP_ALLOC to the right pointer type.
12451:
12452: * extract-double.c: Test _GMP_IEEE_FLOATS with #if, not plain if.
12453:
12454: * insert-double.c: Don't #include stdlib.h.
12455:
12456: * gmp-impl.h (union ieee_double_extract): Test sparc and __sparc.
12457: Do not test __sparc__.
12458:
12459: * mpf/reldiff.c: Change declaration to work around irix5 compiler bug.
12460: * mpq/equal.c: Likewise.
12461:
12462: * mpn/generic/gcd.c: Delete spurious comma at end of enumeration.
12463:
12464: * mpn/generic/gcdext.c: Add K&R declaration syntax.
12465: * stack-alloc.h: Likewise.
12466: * insert-double.c: Likewise.
12467: * extract-double.c: Likewise.
12468: * mpf/tests/reuse.c: Likewise.
12469: * mpz/tests/reuse.c: Likewise.
12470: * mpf/tests/t-sub.c: Likewise.
12471: * mpf/tests/t-add.c: Likewise.
12472: * mpf/tests/t-muldiv.c: Likewise.
12473: * mpf/tests/t-conv.c: Likewise.
12474: * mpf/tests/ref.c: Likewise.
12475:
12476: * mpn/config/t-oldgas: Renamed from t-freebsd.
12477: * mpn/configure.in: Use t-oldgas for freebsd, netbsd, and some linux
12478: configurations.
12479:
12480: * mpn/powerpc32/mul_1.s: Really clear cy before entering loop.
12481: * mpn/powerpc32/*.s: Fix power/powerpc syntax issues.
12482:
12483: * mpn/config/t-ppc-aix: New file.
12484: * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.
12485:
1.1.1.2 maekawa 12486: Wed May 29 02:07:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12487:
12488: * gmp.h (mp_bits_per_limb): Change qualifier from `const' to
12489: __gmp_const.
12490:
12491: * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.
12492: * mpf/iset_str.c: Likewise.
12493:
1.1.1.2 maekawa 12494: Mon May 27 00:15:58 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12495:
12496: * gmp-impl.h: Declare __gmp_extract_double.
12497:
12498: * mpz/set_q.c: Delete unused variables.
12499:
12500: * gmp.h (mpq_equal): Declare.
12501:
12502: * mpf/eq.c: mpf_cmp2 -> mpf_eq.
12503:
1.1.1.2 maekawa 12504: Fri May 24 03:20:44 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12505:
12506: * mpz/iset_d.c: Don't include <math.h>.
12507:
12508: * insert-double.c (__gmp_scale2): New name for scal2.
12509: * mpz/get_d.c: Corresponding change.
12510: * mpf/get_d.c: Likewise.
12511: * mpq/get_d.c: Likewise.
12512: * gmp-impl.h: Declare __gmp_scale2.
12513:
12514: * mpn/generic/scan0.c: Clarify comment.
12515:
12516: * mpz/set_q.c: New file.
12517: * Makefile.in: Compile it.
12518: * make.bat: Likewise.
12519: * gmp.h: Declare mpz_set_q.
12520:
12521: * insert-double.c: New file.
12522: * Makefile.in: Compile it.
12523: * make.bat: Likewise.
12524:
12525: * mpz/get_d.c: New file.
12526: * mpz/Makefile.in: Compile it.
12527: * make.bat: Likewise.
12528: * gmp.h: Declare mpz_get_d.
12529:
12530: * mpf/get_d.c: New file.
12531: * mpf/Makefile.in: Compile it.
12532: * make.bat: Likewise.
12533: * gmp.h: Declare mpf_get_d.
12534:
12535: * make.bat: Compile things in alphabetical order.
12536:
12537: * gmp-impl.h (MP_BASE_AS_DOUBLE): New #define.
12538: (LIMBS_PER_DOUBLE): New #define.
12539:
12540: * extract-double.c: New file.
12541: * Makefile.in: Compile it.
12542: * make.bat: Likewise.
12543: * mpz/set_d.c: Rewrite to use __gmp_extract_double.
12544: * mpf/set_d.c: Likewise.
12545:
12546: * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.
12547:
1.1.1.2 maekawa 12548: Wed May 22 02:48:35 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12549:
12550: * gmp-impl.h: Rework code for defining ieee_double_extract.
12551: (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.
12552: (_GMP_IEEE_FLOATS): New macro.
12553: * mpn/vax/gmp-mparam.h: Delete.
12554:
12555: * mpn/config/t-pwr-aix: New file.
12556: * mpn/configure.in: Use t-pwr-aix for aix 4 and later.
12557:
1.1.1.2 maekawa 12558: Mon May 20 16:30:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12559:
12560: * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.
12561:
12562: * mpf/tests/t-add.c (oo): Add some `l' printf modifiers.
12563: * mpf/tests/t-sub.c (oo): Likewise.
12564: * mpf/tests/t-conv.c (oo): Likewise.
12565: * mpf/tests/t-sqrt.c (oo): Likewise.
12566:
12567: * mpz/tests/t-mul.c (_mpn_mul_classic): Remove unused variables.
12568:
12569: * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.
12570:
1.1.1.2 maekawa 12571: Fri May 17 02:24:43 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12572:
12573: * mpz/set_d.c: Call _mpz_realloc.
12574:
12575: * mpq/set_z.c: New file.
12576: * mpq/Makefile.in: Compile it.
12577: * make.bat: Likewise.
12578: * gmp.h: Declare mpq_set_z.
12579:
12580: * mp?/Makefile.in (libmp?.a): Depend on Makefile, not Makefile.in.
12581: * mpf/Makefile.in (test): Delete spurious target.
12582: * mpq/Makefile.in (test): Likewise.
12583:
12584: * mpf/out_str.c: Use `e' to separate exponent when base <= 10.
12585:
12586: * mpn/configure.in: Treat ultrasparc just like sparc v8,
12587: until 64-bit compilers are ready.
12588:
12589: * mpf/set_d.c: Make it work for 64-bit machines.
12590:
1.1.1.2 maekawa 12591: Thu May 16 20:53:57 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12592:
12593: * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian
12594: machines.
12595: * mpn/x86/gmp-mparam.h: Delete file.
12596:
12597: * configure.in: Treat microsparc like sparc8.
12598:
12599: * urandom.h: Test __alpha instead of __alpha__, since the former
12600: is the standard symbol.
12601: * mpn/generic/random2.c: Likewise.
12602: * mpf/random2.c: Likewise.
12603:
1.1.1.2 maekawa 12604: Tue May 14 13:42:39 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 12605:
12606: * mpz/set_f.c: New file.
12607: * mpz/Makefile.in: Compile it.
12608: * gmp.h: Declare mpz_set_f.
12609:
12610: * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.
12611:
1.1.1.2 maekawa 12612: Tue May 14 13:03:07 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 12613:
12614: * make.bat: Add all new files.
12615:
1.1.1.2 maekawa 12616: Sun May 12 22:24:36 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12617:
12618: * mpf/set_z.c: New file.
12619: * mpf/Makefile.in: Compile it.
12620: * gmp.h: Declare mpf_set_z.
12621:
1.1.1.2 maekawa 12622: Sat May 11 19:26:25 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12623:
12624: * gmp.h: Declare mpf_set_q.
12625:
12626: * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.
12627:
1.1.1.2 maekawa 12628: Fri May 10 17:37:38 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12629:
12630: * mpf/set_q.c: New file.
12631: * mpf/Makefile.in: Compile it.
12632:
12633: * config.sub: Recognize sparc8.
12634:
1.1.1.2 maekawa 12635: Wed May 8 09:19:11 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12636:
12637: * mpf/tests/t-dm2exp.c: New file.
12638:
12639: * mpf/tests/t-add.c: Correct header comment.
12640: * mpf/tests/t-sub.c: Likewise.
12641: * mpf/tests/t-sqrt.c: Likewise.
12642:
12643: * mpf/div.c: Misc variable name cleanups.
12644: * mpf/div_ui.c: Base more closely on mpf/div.c.
12645: * mpf/ui_div.c: Likewise.
12646:
12647: * mpz/tests/Makefile.in (check): Depend on Makefile.
12648: * mpq/tests/Makefile.in (check): Likewise.
12649: * mpf/tests/Makefile.in (check): Likewise.
12650:
12651: * mpf/tests/t-muldiv.c: New file.
12652: * mpf/tests/Makefile.in: Compile and run `t-muldiv'.
12653: (t-ref.o): Delete spurious rule.
12654:
12655: * mpf/sqrt.c: Properly detect negative input operand.
12656:
12657: * mpf/sqrt_ui.c: Delete spurious header comment.
12658: * mpf/sqrt.c: Likewise.
12659: * mpz/sqrt.c: Likewise.
12660:
12661: * mpz/tests/reuse.c (main): Read `reps' from command line.
12662:
12663: * mpf/tests/reuse.c: New file.
12664: * mpf/tests/Makefile.in: Compile and run `reuse'.
12665:
12666: * mpf/mul_ui.c: Disable code for removing low zero limbs.
12667:
12668: * mpf/div.c: Fix condition for when vp and qp overlaps.
12669:
12670: * mpf/add_ui.c: When sum equals u, copy up to prec+1 limbs.
12671:
12672: * mpf/out_str.c: Don't output '\n' after exponent.
12673:
12674: * mpf/add_ui.c: New special case for when U is completely cancelled.
12675:
1.1.1.2 maekawa 12676: Wed Apr 24 05:33:28 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12677:
12678: * Version 2.0 released.
12679:
1.1.1.4 ! ohara 12680: * All files: Update FSF's address.
1.1 maekawa 12681:
12682: * Makefile.in (gmp_toc.html): New name for gmp.html.
12683: (TAGS): Depend on force.
12684:
12685: * mpf/tests/t-conv.c: Pass -base to mpf_set_str.
12686:
1.1.1.2 maekawa 12687: Sat Apr 20 03:54:06 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12688:
12689: * Makefile.in (ps): New target, depend on gmp.ps.
12690:
1.1.1.2 maekawa 12691: Fri Apr 19 14:03:15 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12692:
12693: * mpf/out_str.c: Print `@' before exponent, not `e'.
12694:
12695: * make.bat: Update from Makefiles.
12696:
1.1.1.2 maekawa 12697: Thu Apr 18 01:22:05 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12698:
12699: * mpf/set_str.c: If parameter `base' is negative, expect exponent
12700: to be decimal, otherwise in the same base as the mantissa.
12701:
1.1.1.2 maekawa 12702: Wed Apr 17 17:28:36 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12703:
12704: * mpf/set_dfl_prec.c: Don't return anything.
12705: * gmp.h: Corresponding changes.
12706:
12707: * mpf/set_dfl_prec.c: Use `unsigned long int' for bit counts.
12708: * mpf/init2.c: Likewise.
12709: * mpf/get_prc.c: Likewise.
12710: * mpf/set_prc.c: Likewise.
12711: * mpf/set_prc_raw.c: Likewise.
12712: * mpz/popcount.c: Likewise.
12713: * mpz/hamdist.c: Likewise.
12714: * mpz/scan1.c: Likewise.
12715: * mpz/scan0.c: Likewise.
12716: * mpn/generic/popcount.c: Likewise.
12717: * mpn/generic/hamdist.c: Likewise.
12718: * mpn/generic/scan1.c: Likewise.
12719: * mpn/generic/scan0.c: Likewise.
12720: * gmp.h: Likewise.
12721:
12722: * mpf/eq.c: New file, based on mpf/diff.c.
12723: * mpf/diff.c: Delete.
12724: * mpf/Makefile.in: Corresponding changes.
12725: * gmp.h: Likewise.
12726:
12727: * mpf/reldiff.c: New file.
12728: * mpf/Makefile.in: Compile it.
12729: * gmp.h: Declare mpf_reldiff.
12730:
12731: * mpz/iset_d.c: New file.
12732: * mpz/Makefile.in: Compile it.
12733: * gmp.h: Declare mpz_init_set_d.
12734:
1.1.1.2 maekawa 12735: Tue Apr 16 16:28:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12736:
12737: * Makefile.in (gmp.html): Pass -acc to texi2html.
12738:
1.1.1.2 maekawa 12739: Mon Apr 15 16:20:24 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12740:
12741: * mpf/set_str.c: Switch off code for defaulting the base from the
12742: leading characters.
12743:
12744: * gmp.h (mp?_sign): Delete.
12745: (mp?_sgn): New macros.
12746:
1.1.1.2 maekawa 12747: Fri Apr 12 17:23:33 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12748:
12749: * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.
12750:
1.1.1.2 maekawa 12751: Wed Apr 10 22:52:02 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 12752:
12753: * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.
12754: * gmp.h: Corresponding change.
12755:
12756: * gmp.h (mp_bits_per_limb): Make it const.
12757:
1.1.1.2 maekawa 12758: Sat Mar 30 01:20:23 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12759:
12760: * configure.in: Re-enable recognition of with_gcc.
12761:
12762: * mpf/Makefile.in (.c.o): Pass XCFLAGS.
12763: * mpn/Makefile.in (.c.o): Likewise.
12764: * mpz/Makefile.in (.c.o): Likewise.
12765: * mpq/Makefile.in (.c.o): Likewise.
12766: * mpbsd/Makefile.in (.c.o): Likewise.
12767: * mpf/tests/Makefile.in (.c.o): Likewise.
12768: * mpz/tests/Makefile.in (.c.o): Likewise.
12769: * mpq/tests/Makefile.in (.c.o): Likewise.
12770:
12771: * Makefile.in (XCFLAGS): Default to empty.
12772: (FLAGS_TO_PASS): Pass on XCFLAGS.
12773: (.c.o): Pass XCFLAGS.
12774:
12775: * config/mt-m88110 (XCFLAGS): Define instead of CC.
12776: * config/mt-sprc8-gcc (XCFLAGS): Likewise.
12777: * config/mt-supspc-gcc (XCFLAGS): Likewise.
12778:
12779: * configure: Don't default CC to "gcc -O2" is -with-gcc=no was
12780: specified.
12781:
1.1.1.2 maekawa 12782: Mon Mar 25 01:07:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12783:
12784: * urandom.h: Test for __SVR4 in addition to __svr4__.
12785:
12786: * mp_bpl.c (mp_bits_per_limb): Declare as `const'.
12787:
12788: * Makefile.in (CFLAGS): `-O2' => `-O'.
12789: * mpn/Makefile.in (CFLAGS): Likewise.
12790:
12791: * gmp-impl.h: Get rid of obsolete field access macros.
12792:
12793: * mpn/mp_bases.c (__mp_bases): 1e39 => 1e38 to work around Solaris
12794: cc compiler bug.
12795:
12796: * gmp.h (__MPN): Make it work also for non-ANSI compilers.
12797:
1.1.1.2 maekawa 12798: Thu Mar 21 01:07:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12799:
12800: * mpf/sub.c: New special case for ediff <= 1 before generic code.
12801: Simplify generic code for ediff == 0.
12802: Rename uexp => exp.
12803:
1.1.1.2 maekawa 12804: Mon Mar 11 18:24:57 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12805:
12806: * mpf/tests/*.c: Use ref_mpf_sub for error calculation.
12807: * mpf/tests/Makefile.in: Link ref.o to all executables.
12808:
12809: * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.
12810:
1.1.1.2 maekawa 12811: Sun Mar 10 21:03:17 1996 Torbjorn Granlund (tege@tiny.matematik.su.se)
1.1 maekawa 12812:
12813: * mpf/get_str.c: In digit development loop for fractions, change
12814: loop condition from `<' to `<='.
12815:
1.1.1.2 maekawa 12816: Thu Mar 7 04:58:11 1996 Torbjorn Granlund <tege@tiny.matematik.su.se>
1.1 maekawa 12817:
12818: * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.
12819:
1.1.1.2 maekawa 12820: Wed Mar 6 01:10:42 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 12821:
12822: * mpf/tests/t-sqrt.c: New file.
12823: * mpf/tests/Makefile.in: Corresponding changes.
12824:
12825: * mpf/sqrt.c: Special case for square root of zero.
12826:
12827: * mpq/add.c: Clean up variable names.
12828: * mpq/sub.c: Update from mpq/add.c.
12829:
12830: * mpz/divexact.c: abs => ABS.
12831: * mpz/gcd.c: Likewise. Rewrite final fixup code, to decrease
12832: allocation. Misc cleanups.
12833:
1.1.1.2 maekawa 12834: Tue Mar 5 22:24:56 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12835:
12836: * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.
12837:
12838: * gmp.h (mpn_add, mpn_add_1, mpn_sub, mpn_sub_1): Add prototypes.
12839:
12840: * mpn/configure.in: Use t-freebsd also for netbsd.
12841:
1.1.1.2 maekawa 12842: Mon Mar 4 15:13:28 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12843:
12844: * mpq/Makefile.in (cmp.o): Depend on longlong.h.
12845:
12846: * mpq/equal.c: New file.
12847: * mpq/Makefile.in: Corresponding changes.
12848:
12849: * mpf/tests/t-add.c: New file.
12850: * mpf/tests/t-sub.c: Renamed from t-addsub.c.
12851: * mpf/tests/ref.c: New file.
12852: * mpf/tests/Makefile.in: Corresponding changes.
12853:
12854: * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.
12855:
1.1.1.2 maekawa 12856: Sun Mar 3 07:45:46 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12857:
1.1.1.4 ! ohara 12858: * mpf/set_str.c: In exponentiation code, allocate 3 extra
1.1 maekawa 12859: limbs, not just 2.
12860:
12861: * mpf/get_str.c: Allocate sufficient space for tstr.
12862: When calculating exp_in_base, round result down.
12863:
12864: * mpf/tests/t-conv.c: New file.
12865: * mpf/tests/Makefile.in: Corresponding changes.
12866:
12867: * mp_bpl.c: New file.
12868: * gmp.h: Declare it.
12869: * Makefile.in: Corresponding changes.
12870:
1.1.1.2 maekawa 12871: Sat Mar 2 06:27:56 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12872:
12873: * mpf/set_prc_raw.c: New file.
12874: * mpf/set_prc.c: Renamed from set_prec.c.
12875: * mpf/get_prc.c: New file.
12876: * mpf/Makefile.in: Corresponding changes.
12877: * gmp.h: Declare new functions.
12878:
12879: * mpn/generic/gcdext.c: Add copyright header.
12880:
1.1.1.2 maekawa 12881: Fri Mar 1 01:22:24 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12882:
12883: * mpn/configure.in: For ppc601, search "power" before "powerpc32".
12884:
12885: * mp?/Makefile.in (AR_FLAGS): New variable.
12886: (libmp?.a): Use it.
12887:
12888: * make.bat: New file.
12889: * mpn/msdos: New directory.
12890: * mpn/msdos/asm-syntax.h: New file.
12891:
12892: * mpn/Makefile.in (distclean maintainer-clean): Delete asm-syntax.h.
12893:
12894: * config.sub: Recognize [ctj]90-cray.
12895:
12896: * mpn/configure.in: Recognize [ctj]90-cray-unicos*.
12897:
12898: * mpn/generic/gcdext.c: Don't use alloca directly, use TMP_* macros.
12899:
12900: * mpn/generic/gcd.c: Split increment from use of USIZE to avoid
12901: undefined behaviour.
12902:
1.1.1.2 maekawa 12903: Thu Feb 29 04:11:24 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12904:
12905: * Makefile.in (install-info-files): Update for new install-info
12906: behaviour.
12907:
12908: * mpn/power/add_n.s: Rewrite.
12909: * mpn/power/sub_n.s: Rewrite.
12910:
1.1.1.2 maekawa 12911: Wed Feb 28 01:34:30 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12912:
12913: * mpz/pow_ui.c: Compute allocation more aggressively for small bases.
12914: * mpz/ui_pow_ui.c: Likewise.
12915:
12916: * mpn/mp_bases.c (__mp_bases): Put huge value in 2nd field for index 1.
12917:
12918: * mpn/generic/sqrtrem.c: sizeof (mp_limb_t) => BYTES_PER_MP_LIMB.
12919: * mpn/generic/gcd.c: Likewise.
12920: (SIGN_BIT): Compute differently.
12921:
1.1.1.2 maekawa 12922: Mon Feb 26 00:07:36 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12923:
12924: * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.
12925:
12926: * Makefile.in (install, install-bsdmp, install-info-files): Depend
12927: on installdirs. chmod all installed files.
12928:
1.1.1.2 maekawa 12929: Sun Feb 25 01:47:41 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12930:
12931: * mpbsd/configure.in: Delete debugging code.
12932:
12933: * All Makefile.in: Update clean targets.
12934:
12935: * Makefile.in (AR_FLAGS): New variable.
12936: (libgmp.a): Use it.
12937: (libmp.a): Likewise.
12938:
12939: * VERSION: Delete file.
12940:
12941: * Makefile.in (installdirs): New target.
12942: * mkinstalldirs: New file (from the texinfo package).
12943:
12944: * Makefile.in (INSTALL, INSTALL_DATA, INSTALL_PROGRAM): New variables.
12945: (MAKEINFO, MAKEINFOFLAGS, TEXI2DVI): New variables.
12946: (install-info): New target.
12947: (install, install-bsdmp): Depend on install-info.
12948: ($(srcdir)/gmp.info): Changed from plain gmp.info; put info files
12949: into source directory.
12950: (distclean, mostlyclean): New targets.
12951: (maintainer-clean): New name for realclean.
12952: (uninstall): New target.
12953: (TAGS): New target.
12954: (info, dvi): New targets.
12955: (.PHONY): Assign.
12956:
12957: * Makefile.in (install, install-bsdmp): Use INSTALL_DATA.
12958:
12959: * mp{n,z,f,bsd}/move-if-change: Delete.
12960:
12961: * mpbsd/Makefile.in (stamp-stddefh): Delete target.
12962:
12963: * Makefile.in (.c.o): Pass CFLAGS last.
12964: * mpbsd/Makefile.in (.c.o): Likewise.
12965: * mpf/Makefile.in (.c.o): Likewise.
12966: * mpq/Makefile.in (.c.o): Likewise.
12967: * mpz/Makefile.in (.c.o): Likewise.
12968: * mpn/Makefile.in (.c.o): Likewise.
12969: (.S.o): Likewise.
12970:
12971: * memory.c: Change allocation error message.
12972:
12973: * Makefile.in (install): Prefix gmp.h with $(srcdir).
12974: (install-bsdmp): Prefix mp.h with $(srcdir).
12975:
12976: * mp{n,z,f,bsd}/{configure,config.sub}: Delete.
12977:
12978: * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation
12979: (install targets): Install gmp.info-N.
12980:
1.1.1.2 maekawa 12981: Sat Feb 24 03:36:52 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 12982:
12983: * mpf/get_str.c: Fix typo.
12984:
12985: * mpz/legendre.c: Clarify expression with extra parens.
12986:
12987: * version.c (gmp_version): Not static.
12988:
12989: * mpf/iset_str.c: Properly return error code.
12990:
12991: * mpf/add.c: Delete unused variables.
12992: * mpf/inp_str.c: Likewise.
12993: * mpq/get_d.c: Likewise.
12994:
12995: * mpn/generic/dump.c: #include <stdio.h>.
12996: * mpf/dump.c: Likewise.
12997: * mpf/set_str.c: #include <ctype.h>.
12998: (strtol): Declare.
12999:
13000: * gmp.h: mpn_sqrt => mpn_sqrtrem.
13001:
13002: * Makefile.in (clean, realclean): Clean in mpbsd.
13003: (check): Test in mpf.
13004:
13005: * mpf/Makefile.in (clean): Clean in tests.
13006: * mpq/Makefile.in (clean): Clean in tests.
13007:
13008: * mpf/tests/Makefile.in: New file.
13009: * mpf/tests/configure.in: New file.
13010: * mpf/tests/t-addsub.c: New file.
13011:
13012: * mpf/sub_ui.c: Simply call mpf_sub for now.
13013:
13014: * mpf/sub.c: Increase prec by 1.
13015: * mpf/ui_sub.c: Likewise.
13016:
1.1.1.2 maekawa 13017: Fri Feb 23 00:59:54 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13018:
13019: * mpf/ui_sub.c: Fix typos.
13020:
13021: * mpf/get_str.c: When allocating space for tmp, allow for an extra
13022: limb. In code for fraction conversion, add special case for bases
13023: that are a power of 2.
13024:
13025: * mpf/out_str.c: Output leading "0.".
13026: Default base to 10, before computing string allocation.
13027:
13028: * mpf/get_str.c: Make variables for string size have type size_t.
13029: * gmp.h: Corresponding change.
13030:
13031: * mpf/random2.c: Allow creation of prec+1 large mantissas.
13032:
13033: * mpf/add_ui.c: Don't abort if u < 0; special case for u <= 0.
13034: Fix typo in MPN_COPY offset.
13035: * mpf/sub_ui.c: Analogous changes.
13036:
13037: * mpf/set_prec.c: Rewrite.
13038:
13039: * mpf/init2.c: Compute precision as in set_prec.c.
13040:
13041: * mpf/div_2exp.c: Special case for u == 0.
13042: * mpf/mul_2exp.c: Likewise. Write r->_mp_size always.
13043:
13044: * mpf/sqrt_ui.c: mpn_sqrt => mpn_sqrtrem.
13045: * mpf/sqrt.c: Likewise. When computing new exponent, round quotient
13046: towards -infinity.
13047:
13048: * mpf/add.c: Fix typos.
13049: * mpf/sub.c: Fix typos.
13050:
1.1.1.2 maekawa 13051: Thu Feb 22 00:24:48 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13052:
13053: * mpz/Makefile.in (stamp-stddefh): Delete target.
13054: (test): Delete target.
13055: * Makefile.in (stamp-stddefh): Delete target.
13056: (cre-stddefh.o): Delete target.
13057: (gmp.dvi): Set TEXINPUTS before invoking tex.
13058:
13059: * cre-stddefh.c: Delete.
13060:
13061: * mpz/sqrt.c: Fix typo.
13062:
13063: * mpz/powm.c: Special case for mod == 0.
13064: * mpz/powm_ui.c: Likewise.
13065:
13066: * mpz/get_si.c: Handle -0x80000000 correctly.
13067:
1.1.1.2 maekawa 13068: * mpz/inp_str.c: Now returns size_t.
1.1 maekawa 13069: Make it return number of bytes read or error indication.
13070: * mpf/inp_str.c: Likewise.
13071:
13072: * mpz/out_raw.c: Replace by mpz/out_binary.c, with modifications.
13073: * mpz/inp_raw.c: Rewrite, using mpz/inp_binary as a base.
13074: * mpz/inp_binary.c: Delete.
13075:
13076: * mpn/Makefile.in (XCFLAGS): Remove variable.
13077: (.c.o): Don't pass XCFLAGS.
13078: (SFLAGS): Set to nothing.
13079: (.S.o): Pass SFLAGS, not XCFLAGS.
13080:
13081: * mpn/config/t-freebsd (SFLAGS): New name for XCFLAGS.
13082:
13083: * mpf/out_str.c: Make return number of bytes written or error
13084: indication.
13085: * mpz/out_str.c: Likewise.
13086: * gmp.h: Corresponding changes.
13087:
13088: * gmp.h (__mpz_struct): mp_size_t => int.
13089: (__mpq_struct): Likewise.
13090: (__mpf_struct): Likewise.
13091: (mp_size_t): int => long int.
13092:
13093: * mpn/cray: New directory.
13094: * mpn/cray/gmp-mparam.h: New file.
13095: * mpn/configure.in: Recognize cray variants.
13096:
13097: * Makefile.in: Set defaults for prefix, libdir, etc.
13098: (install): New target.
13099: (install-bsdmp): New target.
13100: (gmp.html): New target.
13101:
13102: * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.
13103:
1.1.1.2 maekawa 13104: Wed Feb 21 04:35:02 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13105:
13106: * gmp.h: Sort mpn declarations.
13107: (mpn_gcdext): Add declaration.
13108:
13109: * mpn/generic/divrem_1.c: New file.
13110: * mpn/Makefile.in (divrem_1.o): New rule.
13111: * configure.in (functions): Add divrem_1.
13112:
13113: * mpn/generic/divmod.c: Delete file.
13114: * mpn/configure.in (functions): Delete divmod.
13115: * Makefile.in (divmod.o): Delete rule.
13116: * gmp.h (mpn_divmod): New #define.
13117:
13118: * gmp.h (mpn_next_bit_set): Delete spurious declaration.
13119:
13120: * mpn/generic/divrem.c (default case): In code assigning
13121: most_significant_q_limb, move reassignment of n0 into if statement.
13122:
13123: * gmp.h (mpf_inp_str): Fix typo.
13124: (mpf_out_str): Make prototype match reality.
13125: * mpf/inp_str.c: New file.
13126: * mpf/out_str.c: New file.
13127: * mpf/Makefile.in: Compile new files.
13128:
13129: * mpn/Makefile.in (dump.o): Fix dependency path.
13130: (inlines.o): Likewise.
13131:
13132: * mpn/configure.in: Make m68060 be the same as m68000. Clean up
13133: m68k configs.
13134:
1.1.1.2 maekawa 13135: Tue Feb 20 01:35:11 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13136:
13137: * mpn/generic/sqrtrem.c: Renamed from sqrt.
13138: * mpn/configure.in (functions): Corresponding change.
13139: * mpn/Makefile.in: Likewise.
13140: * mpz/sqrtrem.c: Likewise.
13141: * mpz/sqrt.c: Likewise.
13142: * mpn/generic/perfsqr.c: Likewise.
13143:
13144: * Makefile.in (clean): Also remove libmp.a.
13145: Don't compile cre-conv-tab.c or mp_bases.c.
13146: cre-conv-tab.c: Delete file.
13147: (gmp.ps): New rule.
13148:
13149: * mpn/mp_bases.c: New file.
13150: * mpn/Makefile.in: Compile mp_bases.c.
13151:
13152: * mpz/set_str.c: Skip initial whitespace.
13153: * mpf/set_str.c: Likewise.
13154: * mpbsd/xtom.c: Likewise.
13155:
13156: * gmp.h: Add missing mpz declarations.
13157: Delete all formal parameter names from declarations.
13158:
13159: * mpn/Makefile.in: Add dependencies for .c files.
13160:
13161: * Makefile.in (check): Write recursive make calls separately, not as
13162: a loop.
13163: (FLAGS_TO_PASS): New variable. Use it for most recursive makes.
13164:
1.1.1.2 maekawa 13165: Mon Feb 19 01:02:20 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13166:
13167: * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete
13168: lines starting with #.
13169: (CPP): Set to $(CC) -E to avoid gcc dependency.
13170:
13171: * mpn/m68k/syntax.h (moveql): Define to moveq for MIT_SYNTAX.
13172:
13173: * mpn/hppa/hppa1_1/pa7100/addmul_1.S: Fix typo in s1_ptr alignment
13174: code.
13175: * mpn/hppa/hppa1_1/pa7100/submul_1.S: Likewise.
13176:
13177: * gmp.h: Fix typos in #defines of recently added mpn functions.
13178:
13179: * mpz/inp_str.c: Skip all whitespace, not just plain space.
13180: * mpbsd/min.c: Likewise.
13181:
13182: * mpn/configure.in (functions): Add gcdext.
13183: * mpn/generic/gcdext.c: New file.
13184:
13185: * mpz/legendre.c: mpz_div_2exp => mpz_tdiv_q_2exp.
13186:
13187: * gmp.h: Surround mpn declarations with extern "C" { ... }.
13188:
13189: * Makefile.in (check): New target.
13190:
13191: * mpq/get_d.c: Update comments. Use rsize instead of dsize + N_QLIMBS
13192: when possible. Add special case for nsize == 0.
13193:
13194: * gmp.h (mpq_get_d): Add declaration.
13195: (mpq_canonicalize): Likewise.
13196: (mpq_cmp_ui): Likewise.
13197: (mpf_diff): Likewise.
13198: (mpf_ui_sub): Likewise.
13199: (mpf_set_prec): Likewise.
13200: (mpf_random2): Likewise.
13201:
13202: * gmp.h (mpz_cmp_ui): New #define.
13203: (mpz_cmp_si): New #define.
13204: (mpq_cmp_ui): New #define.
13205: (mpz_sign): New #define.
13206: (mpq_sign): New #define.
13207: (mpf_sign): New #define.
13208: (mpq_numref): New #define.
13209: (mpq_denref): New #define.
13210:
13211: * mpq/set_z.c: File deleted.
13212: * mpq/Makefile.in: Corresponding changes.
13213:
1.1.1.2 maekawa 13214: Sun Feb 18 01:34:47 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13215:
13216: * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.
13217:
13218: * mpz/inp_binary.c: Default stream to stdin.
13219: * mpz/inp_str.c: Likewise.
13220: * mpz/inp_raw.c: Likewise.
13221: * mpz/out_binary.c: Default stream to stdout.
13222: * mpz/out_raw.c: Likewise.
13223: * mpz/out_str.c: Likewise.
13224:
13225: * mpbsd/realloc.c: New file.
13226: * mpbsd/Makefile.in: Corresponding changes.
13227:
13228: * mpbsd/min.c: Rewrite (base on mpz/inp_str.c).
13229: * mpbsd/mtox.c: Rewrite (base on mpz/get_str.c).
13230:
13231: * mpbsd/mout.c: Rewrite (base on mpz/out_str) but make it output
13232: spaces in each 10th position.
13233: * mpbsd/xtom.c: Rewrite (base on mpz/set_str).
13234:
13235: * mpq/tests/Makefile.in (st-cmp): New file.
13236: * mpq/tests/configure.in (srcname): New file.
13237:
13238: * mpz/tests/configure.in (srcname): Fix typo.
13239:
13240: * mpq/cmp.c: Add check using number of significant bits, to avoid
13241: general multiplication.
13242:
1.1.1.2 maekawa 13243: Sat Feb 17 11:58:30 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13244:
13245: * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.
13246:
13247: * mpq/tests: New directory.
13248: * mpq/tests/t-cmp.c: New file.
13249: * mpq/tests/t-cmp_ui.c: New file.
13250:
13251: * mpz/tests/dive.c (main): Generate zero numerator.
13252: (get_random_size) : Delete.
13253:
13254: * mpz/divexact.c: Add special case for 0/x.
13255:
13256: * gmp.h (mpz_mod): Add declaration.
13257:
13258: Fri Feb 16 18:18:39 1996 Andreas Schwab <schwab@informatik.uni-dortmund.de>
13259:
13260: * mpn/m68k/*: Rewrite code not to use the INSN macros.
13261: (L): New macro to properly prefix local labels for ELF.
13262:
1.1.1.2 maekawa 13263: Fri Feb 16 00:20:56 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13264:
13265: * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for
13266: fields.
13267: * mpn/generic/inlines.c (_FORCE_INLINES): New #define. Delete
13268: conditional __GNUC__.
13269: * gmp.h (mpn_add, mpn_sub, mpn_add_1, mpn_sub_1):
13270: Only define these if __GNUC__ || _FORCE_INLINES.
13271: * mpf/random2.c: Add missing parameter in non-ANSI header.
13272: * mpn/generic/gcd.c (SIGN_BIT): Do as #define to work around bug
13273: in AIX compilers.
13274: * mpq/get_d.c: #define N_QLIMBS.
13275: * mpz/divexact.c: Obscure division by 0 to silent compiler warnings.
13276: * stack-alloc.c: Cast void* pointer to char* before doing arithmetic
13277: on it.
13278:
13279: * Makefile.in (mpbsd/libmpbsd.a): New rule.
13280: * configure.in (configdirs): Add mpbsd.
13281:
13282: * gmp.h: Add declarations for a few missing mpn functions.
13283:
13284: * Makefile.in (libmp.a): New rule.
13285:
13286: * mpbsd/mdiv.c: #include "dmincl.c", not "mpz_dmincl.c"
13287: * gmp.h: Move #define of __GNU_MP__ into the `#if __GNU_MP__' block.
13288: * mp.h: Likewise. Update typedefs from gmp.h.
13289: * mpbsd/configure.in: New file.
13290: * mpbsd/Makefile.in: New file.
13291: * mpbsd/configure: Link to master configure.
13292: * mpbsd/config.sub: Link to master config.sub.
13293:
13294: * Makefile.in: Set RANLIB_TEST.
13295: * (libgmp.a): Use it.
13296: * (libgmp.a): Do ranlib before moving the libgmp.a to the build
13297: directory.
13298: * mp?/Makefile.in: Don't use or set RANLIB.
13299:
1.1.1.2 maekawa 13300: Thu Feb 15 16:38:41 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13301:
13302: * mpz/add_ui.c: MP_INT => mpz_t.
13303: * mpz/cmp_ui.c: Likewise.
13304: * mpz/fac_ui.c: Likewise.
13305: * mpz/inp_binary.c: Likewise.
13306: * mpz/inp_raw.c: Likewise.
13307: * mpz/legendre.c: Likewise.
13308: * mpz/jacobi.c: Likewise.
13309: * mpz/out_binary.c: Likewise.
13310: * mpz/out_raw.c: Likewise.
13311: * mpz/random2.c: Likewise.
13312: * mpz/random.c: Likewise.
13313: * mpz/realloc.c: Likewise.
13314:
13315: * mpz/legendre.c: __mpz_2factor(X) => mpz_scan1(X,0),
13316: __mpz_odd_less1_2factor => mpz_scan1(X,1).
13317: * mpz/ntsup.c: File deleted.
13318: * mpz/Makefile.in: Corresponding changes.
13319:
13320: * mpz/pprime_p: Use mpz_scan1 to avoid looping.
13321:
13322: * mpz/fac_ui.c: Type of `k' and `p' is `unsigned long'.
13323: * mpz/pprime_p.c: Pass long to *_ui functions.
13324: * mpz/gcdext.c: Likewise.
13325: * mpz/fdiv_r_2exp.c: Likewise.
13326: * mpz/fac_ui.c: Likewise.
13327:
13328: * mpz/powm.c: Don't use mpn_rshift when mod_shift_cnt is 0.
13329:
13330: * mpz/tests/Makefile.in (st-sqrtrem): Fix typo.
13331:
13332: * mpz/cmp_ui.c: #undef mpz_cmp_ui.
13333: * mpz/cmp_si.c: #undef mpz_cmp_si.
13334: * gmp.h (mpz_cmp_ui): New #define.
13335: (mpz_cmp_si): New #define.
13336:
1.1.1.2 maekawa 13337: Wed Feb 14 22:11:24 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13338:
13339: * gmp.h: Test __cplusplus in addition to __STDC__.
13340: * gmp-impl.h: Likewise.
13341:
13342: * gmp.h: Surround declarations with extern "C" { ... }.
13343:
1.1.1.2 maekawa 13344: Tue Feb 13 15:20:45 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13345:
13346: * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.
13347: * mpz/tdiv_r_2exp.c: Likewise.
13348:
13349: * mpz/fdiv_r_2exp.c: New file.
13350: * mpz/fdiv_q_2exp.c: New file.
13351: * mpz/tdiv_r_2exp.c: Renamed from mpz/mod_2exp.c.
13352: * mpz/tdiv_q_2exp.c: Renamed from mpz/div_2exp.c
13353: * mpz/Makefile.in: Corresponding changes.
13354:
13355: * mpz/scan0.c,scan1.c: New files.
13356: * mpz/Makefile.in: Compile them.
13357:
13358: * gmp.h (mpn_normal_size): Delete.
13359:
13360: * config.guess: Update from Cygnus version.
13361:
13362: * mpn/m68k/rshift.S: Use INSN2 macro for lea instructions.
13363: * mpn/m68k/lshift.S: Likewise.
13364:
13365: * mpn/configure.in: Fix configuration for plain 68000.
13366:
1.1.1.2 maekawa 13367: Mon Feb 12 01:06:06 1996 Torbjorn Granlund <tege@matematik.su.se>
1.1 maekawa 13368:
13369: * mpz/tests/t-powm.c: Generate negative BASE operand.
13370:
13371: * mpz/powm.c: Make result always positive.
13372:
1.1.1.2 maekawa 13373: Sun Feb 11 01:44:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13374:
13375: * mpz/tests/*.c: Add t- prefix.
13376: * mpz/tests/Makefile.in: Corresponding changes.
13377: * mpz/tests/configure.in: Update srctrigger.
13378:
13379: * mpz/tests/gcd.c: Generate negative operands.
13380: * mpz/tests/gcd2.c: Likewise.
13381:
13382: * mpz/gcdext.c: At end, if G is negative, negate all G, S, and T.
13383:
13384: Thu Feb 8 17:16:12 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
13385:
13386: * mp{z,n}/gcd.c: Change mpn_gcd interface.
13387: * gmp.h: Ditto.
13388: * gmp.texi: update documentation.
13389:
13390: Mon Feb 7 23:58:43 1996 Andreas Schwab <schwab@informatik.uni-dortmund.de>
13391:
13392: * mpn/m68k/{lshift,rshift}.S: New files.
13393: * mpn/m68k/syntax.h: New ELF_SYNTAX macros.
13394: (MEM_INDX, R, PROLOG, EPILOG): New macros.
13395: * mpn/m68k/*.S: Use R macro with register name. Use PROLOG and EPILOG
13396: macros. Rename `size' to `s_size' or s1_size to avoid clash with ELF
13397: .size directive.
13398: * mpn/configure.in: New target m68k-*-linux*.
13399:
1.1.1.2 maekawa 13400: Wed Feb 7 07:41:31 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13401:
13402: * Makefile.in (cre-conv-tab): Workaround for SunOS make.
13403:
13404: * mpz/tests/reuse.c: New file.
13405: * mpz/tests/Makefile.in: Handle reuse.c.
13406:
13407: Tue Feb 6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
13408:
13409: * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.
13410:
1.1.1.2 maekawa 13411: Tue Feb 6 01:36:39 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13412:
13413: * gmp.h (mpz_divexact): Delete parameter names.
13414: (mpz_lcm): Delete spurious declaration.
13415:
13416: * mpz/dmincl.c: Fix typo.
13417:
1.1.1.2 maekawa 13418: Mon Feb 5 01:11:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13419:
13420: * mpn/generic/gcd.c (gcd_2): Declare consistently.
13421:
13422: * mpz/tdiv_q.c: Optimize division by a single-limb divisor.
13423: * mpz/dmincl.c: Likewise.
13424:
13425: * mpz/add.c: Use MPN_NORMALIZE instead of mpn_normal_size.
13426: * mpz/sub.c: Likewise.
13427: * mpn/generic/sqrt.c: Likewise.
13428:
13429: * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the
13430: destination arrays.
13431:
1.1.1.2 maekawa 13432: Fri Feb 2 02:21:27 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13433:
13434: * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.
13435: * mpz/Makefile.in: Compile them.
13436:
13437: * mpn/Makefile.in (INCLUDES): Don't search in `generic'.
13438:
1.1.1.2 maekawa 13439: Thu Feb 1 02:15:11 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13440:
13441: Change from Ken Weber:
13442: * mpz/divexact.c: Make it work when quot is identical to either input.
13443:
13444: * mpf/ui_sub.c: New file.
13445: * mpf/Makefile.in: Compile it.
13446:
13447: * gmp-impl.h (MPZ_TMP_INIT): alloca -> TMP_ALLOC.
13448: * mpz/{c,f}div_{q,qr,r}.c: Use TMP_DECL/TMP_MARK/TMP_FREE since
13449: these use MPZ_TMP_INIT.
13450: * mpz/mod.c: Likewise.
13451: * mpq/{add,sub}.c: Likewise.
13452: * mpq/canonicalize: Likewise.
13453:
13454: * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.
13455: * mpq/canonicalize.c: Likewise.
13456:
1.1.1.2 maekawa 13457: Wed Jan 31 01:45:00 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13458:
13459: * mpn/generic/gcd.c: Misc changes from Ken.
13460:
13461: * mpz/tests/gcd2.c: New file.
13462: * mpz/tests/Makefile.in: Handle gcd2.c.
13463:
13464: * mpn/generic/gcd.c (mpn_gcd): When GCD == ORIG_V, return vsize,
13465: not orig_vsize. Fix parameter declaration.
13466:
13467: * mpz/mod_ui.c: Delete file.
13468: * mpz/Makefile.in: Don't try to compile mod_ui.
13469:
13470: * mpz/cdiv_*_ui.c): Make them work right.
13471: * gmp.h: Declare cdiv*.
13472:
1.1.1.2 maekawa 13473: Tue Jan 30 02:22:56 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13474:
13475: * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,
13476: cdiv_r_ui.c,cdiv_ui.c}: New files.
13477: * mpz/Makefile.in: Compile them.
13478:
13479: * All files: Make file permissions right.
13480:
13481: Changes from Ken Weber:
13482: * mpn/generic/accelgcd.c: Delete.
13483: * mpn/generic/bingcd.c: Delete.
13484: * mpn/generic/numbits.c: Delete.
13485: * mpn/generic/gcd.c: New file.
13486: * mpn/configure.in (functions): Update accordingly.
13487: * mpz/divexact.c: New file.
13488: * mpz/Makefile.in: Compile divexact.c.
13489: * mpz/gcd.c: Rewrite to accommodate for gcd changes in mpn.
13490: * gmp.h: declare new functions, delete obsolete declarations.
13491: * mpz/tests/dive.c: New file.
13492: * mpz/tests/Makefile.in: Handle dive.c.
13493:
1.1.1.2 maekawa 13494: Mon Jan 29 03:53:24 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13495:
13496: * mpz/random.c: Handle negative SIZE parameter.
13497:
13498: * mpz/tests/tdiv(_ui).c: New name for tst-dm(_ui).c.
13499: * mpz/tests/tst-mdm(_ui).c: Delete.
13500: * mpz/tests/fdiv(_ui).c: New test based in tst-mdm(_ui).
13501: * mpz/tests/*.c: Get rid of tst- prefix for DOS 8+3 naming.
13502: * mpz/tests/Makefile.in: Corresponding changes.
13503: * mpz/tests/configure.in: Update srctrigger.
13504:
13505: * mpn/generic/divmod.c: Update from divrem.
13506: * mpn/generic/divrem.c: Misc cleanups.
13507:
1.1.1.2 maekawa 13508: Sun Jan 28 03:25:08 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13509:
13510: * All files: Use new TMP_ALLOC interface.
13511:
13512: * mpz/powm_ui.c: Make Jan 25 changes to powm.c also here.
13513:
13514: * mpz/tests/powm_ui.c: New file.
13515: * mpz/tests/Makefile.in: Add rules for tst-powm and tst-powm_ui.
13516:
13517: * Makefile.in: Update dependency list.
13518: * mpf/Makefile.in: Likewise.
13519: * mpz/Makefile.in: Likewise.
13520: * mpq/Makefile.in: Likewise.
13521: * Makefile.in: Set RANLIB simply to ranlib, and allow configure
13522: to override it.
13523:
13524: * mpz/Makefile.in (conf): Delete spurious target.
13525: (mp_bases.c): Delete.
13526: (cre-conv-tab rules): Delete.
13527:
13528: * Makefile.in (cre-conv-tab): Greatly simplify.
13529:
1.1.1.2 maekawa 13530: Sat Jan 27 13:38:15 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13531:
13532: * stack-alloc.c: New file.
13533: * stack-alloc.h: New file.
13534:
13535: * gmp.h (__gmp_inline): Define using __inline__.
13536:
1.1.1.2 maekawa 13537: Thu Jan 25 00:28:37 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13538:
13539: * mpn/generic/scan0.c: New file.
13540: * mpn/generic/scan1.c: Renamed from next_bit.c.
13541: * mpn/configure.in (functions): Include scan0 and scan1.
13542:
13543: * mpn/m68k/*: #include sysdep.h. Use C_GLOBAL_NAME.
13544:
13545: * configure: Update from Cygnus version.
13546: * config.guess: Likewise.
13547: * config.sub: Likewise.
13548: * configure: Pass --nfp to recursive configures.
13549:
13550: * mpz/tests/tst-*.c: Adjust SIZE and reps.
13551:
13552: * mpz/powm.c: Move esize==0 test earlier.
13553: In final reduction of rp,rsize, don't call mpn_divmod unless
13554: reduction is really needed.
13555:
13556: * mpz/tests/tst-powm.c: Fix thinko in checking code.
13557:
13558: * All files: Get rid of `__' prefix from mpn_* calls and declarations.
13559: * gmp.h: #define __MPN.
13560: * gmp.h: Use __MPN in #defines for mpn calls.
13561:
13562: * mpn/generic/mul_n.c: Prepend `i' to internal routines.
13563: * gmp-impl.h: Add #defines using __MPN for those internal routines.
13564:
13565: * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.
13566:
1.1.1.2 maekawa 13567: Wed Jan 24 13:28:19 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13568:
13569: * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.
13570: * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.
13571: * mpn/sparc32/v8/supersparc: New directory.
13572: * mpn/sparc32/v8/supersparc/udiv.S: New file.
13573:
1.1.1.2 maekawa 13574: Tue Jan 23 01:10:11 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13575:
13576: This major contribution is from Ken Weber:
13577: * mpn/generic/accelgcd.c: New file.
13578: * mpn/generic/bdivmod.c: New file.
13579: * mpn/generic/bingcd.c: New file.
13580: * mpn/generic/gcd_1.c: Rewrite.
13581: * mpn/generic/numbits.c: New file (to go away soon).
13582: * mpz/gcd.c: Rewrite.
13583: * mpz/tests/tst-gcd.c (SIZE): Now 128.
13584: * gmp.h: Declare new functions.
13585: * mpn/configure.in (functions): List new files.
13586: * gmp-impl.h (MPN_SWAP): Delete.
13587: (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.
13588: (MPN_COMPL_INCR, MPN_COMPL): Delete.
13589:
1.1.1.2 maekawa 13590: Mon Jan 22 02:04:59 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13591:
13592: * gmp.h (mpn_name): New #define.
13593:
13594: * mpn/m88k/mc88110/addmul_1.s: New file.
13595: * mpn/m88k/mc88110/add_n.S: New file.
13596: * mpn/m88k/mc88110/sub_n.S: New file.
13597:
13598: * mpn/m88k/sub_n.s: Correctly initialize carry.
13599:
13600: * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.
13601:
1.1.1.2 maekawa 13602: Sun Jan 21 00:04:35 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13603:
13604: * mpn/sparc64/addmul_1.s: New file.
13605: * mpn/sparc64/submul_1.s: New file.
13606: * mpn/sparc64/rshift.s: New file.
13607:
1.1.1.2 maekawa 13608: Sat Jan 20 00:32:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13609:
13610: * mpz/iset.c: Fix typo introduced Dec 25.
13611:
1.1.1.2 maekawa 13612: Wed Jan 17 13:16:44 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13613:
13614: * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.
13615: * config/mt-sparcv8-gcc: Delete.
13616: * configure.in: Corresponding changes.
13617:
1.1.1.2 maekawa 13618: Tue Jan 16 16:31:01 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13619:
13620: * gmp-impl.h: #include alloca.h when necessary.
13621:
13622: * longlong.h: Test __alpha instead of __alpha__, since the former
13623: is the standard symbol.
13624:
1.1.1.2 maekawa 13625: Mon Jan 15 18:06:57 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13626:
13627: * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.
13628: * mpn/sparc64/lshift.s: New file.
13629:
1.1.1.2 maekawa 13630: Fri Dec 29 17:34:03 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13631:
13632: * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.
13633: * mpn/x86/pentium/sub_n.S: Likewise.
13634:
1.1.1.2 maekawa 13635: Thu Dec 28 03:16:57 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13636:
13637: * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update
13638: of loop induction variable and load insn at beginning of loop.
13639: * mpn/x86/pentium/addmul_1.S: Likewise.
13640: * mpn/x86/pentium/submul_1.S: Likewise.
13641:
1.1.1.2 maekawa 13642: Mon Dec 25 23:22:55 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13643:
13644: * All files: Prefix user-visible structure fields with _mp_.
13645:
1.1.1.2 maekawa 13646: Fri Dec 22 20:42:17 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13647:
13648: * mpn/configure.in (m68k configs): Terminate path variable with
13649: plain "m68k".
13650:
1.1.1.2 maekawa 13651: Fri Dec 22 03:29:33 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13652:
13653: * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to
13654: clean things up.
13655:
13656: * mpn/configure.in (m68k configs): Update #include path for new
13657: mpn directory organization.
13658:
1.1.1.2 maekawa 13659: Tue Dec 12 02:53:02 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13660:
13661: * gmp.h: Prefix all structure field with _mp_.
13662: * gmp-impl.h: Define access macros for these fields.
13663:
1.1.1.2 maekawa 13664: Sun Dec 10 00:47:17 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13665:
13666: * mpn/alpha/addmul_1.s: Prefix labels with `.'.
13667: * mpn/alpha/submul_1.s: Likewise.
13668: * mpn/alpha/[lr]shift.s: Likewise.
13669: * mpn/alpha/udiv_qrnnd.S: Likewise.
13670: * mpn/alpha/ev5/[lr]shift.s: Likewise.
13671:
13672: * mpn/alpha/ev5/lshift.s: Fix typos.
13673:
1.1.1.2 maekawa 13674: Fri Dec 1 14:28:20 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13675:
13676: * mpn/Makefile.in (.SUFFIXES): Define.
13677:
1.1.1.2 maekawa 13678: Wed Nov 29 23:11:57 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13679:
13680: * mpn/sparc64/{add_n.s, sub_n.s}: New files.
13681:
1.1.1.2 maekawa 13682: Tue Nov 28 06:03:13 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13683:
13684: * mpn/x86/syntax.h: Handle ELF_SYNTAX.
13685: Rename GAS_SYNTAX => BSD_SYNTAX.
13686:
13687: * mpn/configure.in: Handle linuxelf and SysV for x86 variants.
13688:
1.1.1.2 maekawa 13689: Mon Nov 27 01:32:12 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13690:
13691: * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.
13692:
1.1.1.2 maekawa 13693: Sun Nov 26 04:30:47 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
1.1 maekawa 13694:
13695: * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.
13696:
13697: * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.
13698: * mpn/sparc32/sub_n.S: Likewise.
13699:
1.1.1.2 maekawa 13700: Fri Nov 17 00:18:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13701:
13702: * mpn/configure.in: Handle m68k on NextStep.
13703:
1.1.1.2 maekawa 13704: Thu Nov 16 02:30:26 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13705:
13706: * mpn: Reorganize machine-specific directories.
13707: * mpn/configure.in: Corresponding changes.
13708: (sh, sh2): Handle these.
13709: (m68k targets): Create asm-syntax.h.
13710:
1.1.1.2 maekawa 13711: Thu Nov 9 02:20:50 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13712:
13713: * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.
13714: (____mpn_mul_n): Likewise.
13715:
1.1.1.2 maekawa 13716: Tue Nov 7 03:25:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13717:
13718: * mpf/get_str.c: In exponentiation code (two places), don't swap
13719: input and output areas when calling mpn_mul_1.
13720: * mpf/set_str.c: Likewise.
13721:
1.1.1.2 maekawa 13722: Fri Nov 3 02:35:58 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13723:
13724: * mpf/Makefile.in: Make sure all objects are listed in dependency list;
13725: delete spurious entries.
13726:
13727: * mpf/mul.c: Handle U or V being 0. Allow prec+1 for result precision.
13728:
13729: * mpf/set_prec.c: New computation of limb precision.
13730: * mpf/set_dfl_prec.c: Likewise.
13731:
13732: * mpf/random2.c: Fix typo computing exp.
13733: * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of
13734: the user-requested number of digits, n_digits.
13735:
1.1.1.2 maekawa 13736: Thu Nov 2 16:25:07 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13737:
13738: * mpn/generic/divrem.c (case 2): Don't move np vector back, it is
13739: never read.
13740: (default case): Put most significant limb from np in new variable n2;
13741: decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].
13742:
1.1.1.2 maekawa 13743: Wed Nov 1 02:59:53 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13744:
13745: * mpn/sparc/[lr]shift.S: New files.
13746:
1.1.1.2 maekawa 13747: Tue Oct 31 00:08:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13748:
13749: * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.
13750:
13751: * gmp-impl.h (assert): Delete definition.
13752:
13753: * mpf/sub.c: Delete all assert calls. Delete variable `cy'.
13754:
13755: * mpf/neg.c: Use prec+1 as precision. Optimize for when arguments
13756: are the same.
13757: * mpf/abs.c: Likewise.
13758: * mpf/{set,neg,abs}.c: Make structure and variable names similar.
13759:
1.1.1.2 maekawa 13760: Mon Oct 30 12:45:26 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13761:
13762: * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.
13763: * mpn/generic/random2.c (random): Likewise.
13764:
1.1.1.2 maekawa 13765: Sun Oct 29 01:54:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13766:
13767: * mpf/div.c: Special handle U or V being 0.
13768:
13769: * mpf/random2.c: New file.
13770:
13771: * longlong.h (i860 rshift_rhlc): Define.
13772: (i960 udiv_qrnnd): Define.
13773: (i960 count_leading_zeros): Define.
13774: (i960 add_ssaaaa): Define.
13775: (i960 sub_ddmmss): Define.
13776: (i960 rshift_rhlc): Define.
13777:
1.1.1.2 maekawa 13778: Sat Oct 28 19:09:15 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13779:
13780: * mpn/pentium/rshift.S: Fix and generalize condition for when to use
13781: special code for shift by 1.
13782: * mpn/pentium/lshift.S: Likewise.
13783:
1.1.1.2 maekawa 13784: Thu Oct 26 00:02:56 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13785:
13786: * gmp.h: #undef __need_size_t.
13787: * mp.h: Update from gmp.h.
13788:
1.1.1.2 maekawa 13789: Wed Oct 25 00:17:27 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13790:
13791: * mpf/Makefile.in: Compile set_prec.c.
13792: * mpf/realloc.c: Delete this file.
13793: * mpf/Makefile.in: Delete mentions of realloc.c.
13794:
13795: * gmp.h (__mpf_struct): Get rid of `alloc' field.
13796: * mpf/clear.c: Likewise.
13797: * mpf/init*.c: Likewise.
13798: * mpf/set_prec.c: Likewise.
13799: * mpf/iset*.c: Likewise.
13800:
13801: * mpf/iset_str.c: New file.
13802:
13803: * mpn/configure.in: Handle pyramid.
13804:
13805: * mpf/set.c: Use prec+1 as precision.
13806:
13807: * mpf/set_prec.c: New file.
13808:
1.1.1.2 maekawa 13809: Tue Oct 24 00:56:41 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13810:
13811: * mpn/generic/divrem.c: New file. Will replace mpn/generic/divmod.c
13812: when rest of source is converted.
13813: * mpn/configure.in (functions): Add `divrem'
13814: * mpn/generic/set_str.c: Never call __mpn_mul_1 with zero size.
13815:
13816: * mpf/get_str.c: Completely rewritten.
13817: * mpf/add.c: Fix several problems.
13818: * mpf/sub.c: Compare operands from most significant end until
13819: first difference, exclude skipped limbs from computation.
13820: Accordingly simplify normalization code.
13821: * mpf/set_str.c: Fix several problems.
13822: * mpf/dump.c: New file.
13823: * mpf/Makefile.in: Compile dump.c.
13824: * mpf/init2.c: Set prec field correctly.
13825:
1.1.1.2 maekawa 13826: Sun Oct 22 03:02:09 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13827:
13828: * cre-conv-tab.c: #include math.h; don't declare log and floor.
13829:
1.1.1.2 maekawa 13830: Sat Oct 21 23:04:10 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13831:
13832: * mpf/mul_ui.c: Handle U being 0.
13833:
1.1.1.2 maekawa 13834: Wed Oct 18 19:39:27 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13835:
13836: * mpn/generic/set_str.c: Correctly handle input like "000000000000".
13837: Misc cleanups.
13838:
1.1.1.2 maekawa 13839: Tue Oct 17 15:14:13 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13840:
13841: * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where
13842: appropriate.
13843:
1.1.1.2 maekawa 13844: Mon Oct 16 19:14:43 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13845:
13846: * mpf/add.c: Rewrite.
13847: * mpf/set_str.c: New file. Needs more work.
13848:
1.1.1.2 maekawa 13849: Sat Oct 14 00:14:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13850:
13851: * mpf/div_2exp.c: Vastly simplify.
13852: * mpf/mul_2exp.c: Likewise.
13853:
13854: * mpf/sub.c: Rewrite.
13855:
13856: * gmp-impl.h (udiv_qrnnd_preinv2gen): Terminate comment.
13857:
13858: * mpf/dump.c: Free allocated memory.
13859:
13860: * gmp-impl.h (assert): Define.
13861:
1.1.1.2 maekawa 13862: Wed Oct 11 13:31:00 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13863:
13864: * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.
13865:
1.1.1.2 maekawa 13866: Tue Oct 10 00:37:21 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13867:
13868: * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.
13869:
13870: * mpn/powerpc32/{lshift.s,rshift.s}: New files.
13871:
13872: * configure.in: Fix typo.
13873:
1.1.1.2 maekawa 13874: Sat Oct 7 08:17:09 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13875:
13876: * longlong.h (smul_ppmm): Correct type of __m0 and __m1.
13877:
1.1.1.2 maekawa 13878: Wed Oct 4 16:31:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13879:
13880: * mpn/configure.in: Handle alphaev5.
13881: * mpn/ev4: New name for alpha subdir.
13882: * mpn/ev5: New subdir.
13883: * mpn/ev5/lshift.s: New file.
13884:
1.1.1.2 maekawa 13885: Tue Oct 3 15:06:45 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13886:
13887: * mpn/alpha/mul_1.s: Avoid static increments of pointers; use
13888: corresponding offsets in ldq and stq instructions instead.
13889: (Loop): Swap cmpult and stq to save one cycle on EV5.
13890:
13891: * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,
13892: submul_1.s}: Don't check results if NOCHECK is defined.
13893:
1.1.1.2 maekawa 13894: Mon Oct 2 11:40:18 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13895:
13896: * longlong.h (mips umul_ppmm [32 and 64 bit versions]):
13897: Make new variants, based on GCC version number, that use `l' and `h'
13898: constraints instead of explicit mflo and mfhi instructions
13899:
1.1.1.2 maekawa 13900: Sun Oct 1 00:17:47 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13901:
13902: * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.
13903: * mpn/mc88100/sub_n.s: Likewise.
13904:
13905: * config/mt-m88110: New file.
13906: * configure.in: Use it.
13907:
13908: * mpn/mc88110/mul_1.s: Fix thinko.
13909:
1.1.1.2 maekawa 13910: Sat Sep 30 21:28:19 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13911:
13912: * mpz/set_d.c: Declare `size' at function start.
13913:
13914: * experimental: New directory for mpx and mpz2.
13915:
13916: * mpz/tdiv_q.c: Clarify comments.
13917: * mpz/{mod.c,mod_ui.c}: New file, for math mod function.
13918:
13919: * mpn/sh2/{mul_1.s,addmul_1.s,submul_1.s}: New files.
13920:
13921: * mpn/sh/{add_n.s,sub_n.s}: New files.
13922:
13923: * mpn/pyr/{add_n.s,sub_n.s,mul_1.s,addmul_1.s}: New files.
13924:
13925: * mpn/i960/{add_n.s,sub_n.s}: New files.
13926:
13927: * mpn/alpha/addmul_1.s (Loop): Move decrement of r18 to before umulh,
13928: to save cycles on EV5.
13929: * mpn/alpha/submul_1.s: Ditto.
13930: * mpn/alpha/mul_1.s: Ditto.
13931:
1.1.1.2 maekawa 13932: Thu Sep 28 02:48:59 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13933:
13934: * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if
13935: _LONG_LONG_LIMB is defined.
13936:
13937: * longlong.h (m88110): Test __m88110__, not __mc88110__
13938:
13939: * mpn/mc88110/mul_1.s: Rewrite.
13940:
1.1.1.2 maekawa 13941: Tue Sep 26 23:29:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13942:
13943: * config.sub: Update from current Cygnus version.
13944:
13945: * mpn/configure.in: Recognize canonical m88*, not mc88*.
13946:
1.1.1.2 maekawa 13947: Fri Sep 22 14:58:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13948:
13949: * mpz/set_d.c: New file.
13950: * mpz/Makefile.in: Build new files.
13951:
13952: * mpq/get_d.c: Replace usage of scalbn with ldexp.
13953:
13954: * mpn/{vax,i386}/gmp-mparam.h: New files.
13955: * gmp-impl.h (ieee_double_extract): Define here.
13956: * mpf/set_d.c (ieee_double_extract): Not here.
13957:
1.1.1.2 maekawa 13958: Thu Sep 21 00:56:36 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13959:
13960: * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.
13961: (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,
13962: protect with new symbol LONGLONG_STANDALONE.
13963: (68000 umul_ppmm): Use %# prefix for immediate constants.
13964:
1.1.1.2 maekawa 13965: Wed Sep 20 15:36:23 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13966:
13967: * mpn/generic/divmod_1.c: Handle
13968: divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
13969: specifically also when normalization_steps != 0.
13970:
1.1.1.2 maekawa 13971: Mon Sep 18 15:42:30 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13972:
13973: * mpq/get_d.c: New file.
13974:
1.1.1.2 maekawa 13975: Sun Sep 17 02:04:36 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13976:
13977: * longlong.h (pyr): Botch up for now.
13978:
1.1.1.2 maekawa 13979: Sat Sep 16 00:11:50 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13980:
13981: * mpn/clipper/mul_1.s: New file.
13982: * mpn/clipper/add_n.s: New file.
13983: * mpn/clipper/sub_n.s: New file.
13984: * mpn/configure.in: Handle clipper*-*-*.
13985:
13986: * mpn/configure.in: Recognize rs6000-*-*.
13987:
1.1.1.2 maekawa 13988: Fri Sep 15 00:41:34 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 13989:
13990: * mpn/alpha/add_n.s: New file.
13991: * mpn/alpha/sub_n.s: New file.
13992:
13993: * mpn/mips3: New name for mpn/r4000.
13994: * mpn/mips2: New name for mpn/r3000.
13995: * mpn/configure.in: Corresponding changes.
13996:
13997: * mpn/generic/perfsqr.c (primes): Delete.
13998: (residue_map): Delete.
13999:
1.1.1.2 maekawa 14000: Thu Sep 14 00:07:58 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14001:
14002: * mpn/r3000/sub_n.s: Fix typo.
14003:
14004: * dm_trunc.c: Delete spurious file.
14005:
14006: * mpz/out_binary.c: Fix typo.
14007:
14008: * mpn/configure.in (per-target): Make mips*-*-irix6* imply r4000.
14009:
14010: * gmp-impl.h: For sparc and sgi, include alloca.h.
14011:
14012: * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'. Replace
14013: `ldk r,#0' with `xor r,r'.
14014:
1.1.1.2 maekawa 14015: Wed Sep 6 00:58:38 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14016:
14017: * mpz/inp_binary.c: New file.
14018: * mpz/out_binary.c: New file.
14019: * mpz/Makefile.in: Build new files.
14020:
1.1.1.2 maekawa 14021: Tue Sep 5 22:53:51 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14022:
14023: * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc
14024: and size fields.
14025:
1.1.1.2 maekawa 14026: Sat Sep 2 17:47:59 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14027:
14028: * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.
14029: * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,
14030: derived from r4000 code.
14031:
1.1.1.2 maekawa 14032: Fri Sep 1 05:35:52 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14033:
14034: * mpn/r3000/mul_1.s: Fix typo.
14035:
14036: * mpn/powerpc32: Fix some old vs new mnemonic issues.
14037:
14038: * mpn/powerpc32/{add_n.s,sub_n.s}: New files.
14039: * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.
14040:
1.1.1.2 maekawa 14041: Wed Aug 30 10:43:47 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14042:
14043: * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.
14044: * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.
14045:
14046: * config.guess: Update to latest FSF revision.
14047:
1.1.1.2 maekawa 14048: Mon Aug 28 02:18:13 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14049:
14050: * mpz/out_str.c: Cast str to char * in fputs call.
14051:
14052: * gmp-impl.h: Define UQItype, SItype, and USItype also
14053: when not __GNUC__.
14054:
1.1.1.2 maekawa 14055: Fri Aug 25 01:45:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14056:
14057: * mpn/i386/syntax.h: Renamed from asm-syntax.h.
14058: * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.
14059: * mpn/configure.in: Corresponding changes.
14060:
1.1.1.2 maekawa 14061: Sun Aug 13 19:20:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
1.1 maekawa 14062:
14063: * mpn/generic/random2.c: Test __hpux, not hpux.
14064:
14065: Sat Apr 15 20:50:33 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14066:
14067: * mpn/sparc/add_n.S: Make it work for PIC.
14068: * mpn/sparc/sub_n.s: Likewise.
14069: * mpn/sparc8/addmul_1.S: Likewise.
14070: * mpn/sparc8/mul_1.S: Likewise.
14071: * mpn/i386/add_n.S: Likewise.
14072: * mpn/i386/sub_n.S: Likewise.
14073:
14074: Thu Apr 13 23:15:03 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14075:
14076: * mpn/configure.in: Don't search power subdir for generic ppc configs.
14077: Add some ppc cpu-specific configs. Misc clean up.
14078:
14079: Mon Apr 10 00:16:35 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14080:
14081: * mpz/ui_pow_ui.c: Delete spurious code to handle negative results.
14082:
14083: Sun Apr 9 12:38:11 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14084:
14085: * longlong.h (SPARC v8 udiv_qrnnd): Generate remainder in C,
14086: not in asm.
14087:
14088: * mpn/generic/sqrt.c (SQRT): Test for __SOFT_FLOAT.
14089:
14090: Tue Mar 28 00:19:52 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14091:
14092: * mpn/generic/hamdist.c (popc_limb): Make Mar 16 change here too.
14093:
14094: Fri Mar 17 23:29:22 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14095:
14096: * longlong.h (SH umul_ppmm): Define.
14097:
14098: Thu Mar 16 16:40:44 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14099:
14100: * mpn/generic/popcount.c (popc_limb): Rearrange 32 bit case
14101: to help CSE.
14102:
14103: Fri Mar 10 20:03:49 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14104:
14105: * mpn/powerpc32/mul_1.s: Clear cy before entering loop.
14106: Rearrange loop to save a cycle.
14107: * mpn/powerpc32/addmul_1.s: New file.
14108: * mpn/powerpc32/submul_1.s: New file.
14109:
14110: Fri Feb 17 22:44:45 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14111:
14112: * mpn/configure.in: Set target_makefile_frag for freebsd
14113: in new case stmt.
14114: * mpn/config/t-freebsd: New file.
14115: * mpn/Makefile.in: Add #### for frag insertion.
14116: (XCFLAGS): Clear by default.
14117: (.c.o, .S.o rules): Pass XCFLAGS.
14118:
14119: Tue Feb 7 16:27:50 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14120:
14121: * longlong.h (68000 umul_ppmm): Merge improvements from henderson.
14122:
14123: Tue Jan 24 04:23:20 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
14124:
14125: * longlong.h (default umul_ppmm): Store input parameters in temporaries
14126: to avoid reading them twice.
14127: (default smul_ppmm): New definition.
14128:
14129: Thu Dec 29 04:20:07 1994 Jim Meyering (meyering@comco.com)
14130:
14131: * generic/perfsqr.c (__mpn_perfect_square_p): Remove declaration
14132: of unused variable.
14133: * generic/pre_mod_1.c (__mpn_preinv_mod_1): Likewise.
14134: * mpz/powm.c (pow): Likewise.
14135:
14136: * mpz/and.c (mpz_and): Use {} instead of `;' for empty else clause
14137: to placate `gcc -Wall'.
14138: * mpz/ior.c (mpz_ior): Likewise.
14139:
14140: Wed Dec 28 13:31:40 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14141:
14142: * mpn/m*68*/*.S: #include asm-syntax.h, not asm.h.
14143:
14144: Mon Dec 26 17:15:36 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14145:
14146: * longlong.h: Test for more symbols, in __mc68000__ case.
14147:
14148: * mpn/mpn/config.sub: Recognize m68060.
14149: * mpn/configure.in: Change mc* to m* for 68k targets.
14150: * mpn/Makefile.in (.S.o): Delete spurious creation of temp .c file.
14151:
14152: Mon Dec 19 01:56:30 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14153:
14154: * config.sub: Recognize pentium as a valid CPU.
14155: * mpn/configure.in: Handle pentium specifically, to use new assembly
14156: code.
14157:
14158: Mon Dec 19 00:13:01 1994 Jim Meyering (meyering@comco.com)
14159:
14160: * gmp.h: Define _GMP_H_HAVE_FILE if FILE, __STDIO_H__, or H_STDIO
14161: is defined.
14162: * gmp.h: test _GMP_H_HAVE_FILE instead of FILE everywhere else.
14163:
14164: Mon Dec 19 00:04:54 1994 Kent Boortz (boortz@sics.se)
14165:
14166: * Makefile.in (recursive makes): Pass CFLAGS.
14167:
14168: Sun Dec 18 22:34:49 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14169:
14170: * mpn/pentium: New directory.
14171:
14172: * mpz/pprime.c: Make sure to mpz_clear all temporaries.
14173:
14174: * longlong.h: Don't use udiv instruction when SUPERSPARC is defined.
14175: * configure.in: Handle supersparc*-.
14176: * config/mt-supspc-gcc: New file.
14177: * config/mt-sparc8-gcc: New name for mt-sparcv8-gcc.
14178:
14179: Mon Dec 12 22:22:10 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14180:
14181: * mpn/i386/*.S: #include "asm-syntax.h", not "asm.h".
14182: #include sysdep.h before asm-syntax.h.
14183:
14184: * mpn/mc68020/asm-syntax.h: #undef ALIGN before defining it.
14185: * mpn/i386/asm-syntax.h: Likewise.
14186:
14187: * mpn/mc68020/asm-syntax.h: New name for asm.h.
14188: * mpn/i386/asm-syntax.h: New name for asm.h.
14189:
14190: Tue Dec 6 21:55:25 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14191:
14192: * mpz/array_init.c: Fix typo in declaration.
14193:
14194: Fri Nov 18 19:50:52 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14195:
14196: * mpn/Makefile.in (.S.o): Pass CFLAGS and INCLUDES.
14197:
14198: Mon Nov 14 00:34:12 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14199:
14200: * mpn/generic/random2.c (random): Test for __svr4__.
14201:
14202: Wed Oct 12 23:28:16 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14203:
14204: * cre-conv-tab.c (main): Avoid upper-case X in printf format string.
14205:
14206: Tue Aug 23 17:16:35 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14207:
14208: * mpz/perfsqr.c: Use mpn_perfect_square_p.
14209: * mpn/generic/perfsqr.c: New file.
14210:
14211: Wed Jul 6 13:46:51 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14212:
14213: * mpz/array_init.c: New file.
14214: * mpz/Makefile.in: Compile array_init.
14215: * gmp.h: Declare mpz_array_init.
14216:
14217: Mon Jul 4 01:10:03 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14218:
14219: * mpz/add.c: Fix bogus comment.
14220: * mpz/sub.c: Likewise.
14221:
14222: Sat Jul 2 02:14:56 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14223:
14224: * mpn/generic/pre_mod_1.c: New file.
14225: * mpz/perfsqr.c: Use __mpn_preinv_mod_1 when faster.
14226:
14227: Fri Jul 01 22:10:19 1994 Richard Earnshaw (rwe11@cl.cam.ac.uk)
14228:
14229: * longlong.h (arm umul_ppmm): Fix typos in last change. Mark
14230: hard-coded registers with "%|"
14231:
14232: Thu Jun 30 03:59:33 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14233:
14234: * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.
14235: Use __mpn_mod_1.
1.1.1.2 maekawa 14236: * mpz/perfsqr.c: Don't clobber REM in quadratic residue check loop.
1.1 maekawa 14237:
14238: Wed Jun 29 18:45:41 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14239:
14240: * mpn/generic/sqrt.c (SQRT): New asm for IBM POWER2.
14241:
14242: * mpz/gcd_ui.c: Return 0 if result does not fit an unsigned long.
14243:
14244: * gmp.h: Use "defined (__STDC__)" consistently.
14245:
14246: Tue Jun 28 18:44:58 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14247:
14248: * gmp.h (mpz_get_si): Don't use "signed" keyword for return type.
14249:
14250: * mpz/tests/Makefile.in: Use CFLAGS for linking.
14251:
14252: * Makefile.in (CFLAGS): Use -O2 here.
14253: * mpn/Makefile (CFLAGS): Not here.
14254:
14255: * mpq/cmp_ui.c: Fix typo.
14256: * mpq/canonicalize.c: Fix typo.
14257: * mpz/gcd_ui.c: Handle gcd(0,v) and gcd(u,0) correctly.
14258: * mpn/generic/gcd_1.c: Fix braino in last change.
14259:
14260: Mon Jun 27 16:10:27 1994 Torbjorn Granlund (tege@rtl.cygnus.com)
14261:
14262: * mpz/gcd_ui.c: Change return type and return result.
14263: Allow destination param to be NULL.
14264: * gmp.h: Corresponding change.
14265: * mpn/generic/gcd_1.c: Handle zero return from mpn_mod_1.
14266:
14267: Tue Jun 14 02:17:43 1994 Torbjorn Granlund (tege@tiny.cygnus.com)
14268:
14269: * mpn/i386/asm.h (ALIGN): Make it take a parameter.
14270: * mpn/i386/*.S: Use ALIGN to align all loops.
14271:
14272: * mpn/i386/*.S: Move colon inside C_GLOBAL_NAME expression.
14273: (Makes old versions of GAS happy.)
14274:
14275: Sat May 28 01:43:54 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14276:
14277: * Many files: Delete unused variables and labels.
14278: * mpn/generic/dump.c: cast printf width argument to int.
14279:
14280: Wed May 25 00:42:37 1994 Torbjorn Granlund (tege@thepub.cygnus.com)
14281:
14282: * mpz/gcd.c (mpz_gcd): Normalize after __mpn_sub calls.
14283: (xmod): Ignore return value of __mpn_divmod.
14284: (xmod): Improve normalization code.
14285:
14286: Sat May 21 01:30:09 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14287:
14288: * mpz/gcdext.c: Cosmetic changes.
14289:
14290: * mpz/fdiv_ui.c: New file.
14291:
14292: Fri May 20 00:24:53 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14293:
14294: * mpz/tests/Makefile.in: Use explicit rules for running tests,
14295: not a shell loop.
14296: (clean): Delete stmp-*.
14297:
14298: * mpz/Makefile.in: Update.
14299:
14300: * mpz/div_ui.c: Don't include longlong.h.
14301: * mpz/dm_ui.c: Likewise.
14302:
14303: * mpz/fdiv_q.c, mpz/fdiv_q_ui.c, mpz/fdiv_qr.c, mpz/fdiv_qr_ui.c,
14304: mpz/fdiv_r.c, mpz/fdiv_r_ui.c: New files. Code partly from deleted
14305: mdm.c, mdm_ui.c, etc, partly rewritten.
14306: * mpz/dm_floor_ui.c, mpz/dm_floor.c: Delete.
14307: * mpz/mdm.c, mpz/mdm_ui.c, mpz/mdiv.c, mpz/mdiv_ui.c, mpz/mmod.c,
14308: mpz/mmod_ui.c: Delete.
14309:
14310: * mpz/tdiv_q.c, mpz/tdiv_q_ui.c, mpz/tdiv_qr.c, mpz/tdiv_qr_ui.c,
14311: mpz/tdiv_r.c, mpz/tdiv_r_ui.c:
14312: New names for files implementing truncating division.
14313: * mpz/div_ui.c, mpz/dm_ui.c, mpz/mod_ui.c: Simplify.
14314:
14315: * mpn/Makefile.in (.S.o): Don't rely on CPP being defined, use CC
14316: instead.
14317: (clean): Delete tmp-*.
14318:
14319: Thu May 19 01:37:44 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14320:
14321: * mpz/cmp.c: Call __mpn_cmp.
14322:
14323: * mpz/popcount.c: Fix typo.
14324:
14325: * mpz/powm_ui.c: Simplify main loop. Keep principal operand size
14326: smaller than MSIZE when possible.
14327: * mpz/powm.c: Likewise.
14328:
14329: * mpn/generic/sqrt.c: Move alloca calls into where the memory is
14330: needed. Simplify.
14331:
14332: * gmp.h: (_PROTO): New macro.
14333: Add many function declarations; use _PROTO macro in all declarations.
14334:
14335: * mpf/*.c: Prepend mpn calls with __.
14336:
14337: Wed May 18 20:57:06 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14338:
14339: * mpf/*ui*.c: Make ui argument `long' for consistency with mpz
14340: functions.
14341:
14342: * mpf/div_ui.c: Simplify.
14343:
14344: Tue May 17 01:05:14 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14345:
14346: * mpz/*.c: Prepend mpn calls with __.
14347:
14348: * mpz/mul_ui.c: Use mpn_mul_1.
14349:
14350: Mon May 16 17:19:41 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14351:
14352: * mpn/i386/mul_1.S: Use C_GLOBAL_NAME.
14353: * mpn/i386/mul_1.S, mpn/i386/addmul_1.S, mpn/i386/submul_1.S:
14354: Nuke use of LAB.
14355:
14356: Sat May 14 14:21:02 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14357:
14358: * gmp-impl.h: Don't define abort here.
14359:
14360: * mpz/pow_ui.c: Increase temporary allocation.
14361: * mpz/ui_pow_ui.c: Likewise.
14362:
14363: * gmp.h (mpz_add_1, mpz_sub_1): Don't call memcpy.
14364:
14365: * All Makefile.in: Delete spurious -I arguments.
14366: Update dependencies.
14367:
14368: * mpz/popcount.c: New file.
14369: * mpz/hamdist.c: New file.
14370:
14371: * All configure: Latest version from Cygnus.
14372:
14373: * mpq/Makefile.in: New file.
14374: * mpq/configure.in: New file.
14375: * Makefile.in, configure.in: Enable compilation of mpq.
14376:
14377: * mpq/set_z.c: Fix typos.
14378: * mpq/canonicalize.c: Fix typos.
14379: * mpq/cmp_ui.c: Fix typos.
14380:
14381: * mpf/add_ui.c: Read U->D into UP always. Delete spurious MPN_COPY.
14382: * mpf/sub_ui.c: Likewise.
14383:
14384: * gmp-impl.h: Don't redefine alloca.
14385:
14386: * COPYING.LIB: Renamed from COPYING.
14387:
14388: Wed May 11 01:45:44 1994 Torbjorn Granlund (tege@adder.cygnus.com)
14389:
14390: * mpz/powm_ui.c: When shifting E left by C+1, handle out-of-range
14391: shift counts. Fix typo when testing negative_result.
14392: * mpz/powm.c: Likewise.
14393:
14394: * mpz/ui_pow_ui.c: New file.
14395: * mpz/Makefile.in: Update.
14396:
14397: * mpz/pow_ui.c: Call __mpn_mul_n instead of __mpn_mul when possible.
14398:
14399: * mpz/div.c, mpz/div_ui.c, mpz/gcd.c: Prefix external mpn calls.
14400: * mpz/gcd.c: Declare mpn_xmod.
14401:
14402: * mpz/powm.c: Major changes to accommodate changed mpn semantics.
14403: * mpz/powm_ui.c: Update from mpz/powm.c.
14404:
14405: * mpz/tests/tst-io.c: New file.
14406: * mpz/tests/tst-logic: New file.
14407: * mpz/tests/Makefile.in: Update.
14408:
14409: * mpz/inp_str.c: Get base right when checking for first digit.
14410: * mpz/inp_str.c: Allocate more space for DEST when needed.
14411:
14412: * mpz/com.c: Use mpn_add_1 and mpn_sub_1.
14413: * mpz/and.c, mpz/ior.c: Likewise. Simplify somewhat.
14414:
14415: * mpz/add_ui.c: Use mpn_add_1 and mpn_sub_1.
14416: Rename parameters to be consistent with mpz/sub_ui.
14417: General simplifications.
14418: * mpz/sub_ui.x: Likewise.
14419:
14420: Tue Aug 10 19:41:16 1993 Torbjorn Granlund (tege@prudens.matematik.su.se)
14421:
14422: * mpf: New directory.
14423: * mpf/*.c: Merge basic set of mpf functions.
14424:
14425: * Many logs missing...
14426:
14427: Sun Apr 25 18:40:26 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
14428:
14429: * memory.c: Use #if instead of #ifdef for __STDC__ for consistency.
14430: * bsd/xtom.c: Likewise.
14431:
14432: * mpz/div.c: Remove free_me and free_me_size and their usage.
14433: Use mpn_divmod for division; corresponding changes in return value
14434: convention.
14435: * mpz/powm.c: `carry_digit' => `carry_limb'.
14436: * bsd/sdiv.c: Clearify comment.
14437:
14438: Sun Apr 25 00:31:28 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
14439:
14440: * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
14441:
14442: Sat Apr 24 16:23:33 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
14443:
14444: * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
14445:
14446: * gmp-impl.h: #define ABS.
14447: * (Many files): Use ABS instead of abs.
14448:
14449: * mpn/generic/sqrt.c, mpz/clrbit.c, mpz/get_si.c, mpz/mod_2exp.c,
14450: mpz/pow_ui.c: Cast 1 to mp_limb before shifting.
14451:
14452: * mpz/perfsqr.c: Use #if, not plain if for exclusion of code for
14453: non-32-bit machines.
14454:
14455: Tue Apr 20 13:13:58 1993 Torbjorn Granlund (tege@du.nada.kth.se)
14456:
14457: * mpn/generic/sqrt.c: Handle overflow for intermediate quotients by
14458: rounding them down to fit.
14459:
14460: * mpz/perfsqr.c (PP): Define in hexadecimal to avoid GCC warnings.
14461:
14462: * mpz/inp_str.c (char_ok_for_base): New function.
14463: (mpz_inp_str): Use it.
14464:
14465: Sun Mar 28 21:54:06 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
14466:
14467: * mpz/inp_raw.c: Allocate x_index, not xsize limbs.
14468:
14469: Mon Mar 15 11:44:06 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
14470:
14471: * mpz/pprime.c: Declare param `const'.
14472: * gmp.h: Add declarations for mpz_com.
14473:
14474: Thu Feb 18 14:10:34 1993 Torbjorn Granlund (tege@pde.nada.kth.se)
14475:
14476: * mpq/add.c, mpq/sub.c: Call mpz_clear for t.
14477:
14478: Fri Feb 12 20:27:34 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
14479:
14480: * mpz/inp_str.c: Recog minus sign as first character.
14481:
14482: Wed Feb 3 01:36:02 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
14483:
14484: * mpz/iset.c: Handle 0 size.
14485:
14486: Tue Feb 2 13:03:33 1993 Torbjorn Granlund (tege@cyklop.nada.kth.se)
14487:
14488: * mpz/mod_ui.c: Initialize dividend_size before it's used.
14489:
14490: Mon Jan 4 09:11:15 1993 Torbjorn Granlund (tege@sics.se)
14491:
14492: * bsd/itom.c: Declare param explicitly 'signed'.
14493: * bsd/sdiv.c: Likewise.
14494:
14495: * mpq/cmp.c: Remove unused variable tmp_size.
14496: * mpz/powm_ui.c: Fix typo in esize==0 if stmt.
14497: * mpz/powm.c: Likewise.
14498:
14499: Sun Nov 29 01:16:11 1992 Torbjorn Granlund (tege@sics.se)
14500:
14501: * mpn/generic/divmod_1.c (mpn_divmod_1): Handle
14502: divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
14503: specifically.
14504:
14505: * Reorganize sources. New directories mpn, mpn/MACH, mpn/generic,
14506: mpz, mpq, bsd. Use full file name for change logs hereafter.
14507:
14508: Wed Oct 28 17:40:04 1992 Torbjorn Granlund (tege@jupiter.sics.se)
14509:
14510: * longlong.h (__hppa umul_ppmm): Fix typos.
14511: (__hppa sub_ddmmss): Swap input arguments.
14512:
14513: * mpz_perfsqr.c (mpz_perfect_square_p): Avoid , before } in
14514: initializator.
14515:
14516: Sun Oct 25 20:30:06 1992 Torbjorn Granlund (tege@jupiter.sics.se)
14517:
14518: * mpz_pprime.c (mpz_probab_prime_p): Handle numbers <= 3
14519: specifically (used to consider all negative numbers prime).
14520:
14521: * mpz_powm_ui: `carry_digit' => `carry_limb'.
14522:
14523: * sdiv: Handle zero dividend specifically. Replace most code in
14524: this function with a call to mpn_divmod_1.
14525:
14526: Fri Sep 11 22:15:55 1992 Torbjorn Granlund (tege@tarrega.sics.se)
14527:
14528: * mpq_clear: Don't free the MP_RAT!
14529:
14530: * mpn_lshift, mpn_rshift, mpn_rshiftci: Remove `long' from 4:th arg.
14531:
14532: Thu Sep 3 01:47:07 1992 Torbjorn Granlund (tege@jupiter.sics.se)
14533:
14534: * All files: Remove leading _ from mpn function names.
14535:
14536: Wed Sep 2 22:21:16 1992 Torbjorn Granlund (tege@jupiter.sics.se)
14537:
14538: Fix from Jan-Hein Buhrman:
14539: * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c: Make them work as documented.
14540:
14541: * mpz_mmod.c, mpz_mdm.c: Move decl of TEMP_DIVISOR to reflect its
14542: life.
14543:
14544: Sun Aug 30 18:37:15 1992 Torbjorn Granlund (tege@jupiter.sics.se)
14545:
14546: * _mpz_get_str: Use mpz_sizeinbase for computing out_len.
14547: * _mpz_get_str: Don't remove leading zeros. Abort if there are some.
14548:
14549: Wed Mar 4 17:56:56 1992 Torbjorn Granlund (tege@zevs.sics.se)
14550:
14551: * gmp.h: Change definition of MP_INT to make the & before params
14552: optional. Use typedef to define it.
14553: * mp.h: Use typedef to define MINT.
14554:
14555: Tue Feb 18 14:38:39 1992 Torbjorn Granlund (tege@zevs.sics.se)
14556:
14557: longlong.h (hppa umul_ppmm): Add missing semicolon. Declare type
14558: of __w1 and __w0.
14559:
14560: Fri Feb 14 21:33:21 1992 Torbjorn Granlund (tege@zevs.sics.se)
14561:
14562: * longlong.h: Make default count_leading_zeros work for machines >
14563: 32 bits. Prepend `__' before local variables to avoid conflicts
14564: with users' variables.
14565:
14566: * mpn_dm_1.c: Remove udiv_qrnnd_preinv ...
14567: * gmp-impl.h: ... and put it here.
14568: * mpn_mod_1: Use udiv_qrnnd_preinv if it is faster than udiv_qrnnd.
14569:
14570: Tue Feb 11 17:20:12 1992 Torbjorn Granlund (tege@zevs.sics.se)
14571:
14572: * mpn_mul: Enhance base case by handling small multiplicands.
14573: * mpn_dm_1.c: Revert last change.
14574:
14575: Mon Feb 10 11:55:15 1992 Torbjorn Granlund (tege@zevs.sics.se)
14576:
14577: * mpn_dm_1.c: Don't define udiv_qrnnd_preinv unless needed.
14578:
14579: Fri Feb 7 16:26:16 1992 Torbjorn Granlund (tege@zevs.sics.se)
14580:
14581: * mpn_mul: Replace code for base case.
14582:
14583: Thu Feb 6 15:10:42 1992 Torbjorn Granlund (tege@zevs.sics.se)
14584:
14585: * mpn_dm_1.c (_mpn_divmod_1): Add code for avoiding division by
14586: pre-inverting divisor.
14587:
14588: Sun Feb 2 11:10:25 1992 Torbjorn Granlund (tege@zevs.sics.se)
14589:
14590: * longlong.h: Make __LLDEBUG__ work differently.
14591: (_IBMR2): Reinsert old code.
14592:
14593: Sat Feb 1 16:43:00 1992 Torbjorn Granlund (tege@zevs.sics.se)
14594:
14595: * longlong.h (#ifdef _IBMR2): Replace udiv_qrnnd with new code
14596: using floating point operations. Don't define
14597: UDIV_NEEDS_NORMALIZATION any longer.
14598:
14599: Fri Jan 31 15:09:13 1992 Torbjorn Granlund (tege@zevs.sics.se)
14600:
14601: * longlong.h: Define UMUL_TIME and UDIV_TIME for most machines.
14602: * longlong.h (#ifdef __hppa): Define umul_ppmm.
14603:
14604: Wed Jan 29 16:41:36 1992 Torbjorn Granlund (tege@zevs.sics.se)
14605:
14606: * mpn_cmp: Only one length parameter, assume operand lengths are
14607: the same. Don't require normalization.
14608: * mpq_cmp, mpz_add, mpz_sub, mpz_gcd, mpn_mul, mpn_sqrt: Change for
14609: new mpn_cmp definition.
14610:
14611: Tue Jan 28 11:18:55 1992 Torbjorn Granlund (tege@zevs.sics.se)
14612:
14613: * _mpz_get_str: Fix typo in comment.
14614:
14615: Mon Jan 27 09:44:16 1992 Torbjorn Granlund (tege@zevs.sics.se)
14616:
14617: * Makefile.in: Add new files.
14618:
14619: * mpn_dm_1.c: New file with function _mpn_divmod_1.
14620: * mpz_dm_ui.c (mpz_divmod_ui): Use _mpn_divmod_1.
14621: * mpz_div_ui: Likewise.
14622:
14623: * mpn_mod_1.c: New file with function _mpn_mod_1.
14624: * mpz_mod_ui: Use _mpn_mod_1.
14625:
14626: Thu Jan 23 18:54:09 1992 Torbjorn Granlund (tege@zevs.sics.se)
14627:
14628: Bug found by Paul Zimmermann (zimmermann@inria.inria.fr):
14629: * mpz_div_ui.c (mpz_div_ui), mpz_dm_ui.c (mpz_divmod_ui):
14630: Handle dividend == 0.
14631:
14632: Wed Jan 22 12:02:26 1992 Torbjorn Granlund (tege@zevs.sics.se)
14633:
14634: * mpz_pprime.c: Use "" for #include.
14635:
14636: Sun Jan 19 13:36:55 1992 Torbjorn Granlund (tege@zevs.sics.se)
14637:
14638: * mpn_rshiftci.c (header): Correct comment.
14639:
14640: Wed Jan 15 18:56:04 1992 Torbjorn Granlund (tege@zevs.sics.se)
14641:
14642: * mpz_powm, mpz_powm_ui (if (bsize > msize)): Do alloca (bsize + 1)
14643: to make space for ignored quotient at the end. (The quotient might
14644: always be an extra limb.)
14645:
14646: Tue Jan 14 21:28:48 1992 Torbjorn Granlund (tege@zevs.sics.se)
14647:
14648: * mpz_powm_ui: Fix comment.
14649: * mpz_powm: Likewise.
14650:
14651: Mon Jan 13 18:16:25 1992 Torbjorn Granlund (tege@zevs.sics.se)
14652:
14653: * tests/Makefile.in: Prepend $(TEST_PREFIX) to Makefile target.
14654:
14655: Sun Jan 12 13:54:28 1992 Torbjorn Granlund (tege@zevs.sics.se)
14656:
14657: Fixes from Kazumaro Aoki:
14658: * mpz_out_raw: Take abs of size to handle negative values.
14659: * mpz_inp_raw: Reallocate before reading ptr from X.
14660: * mpz_inp_raw: Store, don't read, size to x->size.
14661:
14662: Tue Jan 7 17:50:25 1992 Torbjorn Granlund (tege@zevs.sics.se)
14663:
14664: * gmp.h, mp.h: Remove parameter names from prototypes.
14665:
14666: Sun Dec 15 00:09:36 1991 Torbjorn Granlund (tege@zevs.sics.se)
14667:
14668: * tests/Makefile.in: Prepend "./" to file names when executing
14669: tests.
14670:
14671: * Makefile.in: Fix many problems.
14672:
14673: Sat Dec 14 01:00:02 1991 Torbjorn Granlund (tege@zevs.sics.se)
14674:
14675: * mpn_sqrt.c: New file with _mpn_sqrt.
14676: * mpz_sqrt, mpz_sqrtrem, mpz_perfect_square_p: Use _mpn_sqrt.
14677: * msqrt.c: Delete. Create from mpz_sqrtrem.c in Makefile.in.
14678: * mpz_do_sqrt.c: Delete.
14679: * Makefile.in: Update to reflect these changes.
14680:
14681: * Makefile.in, configure, configure.subr: New files
14682: (from bothner@cygnus.com).
14683: * dist-Makefile: Delete.
14684:
14685: * mpz_fac_ui: Fix comment.
14686:
14687: * mpz_random2: Rewrite a bit to make it possible for the most
14688: significant limb to be == 1.
14689:
14690: * mpz_pprime.c (mpz_probab_prime_p): Remove \t\n.
14691:
14692: Fri Dec 13 23:10:02 1991 Torbjorn Granlund (tege@zevs.sics.se)
14693:
14694: * mpz_do_sqrt: Simplify special case for U == 0.
14695: * m*sqrt*.c, mpz_perfsqr.c (mpz_perfect_square_p):
14696: Rename _mpz_impl_sqrt to _mpz_do_sqrt.
14697:
14698: Fri Dec 13 12:52:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
14699:
14700: * gmp-impl.h (MPZ_TMP_INIT): Cast to the right type.
14701:
14702: Thu Dec 12 22:17:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
14703:
14704: * mpn_add, mpn_sub, mpn_mul, mpn_div: Change type of several
14705: variables to mp_size.
14706:
14707: Wed Dec 11 22:00:34 1991 Torbjorn Granlund (tege@zevs.sics.se)
14708:
14709: * mpn_rshift.c: Fix header comments.
14710:
14711: Mon Dec 9 17:46:10 1991 Torbjorn Granlund (tege@zevs.sics.se)
14712:
14713: Released 1.2.
14714:
14715: * gmp-impl.h (MPZ_TMP_INIT): Cast alloca return value.
14716:
14717: * dist-Makefile: Add missing dependency for cre-mparam.
14718:
14719: * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
14720: mpz_mmod_ui.c, mpz_mdm_ui.c: Remove obsolete comment.
14721:
14722: * dist-Makefile (clean): clean in tests subdir too.
14723: * tests/Makefile: Define default values for ROOT and SUB.
14724:
14725: * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
14726: 2 constraint.
14727:
14728: Mon Nov 11 00:06:05 1991 Torbjorn Granlund (tege@zevs.sics.se)
14729:
14730: * mpz_sizeinb.c (mpz_sizeinbase): Special code for size == 0.
14731:
14732: Sat Nov 9 23:47:38 1991 Torbjorn Granlund (tege@zevs.sics.se)
14733:
14734: Released 1.1.94.
14735:
14736: * dist-Makefile, Makefile, tests/Makefile: Merge tests into
14737: distribution.
14738:
14739: Fri Nov 8 22:57:19 1991 Torbjorn Granlund (tege@zevs.sics.se)
14740:
14741: * gmp.h: Don't use keyword `signed' for non-ANSI compilers.
14742:
14743: Thu Nov 7 22:06:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
14744:
14745: * longlong.h: Cosmetic changes to keep it identical to gcc2 version
14746: of longlong.h.
14747: * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
14748: sub_ddmmss.
14749:
14750: Mon Nov 4 00:36:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
14751:
14752: * mpn_mul: Fix indentation.
14753:
14754: * mpz_do_sqrt: Don't assume 32 bit limbs (had constant
14755: 4294967296.0).
14756: * mpz_do_sqrt: Handle overflow in conversion from double returned
14757: by SQRT to mp_limb.
14758:
14759: * gmp.h: Add missing function definitions.
14760:
14761: Sun Nov 3 18:25:25 1991 Torbjorn Granlund (tege@zevs.sics.se)
14762:
14763: * mpz_pow_ui: Change type of `i' to int.
14764:
14765: * ChangeLog: Add change log entry.
14766: * ChangeLog: Add change log entry.
14767: * ChangeLog: Add change log entry.
14768: * ChangeLog: Add change log entry.
14769: * ChangeLog: Add change log entry.
14770: * ChangeLog: Add change log entry.
14771: * ChangeLog: Add change log entry.
14772: * ChangeLog: Add change log entry.
14773: Stack overflow.
14774:
14775: * mpz_pow_ui.c: Fix typo in comment.
14776:
14777: * dist-Makefile: Create rpow.c from mpz_powm_ui.c.
14778: * mpz_powm_ui.c: Add code for rpow.
14779: * rpow.c: Delete this file. The rpow function is now implemented
14780: in mpz_powm_ui.c.
14781:
14782: * mpz_fac_ui.c: New file.
14783: * gmp.h, dist-Makefile: Add stuff for mpz_fac_ui.
14784:
14785: Bug found by John Amanatides (amana@sasquatch.cs.yorku.ca):
14786: * mpz_powm_ui, mpz_powm: Call _mpn_mul in the right way, with
14787: the first argument not smaller than the second.
14788:
14789: Tue Oct 29 13:56:55 1991 Torbjorn Granlund (tege@zevs.sics.se)
14790:
14791: * cre-conv-tab.c (main), cre-mparam.c (main): Fix typo in output
14792: header text.
14793:
14794: Mon Oct 28 00:35:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
14795:
14796: * mpz_random2: Handle size == 0.
14797:
14798: * gmp-impl.h (struct __mp_bases): Rename chars_per_limb_exactly to
14799: chars_per_bit_exactly, and change its definition.
14800: * cre-conv-tab.c (main): Output field according to its new
14801: definition.
14802: * mpz_out_str, _mpz_get_str, mpz_sizeinb, mout:
14803: Use chars_per_bit_exactly.
14804:
14805: * mpz_random2: Change the loop termination condition in order to
14806: get a large most significant limb with higher probability.
14807:
14808: * gmp.h: Add declaration of new mpz_random2 and mpz_get_si.
14809: * mpz_get_si.c: New file.
14810: * dist-Makefile: Add mpz_random2 and mpz_get_si.
14811:
14812: * mpz_sizeinb.c (mpz_sizeinbase): Special code for base being a
14813: power of 2, giving exact result.
14814:
14815: * mpn_mul: Fix MPN_MUL_VERIFY in various ways.
14816: * mpn_mul: New macro KARATSUBA_THRESHOLD.
14817: * mpn_mul (karatsuba's algorithm): Don't write intermediate results
14818: to prodp, use temporary pp instead. (Intermediate results can be
14819: larger than the final result, possibly writing into hyperspace.)
14820: * mpn_mul: Make smarter choice between Karatsuba's algorithm and the
14821: shortcut algorithm.
14822: * mpn_mul: Fix typo, cy instead of xcy. Unify carry handling code.
14823:
14824: Sun Oct 27 19:57:32 1991 Torbjorn Granlund (tege@zevs.sics.se)
14825:
14826: * mpn_mul: In non-classical case, choose Karatsuba's algorithm only
14827: when usize > 1.5 vsize.
14828:
14829: * mpn_mul: Break between classical and Karatsuba's algorithm at
14830: KARATSUBA_THRESHOLD, if defined. Default to 8.
14831:
14832: * mpn_div: Kludge to fix stray memory read.
14833:
14834: Sat Oct 26 20:06:14 1991 Torbjorn Granlund (tege@zevs.sics.se)
14835:
14836: * mpz_gcdext: Handle a = b = 0. Remove memory leakage by calling
14837: mpz_clear for all temporary variables.
14838:
14839: * mpz_gcd: Reduce w_bcnt in _mpn_lshift call to hold that
14840: function's argument constraints. Compute wsize correctly.
14841:
14842: * mpz_gcd: Fix typo in comment.
14843:
14844: * memory.c (_mp_default_allocate, _mp_default_reallocate): Call
14845: abort if allocation fails, don't just exit.
14846:
14847: Fri Oct 25 22:17:20 1991 Torbjorn Granlund (tege@zevs.sics.se)
14848:
14849: * mpz_random2.c: New file.
14850:
14851: Thu Oct 17 18:06:42 1991 Torbjorn Granlund (tege@zevs.sics.se)
14852:
14853: Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
14854: * mpq_cmp: Take sign into account, don't just compare the
14855: magnitudes.
14856: * mpq_cmp: Call _mpn_mul in the right way, with the first argument
14857: not smaller than the second.
14858:
14859: Wed Oct 16 19:27:32 1991 Torbjorn Granlund (tege@zevs.sics.se)
14860:
14861: * mpz_random: Ensure the result is normalized.
14862:
14863: Tue Oct 15 14:55:13 1991 Torbjorn Granlund (tege@zevs.sics.se)
14864:
14865: * mpz_clrbit: Support non-ANSI compilers.
14866:
14867: Wed Oct 9 18:03:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
14868:
14869: * longlong.h (68k add_ssaaaa, sub_ddmmss): Generalize constraints.
14870:
14871: Tue Oct 8 17:42:59 1991 Torbjorn Granlund (tege@zevs.sics.se)
14872:
14873: * mpz_mdm_ui: Add comments.
14874:
14875: * mpz_mdiv: Use MPZ_TMP_INIT instead of mpz_init.
14876: * mpz_init_ui: Change spacing and header comment.
14877:
14878: Thu Oct 3 18:36:13 1991 Torbjorn Granlund (tege@zevs.sics.se)
14879:
14880: * dist-Makefile: Prepend `./' before some filenames.
14881:
14882: Sun Sep 29 14:02:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
14883:
14884: Released 1.1 (public).
14885:
14886: * mpz_com: New name of mpz_not.
14887: * dist-Makefile: Change mpz_not to mpz_com.
14888:
14889: Tue Sep 24 12:44:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
14890:
14891: * longlong.h: Fix header comment.
14892:
14893: Mon Sep 9 15:16:24 1991 Torbjorn Granlund (tege@zevs.sics.se)
14894:
14895: Released 1.0.92.
14896:
14897: * mpn_mul.c (_mpn_mul): Handle leading zero limbs in non-Karatsuba
14898: case.
14899:
14900: * longlong.h (m68000 umul_ppmm): Clobber one register less by
14901: slightly rearranging the code.
14902:
14903: Sun Sep 1 18:53:25 1991 Torbjorn Granlund (tege@zevs.sics.se)
14904:
14905: * dist-Makefile (stamp-stddefh): Fix typo.
14906:
14907: Sat Aug 31 20:41:31 1991 Torbjorn Granlund (tege@zevs.sics.se)
14908:
14909: Released 1.0.91.
14910:
14911: * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
14912: mpz_mmod_ui.c, mpz_mdm_ui.c: New files and functions.
14913: * gmp.h, gmp.texi: Define the new functions.
14914:
14915: Fri Aug 30 08:32:56 1991 Torbjorn Granlund (tege@zevs.sics.se)
14916:
14917: * mpz_gcdext: Compute t argument from the other quantities at the
14918: end, of the function, not in the loop. New feature: Allow t to be
14919: NULL.
14920:
14921: * mpz_add.c, mpz_sub.c, mpz_mul.c, mpz_powm.c, mpz_gcd.c: Don't
14922: include "mp.h". Use type name `MP_INT' always.
14923:
14924: * dist-Makefile, mpz_cmp.c: Merge mcmp.c from mpz_cmp.c.
14925:
14926: Wed Aug 28 00:45:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
14927:
14928: * dist-Makefile (documentation): Go via tmp.texi to avoid the
14929: creation of gmp.dvi if any errors occur. Make tex read input
14930: from /dev/null.
14931:
14932: Fri Aug 23 15:58:52 1991 Torbjorn Granlund (tege@zevs.sics.se)
14933:
14934: * longlong.h (68020, i386): Don't define machine-dependent
14935: __umulsidi3 (so the default definition is used).
14936: * longlong.h (all machines): Cast all operands, sources and
14937: destinations, to `unsigned long int'.
14938: * longlong.h: Add gmicro support.
14939:
14940: Thu Aug 22 00:28:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
14941:
14942: * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
14943: * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
14944: * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
14945: * _mpz_get_str.c: Add code to do division by big_base using only
14946: umul_qrnnd, if that is faster. Use UMUL_TIME and UDIV_TIME to
14947: decide which variant to use.
14948:
14949: Wed Aug 21 15:45:23 1991 Torbjorn Granlund (tege@zevs.sics.se)
14950:
14951: * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
14952: nops. (Saves two insn.)
14953:
14954: * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
14955: branch, and to permit input/output register overlap.
14956:
14957: * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
14958: * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
14959: asm statements (gives better code if either the upper or lower
14960: part of the product is unused.
14961:
14962: Tue Aug 20 17:57:59 1991 Torbjorn Granlund (tege@zevs.sics.se)
14963:
14964: * _mpz_get_str.c (outside of functions): Remove
14965: num_to_ascii_lower_case and num_to_ascii_upper_case. Use string
14966: constants in the function instead.
14967:
14968: Mon Aug 19 00:37:42 1991 Torbjorn Granlund (tege@zevs.sics.se)
14969:
14970: * cre-conv-tab.c (main): Output table in hex. Output 4 fields, not
14971: 3, for components 0 and 1.
14972:
14973: * gmp.h: Add declaration of mpq_neg.
14974:
14975: Released 1.0beta.13.
14976:
14977: * _mpz_set_str.c (mpz_set_str): Cast EOF and SPC to char before
14978: comparing to enum literals SPC and EOF. This makes the code work
14979: for compilers where `char' is unsigned. (Bug found by Brian
14980: Beuning).
14981:
14982: Released 1.0beta.12.
14983:
14984: * mpz_mod_ui: Remove references to quot. Remove quot_ptr, quot_size
14985: declarations and assignment code.
14986:
14987: Sun Aug 18 14:44:26 1991 Torbjorn Granlund (tege@zevs.sics.se)
14988:
14989: * mpz_mod_ui: Handle dividend < 0.
14990:
14991: Released 1.0beta.11.
14992:
14993: * mpz_dm_ui, mpz_div_ui, mpz_mod_ui, sdiv: Make them share the same
14994: general structure, variable names, etc.
14995:
14996: * sdiv: Un-normalize the remainder in n1 before it is negated.
14997:
14998: * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
14999: udiv_qrnnd.
15000:
15001: * mpz_dm_ui.c (mpz_divmod_ui), mpz_div_ui.c (mpz_div_ui): Increment
15002: the quotient size if the dividend size is incremented. (Bug found
15003: by Brian Beuning.)
15004:
15005: * mpz_mod_ui: Shift back the remainder, if UDIV_NEEDS_NORMALIZATION.
15006: (Bug found by Brian Beuning.)
15007:
15008: * mpz_mod_ui: Replace "digit" by "limb".
15009:
15010: * mpz_perfsqr.c (mpz_perfect_square_p): Disable second test case
15011: for non-32-bit machines (PP is hardwired for such machines).
15012: * mpz_perfsqr.c (outside of functions): Define PP value with an L.
15013:
15014: * mpn_mul.c (_mpn_mul): Add verification code that is activated if
15015: DEBUG is defined. Replace "digit" by "limb".
15016: * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 4.): Normalize temp
15017: after the addition.
15018: * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 1.): Compare u0_size
15019: and v0_size, and according to the result, swap arguments in
15020: recursive call. (Don't violate mpn_mul's own argument
15021: constraints.)
15022:
15023: Fri Aug 16 13:47:12 1991 Torbjorn Granlund (tege@zevs.sics.se)
15024:
15025: Released 1.0beta.10.
15026:
15027: * longlong.h (IBMR2): Add udiv_qrnnd.
15028:
15029: * mpz_perfsqr: Remove unused variables.
15030:
15031: * mpz_and (case for different signs): Initialize loop variable i!
15032:
15033: * dist-Makefile: Update automatically generated dependencies.
15034: * dist-Makefile (madd.c, msub.c, pow.c, mult.c, gcd.c): Add mp.h,
15035: etc to dependency file lists.
15036:
15037: * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
15038: `unsigned long int'.
15039: * longlong.h: Add `int' after `unsigned' and `long' everywhere.
15040:
15041: Wed Aug 14 18:06:48 1991 Torbjorn Granlund (tege@zevs.sics.se)
15042:
15043: * longlong.h: Add ARM, i860 support.
15044:
15045: * mpn_lshift, mpn_rshift, mpn_rshiftci: Rename *_word with *_limb.
15046:
15047: Tue Aug 13 21:57:43 1991 Torbjorn Granlund (tege@zevs.sics.se)
15048:
15049: * _mpz_get_str.c, _mpz_set_str.c, mpz_sizeinb.c (mpz_sizeinbase),
15050: mpz_out_str.c, mout.c: Remove declaration of __mp_bases.
15051: * gmp-impl.h: Put it here, and make it `const'.
15052: * cre-conv-tab.c (main): Make struct __mp_bases `const'.
15053:
15054: Mon Aug 12 17:11:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
15055:
15056: * cre-conv-tab.c (main): Use %lu in printf for long ints.
15057:
15058: * dist-Makefile: Fix cre-* dependencies.
15059:
15060: * cre-conv-tab.c (main): Output field big_base_inverted.
15061:
15062: * gmp-impl.h (struct bases): New field big_base_inverted.
15063: * gmp-impl.h (struct bases): Change type of chars_per_limb_exactly
15064: to float (in order to keep the structure smaller).
15065:
15066: * mp.h, gmp.h: Change names of macros for avoiding multiple
15067: includes.
15068:
15069: Fri Aug 9 18:01:36 1991 Torbjorn Granlund (tege@zevs.sics.se)
15070:
15071: * _mpz_get_str: Only shift limb array if normalization_steps != 0
15072: (optimization).
15073:
15074: * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
15075: * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
15076: and m1 (overlap between output and input operands did not work).
15077: * longlong.h: Add VAX, ROMP and HP-PA support.
15078: * longlong.h: Sort the machine dependent code in alphabetical order
15079: on the CPU name.
15080: * longlong.h: Hack comments.
15081:
15082: Thu Aug 8 14:13:36 1991 Torbjorn Granlund (tege@zevs.sics.se)
15083:
15084: Released 1.0beta.9.
15085:
15086: * longlong.h: Define BITS_PER_LONG to 32 if it's not already
15087: defined.
15088: * Define __BITS4 to BITS_PER_LONG / 4.
15089: * Don't assume 32 bit word size in "count_leading_zeros" C macro.
15090: Use __BITS4 and BITS_PER_LONG instead.
15091:
15092: * longlong.h: Don't #undef internal macros (reverse change of Aug 3).
15093:
15094: * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
15095: even for plain mc68000.
15096:
15097: * mpq_div: Flip the sign of the numerator *and* denominator of the
15098: result if the intermediate denominator is negative.
15099:
15100: * mpz_and.c, mpz_ior.c: Use MPN_COPY for all copying operations.
15101:
15102: * mpz_and.c: Compute the result size more conservatively.
15103: * mpz_ior.c: Likewise.
15104:
15105: * mpz_realloc: Never allocate zero space even if NEW_SIZE == 0.
15106:
15107: * dist-Makefile: Remove madd.c, msub.c, pow.c, mult.c, gcd.c from
15108: BSDMP_SRCS.
15109:
15110: * dist-Makefile: Create mult.c from mpz_mul.c.
15111: * mult.c: Delete this file.
15112:
15113: * _mpz_set_str: Normalize the result (for bases 2, 4, 8... it was
15114: not done properly if the input string had many leading zeros).
15115:
15116: Sun Aug 4 16:54:14 1991 Torbjorn Granlund (tege@zevs.sics.se)
15117:
15118: * dist-Makefile (gcd.c, pow.c, madd.c, msub.c): Make these targets
15119: work with VPATH and GNU MP.
15120:
15121: * mpz_gcd: Don't call mpz_set; inline its functionality.
15122:
15123: * mpq_mul, mpq_div: Fix several serious typos.
15124:
15125: * mpz_dmincl, mpz_div: Don't normalize the quotient if it's already
15126: zero.
15127:
15128: * mpq_neg.c: New file.
15129:
15130: * dist-Makefile: Remove obsolete dependencies.
15131:
15132: * mpz_sub: Fix typo.
15133:
15134: Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
15135: * mpq_mul, mpq_div: Initialize tmp[12] variables even when the gcd
15136: is just 1.
15137: * mpz_gcd: Handle gcd(0,v) and gcd(u,0) in special cases.
15138:
15139: Sat Aug 3 23:45:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
15140:
15141: * longlong.h: Clean up comments.
15142: * longlong.h: #undef internal macros.
15143:
15144: Fri Aug 2 18:29:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
15145:
15146: * mpq_set_si, mpq_set_ui: Canonicalize 0/x to 0/1.
15147: * mpq_set_si, mpq_set_ui: Cosmetic formatting changes.
15148:
15149: * mpz_dmincl.c: Normalize the remainder before shifting it back.
15150:
15151: * mpz_dm_ui.c (mpz_divmod_ui): Handle rem == dividend.
15152:
15153: * mpn_div.c: Fix comment.
15154:
15155: * mpz_add.c, mpz_sub.c: Use __MP_INT (not MP_INT) for intermediate
15156: type, in order to work for both GNU and Berkeley functions.
15157:
15158: * dist-Makefile: Create gcd.c from mpz_gcd.c, pow.c from mpz_powm,
15159: madd.c from mpz_add.c, msub.c from mpz_sub.c.
15160: respectively.
15161: * pow.c, gcd.c, mpz_powmincl.c, madd.c, msub.c: Remove these.
15162: * mpz_powm.c, mpz_gcd.c, mpz_add.c, mpz_sub.c: #ifdef for GNU and
15163: Berkeley function name variants.
15164: * dist-Makefile: Add created files to "clean" target.
15165:
15166: Tue Jul 16 15:19:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
15167:
15168: * mpq_get_den: No need for absolute value of the size, the
15169: denominator is always positive.
15170:
15171: * mpz_get_ui: If the operand is zero, return zero. Don't read the
15172: limb array!
15173:
15174: * mpz_dmincl.c: Don't ignore the return value from _mpn_rshift, it
15175: is the size of the remainder.
15176:
15177: Mon Jul 15 11:08:05 1991 Torbjorn Granlund (tege@zevs.sics.se)
15178:
15179: * Several files: Remove unused variables and functions.
15180:
15181: * gmp-impl.h: Declare _mpz_impl_sqrt.
15182:
15183: * mpz_dm_ui (mpz_divmod_ui), sdiv: Shift back the remainder if
15184: UDIV_NEEDS_NORMALIZATION. (Fix from Brian Beuning.)
15185:
15186: * mpz_dm_ui.c, sdiv: Replace *digit with *limb.
15187:
15188: * mpz_ior: Add missing else statement in -OP1 | -OP2 case.
15189: * mpz_ior: Add missing else statement in OP1 | -OP2 case.
15190: * mpz_ior: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
15191: * mpz_ior: Duplicate _mpz_realloc code.
15192:
15193: * mpz_and: Add missing else statement in -OP1 & -OP2 case.
15194: * mpz_and: Rewrite OP1 & -OP2 case.
15195: * mpz_and: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
15196:
15197: * mpz_gcdext: Loop in d1.size (not b->size). (Fix from Brian
15198: Beuning.)
15199:
15200: * mpz_perfsqr: Fix argument order in _mpz_impl_sqrt call. (Fix from
15201: Brian Beuning.)
15202:
15203: Fri Jul 12 17:10:33 1991 Torbjorn Granlund (tege@zevs.sics.se)
15204:
15205: * mpq_set.c, mpq_set_ui.c, mpq_set_si.c, mpq_inv.c,
15206: mpq_get_num.c, mpq_get_den.c, mpq_set_num.c, mpq_set_den.c:
15207: New files.
15208:
15209: * mpz_dmincl.c: Remove second re-allocation of rem->d. It
15210: was never executed.
15211:
15212: * dist-Makefile: Use `-r' instead of `-x' for test for ranlib (as
15213: some unixes' test doesn't have the -r option).
15214:
15215: * *.*: Cast allocated pointers to the appropriate type (makes old C
15216: compilers happier).
15217:
15218: * cre-conv-tab.c (main): Divide max_uli by 2 and multiply again
15219: after conversion to double. (Kludge for broken C compilers.)
15220:
15221: * dist-Makefile (stamp-stddefh): New target. Test if "stddef.h"
15222: exists in the system and creates a minimal one if it does not
15223: exist.
15224: * cre-stddefh.c: New file.
15225: * dist-Makefile: Make libgmp.a and libmp.a depend on stamp-stddefh.
15226: * dist-Makefile (clean): Add some more.
15227: * gmp.h, mp.h: Unconditionally include "stddef.h".
15228:
15229: Thu Jul 11 10:08:21 1991 Torbjorn Granlund (tege@zevs.sics.se)
15230:
15231: * min: Do ungetc of last read character.
15232: * min.c: include stdio.h.
15233:
15234: * dist-Makefile: Go via tmp- files for cre* redirection.
15235: * dist-Makefile: Add tmp* to "clean" target.
15236:
15237: * dist-Makefile: Use LOCAL_CC for cre*, to simplyfy cross
15238: compilation.
15239:
15240: * gmp.h, mp.h: Don't define NULL here.
15241: * gmp-impl.h: Define it here.
15242:
15243: Wed Jul 10 14:13:33 1991 Torbjorn Granlund (tege@zevs.sics.se)
15244:
15245: * mpz_mod_2exp: Don't copy too much, overwriting most significant
15246: limb.
15247:
15248: * mpz_and, mpz_ior: Don't read op[12]_ptr from op[12] when
15249: reallocating res, if op[12]_ptr got their value from alloca.
15250:
15251: * mpz_and, mpz_ior: Clear up comments.
15252:
15253: * cre-mparam.c: Output parameters for `short int' and `int'.
15254:
15255: * mpz_and, mpz_ior: Negate negative op[12]_size in several places.
15256:
15257: Tue Jul 9 18:40:30 1991 Torbjorn Granlund (tege@zevs.sics.se)
15258:
15259: * gmp.h, mp.h: Test for _SIZE_T defined before typedef'ing size_t.
15260: (Fix for Sun lossage.)
15261:
15262: * gmp.h: Add declaration of mpq_clear.
15263:
15264: * dist-Makefile: Chack if "ranlib" exists, before using it.
15265: * dist-Makefile: Add mpz_sqrtrem.c and mpz_size.c.
15266: * mpz_powm: Fix typo, "pow" instead of "mpz_powm".
15267:
15268: Fri Jul 5 19:08:09 1991 Torbjorn Granlund (tege@zevs.sics.se)
15269:
15270: * move: Remove incorrect comment.
15271:
15272: * mpz_free, mpq_free: Rename to *_clear.
15273: * dist-Makefile: Likewise.
15274: * mpq_add, mpq_sub, mpq_mul, mpq_div: Likewise.
15275:
15276: * mpz_dmincl.c: Don't call "move", inline its functionality.
15277:
15278: Thu Jul 4 00:06:39 1991 Torbjorn Granlund (tege@zevs.sics.se)
15279:
15280: * Makefile: Include dist-Makefile. Fix dist target to include
15281: dist-Makefile (with the name "Makefile" in the archive).
15282:
15283: * dist-Makefile: New file made from Makefile. Add new mpz_...
15284: functions.
15285:
15286: * mpz_powincl.c New file for mpz_powm (Berkeley MP pow)
15287: functionality. Avoids code duplication.
15288: * pow.c, mpz_powm.c: Include mpz_powincl.c
15289:
15290: * mpz_dmincl.c: New file containing general division code. Avoids
15291: code duplication.
15292: * mpz_dm.c (mpz_divmod), mpz_mod.c (mpz_mod), mdiv.c (mdiv): Include
15293: mpz_dmincl.c.
15294:
15295: * _mpz_get_str: Don't call memmove, unless HAS_MEMMOVE is defined.
15296: Instead, write the overlapping memory copying inline.
15297:
15298: * mpz_dm_ui.c: New name for mpz_divmod_ui.c (SysV file name limit).
15299:
15300: * longlong.h: Don't use #elif.
15301: * mpz_do_sqrt.c: Likewise.
15302:
15303: * longlong.h: Use __asm__ instead of asm.
15304: * longlong.h (sparc udiv_qrnnd): Make it to one string over several
15305: lines.
15306:
15307: * longlong.h: Preend __ll_ to B, highpart, and lowpart.
15308:
15309: * longlong.h: Move array t in count_leading_zeros to the new file
15310: mp_clz_tab.c. Rename the array __clz_tab.
15311: * All files: #ifdef for traditional C compatibility.
15312:
15313: Wed Jul 3 11:42:14 1991 Torbjorn Granlund (tege@zevs.sics.se)
15314:
15315: * mpz_and: Initialize res_ptr always (used to be initialized only
15316: when reallocating).
15317:
15318: * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
15319: `unsigned int', and cast the multiplications. This way
15320: compilers more easily can choose cheaper multiplication
15321: instructions.
15322:
15323: * mpz_mod_2exp: Handle input argument < modulo argument.
15324: * mpz_many: Make sure mp_size is the type for sizes, not int.
15325:
15326: * mpz_init, mpz_init_set*, mpq_init, mpq_add, mpq_sub, mpq_mul,
15327: mpq_div: Change mpz_init* interface. Structure pointer as first
15328: arg to initialization function, no longer *return* struct.
15329:
15330: Sun Jun 30 19:21:44 1991 Torbjorn Granlund (tege@zevs.sics.se)
15331:
15332: * Rename mpz_impl_sqrt.c to mpz_do_sqrt.c to satisfy SysV 14
15333: character file name length limit.
15334:
15335: * Most files: Rename MINT to MP_INT. Rename MRAT to MP_RAT.
15336: * mpz_sizeinb.c: New file with function mpz_sizeinbase.
15337: * mp_bases.c: New file, with array __mp_bases.
15338: * _mpz_get_str, _mpz_set_str: Remove struct bases, use extern
15339: __mp_bases instead.
15340: * mout, mpz_out_str: Use array __mp_bases instead of function
15341: _mpz_get_cvtlen.
15342: * mpz_get_cvtlen.c: Remove.
15343: * Makefile: Update.
15344:
15345: Sat Jun 29 21:57:28 1991 Torbjorn Granlund (tege@zevs.sics.se)
15346:
15347: * longlong.h (__sparc8__ umul_ppmm): Insert 3 nop:s for wr delay.
15348: * longlong.h (___IBMR2__): Define umul_ppmm, add_ssaaaa, sub_ddmmss.
15349: * longlong.h (__sparc__): Don't call .umul; expand asm instead.
15350: Don't define __umulsidi3 (i.e. use default definition).
15351:
15352: Mon Jun 24 17:37:23 1991 Torbjorn Granlund (tege@amon.sics.se)
15353:
15354: * _mpz_get_str.c (num_to_ascii_lower_case, num_to_ascii_upper_case):
15355: Swap 't' and 's'.
15356:
15357: Sat Jun 22 13:54:01 1991 Torbjorn Granlund (tege@zevs.sics.se)
15358:
15359: * mpz_gcdext.c: New file.
15360:
15361: * mpn_mul: Handle carry and unexpected operand sizes in last
15362: additions/subtractions. (Bug trigged when v1_size == 1.)
15363:
15364: * mp*_alloc*: Rename functions to mp*_init* (files to mp*_iset*.c).
15365: * mpq_*: Call mpz_init*.
15366:
15367: * mpz_pow_ui, rpow: Use _mpn_mul instead of mult. Restructure.
15368:
15369: Wed May 29 20:32:33 1991 Torbjorn Granlund (tege@zevs.sics.se)
15370:
15371: * mpz_get_cvtlen: multiply by size.
15372:
15373: Sun May 26 15:01:15 1991 Torbjorn Granlund (tege@bella.nada.kth.se)
15374:
15375: Alpha-release 0.95.
15376:
15377: Fixes from Doug Lea (dl@g.oswego.edu):
15378: * mpz_mul_ui: Loop to MULT_SIZE (not PROD_SIZE). Adjust PROD_SIZE
15379: correctly.
15380: * mpz_div: Prepend _ to mpz_realloc.
15381: * mpz_set_xs, mpz_set_ds: Fix typos in function name.
15382:
15383: Sat May 25 22:51:16 1991 Torbjorn Granlund (tege@bella.nada.kth.se)
15384:
15385: * mpz_divmod_ui: New function.
15386:
15387: * sdiv: Make the sign of the remainder correct.
15388:
15389: Thu May 23 15:28:24 1991 Torbjorn Granlund (tege@zevs.sics.se)
15390:
15391: * Alpha-release 0.94.
15392:
15393: * mpz_mul_ui: Include longlong.h.
15394:
15395: * mpz_perfsqr.c (mpz_perfect_square_p): Call _mpz_impl_sqrt instead
15396: of msqrt.
15397:
15398: * mpz_impl_sqrt: Don't call "move", inline its functionality.
15399:
15400: * mdiv: Use MPN_COPY instead of memcpy.
15401: * rpow, mpz_mul, mpz_mod_2exp: Likewise.
15402: * pow.c: Likewise, and fix bug in the size arg.
15403:
15404: * xtom: Don't use mpz_alloc, inline needed code instead. Call
15405: _mpz_set_str instead of mpz_set_str.
15406:
15407: * Makefile: Make two libraries, libmp.a and libgmp.a.
15408:
15409: Thu May 22 20:25:29 1991 Torbjorn Granlund (tege@zevs.sics.se)
15410:
15411: * Add manual to distribution.
15412: * Fold in many missing routines descibed in the manual.
15413: * Update Makefile.
15414:
15415: Wed May 22 13:48:46 1991 Torbjorn Granlund (tege@zevs.sics.se)
15416:
15417: * mpz_set_str: Make it handle 0x prefix OK.
15418:
15419: Sat May 18 18:31:02 1991 Torbjorn Granlund (tege@zevs.sics.se)
15420:
15421: * memory.c (_mp_default_reallocate): Swap OLD_SIZE and NEW_SIZE
15422: arguments.
15423: * mpz_realloc (_mpz_realloc): Swap in call to _mp_reallocate_func.
15424: * min: Likewise.
15425:
15426: Thu May 16 20:43:05 1991 Torbjorn Granlund (tege@zevs.sics.se)
15427:
15428: * memory.c: Make the default allocations functions global.
15429: * mp_set_fns (mp_set_memory_functions): Make a NULL pointer mean the
15430: default memory function.
15431:
15432: Wed May 8 20:02:42 1991 Torbjorn Granlund (tege@zevs.sics.se)
15433:
15434: * mpz_div: Handle DEN the same as QUOT correctly by copying DEN->D
15435: even if no normalization is needed.
15436: * mpz_div: Rework reallocation scheme, to avoid excess copying.
15437:
15438: * mpz_sub_ui.c, mpz_add_ui.c: New files.
15439:
15440: * mpz_cmp.c, mpz_cmp_ui.c: New files.
15441:
15442: * mpz_mul_2exp: Handle zero input MINT correctly.
15443:
1.1.1.4 ! ohara 15444: * mpn_rshiftci: Don't handle shift counts > BITS_PER_MP_DIGIT.
1.1 maekawa 15445:
15446: * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.
15447:
15448: Tue May 7 15:44:58 1991 Torbjorn Granlund (tege@zevs.sics.se)
15449:
15450: * mpn_rshift: Don't handle shift counts > BITS_PER_MP_DIGIT.
15451: * mpz_div_2exp: Don't call _mpn_rshift with cnt > BITS_PER_MP_DIGIT.
15452: * gcd, mpz_gcd: Likewise.
15453:
15454: * gcd, mpz_gcd: Handle common 2 factors correctly.
15455:
15456: Mon May 6 20:22:59 1991 Torbjorn Granlund (tege@zevs.sics.se)
15457:
15458: * gmp-impl.h (MPN_COPY): Inline a loop instead of calling memcpy.
15459:
15460: * gmp-impl.h, mpz_get_str, rpow: Swap DST and SRC in TMPCOPY* macros.
15461:
15462: Sun May 5 15:16:23 1991 Torbjorn Granlund (tege@zevs.sics.se)
15463:
15464: * mpz_div: Remove test for QUOT == 0.
15465:
15466: Sun Apr 28 20:21:04 1991 Torbjorn Granlund (tege@zevs.sics.se)
15467:
15468: * pow: Don't make MOD normalization in place, as it's a bad idea to
15469: write on an input parameter.
15470: * pow: Reduce BASE if it's > MOD.
15471: * pow, mult, mpz_mul: Simplify realloc code.
15472:
15473: Sat Apr 27 21:03:11 1991 Torbjorn Granlund (tege@zevs.sics.se)
15474:
15475: * Install multplication using Karatsuba's algorithm as default.
15476:
15477: Fri Apr 26 01:03:57 1991 Torbjorn Granlund (tege@zevs.sics.se)
15478:
15479: * msqrt: Store in ROOT even for U==0, to make msqrt(0) defined.
15480:
15481: * mpz_div_2exp.c, mpz_mul_2exp.c: New files for shifting right and
15482: left, respectively.
15483: * gmp.h: Add definitions for mpz_div_2exp and mpz_mul_2exp.
15484:
15485: * mlshift.c, mrshift.c: Remove.
15486:
15487: Wed Apr 24 21:39:22 1991 Torbjorn Granlund (tege@zevs.sics.se)
15488:
15489: * mpn_mul: Check only for m2_size == 0 in function header.
15490:
15491: Mon Apr 22 01:31:57 1991 Torbjorn Granlund (tege@zevs.sics.se)
15492:
15493: * karatsuba.c: New file for Karatsuba's multplication algorithm.
15494:
15495: * mpz_random, mpz_init, mpz_mod_2exp: New files and functions.
15496:
15497: * mpn_cmp: Fix header comment.
15498:
15499: Sun Apr 21 00:10:44 1991 Torbjorn Granlund (tege@zevs.sics.se)
15500:
15501: * pow: Switch off initial base reduction.
15502:
15503: Sat Apr 20 22:06:05 1991 Torbjorn Granlund (tege@echnaton.sics.se)
15504:
15505: * mpz_get_str: Don't generate initial zeros for initial word.
15506: Used to write outside of allocated storage.
15507:
15508: Mon Apr 15 15:48:08 1991 Torbjorn Granlund (tege@zevs.sics.se)
15509:
15510: * _mpz_realloc: Make it accept size in number of mp_digits.
15511: * Most functions: Use new _mpz_realloc definition.
15512:
15513: * mpz_set_str: Remove calls _mp_free_func.
15514:
15515: * Most functions: Rename mpn_* to _mpn_*. Rename mpz_realloc to
15516: _mpz_realloc.
15517: * mpn_lshift: Redefine _mpn_lshift to only handle small shifts.
15518: * mdiv, mpz_div, ...: Changes for new definition of _mpn_lshift.
15519: * msqrt, mp*_*shift*: Define cnt as unsigned (for speed).
15520:
15521: Sat Apr 6 14:05:16 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
15522:
15523: * mpn_mul: Multiply by the first digit in M2 in a special
15524: loop instead of zeroing the product area.
15525:
15526: * mpz_abs.c: New file.
15527:
15528: * sdiv: Implement as mpz_div_si for speed.
15529:
15530: * mpn_add: Make it work for second source operand == 0.
15531:
15532: * msub: Negate the correct operand, i.e. V before swapping, not
15533: the smaller of U and V!
15534: * madd, msub: Update abs_* when swapping operands, and not after
15535: (optimization).
15536:
15537: Fri Apr 5 00:19:36 1991 Torbjorn Granlund (tege@black.nada.kth.se)
15538:
15539: * mpn_sub: Make it work for subtrahend == 0.
15540:
15541: * madd, msub: Rewrite to minimize mpn_cmp calls. Ensure
15542: mpn_cmp is called with positive sizes (used to be called
15543: incorrectly with negative sizes sometimes).
15544:
15545: * msqrt: Make it divide by zero if fed with a negative number.
15546: * Remove if statement at end of precision calculation that was
15547: never true.
15548:
15549: * itom, mp.h: The argument is of type short, not int.
15550:
15551: * mpz_realloc, gmp.h: Make mpz_realloc return the new digit pointer.
15552:
15553: * mpz_get_str.c, mpz_set_str.c, mpz_new_str.c: Don't include mp.h.
15554:
15555: * Add COPYING to distribution.
15556:
15557: * mpz_div_ui.c, mpz_div_si.c, mpz_new_ui.c, mpz_new_si.c: New files.
15558:
15559: Fri Mar 15 00:26:29 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
15560:
15561: * Add Copyleft headers to all files.
15562:
15563: * mpn_mul.c, mpn_div.c: Add header comments.
15564: * mult.c, mdiv.c: Update header comments.
15565:
15566: * mpq_add.c, mpq_sub.c, mpq_div.c, mpq_new.c, mpq_new_ui.c,
15567: mpq_free.c: New files for rational arithmetics.
15568:
15569: * mpn_lshift.c: Avoid writing the most significant word if it is 0.
15570:
15571: * mdiv.c: Call mpn_lshift for the normalization.
15572: * mdiv.c: Remove #ifdefs.
15573:
15574: * Makefile: Add ChangeLog to DISTFILES.
15575:
15576: * mpn_div.c: Make the add_back code work (by removing abort()).
15577: * mpn_div.c: Make it return if the quotient is size as compared
15578: with the difference NSIZE - DSIZE. If the stored quotient is
15579: larger than that, return 1, otherwise 0.
15580: * gmp.h: Fix mpn_div declaration.
15581: * mdiv.c: Adopt call to mpn_div.
15582: * mpz_div.c: New file (developed from mdiv.c).
15583:
15584: * README: Update routine names.
15585:
15586: Thu Mar 14 18:45:28 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
15587:
15588: * mpq_mul.c: New file for rational multplication.
15589:
15590: * gmp.h: Add definitions for rational arithmetics.
15591:
15592: * mpn_div: Kludge the case where the high numerator digit > the
15593: high denominator digit. (This code is going to be optimized later.)
15594:
15595: * New files: gmp.h for GNU specific functions, gmp-common.h for
15596: definitions common for mp.h and gmp.h.
15597:
15598: * Ensure mp.h just defines what BSD mp.h defines.
15599:
15600: * pow.c: Fix typo for bp allocation.
15601:
15602: * Rename natural number functions to mpn_*, integer functions to
15603: mpz_*.
15604:
15605: Tue Mar 5 18:47:04 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
15606:
15607: * mdiv.c (_mp_divide, case 2): Change test for estimate of Q from
15608: "n0 >= r" to "n0 > r".
15609:
15610: * msqrt: Tune the increasing precision scheme, to do fewer steps.
15611:
15612: Tue Mar 3 18:50:10 1991 Torbjorn Granlund (tege@musta.nada.kth.se)
15613:
15614: * msqrt: Use the low level routines. Use low precision in the
15615: beginning, and increase the precision as the result converges.
15616: (This optimization gave a 6-fold speedup.)
1.1.1.4 ! ohara 15617:
! 15618:
1.1 maekawa 15619:
15620: Local Variables:
15621: mode: indented-text
15622: left-margin: 8
1.1.1.4 ! ohara 15623: fill-column: 79
1.1 maekawa 15624: version-control: never
1.1.1.4 ! ohara 15625: eval: (unless (string-match "GNU Emacs \\(21\.[4-9]\\|22\.\\)" (emacs-version))
! 15626: (save-excursion
! 15627: (goto-char (point-min))
! 15628: (when (looking-at "Copyright")
! 15629: (search-forward "\n\n")
! 15630: (skip-chars-forward "\n")
! 15631: (narrow-to-region (point) (point-max))
! 15632: (message "Note! narrowed to hide copyright notice"))))
1.1 maekawa 15633: End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>