Я пытаюсь интегрировать библиотеку FDLIBM (http://www.netlib.org/fdlibm/) в мой Swift (с некоторым кодом objc и c) тоже приложение iOS. Однако некоторые функции противоречат math.h
, который автоматически включается в iOS, то есть sin
, cos
, acos
, asin
, pow
и т. Д. Таким образом, проект не компилируется. Мне нужно использовать эти функции в FDLIBM.Интеграция библиотеки FDLIBM с iOS
Вот некоторые из функций, определенных в fdlibm.h (http://www.netlib.org/fdlibm/fdlibm.h), которые являются дубликатом для math.h
/*
* ANSI/POSIX
*/
extern double acos __P((double));
extern double asin __P((double));
extern double atan __P((double));
extern double atan2 __P((double, double));
extern double cos __P((double));
extern double sin __P((double));
extern double tan __P((double));
extern double cosh __P((double));
extern double sinh __P((double));
extern double tanh __P((double));
extern double exp __P((double));
extern double frexp __P((double, int *));
extern double ldexp __P((double, int));
extern double log __P((double));
extern double log10 __P((double));
extern double modf __P((double, double *));
extern double pow __P((double, double));
extern double sqrt __P((double));
Кто-нибудь есть решение для этого? Любые советы и советы будут оценены. Благодарю.
Update: Чтобы дать больше фона о том, что я делаю, мы строим кросс приложение платформы (Android и IOS в настоящее время), используя ту же самую услугу бэкэнда. Существуют критические вычисления с плавающей точкой, которые необходимы для того, чтобы результаты были одинаковыми для обеих сторон. Основываясь на нашем тестировании, результаты sin()
, cos()
и некоторые другие функции в fdlimb
на Android отличаются от результатов использования одних и тех же функций в math.h
в iOS. Поэтому я пытаюсь интегрировать fdlibm
в iOS, чтобы узнать, можем ли мы получить те же результаты.
Так что, если есть способ решить корень проблемы, что делает вычисление с плавающей запятой точно так же, для прошивкой и Android для этих функций pow()
, sin()
, cos()
, asin()
, acos()
, atan2()
, я не должен интегрировать fdlibm.h
C не поддерживает _methods_. Конечно, это не только Objective-C? – Olaf
@Olaf благодарит за ответ. Я хотел сказать, что функции. Я просто изменил описание, чтобы сделать его более ясным. Благодарю. – Zhao
Почему downvote? – Zhao