[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LInteger Version 0.1: A C++ MPILIB


LInteger is a C++ library designed to allow programmers to create and
perform arithmetic on objects representing nearly arbitrary precision
integers.  Thanks to C++'s support for operator overloading, the use of the
large integers in this library should be nearly as easy as the use of
regular int's. In fact, much code which performs arithmetic on regular
int's can be converted to code to perform the same arithmetic on arbitrary
precision integers merely by substituting "LInteger" for "int". 

This library is free for both commercial and non-commercial use. (See the
COPYRIGHT notice included in the source distribution for exact details.)

The current version of this library is only implemented for i386+
processors, and will, probably, only compile unhacked under gcc.
Additionally, it has only been tested on the Linux operating system, though
I am fairly confident that it will compile, unhacked, under the OS/2 and
Windows versions of gcc. (Please let me know if you get it to work!)

The basic multiprecision methods are implemented in i386+ assembly language
for high speed. Multiplication is performed recursively resulting in 
O(lg 3) performance. Modular multiplication can be performed via Montgomery
representations for a noticeable performance gain when a large number of
these modular multiplications are performed.  

HTML documentaion for all public methods is included.

There is currently no pseudo-random or probable prime number generation
included. These are my highest priorities for the next release 
which will, hopefully, come out shortly after I read Rabin-Miller. :) 

A link to the latest version of this library can be found at


Once you have the file linteger-v0.1.tar.gz, uncompress and untar it with
tar -zxvf linteger-v0.1.tar.gz. Next, cd to the newly created directory
linteger-v0.1 and read the file README for details on how to proceed. 

The message digests for linteger-v0.1.tar.gz are

MD5:    B518B338D59A8376095B9CAD74EA2E16
SHA:    445D8D1555DC18AB0DF47B9B0381F0B07D4CB644
HAVAL:  53774BA2BF60116DF9F0F476913252188DFD9D3828D19B6795BC14C19EFA7FEE

Version: 2.6.3ia
Charset: noconv