Skip navigation.
 
mlRe: extremely large number support
FROM : Chris Ryland
DATE : Tue May 01 16:09:02 2007

On May 1, 2007, at 7:28 AM, Tim Simon wrote:

> Hi. I am planning to write a program to manipulate quite large
> numbers, in the order of between one million digits and 11 million
> digits long. Is there any way to do this using Cocoa? I have seen a
> few librarys, but nothing that will support numbers that big.


The good news is that with Objective-C you can use any C (or C++) 
library that suits your needs, without any impedance mismatch (though 
you may want to add an Obj-C wrapper for convenience).

Have you tried GMP? From their website <http://gmplib.org/>:
---

GMP is a free library for arbitrary precision arithmetic, operating 
on signed integers, rational numbers, and floating point numbers. 
There is no practical limit to the precision except the ones implied 
by the available memory in the machine GMP runs on. GMP has a rich 
set of functions, and the functions have a regular interface.

The main target applications for GMP are cryptography applications 
and research, Internet security applications, algebra systems, 
computational algebra research, etc.

GMP is carefully designed to be as fast as possible, both for small 
operands and for huge operands. The speed is achieved by using 
fullwords as the basic arithmetic type, by using fast algorithms, 
with highly optimized assembly code for the most common inner loops 
for a lot of CPUs, and by a general emphasis on speed.

GMP is faster than any other bignum library. The advantage for GMP 
increases with the operand sizes for many operations, since GMP uses 
asymptotically faster algorithms.

---

Cheers!
--Chris Ryland / Em Software, Inc. / www.emsoftware.com

Related mailsAuthorDate
mlextremely large number support Tim Simon May 1, 13:28
mlRe: extremely large number support Chris Ryland May 1, 16:09