riordanmr@clvax1.cl.msu.edu (Mark Riordan) (04/18/91)
Archive-name: math/bignum/msu-bignum-archive/1991-04-17 Archive-directory: cl-next1.cl.msu.edu:/math/ [35.8.4.21] Original-posting-by: riordanmr@clvax1.cl.msu.edu (Mark Riordan) Original-subject: Large Integer Arithmetic Packages Reposted-by: emv@msen.com (Edward Vielmetti, MSEN) In response to recent Email requests, I have assembled this list of large-integer packages of which I have heard. For your convenience, I have placed compressed tar files of most of these on cl-next1.cl.msu.edu (35.8.4.21). They are available for anonymous FTP in the directory "math". However, what I have may not be the most current version in all cases. Here they are, in no particular order: mp Multiple Precision package that comes with some Unixes Multiple precision package accessed via -lmp flag on your compiler. Provides +, -, *, /, gcd, exponentiation, sqrt. Comes with SunOS, NeXT Mach, BBN Mach 1000, and probably a few others. See "man mp". Object code only, of course. PARI Henri Cohen, et al., Universite Bordeaux I, Paris, FRANCE Multiple precision desk calculator and library routines. Contains optimized assembly code for Motorola 68020, semi-optimized code for SPARC, and apparently rather slow generic C version. Does both integers and reals. Does vectors and matrices as well as scalars. Contains a number of advanced functions, some of which I've never heard of. ("Weber's function"?) Has a factorization function, primality test, & other related stuff. Plenty of TEX documentation. Public domain, but you can't distribute modified versions. Filename: pari-1.32.1.tar.Z Arithmetic in Global Fields (Arith) Kevin R. Coombes, David R. Grant Package of routines for arbitrary precision integers or polynomials over finite fields. Includes basic +, -, *, / and a few others like gcd. Source code in C. Distributed under the terms of the GNU public license. Includes man pages and TEX documentation. Filename: arith.tar.Z Arbitrary Precision Math Library Llyod Zusman Los Gatos, CA C package which supports basic +, -, *, /. Provides for radix points (i.e., non-integers). Not as polished as the others here. Posted to comp.sources.misc in October 1988. Filename: ampl.tar.Z BigNum J. Vuillemin, INRIA, FRANCE, and others. Distributed by Digital Equipment Paris Research Lab (DECPRL) A "portable and efficient arbitrary-precision integer" package. C code, with generic C "kernel", plus assembly "kernels" for MC680x0, Intel i960, MIPS, NS32032, Pyramid, and of course VAX. This is probably one of the better-known packages of this type. Implements +, -, *, /, mod, plus logical operations OR, AND, XOR. Both signed and unsigned arithmetic available. Available via email from librarian@decprl.dec.com. You will receive 5 shell archives. Give your postal address and you will also receive printed documentation from France. Package includes TEX documentation. Publicly available for non-commercial use. Filename: bignum.tar.Z Lenstra's package Arjen Lenstra Bellcore Portable unsigned integer package written entirely in C. Includes +, -, *, /, exponentiation, mod, primality testing, sqrt, random number generator, and a few others. The package was uncommented and undocumented; I have tried to add enough comments to get by. This is the only of these packages that I have actually used. It works well and is very portable. I haven't done any benchmarks against the others, but the code looks clever & Lenstra is an accomplished number theorist. Unlike the other packages here, this one requires you to allocate storage statically--only a problem if your numbers are really huge. Arjen has placed the code in the public domain. Filename: lenstra.tar.Z SPX Kannan Alagappan & Joseph Tardo, DEC This is a huge prototype public key authentication system based on RSA. I mention it here because those who have heard of SPX have probably correctly guessed that it contains a large integer package and I want to inform you that the large integer package it contains is indeed DEC's BigNum from France. You can get a beta test copy of SPX from crl.dec.com (192.58.206.2). Use it only for testing, as it "may" expire on a certain date. Mark Riordan riordanmr@clvax1.cl.msu.edu Michigan State University 17 April 1991 -- comp.archives file verification cl-next1.cl.msu.edu total 718 -rw-r--r-- 1 ftp other 4287 Apr 17 22:24 BIGNUMS.TXT -rw-r--r-- 1 ftp other 74733 Apr 17 22:07 apml.tar.Z -rw-r--r-- 1 ftp other 72153 Apr 17 21:41 arith.tar.Z -rw-r--r-- 1 ftp other 146131 Apr 17 21:44 bignum.tar.Z -rw-r--r-- 1 ftp other 25345 Apr 17 22:05 lenstra.tar.Z -rw-r--r-- 1 ftp other 389604 Apr 17 21:41 pari-1.32.1.tar.Z found msu-bignum-archive ok cl-next1.cl.msu.edu:/math/