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

Annotation of OpenXM_contrib/gmp/ChangeLog, Revision 1.1

1.1     ! maekawa     1: Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !             2:
        !             3:        * Version 2.0.2 released.
        !             4:
        !             5:        * install.sh: New file.
        !             6:        * Makefile.in (INSTALL): Use install.sh.
        !             7:        (install-normal): New name for target `install'.
        !             8:        (install): New dummy target.
        !             9:
        !            10:        * mpz/pow_ui.c: Swap tests for (e == 0) and (bsize == 0).
        !            11:        * mpz/ui_pow_ui.c: Swap tests for (e == 0) and (blimb == 0).
        !            12:
        !            13:        * config/mt-linux (AR_FLAGS): New file.
        !            14:        * configure.in: Use config/mt-linux for all linux systems.
        !            15:
        !            16: Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !            17:
        !            18:        * Version 2.0.1 released.
        !            19:
        !            20:        * mpf/tests/ref.c: Cast result of TMP_ALLOC to the right pointer type.
        !            21:
        !            22:        * extract-double.c: Test _GMP_IEEE_FLOATS with #if, not plain if.
        !            23:
        !            24:        * insert-double.c: Don't #include stdlib.h.
        !            25:
        !            26:        * gmp-impl.h (union ieee_double_extract): Test sparc and __sparc.
        !            27:        Do not test __sparc__.
        !            28:
        !            29:        * mpf/reldiff.c: Change declaration to work around irix5 compiler bug.
        !            30:        * mpq/equal.c: Likewise.
        !            31:
        !            32:        * mpn/generic/gcd.c: Delete spurious comma at end of enumeration.
        !            33:
        !            34:        * mpn/generic/gcdext.c: Add K&R declaration syntax.
        !            35:        * stack-alloc.h: Likewise.
        !            36:        * insert-double.c: Likewise.
        !            37:        * extract-double.c: Likewise.
        !            38:        * mpf/tests/reuse.c: Likewise.
        !            39:        * mpz/tests/reuse.c: Likewise.
        !            40:        * mpf/tests/t-sub.c: Likewise.
        !            41:        * mpf/tests/t-add.c: Likewise.
        !            42:        * mpf/tests/t-muldiv.c: Likewise.
        !            43:        * mpf/tests/t-conv.c: Likewise.
        !            44:        * mpf/tests/ref.c: Likewise.
        !            45:
        !            46:        * mpn/config/t-oldgas: Renamed from t-freebsd.
        !            47:        * mpn/configure.in: Use t-oldgas for freebsd, netbsd, and some linux
        !            48:        configurations.
        !            49:
        !            50:        * mpn/powerpc32/mul_1.s: Really clear cy before entering loop.
        !            51:        * mpn/powerpc32/*.s: Fix power/powerpc syntax issues.
        !            52:
        !            53:        * mpn/config/t-ppc-aix: New file.
        !            54:        * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.
        !            55:
        !            56: Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !            57:
        !            58:        * gmp.h (mp_bits_per_limb): Change qualifier from `const' to
        !            59:        __gmp_const.
        !            60:
        !            61:        * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.
        !            62:        * mpf/iset_str.c: Likewise.
        !            63:
        !            64: Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !            65:
        !            66:        * gmp-impl.h: Declare __gmp_extract_double.
        !            67:
        !            68:        * mpz/set_q.c: Delete unused variables.
        !            69:
        !            70:        * gmp.h (mpq_equal): Declare.
        !            71:
        !            72:        * mpf/eq.c: mpf_cmp2 -> mpf_eq.
        !            73:
        !            74: Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !            75:
        !            76:        * mpz/iset_d.c: Don't include <math.h>.
        !            77:
        !            78:        * insert-double.c (__gmp_scale2): New name for scal2.
        !            79:        * mpz/get_d.c: Corresponding change.
        !            80:        * mpf/get_d.c: Likewise.
        !            81:        * mpq/get_d.c: Likewise.
        !            82:        * gmp-impl.h: Declare __gmp_scale2.
        !            83:
        !            84:        * mpn/generic/scan0.c: Clarify comment.
        !            85:
        !            86:        * mpz/set_q.c: New file.
        !            87:        * Makefile.in: Compile it.
        !            88:        * make.bat: Likewise.
        !            89:        * gmp.h: Declare mpz_set_q.
        !            90:
        !            91:        * insert-double.c: New file.
        !            92:        * Makefile.in: Compile it.
        !            93:        * make.bat: Likewise.
        !            94:
        !            95:        * mpz/get_d.c: New file.
        !            96:        * mpz/Makefile.in: Compile it.
        !            97:        * make.bat: Likewise.
        !            98:        * gmp.h: Declare mpz_get_d.
        !            99:
        !           100:        * mpf/get_d.c: New file.
        !           101:        * mpf/Makefile.in: Compile it.
        !           102:        * make.bat: Likewise.
        !           103:        * gmp.h: Declare mpf_get_d.
        !           104:
        !           105:        * make.bat: Compile things in alphabetical order.
        !           106:
        !           107:        * gmp-impl.h (MP_BASE_AS_DOUBLE): New #define.
        !           108:        (LIMBS_PER_DOUBLE): New #define.
        !           109:
        !           110:        * extract-double.c: New file.
        !           111:        * Makefile.in: Compile it.
        !           112:        * make.bat: Likewise.
        !           113:        * mpz/set_d.c: Rewrite to use __gmp_extract_double.
        !           114:        * mpf/set_d.c: Likewise.
        !           115:
        !           116:        * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.
        !           117:
        !           118: Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           119:
        !           120:        * gmp-impl.h: Rework code for defining ieee_double_extract.
        !           121:        (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.
        !           122:        (_GMP_IEEE_FLOATS): New macro.
        !           123:        * mpn/vax/gmp-mparam.h: Delete.
        !           124:
        !           125:        * mpn/config/t-pwr-aix: New file.
        !           126:        * mpn/configure.in: Use t-pwr-aix for aix 4 and later.
        !           127:
        !           128: Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           129:
        !           130:        * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.
        !           131:
        !           132:        * mpf/tests/t-add.c (oo): Add some `l' printf modifiers.
        !           133:        * mpf/tests/t-sub.c (oo): Likewise.
        !           134:        * mpf/tests/t-conv.c (oo): Likewise.
        !           135:        * mpf/tests/t-sqrt.c (oo): Likewise.
        !           136:
        !           137:        * mpz/tests/t-mul.c (_mpn_mul_classic): Remove unused variables.
        !           138:
        !           139:        * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.
        !           140:
        !           141: Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           142:
        !           143:        * mpz/set_d.c: Call _mpz_realloc.
        !           144:
        !           145:        * mpq/set_z.c: New file.
        !           146:        * mpq/Makefile.in: Compile it.
        !           147:        * make.bat: Likewise.
        !           148:        * gmp.h: Declare mpq_set_z.
        !           149:
        !           150:        * mp?/Makefile.in (libmp?.a): Depend on Makefile, not Makefile.in.
        !           151:        * mpf/Makefile.in (test): Delete spurious target.
        !           152:        * mpq/Makefile.in (test): Likewise.
        !           153:
        !           154:        * mpf/out_str.c: Use `e' to separate exponent when base <= 10.
        !           155:
        !           156:        * mpn/configure.in: Treat ultrasparc just like sparc v8,
        !           157:        until 64-bit compilers are ready.
        !           158:
        !           159:        * mpf/set_d.c: Make it work for 64-bit machines.
        !           160:
        !           161: Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           162:
        !           163:        * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian
        !           164:        machines.
        !           165:        * mpn/x86/gmp-mparam.h: Delete file.
        !           166:
        !           167:        * configure.in: Treat microsparc like sparc8.
        !           168:
        !           169:        * urandom.h: Test __alpha instead of __alpha__, since the former
        !           170:        is the standard symbol.
        !           171:        * mpn/generic/random2.c: Likewise.
        !           172:        * mpf/random2.c: Likewise.
        !           173:
        !           174: Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
        !           175:
        !           176:        * mpz/set_f.c: New file.
        !           177:        * mpz/Makefile.in: Compile it.
        !           178:        * gmp.h: Declare mpz_set_f.
        !           179:
        !           180:        * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.
        !           181:
        !           182: Tue May 14 13:03:07 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
        !           183:
        !           184:        * make.bat: Add all new files.
        !           185:
        !           186: Sun May 12 22:24:36 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           187:
        !           188:        * mpf/set_z.c: New file.
        !           189:        * mpf/Makefile.in: Compile it.
        !           190:        * gmp.h: Declare mpf_set_z.
        !           191:
        !           192: Sat May 11 19:26:25 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           193:
        !           194:        * gmp.h: Declare mpf_set_q.
        !           195:
        !           196:        * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.
        !           197:
        !           198: Fri May 10 17:37:38 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           199:
        !           200:        * mpf/set_q.c: New file.
        !           201:        * mpf/Makefile.in: Compile it.
        !           202:
        !           203:        * config.sub: Recognize sparc8.
        !           204:
        !           205: Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           206:
        !           207:        * mpf/tests/t-dm2exp.c: New file.
        !           208:
        !           209:        * mpf/tests/t-add.c: Correct header comment.
        !           210:        * mpf/tests/t-sub.c: Likewise.
        !           211:        * mpf/tests/t-sqrt.c: Likewise.
        !           212:
        !           213:        * mpf/div.c: Misc variable name cleanups.
        !           214:        * mpf/div_ui.c: Base more closely on mpf/div.c.
        !           215:        * mpf/ui_div.c: Likewise.
        !           216:
        !           217:        * mpz/tests/Makefile.in (check): Depend on Makefile.
        !           218:        * mpq/tests/Makefile.in (check): Likewise.
        !           219:        * mpf/tests/Makefile.in (check): Likewise.
        !           220:
        !           221:        * mpf/tests/t-muldiv.c: New file.
        !           222:        * mpf/tests/Makefile.in: Compile and run `t-muldiv'.
        !           223:        (t-ref.o): Delete spurious rule.
        !           224:
        !           225:        * mpf/sqrt.c: Properly detect negative input operand.
        !           226:
        !           227:        * mpf/sqrt_ui.c: Delete spurious header comment.
        !           228:        * mpf/sqrt.c: Likewise.
        !           229:        * mpz/sqrt.c: Likewise.
        !           230:
        !           231:        * mpz/tests/reuse.c (main): Read `reps' from command line.
        !           232:
        !           233:        * mpf/tests/reuse.c: New file.
        !           234:        * mpf/tests/Makefile.in: Compile and run `reuse'.
        !           235:
        !           236:        * mpf/mul_ui.c: Disable code for removing low zero limbs.
        !           237:
        !           238:        * mpf/div.c: Fix condition for when vp and qp overlaps.
        !           239:
        !           240:        * mpf/add_ui.c: When sum equals u, copy up to prec+1 limbs.
        !           241:
        !           242:        * mpf/out_str.c: Don't output '\n' after exponent.
        !           243:
        !           244:        * mpf/add_ui.c: New special case for when U is completely cancelled.
        !           245:
        !           246: Wed Apr 24 05:33:28 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           247:
        !           248:        * Version 2.0 released.
        !           249:
        !           250:        * All files: Upfate FSF's address.
        !           251:
        !           252:        * Makefile.in (gmp_toc.html): New name for gmp.html.
        !           253:        (TAGS): Depend on force.
        !           254:
        !           255:        * mpf/tests/t-conv.c: Pass -base to mpf_set_str.
        !           256:
        !           257: Sat Apr 20 03:54:06 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           258:
        !           259:        * Makefile.in (ps): New target, depend on gmp.ps.
        !           260:
        !           261: Fri Apr 19 14:03:15 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           262:
        !           263:        * mpf/out_str.c: Print `@' before exponent, not `e'.
        !           264:
        !           265:        * make.bat: Update from Makefiles.
        !           266:
        !           267: Thu Apr 18 01:22:05 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           268:
        !           269:        * mpf/set_str.c: If parameter `base' is negative, expect exponent
        !           270:        to be decimal, otherwise in the same base as the mantissa.
        !           271:
        !           272: Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           273:
        !           274:        * mpf/set_dfl_prec.c: Don't return anything.
        !           275:        * gmp.h: Corresponding changes.
        !           276:
        !           277:        * mpf/set_dfl_prec.c: Use `unsigned long int' for bit counts.
        !           278:        * mpf/init2.c: Likewise.
        !           279:        * mpf/get_prc.c: Likewise.
        !           280:        * mpf/set_prc.c: Likewise.
        !           281:        * mpf/set_prc_raw.c: Likewise.
        !           282:        * mpz/popcount.c: Likewise.
        !           283:        * mpz/hamdist.c: Likewise.
        !           284:        * mpz/scan1.c: Likewise.
        !           285:        * mpz/scan0.c: Likewise.
        !           286:        * mpn/generic/popcount.c: Likewise.
        !           287:        * mpn/generic/hamdist.c: Likewise.
        !           288:        * mpn/generic/scan1.c: Likewise.
        !           289:        * mpn/generic/scan0.c: Likewise.
        !           290:        * gmp.h: Likewise.
        !           291:
        !           292:        * mpf/eq.c: New file, based on mpf/diff.c.
        !           293:        * mpf/diff.c: Delete.
        !           294:        * mpf/Makefile.in: Corresponding changes.
        !           295:        * gmp.h: Likewise.
        !           296:
        !           297:        * mpf/reldiff.c: New file.
        !           298:        * mpf/Makefile.in: Compile it.
        !           299:        * gmp.h: Declare mpf_reldiff.
        !           300:
        !           301:        * mpz/iset_d.c: New file.
        !           302:        * mpz/Makefile.in: Compile it.
        !           303:        * gmp.h: Declare mpz_init_set_d.
        !           304:
        !           305: Tue Apr 16 16:28:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           306:
        !           307:        * Makefile.in (gmp.html): Pass -acc to texi2html.
        !           308:
        !           309: Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           310:
        !           311:        * mpf/set_str.c: Switch off code for defaulting the base from the
        !           312:        leading characters.
        !           313:
        !           314:        * gmp.h (mp?_sign): Delete.
        !           315:        (mp?_sgn): New macros.
        !           316:
        !           317: Fri Apr 12 17:23:33 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           318:
        !           319:        * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.
        !           320:
        !           321: Wed Apr 10 22:52:02 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
        !           322:
        !           323:        * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.
        !           324:        * gmp.h: Corresponding change.
        !           325:
        !           326:        * gmp.h (mp_bits_per_limb): Make it const.
        !           327:
        !           328: Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           329:
        !           330:        * configure.in: Re-enable recognition of with_gcc.
        !           331:
        !           332:        * mpf/Makefile.in (.c.o): Pass XCFLAGS.
        !           333:        * mpn/Makefile.in (.c.o): Likewise.
        !           334:        * mpz/Makefile.in (.c.o): Likewise.
        !           335:        * mpq/Makefile.in (.c.o): Likewise.
        !           336:        * mpbsd/Makefile.in (.c.o): Likewise.
        !           337:        * mpf/tests/Makefile.in (.c.o): Likewise.
        !           338:        * mpz/tests/Makefile.in (.c.o): Likewise.
        !           339:        * mpq/tests/Makefile.in (.c.o): Likewise.
        !           340:
        !           341:        * Makefile.in (XCFLAGS): Default to empty.
        !           342:        (FLAGS_TO_PASS): Pass on XCFLAGS.
        !           343:        (.c.o): Pass XCFLAGS.
        !           344:
        !           345:        * config/mt-m88110 (XCFLAGS): Define instead of CC.
        !           346:        * config/mt-sprc8-gcc (XCFLAGS): Likewise.
        !           347:        * config/mt-supspc-gcc (XCFLAGS): Likewise.
        !           348:
        !           349:        * configure: Don't default CC to "gcc -O2" is -with-gcc=no was
        !           350:        specified.
        !           351:
        !           352: Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           353:
        !           354:        * urandom.h: Test for __SVR4 in addition to __svr4__.
        !           355:
        !           356:        * mp_bpl.c (mp_bits_per_limb): Declare as `const'.
        !           357:
        !           358:        * Makefile.in (CFLAGS): `-O2' => `-O'.
        !           359:        * mpn/Makefile.in (CFLAGS): Likewise.
        !           360:
        !           361:        * gmp-impl.h: Get rid of obsolete field access macros.
        !           362:
        !           363:        * mpn/mp_bases.c (__mp_bases): 1e39 => 1e38 to work around Solaris
        !           364:        cc compiler bug.
        !           365:
        !           366:        * gmp.h (__MPN): Make it work also for non-ANSI compilers.
        !           367:
        !           368: Thu Mar 21 01:07:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           369:
        !           370:        * mpf/sub.c: New special case for ediff <= 1 before generic code.
        !           371:        Simplify generic code for ediff == 0.
        !           372:        Rename uexp => exp.
        !           373:
        !           374: Mon Mar 11 18:24:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           375:
        !           376:        * mpf/tests/*.c: Use ref_mpf_sub for error calculation.
        !           377:        * mpf/tests/Makefile.in: Link ref.o to all executables.
        !           378:
        !           379:        * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.
        !           380:
        !           381: Sun Mar 10 21:03:17 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
        !           382:
        !           383:        * mpf/get_str.c: In digit development loop for fractions, change
        !           384:        loop condition from `<' to `<='.
        !           385:
        !           386: Thu Mar  7 04:58:11 1996  Torbjorn Granlund  <tege@tiny.tmg.se>
        !           387:
        !           388:        * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.
        !           389:
        !           390: Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           391:
        !           392:        * mpf/tests/t-sqrt.c: New file.
        !           393:        * mpf/tests/Makefile.in: Corresponding changes.
        !           394:
        !           395:        * mpf/sqrt.c: Special case for square root of zero.
        !           396:
        !           397:        * mpq/add.c: Clean up variable names.
        !           398:        * mpq/sub.c: Update from mpq/add.c.
        !           399:
        !           400:        * mpz/divexact.c: abs => ABS.
        !           401:        * mpz/gcd.c: Likewise.  Rewrite final fixup code, to decrease
        !           402:        allocation.  Misc cleanups.
        !           403:
        !           404: Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@tmg.se>
        !           405:
        !           406:        * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.
        !           407:
        !           408:        * gmp.h (mpn_add, mpn_add_1, mpn_sub, mpn_sub_1): Add prototypes.
        !           409:
        !           410:        * mpn/configure.in: Use t-freebsd also for netbsd.
        !           411:
        !           412: Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@tmg.se>
        !           413:
        !           414:        * mpq/Makefile.in (cmp.o): Depend on longlong.h.
        !           415:
        !           416:        * mpq/equal.c: New file.
        !           417:        * mpq/Makefile.in: Corresponding changes.
        !           418:
        !           419:        * mpf/tests/t-add.c: New file.
        !           420:        * mpf/tests/t-sub.c: Renamed from t-addsub.c.
        !           421:        * mpf/tests/ref.c: New file.
        !           422:        * mpf/tests/Makefile.in: Corresponding changes.
        !           423:
        !           424:        * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.
        !           425:
        !           426: Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@tmg.se>
        !           427:
        !           428:        * mpf/set_str.c: In exponentialization code, allocate 3 extra
        !           429:        limbs, not just 2.
        !           430:
        !           431:        * mpf/get_str.c: Allocate sufficient space for tstr.
        !           432:        When calculating exp_in_base, round result down.
        !           433:
        !           434:        * mpf/tests/t-conv.c: New file.
        !           435:        * mpf/tests/Makefile.in: Corresponding changes.
        !           436:
        !           437:        * mp_bpl.c: New file.
        !           438:        * gmp.h: Declare it.
        !           439:        * Makefile.in: Corresponding changes.
        !           440:
        !           441: Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@tmg.se>
        !           442:
        !           443:        * mpf/set_prc_raw.c: New file.
        !           444:        * mpf/set_prc.c: Renamed from set_prec.c.
        !           445:        * mpf/get_prc.c: New file.
        !           446:        * mpf/Makefile.in: Corresponding changes.
        !           447:        * gmp.h: Declare new functions.
        !           448:
        !           449:        * mpn/generic/gcdext.c: Add copyright header.
        !           450:
        !           451: Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@tmg.se>
        !           452:
        !           453:        * mpn/configure.in: For ppc601, search "power" before "powerpc32".
        !           454:
        !           455:        * mp?/Makefile.in (AR_FLAGS): New variable.
        !           456:        (libmp?.a): Use it.
        !           457:
        !           458:        * make.bat: New file.
        !           459:        * mpn/msdos: New directory.
        !           460:        * mpn/msdos/asm-syntax.h: New file.
        !           461:
        !           462:        * mpn/Makefile.in (distclean maintainer-clean): Delete asm-syntax.h.
        !           463:
        !           464:        * config.sub: Recognize [ctj]90-cray.
        !           465:
        !           466:        * mpn/configure.in: Recognize [ctj]90-cray-unicos*.
        !           467:
        !           468:        * mpn/generic/gcdext.c: Don't use alloca directly, use TMP_* macros.
        !           469:
        !           470:        * mpn/generic/gcd.c: Split increment from use of USIZE to avoid
        !           471:        undefined behaviour.
        !           472:
        !           473: Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@tmg.se>
        !           474:
        !           475:        * Makefile.in (install-info-files): Update for new install-info
        !           476:        behaviour.
        !           477:
        !           478:        * mpn/power/add_n.s: Rewrite.
        !           479:        * mpn/power/sub_n.s: Rewrite.
        !           480:
        !           481: Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@tmg.se>
        !           482:
        !           483:        * mpz/pow_ui.c: Compute allocation more aggressively for small bases.
        !           484:        * mpz/ui_pow_ui.c: Likewise.
        !           485:
        !           486:        * mpn/mp_bases.c (__mp_bases): Put huge value in 2nd field for index 1.
        !           487:
        !           488:        * mpn/generic/sqrtrem.c: sizeof (mp_limb_t) => BYTES_PER_MP_LIMB.
        !           489:        * mpn/generic/gcd.c: Likewise.
        !           490:        (SIGN_BIT): Compute differently.
        !           491:
        !           492: Mon Feb 26 00:07:36 1996  Torbjorn Granlund  <tege@tmg.se>
        !           493:
        !           494:        * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.
        !           495:
        !           496:        * Makefile.in (install, install-bsdmp, install-info-files): Depend
        !           497:        on installdirs.  chmod all installed files.
        !           498:
        !           499: Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@tmg.se>
        !           500:
        !           501:        * mpbsd/configure.in: Delete debugging code.
        !           502:
        !           503:        * All Makefile.in: Update clean targets.
        !           504:
        !           505:        * Makefile.in (AR_FLAGS): New variable.
        !           506:        (libgmp.a): Use it.
        !           507:        (libmp.a): Likewise.
        !           508:
        !           509:        * VERSION: Delete file.
        !           510:
        !           511:        * Makefile.in (installdirs): New target.
        !           512:        * mkinstalldirs: New file (from the texinfo package).
        !           513:
        !           514:        * Makefile.in (INSTALL, INSTALL_DATA, INSTALL_PROGRAM): New variables.
        !           515:        (MAKEINFO, MAKEINFOFLAGS, TEXI2DVI): New variables.
        !           516:        (install-info): New target.
        !           517:        (install, install-bsdmp): Depend on install-info.
        !           518:        ($(srcdir)/gmp.info): Changed from plain gmp.info; put info files
        !           519:        into source directory.
        !           520:        (distclean, mostlyclean): New targets.
        !           521:        (maintainer-clean): New name for realclean.
        !           522:        (uninstall): New target.
        !           523:        (TAGS): New target.
        !           524:        (info, dvi): New targets.
        !           525:        (.PHONY): Assign.
        !           526:
        !           527:        * Makefile.in (install, install-bsdmp): Use INSTALL_DATA.
        !           528:
        !           529:        * mp{n,z,f,bsd}/move-if-change: Delete.
        !           530:
        !           531:        * mpbsd/Makefile.in (stamp-stddefh): Delete target.
        !           532:
        !           533:        * Makefile.in (.c.o): Pass CFLAGS last.
        !           534:        * mpbsd/Makefile.in (.c.o): Likewise.
        !           535:        * mpf/Makefile.in (.c.o): Likewise.
        !           536:        * mpq/Makefile.in (.c.o): Likewise.
        !           537:        * mpz/Makefile.in (.c.o): Likewise.
        !           538:        * mpn/Makefile.in (.c.o): Likewise.
        !           539:        (.S.o): Likewise.
        !           540:
        !           541:        * memory.c: Change allocation error message.
        !           542:
        !           543:        * Makefile.in (install): Prefix gmp.h with $(srcdir).
        !           544:        (install-bsdmp): Prefix mp.h with $(srcdir).
        !           545:
        !           546:        * mp{n,z,f,bsd}/{configure,config.sub}: Delete.
        !           547:
        !           548:        * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation
        !           549:        (install targets): Install gmp.info-N.
        !           550:
        !           551: Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@tmg.se>
        !           552:
        !           553:        * mpf/get_str.c: Fix typo.
        !           554:
        !           555:        * mpz/legendre.c: Clarify expression with extra parens.
        !           556:
        !           557:        * version.c (gmp_version): Not static.
        !           558:
        !           559:        * mpf/iset_str.c: Properly return error code.
        !           560:
        !           561:        * mpf/add.c: Delete unused variables.
        !           562:        * mpf/inp_str.c: Likewise.
        !           563:        * mpq/get_d.c: Likewise.
        !           564:
        !           565:        * mpn/generic/dump.c: #include <stdio.h>.
        !           566:        * mpf/dump.c: Likewise.
        !           567:        * mpf/set_str.c: #include <ctype.h>.
        !           568:        (strtol): Declare.
        !           569:
        !           570:        * gmp.h: mpn_sqrt => mpn_sqrtrem.
        !           571:
        !           572:        * Makefile.in (clean, realclean): Clean in mpbsd.
        !           573:        (check): Test in mpf.
        !           574:
        !           575:        * mpf/Makefile.in (clean): Clean in tests.
        !           576:        * mpq/Makefile.in (clean): Clean in tests.
        !           577:
        !           578:        * mpf/tests/Makefile.in: New file.
        !           579:        * mpf/tests/configure.in: New file.
        !           580:        * mpf/tests/t-addsub.c: New file.
        !           581:
        !           582:        * mpf/sub_ui.c: Simply call mpf_sub for now.
        !           583:
        !           584:        * mpf/sub.c: Increase prec by 1.
        !           585:        * mpf/ui_sub.c: Likewise.
        !           586:
        !           587: Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@tmg.se>
        !           588:
        !           589:        * mpf/ui_sub.c: Fix typos.
        !           590:
        !           591:        * mpf/get_str.c: When allocating space for tmp, allow for an extra
        !           592:        limb.  In code for fraction conversion, add special case for bases
        !           593:        that are a power of 2.
        !           594:
        !           595:        * mpf/out_str.c: Output leading "0.".
        !           596:        Default base to 10, before computing string allocation.
        !           597:
        !           598:        * mpf/get_str.c: Make variables for string size have type size_t.
        !           599:        * gmp.h: Corresponding change.
        !           600:
        !           601:        * mpf/random2.c: Allow creation of prec+1 large mantissas.
        !           602:
        !           603:        * mpf/add_ui.c: Don't abort if u < 0; special case for u <= 0.
        !           604:        Fix typo in MPN_COPY offset.
        !           605:        * mpf/sub_ui.c: Analogous changes.
        !           606:
        !           607:        * mpf/set_prec.c: Rewrite.
        !           608:
        !           609:        * mpf/init2.c: Compute precision as in set_prec.c.
        !           610:
        !           611:        * mpf/div_2exp.c: Special case for u == 0.
        !           612:        * mpf/mul_2exp.c: Likewise.  Write r->_mp_size always.
        !           613:
        !           614:        * mpf/sqrt_ui.c: mpn_sqrt => mpn_sqrtrem.
        !           615:        * mpf/sqrt.c: Likewise.  When computing new exponent, round quotient
        !           616:        towards -infinity.
        !           617:
        !           618:        * mpf/add.c: Fix typos.
        !           619:        * mpf/sub.c: Fix typos.
        !           620:
        !           621: Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg.se>
        !           622:
        !           623:        * mpz/Makefile.in (stamp-stddefh): Delete target.
        !           624:        (test): Delete target.
        !           625:        * Makefile.in (stamp-stddefh): Delete target.
        !           626:        (cre-stddefh.o): Delete target.
        !           627:        (gmp.dvi): Set TEXINPUTS before invoking tex.
        !           628:
        !           629:        * cre-stddefh.c: Delete.
        !           630:
        !           631:        * mpz/sqrt.c: Fix typo.
        !           632:
        !           633:        * mpz/powm.c: Special case for mod == 0.
        !           634:        * mpz/powm_ui.c: Likewise.
        !           635:
        !           636:        * mpz/get_si.c: Handle -0x80000000 correctly.
        !           637:
        !           638:        * mpz/inp_str.c: Now retutns size_t.
        !           639:        Make it return number of bytes read or error indication.
        !           640:        * mpf/inp_str.c: Likewise.
        !           641:
        !           642:        * mpz/out_raw.c: Replace by mpz/out_binary.c, with modifications.
        !           643:        * mpz/inp_raw.c: Rewrite, using mpz/inp_binary as a base.
        !           644:        * mpz/inp_binary.c: Delete.
        !           645:
        !           646:        * mpn/Makefile.in (XCFLAGS): Remove variable.
        !           647:        (.c.o): Don't pass XCFLAGS.
        !           648:        (SFLAGS): Set to nothing.
        !           649:        (.S.o): Pass SFLAGS, not XCFLAGS.
        !           650:
        !           651:        * mpn/config/t-freebsd (SFLAGS): New name for XCFLAGS.
        !           652:
        !           653:        * mpf/out_str.c: Make return number of bytes written or error
        !           654:        indication.
        !           655:        * mpz/out_str.c: Likewise.
        !           656:        * gmp.h: Corresponding changes.
        !           657:
        !           658:        * gmp.h (__mpz_struct): mp_size_t => int.
        !           659:        (__mpq_struct): Likewise.
        !           660:        (__mpf_struct): Likewise.
        !           661:        (mp_size_t): int => long int.
        !           662:
        !           663:        * mpn/cray: New directory.
        !           664:        * mpn/cray/gmp-mparam.h: New file.
        !           665:        * mpn/configure.in: Recognize cray variants.
        !           666:
        !           667:        * Makefile.in: Set defaults for prefix, libdir, etc.
        !           668:        (install): New target.
        !           669:        (install-bsdmp): New target.
        !           670:        (gmp.html): New target.
        !           671:
        !           672:        * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.
        !           673:
        !           674: Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@tmg.se>
        !           675:
        !           676:        * gmp.h: Sort mpn declarations.
        !           677:        (mpn_gcdext): Add declaration.
        !           678:
        !           679:        * mpn/generic/divrem_1.c: New file.
        !           680:        * mpn/Makefile.in (divrem_1.o): New rule.
        !           681:        * configure.in (functions): Add divrem_1.
        !           682:
        !           683:        * mpn/generic/divmod.c: Delete file.
        !           684:        * mpn/configure.in (functions): Delete divmod.
        !           685:        * Makefile.in (divmod.o): Delete rule.
        !           686:        * gmp.h (mpn_divmod): New #define.
        !           687:
        !           688:        * gmp.h (mpn_next_bit_set): Delete spurious declaration.
        !           689:
        !           690:        * mpn/generic/divrem.c (default case): In code assigning
        !           691:        most_significant_q_limb, move reassignment of n0 into if statement.
        !           692:
        !           693:        * gmp.h (mpf_inp_str): Fix typo.
        !           694:        (mpf_out_str): Make prototype match reality.
        !           695:        * mpf/inp_str.c: New file.
        !           696:        * mpf/out_str.c: New file.
        !           697:        * mpf/Makefile.in: Compile new files.
        !           698:
        !           699:        * mpn/Makefile.in (dump.o): Fix dependency path.
        !           700:        (inlines.o): Likewise.
        !           701:
        !           702:        * mpn/configure.in: Make m68060 be the same as m68000.  Clean up
        !           703:        m68k configs.
        !           704:
        !           705: Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@tmg.se>
        !           706:
        !           707:        * mpn/generic/sqrtrem.c: Renamed from sqrt.
        !           708:        * mpn/configure.in (functions): Corresponding change.
        !           709:        * mpn/Makefile.in: Likewise.
        !           710:        * mpz/sqrtrem.c: Likewise.
        !           711:        * mpz/sqrt.c: Likewise.
        !           712:        * mpn/generic/perfsqr.c: Likewise.
        !           713:
        !           714:        * Makefile.in (clean): Also remove libmp.a.
        !           715:        Don't compile cre-conv-tab.c or mp_bases.c.
        !           716:        cre-conv-tab.c: Delete file.
        !           717:        (gmp.ps): New rule.
        !           718:
        !           719:        * mpn/mp_bases.c: New file.
        !           720:        * mpn/Makefile.in: Compile mp_bases.c.
        !           721:
        !           722:        * mpz/set_str.c: Skip initial whitespace.
        !           723:        * mpf/set_str.c: Likewise.
        !           724:        * mpbsd/xtom.c: Likewise.
        !           725:
        !           726:        * gmp.h: Add missing mpz declarations.
        !           727:        Delete all formal parameter names from declarations.
        !           728:
        !           729:        * mpn/Makefile.in: Add dependencies for .c files.
        !           730:
        !           731:        * Makefile.in (check): Write recursive make calls separately, not as
        !           732:        a loop.
        !           733:        (FLAGS_TO_PASS): New variable.  Use it for most recursive makes.
        !           734:
        !           735: Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@tmg.se>
        !           736:
        !           737:        * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete
        !           738:        lines starting with #.
        !           739:        (CPP): Set to $(CC) -E to avoid gcc dependency.
        !           740:
        !           741:        * mpn/m68k/syntax.h (moveql): Define to moveq for MIT_SYNTAX.
        !           742:
        !           743:        * mpn/hppa/hppa1_1/pa7100/addmul_1.S: Fix typo in s1_ptr alignment
        !           744:        code.
        !           745:        * mpn/hppa/hppa1_1/pa7100/submul_1.S: Likewise.
        !           746:
        !           747:        * gmp.h: Fix typos in #defines of recently added mpn functions.
        !           748:
        !           749:        * mpz/inp_str.c: Skip all whitespace, not just plain space.
        !           750:        * mpbsd/min.c: Likewise.
        !           751:
        !           752:        * mpn/configure.in (functions): Add gcdext.
        !           753:        * mpn/generic/gcdext.c: New file.
        !           754:
        !           755:        * mpz/legendre.c: mpz_div_2exp => mpz_tdiv_q_2exp.
        !           756:
        !           757:        * gmp.h: Surround mpn declarations with extern "C" { ... }.
        !           758:
        !           759:        * Makefile.in (check): New target.
        !           760:
        !           761:        * mpq/get_d.c: Update comments.  Use rsize instead of dsize + N_QLIMBS
        !           762:        when possible.  Add special case for nsize == 0.
        !           763:
        !           764:        * gmp.h (mpq_get_d): Add declaration.
        !           765:        (mpq_canonicalize): Likewise.
        !           766:        (mpq_cmp_ui): Likewise.
        !           767:        (mpf_diff): Likewise.
        !           768:        (mpf_ui_sub): Likewise.
        !           769:        (mpf_set_prec): Likewise.
        !           770:        (mpf_random2): Likewise.
        !           771:
        !           772:        * gmp.h (mpz_cmp_ui): New #define.
        !           773:        (mpz_cmp_si): New #define.
        !           774:        (mpq_cmp_ui): New #define.
        !           775:        (mpz_sign): New #define.
        !           776:        (mpq_sign): New #define.
        !           777:        (mpf_sign): New #define.
        !           778:        (mpq_numref): New #define.
        !           779:        (mpq_denref): New #define.
        !           780:
        !           781:        * mpq/set_z.c: File deleted.
        !           782:        * mpq/Makefile.in: Corresponding changes.
        !           783:
        !           784: Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@tmg.se>
        !           785:
        !           786:        * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.
        !           787:
        !           788:        * mpz/inp_binary.c: Default stream to stdin.
        !           789:        * mpz/inp_str.c: Likewise.
        !           790:        * mpz/inp_raw.c: Likewise.
        !           791:        * mpz/out_binary.c: Default stream to stdout.
        !           792:        * mpz/out_raw.c: Likewise.
        !           793:        * mpz/out_str.c: Likewise.
        !           794:
        !           795:        * mpbsd/realloc.c: New file.
        !           796:        * mpbsd/Makefile.in: Corresponding changes.
        !           797:
        !           798:        * mpbsd/min.c: Rewrite (base on mpz/inp_str.c).
        !           799:        * mpbsd/mtox.c: Rewrite (base on mpz/get_str.c).
        !           800:
        !           801:        * mpbsd/mout.c: Rewrite (base on mpz/out_str) but make it output
        !           802:        spaces in each 10th position.
        !           803:        * mpbsd/xtom.c: Rewrite (base on mpz/set_str).
        !           804:
        !           805:        * mpq/tests/Makefile.in (st-cmp): New file.
        !           806:        * mpq/tests/configure.in (srcname): New file.
        !           807:
        !           808:        * mpz/tests/configure.in (srcname): Fix typo.
        !           809:
        !           810:        * mpq/cmp.c: Add check using number of significant bits, to avoid
        !           811:        general multiplication.
        !           812:
        !           813: Sat Feb 17 11:58:30 1996  Torbjorn Granlund  <tege@tmg.se>
        !           814:
        !           815:        * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.
        !           816:
        !           817:        * mpq/tests: New directory.
        !           818:        * mpq/tests/t-cmp.c: New file.
        !           819:        * mpq/tests/t-cmp_ui.c: New file.
        !           820:
        !           821:        * mpz/tests/dive.c (main): Generate zero numerator.
        !           822:        (get_random_size) : Delete.
        !           823:
        !           824:        * mpz/divexact.c: Add special case for 0/x.
        !           825:
        !           826:        * gmp.h (mpz_mod): Add declaration.
        !           827:
        !           828: Fri Feb 16 18:18:39 1996  Andreas Schwab  <schwab@informatik.uni-dortmund.de>
        !           829:
        !           830:        * mpn/m68k/*: Rewrite code not to use the INSN macros.
        !           831:        (L): New macro to properly prefix local labels for ELF.
        !           832:
        !           833: Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@tmg.se>
        !           834:
        !           835:        * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for
        !           836:        fields.
        !           837:        * mpn/generic/inlines.c (_FORCE_INLINES): New #define.  Delete
        !           838:        conditional __GNUC__.
        !           839:        * gmp.h (mpn_add, mpn_sub, mpn_add_1, mpn_sub_1):
        !           840:        Only define these if __GNUC__ || _FORCE_INLINES.
        !           841:        * mpf/random2.c: Add missing parameter in non-ANSI header.
        !           842:        * mpn/generic/gcd.c (SIGN_BIT): Do as #define to work around bug
        !           843:        in AIX compilers.
        !           844:        * mpq/get_d.c: #define N_QLIMBS.
        !           845:        * mpz/divexact.c: Obscure division by 0 to silent compiler warnings.
        !           846:        * stack-alloc.c: Cast void* pointer to char* before doing arithmetic
        !           847:        on it.
        !           848:
        !           849:        * Makefile.in (mpbsd/libmpbsd.a): New rule.
        !           850:        * configure.in (configdirs): Add mpbsd.
        !           851:
        !           852:        * gmp.h: Add declarations for a few missing mpn functions.
        !           853:
        !           854:        * Makefile.in (libmp.a): New rule.
        !           855:
        !           856:        * mpbsd/mdiv.c: #include "dmincl.c", not "mpz_dmincl.c"
        !           857:        * gmp.h: Move #define of __GNU_MP__ into the `#if __GNU_MP__' block.
        !           858:        * mp.h: Likewise.  Update typedefs from gmp.h.
        !           859:        * mpbsd/configure.in: New file.
        !           860:        * mpbsd/Makefile.in: New file.
        !           861:        * mpbsd/configure: Link to master configure.
        !           862:        * mpbsd/config.sub: Link to master config.sub.
        !           863:
        !           864:        * Makefile.in: Set RANLIB_TEST.
        !           865:        * (libgmp.a): Use it.
        !           866:        * (libgmp.a): Do ranlib before moving the libgmp.a to the build
        !           867:        directory.
        !           868:        * mp?/Makefile.in: Don't use or set RANLIB.
        !           869:
        !           870: Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@tmg.se>
        !           871:
        !           872:        * mpz/add_ui.c: MP_INT => mpz_t.
        !           873:        * mpz/cmp_ui.c: Likewise.
        !           874:        * mpz/fac_ui.c: Likewise.
        !           875:        * mpz/inp_binary.c: Likewise.
        !           876:        * mpz/inp_raw.c: Likewise.
        !           877:        * mpz/legendre.c: Likewise.
        !           878:        * mpz/jacobi.c: Likewise.
        !           879:        * mpz/out_binary.c: Likewise.
        !           880:        * mpz/out_raw.c: Likewise.
        !           881:        * mpz/random2.c: Likewise.
        !           882:        * mpz/random.c: Likewise.
        !           883:        * mpz/realloc.c: Likewise.
        !           884:
        !           885:        * mpz/legendre.c: __mpz_2factor(X) => mpz_scan1(X,0),
        !           886:        __mpz_odd_less1_2factor => mpz_scan1(X,1).
        !           887:        * mpz/ntsup.c: File deleted.
        !           888:        * mpz/Makefile.in: Corresponding changes.
        !           889:
        !           890:        * mpz/pprime_p: Use mpz_scan1 to avoid looping.
        !           891:
        !           892:        * mpz/fac_ui.c: Type of `k' and `p' is `unsigned long'.
        !           893:        * mpz/pprime_p.c: Pass long to *_ui functions.
        !           894:        * mpz/gcdext.c: Likewise.
        !           895:        * mpz/fdiv_r_2exp.c: Likewise.
        !           896:        * mpz/fac_ui.c: Likewise.
        !           897:
        !           898:        * mpz/powm.c: Don't use mpn_rshift when mod_shift_cnt is 0.
        !           899:
        !           900:        * mpz/tests/Makefile.in (st-sqrtrem): Fix typo.
        !           901:
        !           902:        * mpz/cmp_ui.c: #undef mpz_cmp_ui.
        !           903:        * mpz/cmp_si.c: #undef mpz_cmp_si.
        !           904:        * gmp.h (mpz_cmp_ui): New #define.
        !           905:        (mpz_cmp_si): New #define.
        !           906:
        !           907: Wed Feb 14 22:11:24 1996  Torbjorn Granlund  <tege@tmg.se>
        !           908:
        !           909:        * gmp.h: Test __cplusplus in addition to __STDC__.
        !           910:        * gmp-impl.h: Likewise.
        !           911:
        !           912:        * gmp.h: Surround declarations with extern "C" { ... }.
        !           913:
        !           914: Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@tmg.se>
        !           915:
        !           916:        * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.
        !           917:        * mpz/tdiv_r_2exp.c: Likewise.
        !           918:
        !           919:        * mpz/fdiv_r_2exp.c: New file.
        !           920:        * mpz/fdiv_q_2exp.c: New file.
        !           921:        * mpz/tdiv_r_2exp.c: Renamed from mpz/mod_2exp.c.
        !           922:        * mpz/tdiv_q_2exp.c: Renamed from mpz/div_2exp.c
        !           923:        * mpz/Makefile.in: Corresponding changes.
        !           924:
        !           925:        * mpz/scan0.c,scan1.c: New files.
        !           926:        * mpz/Makefile.in: Compile them.
        !           927:
        !           928:        * gmp.h (mpn_normal_size): Delete.
        !           929:
        !           930:        * config.guess: Update from Cygnus version.
        !           931:
        !           932:        * mpn/m68k/rshift.S: Use INSN2 macro for lea instructions.
        !           933:        * mpn/m68k/lshift.S: Likewise.
        !           934:
        !           935:        * mpn/configure.in: Fix configuration for plain 68000.
        !           936:
        !           937: Mon Feb 12 01:06:06 1996  Torbjorn Granlund  <tege@tmg.se>
        !           938:
        !           939:        * mpz/tests/t-powm.c: Generate negative BASE operand.
        !           940:
        !           941:        * mpz/powm.c: Make result always positive.
        !           942:
        !           943: Sun Feb 11 01:44:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           944:
        !           945:        * mpz/tests/*.c: Add t- prefix.
        !           946:        * mpz/tests/Makefile.in: Corresponding changes.
        !           947:        * mpz/tests/configure.in: Update srctrigger.
        !           948:
        !           949:        * mpz/tests/gcd.c: Generate negative operands.
        !           950:        * mpz/tests/gcd2.c: Likewise.
        !           951:
        !           952:        * mpz/gcdext.c: At end, if G is negative, negate all G, S, and T.
        !           953:
        !           954: Thu Feb  8 17:16:12 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
        !           955:
        !           956:        * mp{z,n}/gcd.c: Change mpn_gcd interface.
        !           957:        * gmp.h: Ditto.
        !           958:        * gmp.texi: update documentation.
        !           959:
        !           960: Mon Feb  7 23:58:43 1996  Andreas Schwab  <schwab@informatik.uni-dortmund.de>
        !           961:
        !           962:        * mpn/m68k/{lshift,rshift}.S: New files.
        !           963:        * mpn/m68k/syntax.h: New ELF_SYNTAX macros.
        !           964:        (MEM_INDX, R, PROLOG, EPILOG): New macros.
        !           965:        * mpn/m68k/*.S: Use R macro with register name.  Use PROLOG and EPILOG
        !           966:        macros.  Rename `size' to `s_size' or s1_size to avoid clash with ELF
        !           967:        .size directive.
        !           968:        * mpn/configure.in: New target m68k-*-linux*.
        !           969:
        !           970: Wed Feb  7 07:41:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           971:
        !           972:        * Makefile.in (cre-conv-tab): Workaround for SunOS make.
        !           973:
        !           974:        * mpz/tests/reuse.c: New file.
        !           975:        * mpz/tests/Makefile.in: Handle reuse.c.
        !           976:
        !           977: Tue Feb  6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
        !           978:
        !           979:        * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.
        !           980:
        !           981: Tue Feb  6 01:36:39 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           982:
        !           983:        * gmp.h (mpz_divexact): Delete parameter names.
        !           984:        (mpz_lcm): Delete spurious declaration.
        !           985:
        !           986:        * mpz/dmincl.c: Fix typo.
        !           987:
        !           988: Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !           989:
        !           990:        * mpn/generic/gcd.c (gcd_2): Declare consistently.
        !           991:
        !           992:        * mpz/tdiv_q.c: Optimize division by a single-limb divisor.
        !           993:        * mpz/dmincl.c: Likewise.
        !           994:
        !           995:        * mpz/add.c: Use MPN_NORMALIZE instead of mpn_normal_size.
        !           996:        * mpz/sub.c: Likewise.
        !           997:        * mpn/generic/sqrt.c: Likewise.
        !           998:
        !           999:        * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the
        !          1000:        destination arrays.
        !          1001:
        !          1002: Fri Feb  2 02:21:27 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1003:
        !          1004:        * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.
        !          1005:        * mpz/Makefile.in: Compile them.
        !          1006:
        !          1007:        * mpn/Makefile.in (INCLUDES): Don't search in `generic'.
        !          1008:
        !          1009: Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1010:
        !          1011:        Change from Ken Weber:
        !          1012:        * mpz/divexact.c: Make it work when quot is identical to either input.
        !          1013:
        !          1014:        * mpf/ui_sub.c: New file.
        !          1015:        * mpf/Makefile.in: Compile it.
        !          1016:
        !          1017:        * gmp-impl.h (MPZ_TMP_INIT): alloca -> TMP_ALLOC.
        !          1018:        * mpz/{c,f}div_{q,qr,r}.c: Use TMP_DECL/TMP_MARK/TMP_FREE since
        !          1019:        these use MPZ_TMP_INIT.
        !          1020:        * mpz/mod.c: Likewise.
        !          1021:        * mpq/{add,sub}.c: Likewise.
        !          1022:        * mpq/canonicalize: Likewise.
        !          1023:
        !          1024:        * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.
        !          1025:        * mpq/canonicalize.c: Likewise.
        !          1026:
        !          1027: Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1028:
        !          1029:        * mpn/generic/gcd.c: Misc changes from Ken.
        !          1030:
        !          1031:        * mpz/tests/gcd2.c: New file.
        !          1032:        * mpz/tests/Makefile.in: Handle gcd2.c.
        !          1033:
        !          1034:        * mpn/generic/gcd.c (mpn_gcd): When GCD == ORIG_V, return vsize,
        !          1035:        not orig_vsize.  Fix parameter declaration.
        !          1036:
        !          1037:        * mpz/mod_ui.c: Delete file.
        !          1038:        * mpz/Makefile.in: Don't try to compile mod_ui.
        !          1039:
        !          1040:        * mpz/cdiv_*_ui.c): Make them work right.
        !          1041:        * gmp.h: Declare cdiv*.
        !          1042:
        !          1043: Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1044:
        !          1045:        * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,
        !          1046:        cdiv_r_ui.c,cdiv_ui.c}: New files.
        !          1047:        * mpz/Makefile.in: Compile them.
        !          1048:
        !          1049:        * All files: Make file permissions right.
        !          1050:
        !          1051:        Changes from Ken Weber:
        !          1052:        * mpn/generic/accelgcd.c: Delete.
        !          1053:        * mpn/generic/bingcd.c: Delete.
        !          1054:        * mpn/generic/numbits.c: Delete.
        !          1055:        * mpn/generic/gcd.c: New file.
        !          1056:        * mpn/configure.in (functions): Update accordingly.
        !          1057:        * mpz/divexact.c: New file.
        !          1058:        * mpz/Makefile.in: Compile divexact.c.
        !          1059:        * mpz/gcd.c: Rewrite to accommodate for gcd changes in mpn.
        !          1060:        * gmp.h: declare new functions, delete obsolete declarations.
        !          1061:        * mpz/tests/dive.c: New file.
        !          1062:        * mpz/tests/Makefile.in: Handle dive.c.
        !          1063:
        !          1064: Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1065:
        !          1066:        * mpz/random.c: Handle negative SIZE parameter.
        !          1067:
        !          1068:        * mpz/tests/tdiv(_ui).c: New name for tst-dm(_ui).c.
        !          1069:        * mpz/tests/tst-mdm(_ui).c: Delete.
        !          1070:        * mpz/tests/fdiv(_ui).c: New test based in tst-mdm(_ui).
        !          1071:        * mpz/tests/*.c: Get rid of tst- prefix for DOS 8+3 naming.
        !          1072:        * mpz/tests/Makefile.in: Corresponding changes.
        !          1073:        * mpz/tests/configure.in: Update srctrigger.
        !          1074:
        !          1075:        * mpn/generic/divmod.c: Update from divrem.
        !          1076:        * mpn/generic/divrem.c: Misc cleanups.
        !          1077:
        !          1078: Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1079:
        !          1080:        * All files: Use new TMP_ALLOC interface.
        !          1081:
        !          1082:        * mpz/powm_ui.c: Make Jan 25 changes to powm.c also here.
        !          1083:
        !          1084:        * mpz/tests/powm_ui.c: New file.
        !          1085:        * mpz/tests/Makefile.in: Add rules for tst-powm and tst-powm_ui.
        !          1086:
        !          1087:        * Makefile.in: Update dependency list.
        !          1088:        * mpf/Makefile.in: Likewise.
        !          1089:        * mpz/Makefile.in: Likewise.
        !          1090:        * mpq/Makefile.in: Likewise.
        !          1091:        * Makefile.in: Set RANLIB simply to ranlib, and allow configure
        !          1092:        to override it.
        !          1093:
        !          1094:        * mpz/Makefile.in (conf): Delete spurious target.
        !          1095:        (mp_bases.c): Delete.
        !          1096:        (cre-conv-tab rules): Delete.
        !          1097:
        !          1098:        * Makefile.in (cre-conv-tab): Greatly simplify.
        !          1099:
        !          1100: Sat Jan 27 13:38:15 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1101:
        !          1102:        * stack-alloc.c: New file.
        !          1103:        * stack-alloc.h: New file.
        !          1104:
        !          1105:        * gmp.h (__gmp_inline): Define using __inline__.
        !          1106:
        !          1107: Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1108:
        !          1109:        * mpn/generic/scan0.c: New file.
        !          1110:        * mpn/generic/scan1.c: Renamed from next_bit.c.
        !          1111:        * mpn/configure.in (functions): Include scan0 and scan1.
        !          1112:
        !          1113:        * mpn/m68k/*: #include sysdep.h.  Use C_GLOBAL_NAME.
        !          1114:
        !          1115:        * configure: Update from Cygnus version.
        !          1116:        * config.guess: Likewise.
        !          1117:        * config.sub: Likewise.
        !          1118:        * configure: Pass --nfp to recursive configures.
        !          1119:
        !          1120:        * mpz/tests/tst-*.c: Adjust SIZE and reps.
        !          1121:
        !          1122:        * mpz/powm.c: Move esize==0 test earlier.
        !          1123:        In final reduction of rp,rsize, don't call mpn_divmod unless
        !          1124:        reduction is really needed.
        !          1125:
        !          1126:        * mpz/tests/tst-powm.c: Fix thinko in checking code.
        !          1127:
        !          1128:        * All files: Get rid of `__' prefix from mpn_* calls and declarations.
        !          1129:        * gmp.h: #define __MPN.
        !          1130:        * gmp.h: Use __MPN in #defines for mpn calls.
        !          1131:
        !          1132:        * mpn/generic/mul_n.c: Prepend `i' to internal routines.
        !          1133:        * gmp-impl.h: Add #defines using __MPN for those internal routines.
        !          1134:
        !          1135:        * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.
        !          1136:
        !          1137: Wed Jan 24 13:28:19 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1138:
        !          1139:        * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.
        !          1140:        * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.
        !          1141:        * mpn/sparc32/v8/supersparc: New directory.
        !          1142:        * mpn/sparc32/v8/supersparc/udiv.S: New file.
        !          1143:
        !          1144: Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1145:
        !          1146:        This major contribution is from Ken Weber:
        !          1147:        * mpn/generic/accelgcd.c: New file.
        !          1148:        * mpn/generic/bdivmod.c: New file.
        !          1149:        * mpn/generic/bingcd.c: New file.
        !          1150:        * mpn/generic/gcd_1.c: Rewrite.
        !          1151:        * mpn/generic/numbits.c: New file (to go away soon).
        !          1152:        * mpz/gcd.c: Rewrite.
        !          1153:        * mpz/tests/tst-gcd.c (SIZE): Now 128.
        !          1154:        * gmp.h: Declare new functions.
        !          1155:        * mpn/configure.in (functions): List new files.
        !          1156:        * gmp-impl.h (MPN_SWAP): Delete.
        !          1157:        (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.
        !          1158:        (MPN_COMPL_INCR, MPN_COMPL): Delete.
        !          1159:
        !          1160: Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1161:
        !          1162:        * gmp.h (mpn_name): New #define.
        !          1163:
        !          1164:        * mpn/m88k/mc88110/addmul_1.s: New file.
        !          1165:        * mpn/m88k/mc88110/add_n.S: New file.
        !          1166:        * mpn/m88k/mc88110/sub_n.S: New file.
        !          1167:
        !          1168:        * mpn/m88k/sub_n.s: Correctly initialize carry.
        !          1169:
        !          1170:        * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.
        !          1171:
        !          1172: Sun Jan 21 00:04:35 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1173:
        !          1174:        * mpn/sparc64/addmul_1.s: New file.
        !          1175:        * mpn/sparc64/submul_1.s: New file.
        !          1176:        * mpn/sparc64/rshift.s: New file.
        !          1177:
        !          1178: Sat Jan 20 00:32:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1179:
        !          1180:        * mpz/iset.c: Fix typo introduced Dec 25.
        !          1181:
        !          1182: Wed Jan 17 13:16:44 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1183:
        !          1184:        * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.
        !          1185:        * config/mt-sparcv8-gcc: Delete.
        !          1186:        * configure.in: Corresponding changes.
        !          1187:
        !          1188: Tue Jan 16 16:31:01 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1189:
        !          1190:        * gmp-impl.h: #include alloca.h when necessary.
        !          1191:
        !          1192:        * longlong.h: Test __alpha instead of __alpha__, since the former
        !          1193:        is the standard symbol.
        !          1194:
        !          1195: Mon Jan 15 18:06:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1196:
        !          1197:        * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.
        !          1198:        * mpn/sparc64/lshift.s: New file.
        !          1199:
        !          1200: Fri Dec 29 17:34:03 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1201:
        !          1202:        * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.
        !          1203:        * mpn/x86/pentium/sub_n.S: Likewise.
        !          1204:
        !          1205: Thu Dec 28 03:16:57 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1206:
        !          1207:        * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update
        !          1208:        of loop induction variable and load insn at beginning of loop.
        !          1209:        * mpn/x86/pentium/addmul_1.S: Likewise.
        !          1210:        * mpn/x86/pentium/submul_1.S: Likewise.
        !          1211:
        !          1212: Mon Dec 25 23:22:55 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1213:
        !          1214:        * All files: Prefix user-visible structure fields with _mp_.
        !          1215:
        !          1216: Fri Dec 22 20:42:17 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1217:
        !          1218:        * mpn/configure.in (m68k configs): Terminate path variable with
        !          1219:        plain "m68k".
        !          1220:
        !          1221: Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1222:
        !          1223:        * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to
        !          1224:        clean things up.
        !          1225:
        !          1226:        * mpn/configure.in (m68k configs): Update #include path for new
        !          1227:        mpn directory organization.
        !          1228:
        !          1229: Tue Dec 12 02:53:02 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1230:
        !          1231:        * gmp.h: Prefix all structure field with _mp_.
        !          1232:        * gmp-impl.h: Define access macros for these fields.
        !          1233:
        !          1234: Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1235:
        !          1236:        * mpn/alpha/addmul_1.s: Prefix labels with `.'.
        !          1237:        * mpn/alpha/submul_1.s: Likewise.
        !          1238:        * mpn/alpha/[lr]shift.s: Likewise.
        !          1239:        * mpn/alpha/udiv_qrnnd.S: Likewise.
        !          1240:        * mpn/alpha/ev5/[lr]shift.s: Likewise.
        !          1241:
        !          1242:        * mpn/alpha/ev5/lshift.s: Fix typos.
        !          1243:
        !          1244: Fri Dec  1 14:28:20 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1245:
        !          1246:        * mpn/Makefile.in (.SUFFIXES): Define.
        !          1247:
        !          1248: Wed Nov 29 23:11:57 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1249:
        !          1250:        * mpn/sparc64/{add_n.s, sub_n.s}: New files.
        !          1251:
        !          1252: Tue Nov 28 06:03:13 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1253:
        !          1254:        * mpn/x86/syntax.h: Handle ELF_SYNTAX.
        !          1255:        Rename GAS_SYNTAX => BSD_SYNTAX.
        !          1256:
        !          1257:        * mpn/configure.in: Handle linuxelf and SysV for x86 variants.
        !          1258:
        !          1259: Mon Nov 27 01:32:12 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1260:
        !          1261:        * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.
        !          1262:
        !          1263: Sun Nov 26 04:30:47 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
        !          1264:
        !          1265:        * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.
        !          1266:
        !          1267:        * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.
        !          1268:        * mpn/sparc32/sub_n.S: Likewise.
        !          1269:
        !          1270: Fri Nov 17 00:18:46 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1271:
        !          1272:        * mpn/configure.in: Handle m68k on NextStep.
        !          1273:
        !          1274: Thu Nov 16 02:30:26 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1275:
        !          1276:        * mpn: Reorganize machine-specific directories.
        !          1277:        * mpn/configure.in: Corresponding changes.
        !          1278:        (sh, sh2): Handle these.
        !          1279:        (m68k targets): Create asm-syntax.h.
        !          1280:
        !          1281: Thu Nov  9 02:20:50 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1282:
        !          1283:        * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.
        !          1284:        (____mpn_mul_n): Likewise.
        !          1285:
        !          1286: Tue Nov  7 03:25:12 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1287:
        !          1288:        * mpf/get_str.c: In exponentiation code (two places), don't swap
        !          1289:        input and output areas when calling mpn_mul_1.
        !          1290:        * mpf/set_str.c: Likewise.
        !          1291:
        !          1292: Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1293:
        !          1294:        * mpf/Makefile.in: Make sure all objects are listed in dependency list;
        !          1295:        delete spurious entries.
        !          1296:
        !          1297:        * mpf/mul.c: Handle U or V being 0.  Allow prec+1 for result precision.
        !          1298:
        !          1299:        * mpf/set_prec.c: New computation of limb precision.
        !          1300:        * mpf/set_dfl_prec.c: Likewise.
        !          1301:
        !          1302:        * mpf/random2.c: Fix typo computing exp.
        !          1303:        * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of
        !          1304:        the user-requested number of digits, n_digits.
        !          1305:
        !          1306: Thu Nov  2 16:25:07 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1307:
        !          1308:        * mpn/generic/divrem.c (case 2): Don't move np vector back, it is
        !          1309:        never read.
        !          1310:        (default case): Put most significant limb from np in new variable n2;
        !          1311:        decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].
        !          1312:
        !          1313: Wed Nov  1 02:59:53 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1314:
        !          1315:        * mpn/sparc/[lr]shift.S: New files.
        !          1316:
        !          1317: Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1318:
        !          1319:        * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.
        !          1320:
        !          1321:        * gmp-impl.h (assert): Delete definition.
        !          1322:
        !          1323:        * mpf/sub.c: Delete all assert calls.  Delete variable `cy'.
        !          1324:
        !          1325:        * mpf/neg.c: Use prec+1 as precision.  Optimize for when arguments
        !          1326:        are the same.
        !          1327:        * mpf/abs.c: Likewise.
        !          1328:        * mpf/{set,neg,abs}.c: Make structure and variable names similar.
        !          1329:
        !          1330: Mon Oct 30 12:45:26 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1331:
        !          1332:        * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.
        !          1333:        * mpn/generic/random2.c (random): Likewise.
        !          1334:
        !          1335: Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1336:
        !          1337:        * mpf/div.c: Special handle U or V being 0.
        !          1338:
        !          1339:        * mpf/random2.c: New file.
        !          1340:
        !          1341:        * longlong.h (i860 rshift_rhlc): Define.
        !          1342:        (i960 udiv_qrnnd): Define.
        !          1343:        (i960 count_leading_zeros): Define.
        !          1344:        (i960 add_ssaaaa): Define.
        !          1345:        (i960 sub_ddmmss): Define.
        !          1346:        (i960 rshift_rhlc): Define.
        !          1347:
        !          1348: Sat Oct 28 19:09:15 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1349:
        !          1350:        * mpn/pentium/rshift.S: Fix and generalize condition for when to use
        !          1351:        special code for shift by 1.
        !          1352:        * mpn/pentium/lshift.S: Likewise.
        !          1353:
        !          1354: Thu Oct 26 00:02:56 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1355:
        !          1356:        * gmp.h: #undef __need_size_t.
        !          1357:        * mp.h: Update from gmp.h.
        !          1358:
        !          1359: Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1360:
        !          1361:        * mpf/Makefile.in: Compile set_prec.c.
        !          1362:        * mpf/realloc.c: Delete this file.
        !          1363:        * mpf/Makefile.in: Delete mentions of realloc.c.
        !          1364:
        !          1365:        * gmp.h (__mpf_struct): Get rid of `alloc' field.
        !          1366:        * mpf/clear.c: Likewise.
        !          1367:        * mpf/init*.c: Likewise.
        !          1368:        * mpf/set_prec.c: Likewise.
        !          1369:        * mpf/iset*.c: Likewise.
        !          1370:
        !          1371:        * mpf/iset_str.c: New file.
        !          1372:
        !          1373:        * mpn/configure.in: Handle pyramid.
        !          1374:
        !          1375:        * mpf/set.c: Use prec+1 as precision.
        !          1376:
        !          1377:        * mpf/set_prec.c: New file.
        !          1378:
        !          1379: Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1380:
        !          1381:        * mpn/generic/divrem.c: New file.  Will replace mpn/generic/divmod.c
        !          1382:        when rest of source is converted.
        !          1383:        * mpn/configure.in (functions): Add `divrem'
        !          1384:        * mpn/generic/set_str.c: Never call __mpn_mul_1 with zero size.
        !          1385:
        !          1386:        * mpf/get_str.c: Completely rewritten.
        !          1387:        * mpf/add.c: Fix several problems.
        !          1388:        * mpf/sub.c: Compare operands from most significant end until
        !          1389:        first difference, exclude skipped limbs from computation.
        !          1390:        Accordingly simplify normalization code.
        !          1391:        * mpf/set_str.c: Fix several problems.
        !          1392:        * mpf/dump.c: New file.
        !          1393:        * mpf/Makefile.in: Compile dump.c.
        !          1394:        * mpf/init2.c: Set prec field correctly.
        !          1395:
        !          1396: Sun Oct 22 03:02:09 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1397:
        !          1398:        * cre-conv-tab.c: #include math.h; don't declare log and floor.
        !          1399:
        !          1400: Sat Oct 21 23:04:10 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1401:
        !          1402:        * mpf/mul_ui.c: Handle U being 0.
        !          1403:
        !          1404: Wed Oct 18 19:39:27 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1405:
        !          1406:        * mpn/generic/set_str.c: Correctly handle input like "000000000000".
        !          1407:        Misc cleanups.
        !          1408:
        !          1409: Tue Oct 17 15:14:13 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1410:
        !          1411:        * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where
        !          1412:        appropriate.
        !          1413:
        !          1414: Mon Oct 16 19:14:43 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1415:
        !          1416:        * mpf/add.c: Rewrite.
        !          1417:        * mpf/set_str.c: New file.  Needs more work.
        !          1418:
        !          1419: Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1420:
        !          1421:        * mpf/div_2exp.c: Vastly simplify.
        !          1422:        * mpf/mul_2exp.c: Likewise.
        !          1423:
        !          1424:        * mpf/sub.c: Rewrite.
        !          1425:
        !          1426:        * gmp-impl.h (udiv_qrnnd_preinv2gen): Terminate comment.
        !          1427:
        !          1428:        * mpf/dump.c: Free allocated memory.
        !          1429:
        !          1430:        * gmp-impl.h (assert): Define.
        !          1431:
        !          1432: Wed Oct 11 13:31:00 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1433:
        !          1434:        * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.
        !          1435:
        !          1436: Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1437:
        !          1438:        * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.
        !          1439:
        !          1440:        * mpn/powerpc32/{lshift.s,rshift.s}: New files.
        !          1441:
        !          1442:        * configure.in: Fix typo.
        !          1443:
        !          1444: Sat Oct  7 08:17:09 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1445:
        !          1446:        * longlong.h (smul_ppmm): Correct type of __m0 and __m1.
        !          1447:
        !          1448: Wed Oct  4 16:31:28 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1449:
        !          1450:        * mpn/configure.in: Handle alphaev5.
        !          1451:        * mpn/ev4: New name for alpha subdir.
        !          1452:        * mpn/ev5: New subdir.
        !          1453:        * mpn/ev5/lshift.s: New file.
        !          1454:
        !          1455: Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1456:
        !          1457:        * mpn/alpha/mul_1.s: Avoid static increments of pointers; use
        !          1458:        corresponding offsets in ldq and stq instructions instead.
        !          1459:        (Loop): Swap cmpult and stq to save one cycle on EV5.
        !          1460:
        !          1461:        * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,
        !          1462:        submul_1.s}: Don't check results if NOCHECK is defined.
        !          1463:
        !          1464: Mon Oct  2 11:40:18 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1465:
        !          1466:        * longlong.h (mips umul_ppmm [32 and 64 bit versions]):
        !          1467:        Make new variants, based on GCC version number, that use `l' and `h'
        !          1468:        constraints instead of explicit mflo and mfhi instructions
        !          1469:
        !          1470: Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1471:
        !          1472:        * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.
        !          1473:        * mpn/mc88100/sub_n.s: Likewise.
        !          1474:
        !          1475:        * config/mt-m88110: New file.
        !          1476:        * configure.in: Use it.
        !          1477:
        !          1478:        * mpn/mc88110/mul_1.s: Fix thinko.
        !          1479:
        !          1480: Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1481:
        !          1482:        * mpz/set_d.c: Declare `size' at function start.
        !          1483:
        !          1484:        * experimental: New directory for mpx and mpz2.
        !          1485:
        !          1486:        * mpz/tdiv_q.c: Clarify comments.
        !          1487:        * mpz/{mod.c,mod_ui.c}: New file, for math mod function.
        !          1488:
        !          1489:        * mpn/sh2/{mul_1.s,addmul_1.s,submul_1.s}: New files.
        !          1490:
        !          1491:        * mpn/sh/{add_n.s,sub_n.s}: New files.
        !          1492:
        !          1493:        * mpn/pyr/{add_n.s,sub_n.s,mul_1.s,addmul_1.s}: New files.
        !          1494:
        !          1495:        * mpn/i960/{add_n.s,sub_n.s}: New files.
        !          1496:
        !          1497:        * mpn/alpha/addmul_1.s (Loop): Move decrement of r18 to before umulh,
        !          1498:        to save cycles on EV5.
        !          1499:        * mpn/alpha/submul_1.s: Ditto.
        !          1500:        * mpn/alpha/mul_1.s: Ditto.
        !          1501:
        !          1502: Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1503:
        !          1504:        * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if
        !          1505:        _LONG_LONG_LIMB is defined.
        !          1506:
        !          1507:        * longlong.h (m88110): Test __m88110__, not __mc88110__
        !          1508:
        !          1509:        * mpn/mc88110/mul_1.s: Rewrite.
        !          1510:
        !          1511: Tue Sep 26 23:29:05 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1512:
        !          1513:        * config.sub: Update from current Cygnus version.
        !          1514:
        !          1515:        * mpn/configure.in: Recognize canonical m88*, not mc88*.
        !          1516:
        !          1517: Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1518:
        !          1519:        * mpz/set_d.c: New file.
        !          1520:        * mpz/Makefile.in: Build new files.
        !          1521:
        !          1522:        * mpq/get_d.c: Replace usage of scalbn with ldexp.
        !          1523:
        !          1524:        * mpn/{vax,i386}/gmp-mparam.h: New files.
        !          1525:        * gmp-impl.h (ieee_double_extract): Define here.
        !          1526:        * mpf/set_d.c (ieee_double_extract): Not here.
        !          1527:
        !          1528: Thu Sep 21 00:56:36 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1529:
        !          1530:        * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.
        !          1531:        (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,
        !          1532:        protect with new symbol LONGLONG_STANDALONE.
        !          1533:        (68000 umul_ppmm): Use %# prefix for immediate constants.
        !          1534:
        !          1535: Wed Sep 20 15:36:23 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1536:
        !          1537:        * mpn/generic/divmod_1.c: Handle
        !          1538:        divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
        !          1539:        specifically also when normalization_steps != 0.
        !          1540:
        !          1541: Mon Sep 18 15:42:30 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1542:
        !          1543:        * mpq/get_d.c: New file.
        !          1544:
        !          1545: Sun Sep 17 02:04:36 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1546:
        !          1547:        * longlong.h (pyr): Botch up for now.
        !          1548:
        !          1549: Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1550:
        !          1551:        * mpn/clipper/mul_1.s: New file.
        !          1552:        * mpn/clipper/add_n.s: New file.
        !          1553:        * mpn/clipper/sub_n.s: New file.
        !          1554:        * mpn/configure.in: Handle clipper*-*-*.
        !          1555:
        !          1556:        * mpn/configure.in: Recognize rs6000-*-*.
        !          1557:
        !          1558: Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1559:
        !          1560:        * mpn/alpha/add_n.s: New file.
        !          1561:        * mpn/alpha/sub_n.s: New file.
        !          1562:
        !          1563:        * mpn/mips3: New name for mpn/r4000.
        !          1564:        * mpn/mips2: New name for mpn/r3000.
        !          1565:        * mpn/configure.in: Corresponding changes.
        !          1566:
        !          1567:        * mpn/generic/perfsqr.c (primes): Delete.
        !          1568:        (residue_map): Delete.
        !          1569:
        !          1570: Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1571:
        !          1572:        * mpn/r3000/sub_n.s: Fix typo.
        !          1573:
        !          1574:        * dm_trunc.c: Delete spurious file.
        !          1575:
        !          1576:        * mpz/out_binary.c: Fix typo.
        !          1577:
        !          1578:        * mpn/configure.in (per-target): Make mips*-*-irix6* imply r4000.
        !          1579:
        !          1580:        * gmp-impl.h: For sparc and sgi, include alloca.h.
        !          1581:
        !          1582:        * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'.  Replace
        !          1583:        `ldk r,#0' with `xor r,r'.
        !          1584:
        !          1585: Wed Sep  6 00:58:38 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1586:
        !          1587:        * mpz/inp_binary.c: New file.
        !          1588:        * mpz/out_binary.c: New file.
        !          1589:        * mpz/Makefile.in: Build new files.
        !          1590:
        !          1591: Tue Sep  5 22:53:51 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1592:
        !          1593:        * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc
        !          1594:        and size fields.
        !          1595:
        !          1596: Sat Sep  2 17:47:59 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1597:
        !          1598:        * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.
        !          1599:        * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,
        !          1600:        derived from r4000 code.
        !          1601:
        !          1602: Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1603:
        !          1604:        * mpn/r3000/mul_1.s: Fix typo.
        !          1605:
        !          1606:        * mpn/powerpc32: Fix some old vs new mnemonic issues.
        !          1607:
        !          1608:        * mpn/powerpc32/{add_n.s,sub_n.s}: New files.
        !          1609:        * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.
        !          1610:
        !          1611: Wed Aug 30 10:43:47 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1612:
        !          1613:        * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.
        !          1614:        * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.
        !          1615:
        !          1616:        * config.guess: Update to latest FSF revision.
        !          1617:
        !          1618: Mon Aug 28 02:18:13 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1619:
        !          1620:        * mpz/out_str.c: Cast str to char * in fputs call.
        !          1621:
        !          1622:        * gmp-impl.h: Define UQItype, SItype, and USItype also
        !          1623:        when not __GNUC__.
        !          1624:
        !          1625: Fri Aug 25 01:45:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1626:
        !          1627:        * mpn/i386/syntax.h: Renamed from asm-syntax.h.
        !          1628:        * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.
        !          1629:        * mpn/configure.in: Corresponding changes.
        !          1630:
        !          1631: Sun Aug 13 19:20:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
        !          1632:
        !          1633:        * mpn/generic/random2.c: Test __hpux, not hpux.
        !          1634:
        !          1635: Sat Apr 15 20:50:33 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1636:
        !          1637:        * mpn/sparc/add_n.S: Make it work for PIC.
        !          1638:        * mpn/sparc/sub_n.s: Likewise.
        !          1639:        * mpn/sparc8/addmul_1.S: Likewise.
        !          1640:        * mpn/sparc8/mul_1.S: Likewise.
        !          1641:        * mpn/i386/add_n.S: Likewise.
        !          1642:        * mpn/i386/sub_n.S: Likewise.
        !          1643:
        !          1644: Thu Apr 13 23:15:03 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1645:
        !          1646:        * mpn/configure.in: Don't search power subdir for generic ppc configs.
        !          1647:        Add some ppc cpu-specific configs.  Misc clean up.
        !          1648:
        !          1649: Mon Apr 10 00:16:35 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1650:
        !          1651:        * mpz/ui_pow_ui.c: Delete spurious code to handle negative results.
        !          1652:
        !          1653: Sun Apr  9 12:38:11 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1654:
        !          1655:        * longlong.h (SPARC v8 udiv_qrnnd): Generate remainder in C,
        !          1656:        not in asm.
        !          1657:
        !          1658:        * mpn/generic/sqrt.c (SQRT): Test for __SOFT_FLOAT.
        !          1659:
        !          1660: Tue Mar 28 00:19:52 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1661:
        !          1662:        * mpn/generic/hamdist.c (popc_limb): Make Mar 16 change here too.
        !          1663:
        !          1664: Fri Mar 17 23:29:22 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1665:
        !          1666:        * longlong.h (SH umul_ppmm): Define.
        !          1667:
        !          1668: Thu Mar 16 16:40:44 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1669:
        !          1670:        * mpn/generic/popcount.c (popc_limb): Rearrange 32 bit case
        !          1671:        to help CSE.
        !          1672:
        !          1673: Fri Mar 10 20:03:49 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1674:
        !          1675:        * mpn/powerpc32/mul_1.s: Clear cy before entering loop.
        !          1676:        Rearrange loop to save a cycle.
        !          1677:        * mpn/powerpc32/addmul_1.s: New file.
        !          1678:        * mpn/powerpc32/submul_1.s: New file.
        !          1679:
        !          1680: Fri Feb 17 22:44:45 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1681:
        !          1682:        * mpn/configure.in: Set target_makefile_frag for freebsd
        !          1683:        in new case stmt.
        !          1684:        * mpn/config/t-freebsd: New file.
        !          1685:        * mpn/Makefile.in: Add #### for frag insertion.
        !          1686:        (XCFLAGS): Clear by default.
        !          1687:        (.c.o, .S.o rules): Pass XCFLAGS.
        !          1688:
        !          1689: Tue Feb  7 16:27:50 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1690:
        !          1691:        * longlong.h (68000 umul_ppmm): Merge improvements from henderson.
        !          1692:
        !          1693: Tue Jan 24 04:23:20 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1694:
        !          1695:        * longlong.h (default umul_ppmm): Store input parameters in temporaries
        !          1696:        to avoid reading them twice.
        !          1697:        (default smul_ppmm): New definition.
        !          1698:
        !          1699: Thu Dec 29 04:20:07 1994  Jim Meyering  (meyering@comco.com)
        !          1700:
        !          1701:        * generic/perfsqr.c (__mpn_perfect_square_p): Remove declaration
        !          1702:        of unused variable.
        !          1703:        * generic/pre_mod_1.c (__mpn_preinv_mod_1): Likewise.
        !          1704:        * mpz/powm.c (pow): Likewise.
        !          1705:
        !          1706:        * mpz/and.c (mpz_and): Use {} instead of `;' for empty else clause
        !          1707:        to placate `gcc -Wall'.
        !          1708:        * mpz/ior.c (mpz_ior): Likewise.
        !          1709:
        !          1710: Wed Dec 28 13:31:40 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1711:
        !          1712:        * mpn/m*68*/*.S: #include asm-syntax.h, not asm.h.
        !          1713:
        !          1714: Mon Dec 26 17:15:36 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1715:
        !          1716:        * longlong.h: Test for more symbols, in __mc68000__ case.
        !          1717:
        !          1718:        * mpn/mpn/config.sub: Recognize m68060.
        !          1719:        * mpn/configure.in: Change mc* to m* for 68k targets.
        !          1720:        * mpn/Makefile.in (.S.o): Delete spurious creation of temp .c file.
        !          1721:
        !          1722: Mon Dec 19 01:56:30 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1723:
        !          1724:        * config.sub: Recognize pentium as a valid CPU.
        !          1725:        * mpn/configure.in: Handle pentium specifically, to use new assembly
        !          1726:        code.
        !          1727:
        !          1728: Mon Dec 19 00:13:01 1994  Jim Meyering  (meyering@comco.com)
        !          1729:
        !          1730:        * gmp.h: Define _GMP_H_HAVE_FILE if FILE, __STDIO_H__, or H_STDIO
        !          1731:        is defined.
        !          1732:        * gmp.h: test _GMP_H_HAVE_FILE instead of FILE everywhere else.
        !          1733:
        !          1734: Mon Dec 19 00:04:54 1994  Kent Boortz  (boortz@sics.se)
        !          1735:
        !          1736:        * Makefile.in (recursive makes): Pass CFLAGS.
        !          1737:
        !          1738: Sun Dec 18 22:34:49 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1739:
        !          1740:        * mpn/pentium: New directory.
        !          1741:
        !          1742:        * mpz/pprime.c: Make sure to mpz_clear all temporaries.
        !          1743:
        !          1744:        * longlong.h: Don't use udiv instruction when SUPERSPARC is defined.
        !          1745:        * configure.in: Handle supersparc*-.
        !          1746:        * config/mt-supspc-gcc: New file.
        !          1747:        * config/mt-sparc8-gcc: New name for mt-sparcv8-gcc.
        !          1748:
        !          1749: Mon Dec 12 22:22:10 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1750:
        !          1751:        * mpn/i386/*.S: #include "asm-syntax.h", not "asm.h".
        !          1752:        #include sysdep.h before asm-syntax.h.
        !          1753:
        !          1754:        * mpn/mc68020/asm-syntax.h: #undef ALIGN before defining it.
        !          1755:        * mpn/i386/asm-syntax.h: Likewise.
        !          1756:
        !          1757:        * mpn/mc68020/asm-syntax.h: New name for asm.h.
        !          1758:        * mpn/i386/asm-syntax.h: New name for asm.h.
        !          1759:
        !          1760: Tue Dec  6 21:55:25 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1761:
        !          1762:        * mpz/array_init.c: Fix typo in declaration.
        !          1763:
        !          1764: Fri Nov 18 19:50:52 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1765:
        !          1766:        * mpn/Makefile.in (.S.o): Pass CFLAGS and INCLUDES.
        !          1767:
        !          1768: Mon Nov 14 00:34:12 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1769:
        !          1770:        * mpn/generic/random2.c (random): Test for __svr4__.
        !          1771:
        !          1772: Wed Oct 12 23:28:16 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1773:
        !          1774:        * cre-conv-tab.c (main): Avoid upper-case X in printf format string.
        !          1775:
        !          1776: Tue Aug 23 17:16:35 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1777:
        !          1778:        * mpz/perfsqr.c: Use mpn_perfect_square_p.
        !          1779:        * mpn/generic/perfsqr.c: New file.
        !          1780:
        !          1781: Wed Jul  6 13:46:51 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1782:
        !          1783:        * mpz/array_init.c: New file.
        !          1784:        * mpz/Makefile.in: Compile array_init.
        !          1785:        * gmp.h: Declare mpz_array_init.
        !          1786:
        !          1787: Mon Jul  4 01:10:03 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1788:
        !          1789:        * mpz/add.c: Fix bogus comment.
        !          1790:        * mpz/sub.c: Likewise.
        !          1791:
        !          1792: Sat Jul  2 02:14:56 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1793:
        !          1794:        * mpn/generic/pre_mod_1.c: New file.
        !          1795:        * mpz/perfsqr.c: Use __mpn_preinv_mod_1 when faster.
        !          1796:
        !          1797: Fri Jul 01 22:10:19 1994  Richard Earnshaw (rwe11@cl.cam.ac.uk)
        !          1798:
        !          1799:        * longlong.h (arm umul_ppmm): Fix typos in last change.  Mark
        !          1800:        hard-coded registers with "%|"
        !          1801:
        !          1802: Thu Jun 30 03:59:33 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1803:
        !          1804:        * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.
        !          1805:        Use __mpn_mod_1.
        !          1806:        * mpz/perfsqr.c: Don't clobber REM in quadratic residue check loop.
        !          1807:
        !          1808: Wed Jun 29 18:45:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1809:
        !          1810:        * mpn/generic/sqrt.c (SQRT): New asm for IBM POWER2.
        !          1811:
        !          1812:        * mpz/gcd_ui.c: Return 0 if result does not fit an unsigned long.
        !          1813:
        !          1814:        * gmp.h: Use "defined (__STDC__)" consistently.
        !          1815:
        !          1816: Tue Jun 28 18:44:58 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1817:
        !          1818:        * gmp.h (mpz_get_si): Don't use "signed" keyword for return type.
        !          1819:
        !          1820:        * mpz/tests/Makefile.in: Use CFLAGS for linking.
        !          1821:
        !          1822:        * Makefile.in (CFLAGS): Use -O2 here.
        !          1823:        * mpn/Makefile (CFLAGS): Not here.
        !          1824:
        !          1825:        * mpq/cmp_ui.c: Fix typo.
        !          1826:        * mpq/canonicalize.c: Fix typo.
        !          1827:        * mpz/gcd_ui.c: Handle gcd(0,v) and gcd(u,0) correctly.
        !          1828:        * mpn/generic/gcd_1.c: Fix braino in last change.
        !          1829:
        !          1830: Mon Jun 27 16:10:27 1994  Torbjorn Granlund  (tege@rtl.cygnus.com)
        !          1831:
        !          1832:        * mpz/gcd_ui.c: Change return type and return result.
        !          1833:        Allow destination param to be NULL.
        !          1834:        * gmp.h: Corresponding change.
        !          1835:        * mpn/generic/gcd_1.c: Handle zero return from mpn_mod_1.
        !          1836:
        !          1837: Tue Jun 14 02:17:43 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
        !          1838:
        !          1839:        * mpn/i386/asm.h (ALIGN): Make it take a parameter.
        !          1840:        * mpn/i386/*.S: Use ALIGN to align all loops.
        !          1841:
        !          1842:        * mpn/i386/*.S: Move colon inside C_GLOBAL_NAME expression.
        !          1843:        (Makes old versions of GAS happy.)
        !          1844:
        !          1845: Sat May 28 01:43:54 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1846:
        !          1847:        * Many files: Delete unused variables and labels.
        !          1848:        * mpn/generic/dump.c: cast printf width argument to int.
        !          1849:
        !          1850: Wed May 25 00:42:37 1994  Torbjorn Granlund  (tege@thepub.cygnus.com)
        !          1851:
        !          1852:        * mpz/gcd.c (mpz_gcd): Normalize after __mpn_sub calls.
        !          1853:        (xmod): Ignore return value of __mpn_divmod.
        !          1854:        (xmod): Improve normalization code.
        !          1855:
        !          1856: Sat May 21 01:30:09 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1857:
        !          1858:        * mpz/gcdext.c: Cosmetic changes.
        !          1859:
        !          1860:        * mpz/fdiv_ui.c: New file.
        !          1861:
        !          1862: Fri May 20 00:24:53 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1863:
        !          1864:        * mpz/tests/Makefile.in: Use explicit rules for running tests,
        !          1865:        not a shell loop.
        !          1866:        (clean): Delete stmp-*.
        !          1867:
        !          1868:        * mpz/Makefile.in: Update.
        !          1869:
        !          1870:        * mpz/div_ui.c: Don't include longlong.h.
        !          1871:        * mpz/dm_ui.c: Likewise.
        !          1872:
        !          1873:        * mpz/fdiv_q.c, mpz/fdiv_q_ui.c, mpz/fdiv_qr.c, mpz/fdiv_qr_ui.c,
        !          1874:        mpz/fdiv_r.c, mpz/fdiv_r_ui.c: New files.  Code partly from deleted
        !          1875:        mdm.c, mdm_ui.c, etc, partly rewritten.
        !          1876:        * mpz/dm_floor_ui.c, mpz/dm_floor.c: Delete.
        !          1877:        * mpz/mdm.c, mpz/mdm_ui.c, mpz/mdiv.c, mpz/mdiv_ui.c, mpz/mmod.c,
        !          1878:        mpz/mmod_ui.c: Delete.
        !          1879:
        !          1880:        * mpz/tdiv_q.c, mpz/tdiv_q_ui.c, mpz/tdiv_qr.c, mpz/tdiv_qr_ui.c,
        !          1881:        mpz/tdiv_r.c, mpz/tdiv_r_ui.c:
        !          1882:        New names for files implementing truncating division.
        !          1883:        * mpz/div_ui.c, mpz/dm_ui.c, mpz/mod_ui.c: Simplify.
        !          1884:
        !          1885:        * mpn/Makefile.in (.S.o): Don't rely on CPP being defined, use CC
        !          1886:        instead.
        !          1887:        (clean): Delete tmp-*.
        !          1888:
        !          1889: Thu May 19 01:37:44 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1890:
        !          1891:        * mpz/cmp.c: Call __mpn_cmp.
        !          1892:
        !          1893:        * mpz/popcount.c: Fix typo.
        !          1894:
        !          1895:        * mpz/powm_ui.c: Simplify main loop.  Keep principal operand size
        !          1896:        smaller than MSIZE when possible.
        !          1897:        * mpz/powm.c: Likewise.
        !          1898:
        !          1899:        * mpn/generic/sqrt.c: Move alloca calls into where the memory is
        !          1900:        needed.  Simplify.
        !          1901:
        !          1902:        * gmp.h: (_PROTO): New macro.
        !          1903:        Add many function declarations; use _PROTO macro in all declarations.
        !          1904:
        !          1905:        * mpf/*.c: Prepend mpn calls with __.
        !          1906:
        !          1907: Wed May 18 20:57:06 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1908:
        !          1909:        * mpf/*ui*.c: Make ui argument `long' for consistency with mpz
        !          1910:        functions.
        !          1911:
        !          1912:        * mpf/div_ui.c: Simplify.
        !          1913:
        !          1914: Tue May 17 01:05:14 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1915:
        !          1916:        * mpz/*.c: Prepend mpn calls with __.
        !          1917:
        !          1918:        * mpz/mul_ui.c: Use mpn_mul_1.
        !          1919:
        !          1920: Mon May 16 17:19:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1921:
        !          1922:        * mpn/i386/mul_1.S: Use C_GLOBAL_NAME.
        !          1923:        * mpn/i386/mul_1.S, mpn/i386/addmul_1.S, mpn/i386/submul_1.S:
        !          1924:        Nuke use of LAB.
        !          1925:
        !          1926: Sat May 14 14:21:02 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1927:
        !          1928:        * gmp-impl.h: Don't define abort here.
        !          1929:
        !          1930:        * mpz/pow_ui.c: Increase temporary allocation.
        !          1931:        * mpz/ui_pow_ui.c: Likewise.
        !          1932:
        !          1933:        * gmp.h (mpz_add_1, mpz_sub_1): Don't call memcpy.
        !          1934:
        !          1935:        * All Makefile.in: Delete spurious -I arguments.
        !          1936:        Update dependencies.
        !          1937:
        !          1938:        * mpz/popcount.c: New file.
        !          1939:        * mpz/hamdist.c: New file.
        !          1940:
        !          1941:        * All configure: Latest version from Cygnus.
        !          1942:
        !          1943:        * mpq/Makefile.in: New file.
        !          1944:        * mpq/configure.in: New file.
        !          1945:        * Makefile.in, configure.in: Enable compilation of mpq.
        !          1946:
        !          1947:        * mpq/set_z.c: Fix typos.
        !          1948:        * mpq/canonicalize.c: Fix typos.
        !          1949:        * mpq/cmp_ui.c: Fix typos.
        !          1950:
        !          1951:        * mpf/add_ui.c: Read U->D into UP always.  Delete spurious MPN_COPY.
        !          1952:        * mpf/sub_ui.c: Likewise.
        !          1953:
        !          1954:        * gmp-impl.h: Don't redefine alloca.
        !          1955:
        !          1956:        * COPYING.LIB: Renamed from COPYING.
        !          1957:
        !          1958: Wed May 11 01:45:44 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
        !          1959:
        !          1960:        * mpz/powm_ui.c: When shifting E left by C+1, handle out-of-range
        !          1961:        shift counts.  Fix typo when testing negative_result.
        !          1962:        * mpz/powm.c: Likewise.
        !          1963:
        !          1964:        * mpz/ui_pow_ui.c: New file.
        !          1965:        * mpz/Makefile.in: Update.
        !          1966:
        !          1967:        * mpz/pow_ui.c: Call __mpn_mul_n instead of __mpn_mul when possible.
        !          1968:
        !          1969:        * mpz/div.c, mpz/div_ui.c, mpz/gcd.c: Prefix external mpn calls.
        !          1970:        * mpz/gcd.c: Declare mpn_xmod.
        !          1971:
        !          1972:        * mpz/powm.c: Major changes to accommodate changed mpn semantics.
        !          1973:        * mpz/powm_ui.c: Update from mpz/powm.c.
        !          1974:
        !          1975:        * mpz/tests/tst-io.c: New file.
        !          1976:        * mpz/tests/tst-logic: New file.
        !          1977:        * mpz/tests/Makefile.in: Update.
        !          1978:
        !          1979:        * mpz/inp_str.c: Get base right when checking for first digit.
        !          1980:        * mpz/inp_str.c: Allocate more space for DEST when needed.
        !          1981:
        !          1982:        * mpz/com.c: Use mpn_add_1 and mpn_sub_1.
        !          1983:        * mpz/and.c, mpz/ior.c: Likewise.  Simplify somewhat.
        !          1984:
        !          1985:        * mpz/add_ui.c: Use mpn_add_1 and mpn_sub_1.
        !          1986:        Rename parameters to be consistent with mpz/sub_ui.
        !          1987:        General simplifications.
        !          1988:        * mpz/sub_ui.x: Likewise.
        !          1989:
        !          1990: Tue Aug 10 19:41:16 1993  Torbjorn Granlund  (tege@prudens.matematik.su.se)
        !          1991:
        !          1992:        * mpf: New directory.
        !          1993:        * mpf/*.c: Merge basic set of mpf functions.
        !          1994:
        !          1995:        * Many logs missing...
        !          1996:
        !          1997: Sun Apr 25 18:40:26 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
        !          1998:
        !          1999:        * memory.c: Use #if instead of #ifdef for __STDC__ for consistency.
        !          2000:        * bsd/xtom.c: Likewise.
        !          2001:
        !          2002:        * mpz/div.c: Remove free_me and free_me_size and their usage.
        !          2003:        Use mpn_divmod for division; corresponding changes in return value
        !          2004:        convention.
        !          2005:        * mpz/powm.c: `carry_digit' => `carry_limb'.
        !          2006:        * bsd/sdiv.c: Clearify comment.
        !          2007:
        !          2008: Sun Apr 25 00:31:28 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
        !          2009:
        !          2010:        * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
        !          2011:
        !          2012: Sat Apr 24 16:23:33 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
        !          2013:
        !          2014:        * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
        !          2015:
        !          2016:        * gmp-impl.h: #define ABS.
        !          2017:        * (Many files): Use ABS instead of abs.
        !          2018:
        !          2019:        * mpn/generic/sqrt.c, mpz/clrbit.c, mpz/get_si.c, mpz/mod_2exp.c,
        !          2020:        mpz/pow_ui.c: Cast 1 to mp_limb before shifting.
        !          2021:
        !          2022:        * mpz/perfsqr.c: Use #if, not plain if for exclusion of code for
        !          2023:        non-32-bit machines.
        !          2024:
        !          2025: Tue Apr 20 13:13:58 1993  Torbjorn Granlund  (tege@du.nada.kth.se)
        !          2026:
        !          2027:        * mpn/generic/sqrt.c: Handle overflow for intermediate quotients by
        !          2028:        rounding them down to fit.
        !          2029:
        !          2030:        * mpz/perfsqr.c (PP): Define in hexadecimal to avoid GCC warnings.
        !          2031:
        !          2032:        * mpz/inp_str.c (char_ok_for_base): New function.
        !          2033:        (mpz_inp_str): Use it.
        !          2034:
        !          2035: Sun Mar 28 21:54:06 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
        !          2036:
        !          2037:        * mpz/inp_raw.c: Allocate x_index, not xsize limbs.
        !          2038:
        !          2039: Mon Mar 15 11:44:06 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
        !          2040:
        !          2041:        * mpz/pprime.c: Declare param `const'.
        !          2042:        * gmp.h: Add declarations for mpz_com.
        !          2043:
        !          2044: Thu Feb 18 14:10:34 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
        !          2045:
        !          2046:        * mpq/add.c, mpq/sub.c: Call mpz_clear for t.
        !          2047:
        !          2048: Fri Feb 12 20:27:34 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
        !          2049:
        !          2050:        * mpz/inp_str.c: Recog minus sign as first character.
        !          2051:
        !          2052: Wed Feb  3 01:36:02 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
        !          2053:
        !          2054:        * mpz/iset.c: Handle 0 size.
        !          2055:
        !          2056: Tue Feb  2 13:03:33 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
        !          2057:
        !          2058:        * mpz/mod_ui.c: Initialize dividend_size before it's used.
        !          2059:
        !          2060: Mon Jan  4 09:11:15 1993  Torbjorn Granlund  (tege@sics.se)
        !          2061:
        !          2062:        * bsd/itom.c: Declare param explicitly 'signed'.
        !          2063:        * bsd/sdiv.c: Likewise.
        !          2064:
        !          2065:        * mpq/cmp.c: Remove unused variable tmp_size.
        !          2066:        * mpz/powm_ui.c: Fix typo in esize==0 if stmt.
        !          2067:        * mpz/powm.c: Likewise.
        !          2068:
        !          2069: Sun Nov 29 01:16:11 1992  Torbjorn Granlund  (tege@sics.se)
        !          2070:
        !          2071:        * mpn/generic/divmod_1.c (mpn_divmod_1): Handle
        !          2072:        divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
        !          2073:        specifically.
        !          2074:
        !          2075:        * Reorganize sources.  New directories mpn, mpn/MACH, mpn/generic,
        !          2076:        mpz, mpq, bsd.  Use full file name for change logs hereafter.
        !          2077:
        !          2078: Wed Oct 28 17:40:04 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
        !          2079:
        !          2080:        * longlong.h (__hppa umul_ppmm): Fix typos.
        !          2081:        (__hppa sub_ddmmss): Swap input arguments.
        !          2082:
        !          2083:        * mpz_perfsqr.c (mpz_perfect_square_p): Avoid , before } in
        !          2084:        initializator.
        !          2085:
        !          2086: Sun Oct 25 20:30:06 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
        !          2087:
        !          2088:        * mpz_pprime.c (mpz_probab_prime_p): Handle numbers <= 3
        !          2089:        specifically (used to consider all negative numbers prime).
        !          2090:
        !          2091:        * mpz_powm_ui: `carry_digit' => `carry_limb'.
        !          2092:
        !          2093:        * sdiv: Handle zero dividend specifically.  Replace most code in
        !          2094:        this function with a call to mpn_divmod_1.
        !          2095:
        !          2096: Fri Sep 11 22:15:55 1992  Torbjorn Granlund  (tege@tarrega.sics.se)
        !          2097:
        !          2098:        * mpq_clear: Don't free the MP_RAT!
        !          2099:
        !          2100:        * mpn_lshift, mpn_rshift, mpn_rshiftci: Remove `long' from 4:th arg.
        !          2101:
        !          2102: Thu Sep  3 01:47:07 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
        !          2103:
        !          2104:        * All files: Remove leading _ from mpn function names.
        !          2105:
        !          2106: Wed Sep  2 22:21:16 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
        !          2107:
        !          2108:        Fix from Jan-Hein Buhrman:
        !          2109:        * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c: Make them work as documented.
        !          2110:
        !          2111:        * mpz_mmod.c, mpz_mdm.c: Move decl of TEMP_DIVISOR to reflect its
        !          2112:        life.
        !          2113:
        !          2114: Sun Aug 30 18:37:15 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
        !          2115:
        !          2116:        * _mpz_get_str: Use mpz_sizeinbase for computing out_len.
        !          2117:        * _mpz_get_str: Don't remove leading zeros.  Abort if there are some.
        !          2118:
        !          2119: Wed Mar  4 17:56:56 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2120:
        !          2121:        * gmp.h: Change definition of MP_INT to make the & before params
        !          2122:        optional.  Use typedef to define it.
        !          2123:        * mp.h: Use typedef to define MINT.
        !          2124:
        !          2125: Tue Feb 18 14:38:39 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2126:
        !          2127:        longlong.h (hppa umul_ppmm): Add missing semicolon.  Declare type
        !          2128:        of __w1 and __w0.
        !          2129:
        !          2130: Fri Feb 14 21:33:21 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2131:
        !          2132:        * longlong.h: Make default count_leading_zeros work for machines >
        !          2133:        32 bits.  Prepend `__' before local variables to avoid conflicts
        !          2134:        with users' variables.
        !          2135:
        !          2136:        * mpn_dm_1.c: Remove udiv_qrnnd_preinv ...
        !          2137:        * gmp-impl.h: ... and put it here.
        !          2138:        * mpn_mod_1: Use udiv_qrnnd_preinv if it is faster than udiv_qrnnd.
        !          2139:
        !          2140: Tue Feb 11 17:20:12 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2141:
        !          2142:        * mpn_mul: Enhance base case by handling small multiplicands.
        !          2143:        * mpn_dm_1.c: Revert last change.
        !          2144:
        !          2145: Mon Feb 10 11:55:15 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2146:
        !          2147:        * mpn_dm_1.c: Don't define udiv_qrnnd_preinv unless needed.
        !          2148:
        !          2149: Fri Feb  7 16:26:16 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2150:
        !          2151:        * mpn_mul: Replace code for base case.
        !          2152:
        !          2153: Thu Feb  6 15:10:42 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2154:
        !          2155:        * mpn_dm_1.c (_mpn_divmod_1): Add code for avoiding division by
        !          2156:        pre-inverting divisor.
        !          2157:
        !          2158: Sun Feb  2 11:10:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2159:
        !          2160:        * longlong.h: Make __LLDEBUG__ work differently.
        !          2161:        (_IBMR2): Reinsert old code.
        !          2162:
        !          2163: Sat Feb  1 16:43:00 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2164:
        !          2165:        * longlong.h (#ifdef _IBMR2): Replace udiv_qrnnd with new code
        !          2166:        using floating point operations.  Don't define
        !          2167:        UDIV_NEEDS_NORMALIZATION any longer.
        !          2168:
        !          2169: Fri Jan 31 15:09:13 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2170:
        !          2171:        * longlong.h: Define UMUL_TIME and UDIV_TIME for most machines.
        !          2172:        * longlong.h (#ifdef __hppa): Define umul_ppmm.
        !          2173:
        !          2174: Wed Jan 29 16:41:36 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2175:
        !          2176:        * mpn_cmp: Only one length parameter, assume operand lengths are
        !          2177:        the same.  Don't require normalization.
        !          2178:        * mpq_cmp, mpz_add, mpz_sub, mpz_gcd, mpn_mul, mpn_sqrt: Change for
        !          2179:        new mpn_cmp definition.
        !          2180:
        !          2181: Tue Jan 28 11:18:55 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2182:
        !          2183:        * _mpz_get_str: Fix typo in comment.
        !          2184:
        !          2185: Mon Jan 27 09:44:16 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2186:
        !          2187:        * Makefile.in: Add new files.
        !          2188:
        !          2189:        * mpn_dm_1.c: New file with function _mpn_divmod_1.
        !          2190:        * mpz_dm_ui.c (mpz_divmod_ui): Use _mpn_divmod_1.
        !          2191:        * mpz_div_ui: Likewise.
        !          2192:
        !          2193:        * mpn_mod_1.c: New file with function _mpn_mod_1.
        !          2194:        * mpz_mod_ui: Use _mpn_mod_1.
        !          2195:
        !          2196: Thu Jan 23 18:54:09 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2197:
        !          2198:        Bug found by Paul Zimmermann (zimmermann@inria.inria.fr):
        !          2199:        * mpz_div_ui.c (mpz_div_ui), mpz_dm_ui.c (mpz_divmod_ui):
        !          2200:        Handle dividend == 0.
        !          2201:
        !          2202: Wed Jan 22 12:02:26 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2203:
        !          2204:        * mpz_pprime.c: Use "" for #include.
        !          2205:
        !          2206: Sun Jan 19 13:36:55 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2207:
        !          2208:        * mpn_rshiftci.c (header): Correct comment.
        !          2209:
        !          2210: Wed Jan 15 18:56:04 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2211:
        !          2212:        * mpz_powm, mpz_powm_ui (if (bsize > msize)): Do alloca (bsize + 1)
        !          2213:        to make space for ignored quotient at the end.  (The quotient might
        !          2214:        always be an extra limb.)
        !          2215:
        !          2216: Tue Jan 14 21:28:48 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2217:
        !          2218:        * mpz_powm_ui: Fix comment.
        !          2219:        * mpz_powm: Likewise.
        !          2220:
        !          2221: Mon Jan 13 18:16:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2222:
        !          2223:        * tests/Makefile.in: Prepend $(TEST_PREFIX) to Makefile target.
        !          2224:
        !          2225: Sun Jan 12 13:54:28 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2226:
        !          2227:        Fixes from Kazumaro Aoki:
        !          2228:        * mpz_out_raw: Take abs of size to handle negative values.
        !          2229:        * mpz_inp_raw: Reallocate before reading ptr from X.
        !          2230:        * mpz_inp_raw: Store, don't read, size to x->size.
        !          2231:
        !          2232: Tue Jan  7 17:50:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2233:
        !          2234:        * gmp.h, mp.h: Remove parameter names from prototypes.
        !          2235:
        !          2236: Sun Dec 15 00:09:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2237:
        !          2238:        * tests/Makefile.in: Prepend "./" to file names when executing
        !          2239:        tests.
        !          2240:
        !          2241:        * Makefile.in: Fix many problems.
        !          2242:
        !          2243: Sat Dec 14 01:00:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2244:
        !          2245:        * mpn_sqrt.c: New file with _mpn_sqrt.
        !          2246:        * mpz_sqrt, mpz_sqrtrem, mpz_perfect_square_p: Use _mpn_sqrt.
        !          2247:        * msqrt.c: Delete.  Create from mpz_sqrtrem.c in Makefile.in.
        !          2248:        * mpz_do_sqrt.c: Delete.
        !          2249:        * Makefile.in: Update to reflect these changes.
        !          2250:
        !          2251:        * Makefile.in, configure, configure.subr: New files
        !          2252:        (from bothner@cygnus.com).
        !          2253:        * dist-Makefile: Delete.
        !          2254:
        !          2255:        * mpz_fac_ui: Fix comment.
        !          2256:
        !          2257:        * mpz_random2: Rewrite a bit to make it possible for the most
        !          2258:        significant limb to be == 1.
        !          2259:
        !          2260:        * mpz_pprime.c (mpz_probab_prime_p): Remove \t\n.
        !          2261:
        !          2262: Fri Dec 13 23:10:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2263:
        !          2264:        * mpz_do_sqrt: Simplify special case for U == 0.
        !          2265:        * m*sqrt*.c, mpz_perfsqr.c (mpz_perfect_square_p):
        !          2266:          Rename _mpz_impl_sqrt to _mpz_do_sqrt.
        !          2267:
        !          2268: Fri Dec 13 12:52:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2269:
        !          2270:        * gmp-impl.h (MPZ_TMP_INIT): Cast to the right type.
        !          2271:
        !          2272: Thu Dec 12 22:17:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2273:
        !          2274:        * mpn_add, mpn_sub, mpn_mul, mpn_div: Change type of several
        !          2275:        variables to mp_size.
        !          2276:
        !          2277: Wed Dec 11 22:00:34 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2278:
        !          2279:        * mpn_rshift.c: Fix header comments.
        !          2280:
        !          2281: Mon Dec  9 17:46:10 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2282:
        !          2283:        Released 1.2.
        !          2284:
        !          2285:        * gmp-impl.h (MPZ_TMP_INIT): Cast alloca return value.
        !          2286:
        !          2287:        * dist-Makefile: Add missing dependency for cre-mparam.
        !          2288:
        !          2289:        * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
        !          2290:          mpz_mmod_ui.c, mpz_mdm_ui.c: Remove obsolete comment.
        !          2291:
        !          2292:        * dist-Makefile (clean): clean in tests subdir too.
        !          2293:        * tests/Makefile: Define default values for ROOT and SUB.
        !          2294:
        !          2295:        * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
        !          2296:        2 constraint.
        !          2297:
        !          2298: Mon Nov 11 00:06:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2299:
        !          2300:        * mpz_sizeinb.c (mpz_sizeinbase): Special code for size == 0.
        !          2301:
        !          2302: Sat Nov  9 23:47:38 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2303:
        !          2304:        Released 1.1.94.
        !          2305:
        !          2306:        * dist-Makefile, Makefile, tests/Makefile: Merge tests into
        !          2307:        distribution.
        !          2308:
        !          2309: Fri Nov  8 22:57:19 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2310:
        !          2311:        * gmp.h: Don't use keyword `signed' for non-ANSI compilers.
        !          2312:
        !          2313: Thu Nov  7 22:06:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2314:
        !          2315:        * longlong.h: Cosmetic changes to keep it identical to gcc2 version
        !          2316:        of longlong.h.
        !          2317:        * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
        !          2318:        sub_ddmmss.
        !          2319:
        !          2320: Mon Nov  4 00:36:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2321:
        !          2322:        * mpn_mul: Fix indentation.
        !          2323:
        !          2324:        * mpz_do_sqrt: Don't assume 32 bit limbs (had constant
        !          2325:        4294967296.0).
        !          2326:        * mpz_do_sqrt: Handle overflow in conversion from double returned
        !          2327:        by SQRT to mp_limb.
        !          2328:
        !          2329:        * gmp.h: Add missing function definitions.
        !          2330:
        !          2331: Sun Nov  3 18:25:25 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2332:
        !          2333:        * mpz_pow_ui: Change type of `i' to int.
        !          2334:
        !          2335:        * ChangeLog: Add change log entry.
        !          2336:        * ChangeLog: Add change log entry.
        !          2337:        * ChangeLog: Add change log entry.
        !          2338:        * ChangeLog: Add change log entry.
        !          2339:        * ChangeLog: Add change log entry.
        !          2340:        * ChangeLog: Add change log entry.
        !          2341:        * ChangeLog: Add change log entry.
        !          2342:        * ChangeLog: Add change log entry.
        !          2343: Stack overflow.
        !          2344:
        !          2345:        * mpz_pow_ui.c: Fix typo in comment.
        !          2346:
        !          2347:        * dist-Makefile: Create rpow.c from mpz_powm_ui.c.
        !          2348:        * mpz_powm_ui.c: Add code for rpow.
        !          2349:        * rpow.c: Delete this file.  The rpow function is now implemented
        !          2350:        in mpz_powm_ui.c.
        !          2351:
        !          2352:        * mpz_fac_ui.c: New file.
        !          2353:        * gmp.h, dist-Makefile: Add stuff for mpz_fac_ui.
        !          2354:
        !          2355:        Bug found by John Amanatides (amana@sasquatch.cs.yorku.ca):
        !          2356:        * mpz_powm_ui, mpz_powm: Call _mpn_mul in the right way, with
        !          2357:        the first argument not smaller than the second.
        !          2358:
        !          2359: Tue Oct 29 13:56:55 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2360:
        !          2361:        * cre-conv-tab.c (main), cre-mparam.c (main): Fix typo in output
        !          2362:        header text.
        !          2363:
        !          2364: Mon Oct 28 00:35:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2365:
        !          2366:        * mpz_random2: Handle size == 0.
        !          2367:
        !          2368:        * gmp-impl.h (struct __mp_bases): Rename chars_per_limb_exactly to
        !          2369:        chars_per_bit_exactly, and change its definition.
        !          2370:        * cre-conv-tab.c (main): Output field according to its new
        !          2371:        definition.
        !          2372:        * mpz_out_str, _mpz_get_str, mpz_sizeinb, mout:
        !          2373:        Use chars_per_bit_exactly.
        !          2374:
        !          2375:        * mpz_random2: Change the loop termination condition in order to
        !          2376:        get a large most significant limb with higher probability.
        !          2377:
        !          2378:        * gmp.h: Add declaration of new mpz_random2 and mpz_get_si.
        !          2379:        * mpz_get_si.c: New file.
        !          2380:        * dist-Makefile: Add mpz_random2 and mpz_get_si.
        !          2381:
        !          2382:        * mpz_sizeinb.c (mpz_sizeinbase): Special code for base being a
        !          2383:        power of 2, giving exact result.
        !          2384:
        !          2385:        * mpn_mul: Fix MPN_MUL_VERIFY in various ways.
        !          2386:        * mpn_mul: New macro KARATSUBA_THRESHOLD.
        !          2387:        * mpn_mul (karatsuba's algorithm): Don't write intermediate results
        !          2388:        to prodp, use temporary pp instead.  (Intermediate results can be
        !          2389:        larger than the final result, possibly writing into hyperspace.)
        !          2390:        * mpn_mul: Make smarter choice between Karatsuba's algorithm and the
        !          2391:        shortcut algorithm.
        !          2392:        * mpn_mul: Fix typo, cy instead of xcy.  Unify carry handling code.
        !          2393:
        !          2394: Sun Oct 27 19:57:32 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2395:
        !          2396:        * mpn_mul: In non-classical case, choose Karatsuba's algorithm only
        !          2397:        when usize > 1.5 vsize.
        !          2398:
        !          2399:        * mpn_mul: Break between classical and Karatsuba's algorithm at
        !          2400:        KARATSUBA_THRESHOLD, if defined.  Default to 8.
        !          2401:
        !          2402:        * mpn_div: Kludge to fix stray memory read.
        !          2403:
        !          2404: Sat Oct 26 20:06:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2405:
        !          2406:        * mpz_gcdext: Handle a = b = 0.  Remove memory leakage by calling
        !          2407:        mpz_clear for all temporary variables.
        !          2408:
        !          2409:        * mpz_gcd: Reduce w_bcnt in _mpn_lshift call to hold that
        !          2410:        function's argument constraints.  Compute wsize correctly.
        !          2411:
        !          2412:        * mpz_gcd: Fix typo in comment.
        !          2413:
        !          2414:        * memory.c (_mp_default_allocate, _mp_default_reallocate): Call
        !          2415:        abort if allocation fails, don't just exit.
        !          2416:
        !          2417: Fri Oct 25 22:17:20 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2418:
        !          2419:        * mpz_random2.c: New file.
        !          2420:
        !          2421: Thu Oct 17 18:06:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2422:
        !          2423:        Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
        !          2424:        * mpq_cmp: Take sign into account, don't just compare the
        !          2425:        magnitudes.
        !          2426:        * mpq_cmp: Call _mpn_mul in the right way, with the first argument
        !          2427:        not smaller than the second.
        !          2428:
        !          2429: Wed Oct 16 19:27:32 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2430:
        !          2431:        * mpz_random: Ensure the result is normalized.
        !          2432:
        !          2433: Tue Oct 15 14:55:13 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2434:
        !          2435:        * mpz_clrbit: Support non-ANSI compilers.
        !          2436:
        !          2437: Wed Oct  9 18:03:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2438:
        !          2439:        * longlong.h (68k add_ssaaaa, sub_ddmmss): Generalize constraints.
        !          2440:
        !          2441: Tue Oct  8 17:42:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2442:
        !          2443:        * mpz_mdm_ui: Add comments.
        !          2444:
        !          2445:        * mpz_mdiv: Use MPZ_TMP_INIT instead of mpz_init.
        !          2446:        * mpz_init_ui: Change spacing and header comment.
        !          2447:
        !          2448: Thu Oct  3 18:36:13 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2449:
        !          2450:        * dist-Makefile: Prepend `./' before some filenames.
        !          2451:
        !          2452: Sun Sep 29 14:02:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2453:
        !          2454:        Released 1.1 (public).
        !          2455:
        !          2456:        * mpz_com: New name of mpz_not.
        !          2457:        * dist-Makefile: Change mpz_not to mpz_com.
        !          2458:
        !          2459: Tue Sep 24 12:44:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2460:
        !          2461:        * longlong.h: Fix header comment.
        !          2462:
        !          2463: Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2464:
        !          2465:        Released 1.0.92.
        !          2466:
        !          2467:        * mpn_mul.c (_mpn_mul): Handle leading zero limbs in non-Karatsuba
        !          2468:        case.
        !          2469:
        !          2470:        * longlong.h (m68000 umul_ppmm): Clobber one register less by
        !          2471:        slightly rearranging the code.
        !          2472:
        !          2473: Sun Sep  1 18:53:25 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2474:
        !          2475:        * dist-Makefile (stamp-stddefh): Fix typo.
        !          2476:
        !          2477: Sat Aug 31 20:41:31 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2478:
        !          2479:        Released 1.0.91.
        !          2480:
        !          2481:        * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
        !          2482:          mpz_mmod_ui.c, mpz_mdm_ui.c: New files and functions.
        !          2483:        * gmp.h, gmp.texi: Define the new functions.
        !          2484:
        !          2485: Fri Aug 30 08:32:56 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2486:
        !          2487:        * mpz_gcdext: Compute t argument from the other quantities at the
        !          2488:          end, of the function, not in the loop.  New feature: Allow t to be
        !          2489:          NULL.
        !          2490:
        !          2491:        * mpz_add.c, mpz_sub.c, mpz_mul.c, mpz_powm.c, mpz_gcd.c: Don't
        !          2492:          include "mp.h".  Use type name `MP_INT' always.
        !          2493:
        !          2494:        * dist-Makefile, mpz_cmp.c: Merge mcmp.c from mpz_cmp.c.
        !          2495:
        !          2496: Wed Aug 28 00:45:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2497:
        !          2498:        * dist-Makefile (documentation): Go via tmp.texi to avoid the
        !          2499:          creation of gmp.dvi if any errors occur.  Make tex read input
        !          2500:          from /dev/null.
        !          2501:
        !          2502: Fri Aug 23 15:58:52 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2503:
        !          2504:        * longlong.h (68020, i386): Don't define machine-dependent
        !          2505:          __umulsidi3 (so the default definition is used).
        !          2506:        * longlong.h (all machines): Cast all operands, sources and
        !          2507:          destinations, to `unsigned long int'.
        !          2508:        * longlong.h: Add gmicro support.
        !          2509:
        !          2510: Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2511:
        !          2512:        * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
        !          2513:        * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
        !          2514:        * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
        !          2515:        * _mpz_get_str.c: Add code to do division by big_base using only
        !          2516:          umul_qrnnd, if that is faster.  Use UMUL_TIME and UDIV_TIME to
        !          2517:          decide which variant to use.
        !          2518:
        !          2519: Wed Aug 21 15:45:23 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2520:
        !          2521:        * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
        !          2522:          nops.  (Saves two insn.)
        !          2523:
        !          2524:        * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
        !          2525:          branch, and to permit input/output register overlap.
        !          2526:
        !          2527:        * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
        !          2528:        * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
        !          2529:          asm statements (gives better code if either the upper or lower
        !          2530:          part of the product is unused.
        !          2531:
        !          2532: Tue Aug 20 17:57:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2533:
        !          2534:        * _mpz_get_str.c (outside of functions): Remove
        !          2535:          num_to_ascii_lower_case and num_to_ascii_upper_case.  Use string
        !          2536:          constants in the function instead.
        !          2537:
        !          2538: Mon Aug 19 00:37:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2539:
        !          2540:        * cre-conv-tab.c (main): Output table in hex.  Output 4 fields, not
        !          2541:          3, for components 0 and 1.
        !          2542:
        !          2543:        * gmp.h: Add declaration of mpq_neg.
        !          2544:
        !          2545:        Released 1.0beta.13.
        !          2546:
        !          2547:        * _mpz_set_str.c (mpz_set_str): Cast EOF and SPC to char before
        !          2548:          comparing to enum literals SPC and EOF.  This makes the code work
        !          2549:          for compilers where `char' is unsigned.  (Bug found by Brian
        !          2550:          Beuning).
        !          2551:
        !          2552:        Released 1.0beta.12.
        !          2553:
        !          2554:        * mpz_mod_ui: Remove references to quot.  Remove quot_ptr, quot_size
        !          2555:          declarations and assignment code.
        !          2556:
        !          2557: Sun Aug 18 14:44:26 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2558:
        !          2559:        * mpz_mod_ui: Handle dividend < 0.
        !          2560:
        !          2561:        Released 1.0beta.11.
        !          2562:
        !          2563:        * mpz_dm_ui, mpz_div_ui, mpz_mod_ui, sdiv: Make them share the same
        !          2564:          general structure, variable names, etc.
        !          2565:
        !          2566:        * sdiv: Un-normalize the remainder in n1 before it is negated.
        !          2567:
        !          2568:        * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
        !          2569:          udiv_qrnnd.
        !          2570:
        !          2571:        * mpz_dm_ui.c (mpz_divmod_ui), mpz_div_ui.c (mpz_div_ui): Increment
        !          2572:          the quotient size if the dividend size is incremented.  (Bug found
        !          2573:          by Brian Beuning.)
        !          2574:
        !          2575:        * mpz_mod_ui: Shift back the remainder, if UDIV_NEEDS_NORMALIZATION.
        !          2576:          (Bug found by Brian Beuning.)
        !          2577:
        !          2578:        * mpz_mod_ui: Replace "digit" by "limb".
        !          2579:
        !          2580:        * mpz_perfsqr.c (mpz_perfect_square_p): Disable second test case
        !          2581:          for non-32-bit machines (PP is hardwired for such machines).
        !          2582:        * mpz_perfsqr.c (outside of functions): Define PP value with an L.
        !          2583:
        !          2584:        * mpn_mul.c (_mpn_mul): Add verification code that is activated if
        !          2585:          DEBUG is defined.  Replace "digit" by "limb".
        !          2586:        * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 4.): Normalize temp
        !          2587:          after the addition.
        !          2588:        * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 1.): Compare u0_size
        !          2589:          and v0_size, and according to the result, swap arguments in
        !          2590:          recursive call.  (Don't violate mpn_mul's own argument
        !          2591:          constraints.)
        !          2592:
        !          2593: Fri Aug 16 13:47:12 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2594:
        !          2595:        Released 1.0beta.10.
        !          2596:
        !          2597:        * longlong.h (IBMR2): Add udiv_qrnnd.
        !          2598:
        !          2599:        * mpz_perfsqr: Remove unused variables.
        !          2600:
        !          2601:        * mpz_and (case for different signs): Initialize loop variable i!
        !          2602:
        !          2603:        * dist-Makefile: Update automatically generated dependencies.
        !          2604:        * dist-Makefile (madd.c, msub.c, pow.c, mult.c, gcd.c): Add mp.h,
        !          2605:          etc to dependency file lists.
        !          2606:
        !          2607:        * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
        !          2608:          `unsigned long int'.
        !          2609:        * longlong.h: Add `int' after `unsigned' and `long' everywhere.
        !          2610:
        !          2611: Wed Aug 14 18:06:48 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2612:
        !          2613:        * longlong.h: Add ARM, i860 support.
        !          2614:
        !          2615:        * mpn_lshift, mpn_rshift, mpn_rshiftci: Rename *_word with *_limb.
        !          2616:
        !          2617: Tue Aug 13 21:57:43 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2618:
        !          2619:        * _mpz_get_str.c, _mpz_set_str.c, mpz_sizeinb.c (mpz_sizeinbase),
        !          2620:          mpz_out_str.c, mout.c: Remove declaration of __mp_bases.
        !          2621:        * gmp-impl.h: Put it here, and make it `const'.
        !          2622:        * cre-conv-tab.c (main): Make struct __mp_bases `const'.
        !          2623:
        !          2624: Mon Aug 12 17:11:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2625:
        !          2626:        * cre-conv-tab.c (main): Use %lu in printf for long ints.
        !          2627:
        !          2628:        * dist-Makefile: Fix cre-* dependencies.
        !          2629:
        !          2630:        * cre-conv-tab.c (main): Output field big_base_inverted.
        !          2631:
        !          2632:        * gmp-impl.h (struct bases): New field big_base_inverted.
        !          2633:        * gmp-impl.h (struct bases): Change type of chars_per_limb_exactly
        !          2634:          to float (in order to keep the structure smaller).
        !          2635:
        !          2636:        * mp.h, gmp.h: Change names of macros for avoiding multiple
        !          2637:          includes.
        !          2638:
        !          2639: Fri Aug  9 18:01:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2640:
        !          2641:        * _mpz_get_str: Only shift limb array if normalization_steps != 0
        !          2642:          (optimization).
        !          2643:
        !          2644:        * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
        !          2645:        * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
        !          2646:          and m1 (overlap between output and input operands did not work).
        !          2647:        * longlong.h: Add VAX, ROMP and HP-PA support.
        !          2648:        * longlong.h: Sort the machine dependent code in alphabetical order
        !          2649:          on the CPU name.
        !          2650:        * longlong.h: Hack comments.
        !          2651:
        !          2652: Thu Aug  8 14:13:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2653:
        !          2654:        Released 1.0beta.9.
        !          2655:
        !          2656:        * longlong.h: Define BITS_PER_LONG to 32 if it's not already
        !          2657:          defined.
        !          2658:        * Define __BITS4 to BITS_PER_LONG / 4.
        !          2659:        * Don't assume 32 bit word size in "count_leading_zeros" C macro.
        !          2660:          Use __BITS4 and BITS_PER_LONG instead.
        !          2661:
        !          2662:        * longlong.h: Don't #undef internal macros (reverse change of Aug 3).
        !          2663:
        !          2664:        * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
        !          2665:          even for plain mc68000.
        !          2666:
        !          2667:        * mpq_div: Flip the sign of the numerator *and* denominator of the
        !          2668:          result if the intermediate denominator is negative.
        !          2669:
        !          2670:        * mpz_and.c, mpz_ior.c: Use MPN_COPY for all copying operations.
        !          2671:
        !          2672:        * mpz_and.c: Compute the result size more conservatively.
        !          2673:        * mpz_ior.c: Likewise.
        !          2674:
        !          2675:        * mpz_realloc: Never allocate zero space even if NEW_SIZE == 0.
        !          2676:
        !          2677:        * dist-Makefile: Remove madd.c, msub.c, pow.c, mult.c, gcd.c from
        !          2678:          BSDMP_SRCS.
        !          2679:
        !          2680:        * dist-Makefile: Create mult.c from mpz_mul.c.
        !          2681:        * mult.c: Delete this file.
        !          2682:
        !          2683:        * _mpz_set_str: Normalize the result (for bases 2, 4, 8... it was
        !          2684:          not done properly if the input string had many leading zeros).
        !          2685:
        !          2686: Sun Aug  4 16:54:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2687:
        !          2688:        * dist-Makefile (gcd.c, pow.c, madd.c, msub.c): Make these targets
        !          2689:          work with VPATH and GNU MP.
        !          2690:
        !          2691:        * mpz_gcd: Don't call mpz_set; inline its functionality.
        !          2692:
        !          2693:        * mpq_mul, mpq_div: Fix several serious typos.
        !          2694:
        !          2695:        * mpz_dmincl, mpz_div: Don't normalize the quotient if it's already
        !          2696:          zero.
        !          2697:
        !          2698:        * mpq_neg.c: New file.
        !          2699:
        !          2700:        * dist-Makefile: Remove obsolete dependencies.
        !          2701:
        !          2702:        * mpz_sub: Fix typo.
        !          2703:
        !          2704:        Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
        !          2705:        * mpq_mul, mpq_div: Initialize tmp[12] variables even when the gcd
        !          2706:          is just 1.
        !          2707:        * mpz_gcd: Handle gcd(0,v) and gcd(u,0) in special cases.
        !          2708:
        !          2709: Sat Aug  3 23:45:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2710:
        !          2711:        * longlong.h: Clean up comments.
        !          2712:        * longlong.h: #undef internal macros.
        !          2713:
        !          2714: Fri Aug  2 18:29:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2715:
        !          2716:        * mpq_set_si, mpq_set_ui: Canonicalize 0/x to 0/1.
        !          2717:        * mpq_set_si, mpq_set_ui: Cosmetic formatting changes.
        !          2718:
        !          2719:        * mpz_dmincl.c: Normalize the remainder before shifting it back.
        !          2720:
        !          2721:        * mpz_dm_ui.c (mpz_divmod_ui): Handle rem == dividend.
        !          2722:
        !          2723:        * mpn_div.c: Fix comment.
        !          2724:
        !          2725:        * mpz_add.c, mpz_sub.c: Use __MP_INT (not MP_INT) for intermediate
        !          2726:          type, in order to work for both GNU and Berkeley functions.
        !          2727:
        !          2728:        * dist-Makefile: Create gcd.c from mpz_gcd.c, pow.c from mpz_powm,
        !          2729:          madd.c from mpz_add.c, msub.c from mpz_sub.c.
        !          2730:          respectively.
        !          2731:        * pow.c, gcd.c, mpz_powmincl.c, madd.c, msub.c: Remove these.
        !          2732:        * mpz_powm.c, mpz_gcd.c, mpz_add.c, mpz_sub.c: #ifdef for GNU and
        !          2733:          Berkeley function name variants.
        !          2734:        * dist-Makefile: Add created files to "clean" target.
        !          2735:
        !          2736: Tue Jul 16 15:19:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2737:
        !          2738:        * mpq_get_den: No need for absolute value of the size, the
        !          2739:          denominator is always positive.
        !          2740:
        !          2741:        * mpz_get_ui: If the operand is zero, return zero.  Don't read the
        !          2742:          limb array!
        !          2743:
        !          2744:        * mpz_dmincl.c: Don't ignore the return value from _mpn_rshift, it
        !          2745:          is the size of the remainder.
        !          2746:
        !          2747: Mon Jul 15 11:08:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2748:
        !          2749:        * Several files: Remove unused variables and functions.
        !          2750:
        !          2751:        * gmp-impl.h: Declare _mpz_impl_sqrt.
        !          2752:
        !          2753:        * mpz_dm_ui (mpz_divmod_ui), sdiv: Shift back the remainder if
        !          2754:          UDIV_NEEDS_NORMALIZATION.  (Fix from Brian Beuning.)
        !          2755:
        !          2756:        * mpz_dm_ui.c, sdiv: Replace *digit with *limb.
        !          2757:
        !          2758:        * mpz_ior: Add missing else statement in -OP1 | -OP2 case.
        !          2759:        * mpz_ior: Add missing else statement in OP1 | -OP2 case.
        !          2760:        * mpz_ior: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
        !          2761:        * mpz_ior: Duplicate _mpz_realloc code.
        !          2762:
        !          2763:        * mpz_and: Add missing else statement in -OP1 & -OP2 case.
        !          2764:        * mpz_and: Rewrite OP1 & -OP2 case.
        !          2765:        * mpz_and: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
        !          2766:
        !          2767:        * mpz_gcdext: Loop in d1.size (not b->size).  (Fix from Brian
        !          2768:          Beuning.)
        !          2769:
        !          2770:        * mpz_perfsqr: Fix argument order in _mpz_impl_sqrt call.  (Fix from
        !          2771:          Brian Beuning.)
        !          2772:
        !          2773: Fri Jul 12 17:10:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2774:
        !          2775:        * mpq_set.c, mpq_set_ui.c, mpq_set_si.c, mpq_inv.c,
        !          2776:          mpq_get_num.c, mpq_get_den.c, mpq_set_num.c, mpq_set_den.c:
        !          2777:          New files.
        !          2778:
        !          2779:        * mpz_dmincl.c: Remove second re-allocation of rem->d.  It
        !          2780:          was never executed.
        !          2781:
        !          2782:        * dist-Makefile: Use `-r' instead of `-x' for test for ranlib (as
        !          2783:          some unixes' test doesn't have the -r option).
        !          2784:
        !          2785:        * *.*: Cast allocated pointers to the appropriate type (makes old C
        !          2786:          compilers happier).
        !          2787:
        !          2788:        * cre-conv-tab.c (main): Divide max_uli by 2 and multiply again
        !          2789:          after conversion to double.  (Kludge for broken C compilers.)
        !          2790:
        !          2791:        * dist-Makefile (stamp-stddefh): New target.  Test if "stddef.h"
        !          2792:          exists in the system and creates a minimal one if it does not
        !          2793:          exist.
        !          2794:        * cre-stddefh.c: New file.
        !          2795:        * dist-Makefile: Make libgmp.a and libmp.a depend on stamp-stddefh.
        !          2796:        * dist-Makefile (clean): Add some more.
        !          2797:        * gmp.h, mp.h: Unconditionally include "stddef.h".
        !          2798:
        !          2799: Thu Jul 11 10:08:21 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2800:
        !          2801:        * min: Do ungetc of last read character.
        !          2802:        * min.c: include stdio.h.
        !          2803:
        !          2804:        * dist-Makefile: Go via tmp- files for cre* redirection.
        !          2805:        * dist-Makefile: Add tmp* to "clean" target.
        !          2806:
        !          2807:        * dist-Makefile: Use LOCAL_CC for cre*, to simplyfy cross
        !          2808:          compilation.
        !          2809:
        !          2810:        * gmp.h, mp.h: Don't define NULL here.
        !          2811:        * gmp-impl.h: Define it here.
        !          2812:
        !          2813: Wed Jul 10 14:13:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2814:
        !          2815:        * mpz_mod_2exp: Don't copy too much, overwriting most significant
        !          2816:          limb.
        !          2817:
        !          2818:        * mpz_and, mpz_ior: Don't read op[12]_ptr from op[12] when
        !          2819:          reallocating res, if op[12]_ptr got their value from alloca.
        !          2820:
        !          2821:        * mpz_and, mpz_ior: Clear up comments.
        !          2822:
        !          2823:        * cre-mparam.c: Output parameters for `short int' and `int'.
        !          2824:
        !          2825:        * mpz_and, mpz_ior: Negate negative op[12]_size in several places.
        !          2826:
        !          2827: Tue Jul  9 18:40:30 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2828:
        !          2829:        * gmp.h, mp.h: Test for _SIZE_T defined before typedef'ing size_t.
        !          2830:          (Fix for Sun lossage.)
        !          2831:
        !          2832:        * gmp.h: Add declaration of mpq_clear.
        !          2833:
        !          2834:        * dist-Makefile: Chack if "ranlib" exists, before using it.
        !          2835:        * dist-Makefile: Add mpz_sqrtrem.c and mpz_size.c.
        !          2836:        * mpz_powm: Fix typo, "pow" instead of "mpz_powm".
        !          2837:
        !          2838: Fri Jul  5 19:08:09 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2839:
        !          2840:        * move: Remove incorrect comment.
        !          2841:
        !          2842:        * mpz_free, mpq_free: Rename to *_clear.
        !          2843:        * dist-Makefile: Likewise.
        !          2844:        * mpq_add, mpq_sub, mpq_mul, mpq_div: Likewise.
        !          2845:
        !          2846:        * mpz_dmincl.c: Don't call "move", inline its functionality.
        !          2847:
        !          2848: Thu Jul  4 00:06:39 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2849:
        !          2850:        * Makefile: Include dist-Makefile.  Fix dist target to include
        !          2851:          dist-Makefile (with the name "Makefile" in the archive).
        !          2852:
        !          2853:        * dist-Makefile: New file made from Makefile.  Add new mpz_...
        !          2854:          functions.
        !          2855:
        !          2856:        * mpz_powincl.c New file for mpz_powm (Berkeley MP pow)
        !          2857:          functionality.  Avoids code duplication.
        !          2858:        * pow.c, mpz_powm.c: Include mpz_powincl.c
        !          2859:
        !          2860:        * mpz_dmincl.c: New file containing general division code.  Avoids
        !          2861:          code duplication.
        !          2862:        * mpz_dm.c (mpz_divmod), mpz_mod.c (mpz_mod), mdiv.c (mdiv): Include
        !          2863:          mpz_dmincl.c.
        !          2864:
        !          2865:        * _mpz_get_str: Don't call memmove, unless HAS_MEMMOVE is defined.
        !          2866:          Instead, write the overlapping memory copying inline.
        !          2867:
        !          2868:        * mpz_dm_ui.c: New name for mpz_divmod_ui.c (SysV file name limit).
        !          2869:
        !          2870:        * longlong.h: Don't use #elif.
        !          2871:        * mpz_do_sqrt.c: Likewise.
        !          2872:
        !          2873:        * longlong.h: Use __asm__ instead of asm.
        !          2874:        * longlong.h (sparc udiv_qrnnd): Make it to one string over several
        !          2875:          lines.
        !          2876:
        !          2877:        * longlong.h: Preend __ll_ to B, highpart, and lowpart.
        !          2878:
        !          2879:        * longlong.h: Move array t in count_leading_zeros to the new file
        !          2880:          mp_clz_tab.c.  Rename the array __clz_tab.
        !          2881:        * All files: #ifdef for traditional C compatibility.
        !          2882:
        !          2883: Wed Jul  3 11:42:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2884:
        !          2885:        * mpz_and: Initialize res_ptr always (used to be initialized only
        !          2886:          when reallocating).
        !          2887:
        !          2888:        * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
        !          2889:          `unsigned int', and cast the multiplications.  This way
        !          2890:          compilers more easily can choose cheaper multiplication
        !          2891:          instructions.
        !          2892:
        !          2893:        * mpz_mod_2exp: Handle input argument < modulo argument.
        !          2894:        * mpz_many: Make sure mp_size is the type for sizes, not int.
        !          2895:
        !          2896:        * mpz_init, mpz_init_set*, mpq_init, mpq_add, mpq_sub, mpq_mul,
        !          2897:          mpq_div: Change mpz_init* interface.  Structure pointer as first
        !          2898:          arg to initialization function, no longer *return* struct.
        !          2899:
        !          2900: Sun Jun 30 19:21:44 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2901:
        !          2902:        * Rename mpz_impl_sqrt.c to mpz_do_sqrt.c to satisfy SysV 14
        !          2903:          character file name length limit.
        !          2904:
        !          2905:        * Most files: Rename MINT to MP_INT.  Rename MRAT to MP_RAT.
        !          2906:        * mpz_sizeinb.c: New file with function mpz_sizeinbase.
        !          2907:        * mp_bases.c: New file, with array __mp_bases.
        !          2908:        * _mpz_get_str, _mpz_set_str: Remove struct bases, use extern
        !          2909:          __mp_bases instead.
        !          2910:        * mout, mpz_out_str: Use array __mp_bases instead of function
        !          2911:          _mpz_get_cvtlen.
        !          2912:        * mpz_get_cvtlen.c: Remove.
        !          2913:        * Makefile: Update.
        !          2914:
        !          2915: Sat Jun 29 21:57:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2916:
        !          2917:        * longlong.h (__sparc8__ umul_ppmm): Insert 3 nop:s for wr delay.
        !          2918:        * longlong.h (___IBMR2__): Define umul_ppmm, add_ssaaaa, sub_ddmmss.
        !          2919:        * longlong.h (__sparc__): Don't call .umul; expand asm instead.
        !          2920:          Don't define __umulsidi3 (i.e. use default definition).
        !          2921:
        !          2922: Mon Jun 24 17:37:23 1991  Torbjorn Granlund  (tege@amon.sics.se)
        !          2923:
        !          2924:        * _mpz_get_str.c (num_to_ascii_lower_case, num_to_ascii_upper_case):
        !          2925:          Swap 't' and 's'.
        !          2926:
        !          2927: Sat Jun 22 13:54:01 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2928:
        !          2929:        * mpz_gcdext.c: New file.
        !          2930:
        !          2931:        * mpn_mul: Handle carry and unexpected operand sizes in last
        !          2932:          additions/subtractions.  (Bug trigged when v1_size == 1.)
        !          2933:
        !          2934:        * mp*_alloc*: Rename functions to mp*_init* (files to mp*_iset*.c).
        !          2935:        * mpq_*: Call mpz_init*.
        !          2936:
        !          2937:        * mpz_pow_ui, rpow: Use _mpn_mul instead of mult.  Restructure.
        !          2938:
        !          2939: Wed May 29 20:32:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2940:
        !          2941:        * mpz_get_cvtlen: multiply by size.
        !          2942:
        !          2943: Sun May 26 15:01:15 1991  Torbjorn Granlund  (tege@bella.nada.kth.se)
        !          2944:
        !          2945:        Alpha-release 0.95.
        !          2946:
        !          2947:        Fixes from Doug Lea (dl@g.oswego.edu):
        !          2948:        * mpz_mul_ui: Loop to MULT_SIZE (not PROD_SIZE).  Adjust PROD_SIZE
        !          2949:          correctly.
        !          2950:        * mpz_div: Prepend _ to mpz_realloc.
        !          2951:        * mpz_set_xs, mpz_set_ds: Fix typos in function name.
        !          2952:
        !          2953: Sat May 25 22:51:16 1991  Torbjorn Granlund  (tege@bella.nada.kth.se)
        !          2954:
        !          2955:        * mpz_divmod_ui: New function.
        !          2956:
        !          2957:        * sdiv: Make the sign of the remainder correct.
        !          2958:
        !          2959: Thu May 23 15:28:24 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2960:
        !          2961:        * Alpha-release 0.94.
        !          2962:
        !          2963:        * mpz_mul_ui: Include longlong.h.
        !          2964:
        !          2965:        * mpz_perfsqr.c (mpz_perfect_square_p): Call _mpz_impl_sqrt instead
        !          2966:          of msqrt.
        !          2967:
        !          2968:        * mpz_impl_sqrt: Don't call "move", inline its functionality.
        !          2969:
        !          2970:        * mdiv: Use MPN_COPY instead of memcpy.
        !          2971:        * rpow, mpz_mul, mpz_mod_2exp: Likewise.
        !          2972:        * pow.c: Likewise, and fix bug in the size arg.
        !          2973:
        !          2974:        * xtom: Don't use mpz_alloc, inline needed code instead.  Call
        !          2975:          _mpz_set_str instead of mpz_set_str.
        !          2976:
        !          2977:        * Makefile: Make two libraries, libmp.a and libgmp.a.
        !          2978:
        !          2979: Thu May 22 20:25:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2980:
        !          2981:        * Add manual to distribution.
        !          2982:        * Fold in many missing routines descibed in the manual.
        !          2983:        * Update Makefile.
        !          2984:
        !          2985: Wed May 22 13:48:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2986:
        !          2987:        * mpz_set_str: Make it handle 0x prefix OK.
        !          2988:
        !          2989: Sat May 18 18:31:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2990:
        !          2991:        * memory.c (_mp_default_reallocate): Swap OLD_SIZE and NEW_SIZE
        !          2992:          arguments.
        !          2993:        * mpz_realloc (_mpz_realloc): Swap in call to _mp_reallocate_func.
        !          2994:        * min: Likewise.
        !          2995:
        !          2996: Thu May 16 20:43:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          2997:
        !          2998:        * memory.c: Make the default allocations functions global.
        !          2999:        * mp_set_fns (mp_set_memory_functions): Make a NULL pointer mean the
        !          3000:          default memory function.
        !          3001:
        !          3002: Wed May  8 20:02:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3003:
        !          3004:        * mpz_div: Handle DEN the same as QUOT correctly by copying DEN->D
        !          3005:          even if no normalization is needed.
        !          3006:        * mpz_div: Rework reallocation scheme, to avoid excess copying.
        !          3007:
        !          3008:        * mpz_sub_ui.c, mpz_add_ui.c: New files.
        !          3009:
        !          3010:        * mpz_cmp.c, mpz_cmp_ui.c: New files.
        !          3011:
        !          3012:        * mpz_mul_2exp: Handle zero input MINT correctly.
        !          3013:
        !          3014:        * mpn_rshiftci:  Don't handle shift counts > BITS_PER_MP_DIGIT.
        !          3015:
        !          3016:        * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.
        !          3017:
        !          3018: Tue May  7 15:44:58 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3019:
        !          3020:        * mpn_rshift: Don't handle shift counts > BITS_PER_MP_DIGIT.
        !          3021:        * mpz_div_2exp: Don't call _mpn_rshift with cnt > BITS_PER_MP_DIGIT.
        !          3022:        * gcd, mpz_gcd: Likewise.
        !          3023:
        !          3024:        * gcd, mpz_gcd: Handle common 2 factors correctly.
        !          3025:
        !          3026: Mon May  6 20:22:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3027:
        !          3028:        * gmp-impl.h (MPN_COPY): Inline a loop instead of calling memcpy.
        !          3029:
        !          3030:        * gmp-impl.h, mpz_get_str, rpow: Swap DST and SRC in TMPCOPY* macros.
        !          3031:
        !          3032: Sun May  5 15:16:23 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3033:
        !          3034:        * mpz_div: Remove test for QUOT == 0.
        !          3035:
        !          3036: Sun Apr 28 20:21:04 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3037:
        !          3038:        * pow: Don't make MOD normalization in place, as it's a bad idea to
        !          3039:          write on an input parameter.
        !          3040:        * pow: Reduce BASE if it's > MOD.
        !          3041:        * pow, mult, mpz_mul: Simplify realloc code.
        !          3042:
        !          3043: Sat Apr 27 21:03:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3044:
        !          3045:        * Install multplication using Karatsuba's algorithm as default.
        !          3046:
        !          3047: Fri Apr 26 01:03:57 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3048:
        !          3049:        * msqrt: Store in ROOT even for U==0, to make msqrt(0) defined.
        !          3050:
        !          3051:        * mpz_div_2exp.c, mpz_mul_2exp.c: New files for shifting right and
        !          3052:          left, respectively.
        !          3053:        * gmp.h: Add definitions for mpz_div_2exp and mpz_mul_2exp.
        !          3054:
        !          3055:        * mlshift.c, mrshift.c: Remove.
        !          3056:
        !          3057: Wed Apr 24 21:39:22 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3058:
        !          3059:        * mpn_mul: Check only for m2_size == 0 in function header.
        !          3060:
        !          3061: Mon Apr 22 01:31:57 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3062:
        !          3063:        * karatsuba.c: New file for Karatsuba's multplication algorithm.
        !          3064:
        !          3065:        * mpz_random, mpz_init, mpz_mod_2exp: New files and functions.
        !          3066:
        !          3067:        * mpn_cmp: Fix header comment.
        !          3068:
        !          3069: Sun Apr 21 00:10:44 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3070:
        !          3071:        * pow: Switch off initial base reduction.
        !          3072:
        !          3073: Sat Apr 20 22:06:05 1991  Torbjorn Granlund  (tege@echnaton.sics.se)
        !          3074:
        !          3075:        * mpz_get_str: Don't generate initial zeros for initial word.
        !          3076:          Used to write outside of allocated storage.
        !          3077:
        !          3078: Mon Apr 15 15:48:08 1991  Torbjorn Granlund  (tege@zevs.sics.se)
        !          3079:
        !          3080:        * _mpz_realloc: Make it accept size in number of mp_digits.
        !          3081:        * Most functions: Use new _mpz_realloc definition.
        !          3082:
        !          3083:        * mpz_set_str: Remove calls _mp_free_func.
        !          3084:
        !          3085:        * Most functions: Rename mpn_* to _mpn_*.  Rename mpz_realloc to
        !          3086:          _mpz_realloc.
        !          3087:        * mpn_lshift: Redefine _mpn_lshift to only handle small shifts.
        !          3088:        * mdiv, mpz_div, ...: Changes for new definition of _mpn_lshift.
        !          3089:        * msqrt, mp*_*shift*: Define cnt as unsigned (for speed).
        !          3090:
        !          3091: Sat Apr  6 14:05:16 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
        !          3092:
        !          3093:        * mpn_mul: Multiply by the first digit in M2 in a special
        !          3094:          loop instead of zeroing the product area.
        !          3095:
        !          3096:        * mpz_abs.c: New file.
        !          3097:
        !          3098:        * sdiv: Implement as mpz_div_si for speed.
        !          3099:
        !          3100:        * mpn_add: Make it work for second source operand == 0.
        !          3101:
        !          3102:        * msub: Negate the correct operand, i.e. V before swapping, not
        !          3103:          the smaller of U and V!
        !          3104:        * madd, msub: Update abs_* when swapping operands, and not after
        !          3105:          (optimization).
        !          3106:
        !          3107: Fri Apr  5 00:19:36 1991  Torbjorn Granlund  (tege@black.nada.kth.se)
        !          3108:
        !          3109:        * mpn_sub: Make it work for subtrahend == 0.
        !          3110:
        !          3111:        * madd, msub: Rewrite to minimize mpn_cmp calls.  Ensure
        !          3112:          mpn_cmp is called with positive sizes (used to be called
        !          3113:          incorrectly with negative sizes sometimes).
        !          3114:
        !          3115:        * msqrt: Make it divide by zero if fed with a negative number.
        !          3116:        * Remove if statement at end of precision calculation that was
        !          3117:          never true.
        !          3118:
        !          3119:        * itom, mp.h: The argument is of type short, not int.
        !          3120:
        !          3121:        * mpz_realloc, gmp.h: Make mpz_realloc return the new digit pointer.
        !          3122:
        !          3123:        * mpz_get_str.c, mpz_set_str.c, mpz_new_str.c: Don't include mp.h.
        !          3124:
        !          3125:        * Add COPYING to distribution.
        !          3126:
        !          3127:        * mpz_div_ui.c, mpz_div_si.c, mpz_new_ui.c, mpz_new_si.c: New files.
        !          3128:
        !          3129: Fri Mar 15 00:26:29 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
        !          3130:
        !          3131:        * Add Copyleft headers to all files.
        !          3132:
        !          3133:        * mpn_mul.c, mpn_div.c: Add header comments.
        !          3134:        * mult.c, mdiv.c: Update header comments.
        !          3135:
        !          3136:        * mpq_add.c, mpq_sub.c, mpq_div.c, mpq_new.c, mpq_new_ui.c,
        !          3137:          mpq_free.c: New files for rational arithmetics.
        !          3138:
        !          3139:        * mpn_lshift.c: Avoid writing the most significant word if it is 0.
        !          3140:
        !          3141:        * mdiv.c: Call mpn_lshift for the normalization.
        !          3142:        * mdiv.c: Remove #ifdefs.
        !          3143:
        !          3144:        * Makefile: Add ChangeLog to DISTFILES.
        !          3145:
        !          3146:        * mpn_div.c: Make the add_back code work (by removing abort()).
        !          3147:        * mpn_div.c: Make it return if the quotient is size as compared
        !          3148:          with the difference NSIZE - DSIZE.  If the stored quotient is
        !          3149:          larger than that, return 1, otherwise 0.
        !          3150:        * gmp.h: Fix mpn_div declaration.
        !          3151:        * mdiv.c: Adopt call to mpn_div.
        !          3152:        * mpz_div.c: New file (developed from mdiv.c).
        !          3153:
        !          3154:        * README: Update routine names.
        !          3155:
        !          3156: Thu Mar 14 18:45:28 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
        !          3157:
        !          3158:        * mpq_mul.c: New file for rational multplication.
        !          3159:
        !          3160:        * gmp.h: Add definitions for rational arithmetics.
        !          3161:
        !          3162:        * mpn_div: Kludge the case where the high numerator digit > the
        !          3163:          high denominator digit.  (This code is going to be optimized later.)
        !          3164:
        !          3165:        * New files: gmp.h for GNU specific functions, gmp-common.h for
        !          3166:          definitions common for mp.h and gmp.h.
        !          3167:
        !          3168:        * Ensure mp.h just defines what BSD mp.h defines.
        !          3169:
        !          3170:        * pow.c: Fix typo for bp allocation.
        !          3171:
        !          3172:        * Rename natural number functions to mpn_*, integer functions to
        !          3173:          mpz_*.
        !          3174:
        !          3175: Tue Mar  5 18:47:04 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
        !          3176:
        !          3177:        * mdiv.c (_mp_divide, case 2): Change test for estimate of Q from
        !          3178:          "n0 >= r" to "n0 > r".
        !          3179:
        !          3180:        * msqrt: Tune the increasing precision scheme, to do fewer steps.
        !          3181:
        !          3182: Tue Mar  3 18:50:10 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
        !          3183:
        !          3184:        * msqrt: Use the low level routines.  Use low precision in the
        !          3185:        beginning, and increase the precision as the result converges.
        !          3186:        (This optimization gave a 6-fold speedup.)
        !          3187: 
        !          3188: Local Variables:
        !          3189: mode: indented-text
        !          3190: left-margin: 8
        !          3191: fill-column: 75
        !          3192: version-control: never
        !          3193: End:

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