I think I’ve found some gems in the iPhone OS (iOS 4).
I found that there’re 128-bit, 256-bit, 512-bit and 1024-bit integer data types, provided by the Accelerate Framework. There’re also Apple’s implementation of Basic Linear Algebra Subprograms (BLAS), Apple’s implementation of LAPACK (Linear Algebra PACKage), and Digital Signal Processing (DSP) routines.
I’m so excited because BLAS and LAPACK are the best (and the most famous) libraries as far as I know. (In case if you’ve never heard their names, just Google them and you’ll understand.) They let you solve simultaneous linear equations (i.e. Ax = b in vector / matrix notation), do fast matrix multiplications, and more.
I’m quite sure that the libraries are available on both PowerPC- and Intel-based Mac’s. However, when I look up the “What’s new in iOS4” documentation in Xcode, it says that the data types are “not supported on any architecture”. When I compare the vecLib Reference for Mac OS X and vecLlib Reference for iOS, I also found that functions are missing in the iOS version.
My question is:
Has anyone compiled any program using these libraries (bignum is my primary area of interest) and run them successfully on a real iPhone device? (Answerers who can demonstrate their actual experience on the librarie(s) are more appreciated.)
Here are the links to the Reference Library:
Accelerate Framework (iOS Reference Library)
vecLib Reference (Mac OS X Reference Library)
vecLib Reference (iOS Reference Library)
Here are official FAQs of BLAS and LAPACK:
BLAS FAQ
LAPACK FAQ
I’ve done some work in OpenCV based on Yoshimasa Niwa’s project here:
http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en
His current code builds using the Accelerate framework (see the custom patches).