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

LInteger Version 0.1: A C++ MPILIB



-----BEGIN PGP SIGNED MESSAGE-----

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

    http://www.interchg.ubc.ca/janke/linteger/index.html 

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

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv

iQCVAwUBMitSJR6H/su8/YEZAQH3lwQAsBpNY0rEW1U5vq5hkxdnqxgk1ZZtSV3K
5gTlYu7Z3OAqsqC62Qi7LlkI2dzhrNWYr/G+OXdFfCaHfBcNlePgHsj6xF4oCy3U
iGy9yiCxP7Xs4xb8CjHYkW7S/HfVwyiY2AMxGJ/YfFzvi1MJTIT2A8z4Par5qwWe
XuG7XztGzAI=
=wq2q
-----END PGP SIGNATURE-----