Bignum, линейная алгебра и цифровая обработка сигналов на iPhone OS (iOS 4) - PullRequest
6 голосов
/ 09 августа 2010

Мне кажется, я нашел несколько драгоценных камней в iPhone OS (iOS 4).

Я обнаружил, что есть 128-битные, 256-битные, 512-битные и 1024-битные целочисленные типы данных, предоставляемые Accelerate Framework . Также есть реализация Apple подпрограмм базовой линейной алгебры (BLAS), реализация Apple LAPACK (линейной алгебры PACKage) и подпрограмм цифровой обработки сигналов (DSP).

Я так взволнован, потому что BLAS и LAPACK - лучшие (и самые известные) библиотеки, насколько я знаю. (Если вы никогда не слышали их имен, просто гуглите их, и вы поймете.) Они позволяют вам решать одновременные линейные уравнения (например, A x = b в векторе / матричная запись), делайте быстрые умножения матриц и многое другое.

Я вполне уверен, что библиотеки доступны как для Mac на базе PowerPC, так и для Intel. Однако, когда я просматриваю документацию «Что нового в iOS4» в XCode, он говорит, что типы данных «не поддерживаются ни в одной архитектуре». Когда я сравнил Справочник vecLib для Mac OS X и Справочник vecLlib для iOS , я также обнаружил, что в версии для iOS отсутствуют функции.

Мой вопрос:
Кто-нибудь компилировал какую-либо программу с использованием этих библиотек (bignum - моя основная область интересов) и успешно запускал их на реальном устройстве iPhone? (Отвечающие, которые могут продемонстрировать свой фактический опыт работы с библиотеками, получают более высокую оценку.)

Вот ссылки на справочную библиотеку:
Accelerate Framework (Справочная библиотека iOS)
Справочник по vecLib (Справочная библиотека Mac OS X)
Справочник по vecLib (Справочная библиотека iOS)

Вот официальные часто задаваемые вопросы о BLAS и LAPACK:
BLAS FAQ
LAPACK FAQ

Ответы [ 2 ]

2 голосов
/ 10 августа 2010

Несмотря на то, что я еще не использовал Accelerate в поставляемом приложении, я многое получил от сессии WWDC 2010 от Apple 202 - «Фреймворк Accelerate для iPhone OS». Если вы заинтересованы в этой структуре, я настоятельно рекомендую посмотреть это видео.

Хотя многие из этих функций можно использовать на iPhone, еще не все из них перенесены. Только vDSP, BLAS и LAPACK доступны для использования в iOS 4.0, хотя, похоже, скоро к ним могут присоединиться другие.

Несмотря на то, что статья написана для Mac, статья «Воспользовавшись преимуществами Accelerate Framework» дает хорошее введение в среду, в дополнение к ресурсам, перечисленным выше.

1 голос
/ 17 октября 2010

Я проделал некоторую работу в OpenCV на основе проекта Йошимаса Нивы здесь:

http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en

Его текущий код создается с использованием инфраструктуры Accelerate (см. Пользовательские исправления).

...