Re: extremely large number support
Re: extremely large number support
- Subject: Re: extremely large number support
- From: Chris Ryland <email@hidden>
- Date: Tue, 1 May 2007 10:09:02 -0400
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
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden