iOS 内部三角函数

1、 三角函数

double sin (double);正弦

double cos (double);余弦

double tan (double);正切

 2 、反三角函数

double asin (double); 结果介于[-PI/2, PI/2]

double acos (double); 结果介于[0, PI]

double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]

double atan2 (double, double); 反正切(整圆值), 结果介于[-PI, PI]

 3 、双曲三角函数

double sinh (double);

double cosh (double);

double tanh (double);

   4 、指数与对数

double exp (double);求取自然数e的幂

double sqrt (double);开平方

double log (double); 以e为底的对数

double log10 (double);以10为底的对数

double pow(double x, double y);计算以x为底数的y次幂

float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数

5 、取整

double ceil (double); 取上整

double floor (double); 取下整

6 、绝对值

double fabs (double);求绝对值

double cabs(struct complex znum) ;求复数的绝对值

7 、标准化浮点数

double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )  double ldexp (double x, int p); 与frexp相反, 已知x, p求f

8 、取整与取余

double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分   double fmod (double, double); 返回两参数相除的余数

9 、其他

double hypot(double x, double y);已知直角三角形两个直角边长度,求斜边长度   double ldexp(double x, int exponent);计算x*(2的exponent次幂)

double poly(double x, int degree, double coeffs [] );计算多项式   nt matherr(struct exception *e);数学错误计算处理程序

反三角函数

extern float acosf(float); 

extern double acos(double);

extern longdouble acosl(longdouble);   结果介于[0,PI]     

extern float asinf(float);  结果介于[-PI/2, PI/2]

extern float atanf(float);     反正切(主值),结果介于[-PI/2, PI/2] extern float atan2f(float,float);    反正切(整圆值),结果介于[-PI, PI]     

三角函数

extern float cosf(float);余弦

extern float sinf(float);正弦

extern float tanf(float);正切 双曲三角函数

extern float acoshf(float);双曲反余弦(Hyperbolic arc cosine)函数 extern float asinhf(float);双曲反正弦(Hyperbolic arc sine)函数 extern float atanhf(float);双曲反正切(Hyperbolic arc tangent)函数 extern float coshf(float); 双曲余弦(Hyperbolic cosine)函数

extern float sinhf(float); 双曲正弦(Hyperbolic sine)函数

extern float tanhf(float); 双曲正切(Hyperbolic tangent)函数 ————————————————————————————————

指数与对数

extern float expf(float); 求取自然数e的幂

extern float exp2f(float); 计算以2为底的指数

extern float expm1f(float);以 2为底的指数结果再减 1  

extern float logf(float);以e为底的对数

extern float log10f(float);以10为底的对数

extern float log2f(float);以2为底的对数

extern float log1pf(float);  计算 1与给定值 x 的和(1+x)的自然对数(ln(1+x)) extern float logbf(float);返回以 FLT_RADIX 为底,|x| 的对数值,返回值为浮点数 extern float modff(float,float *);  取整与取余 ,  例,float f1 =0.0; float f2 = modff(8.99, &f1); 结果:f1 = 8   f2 = 0.99

extern float ldexpf(float,int);  计算 参数1乘以2的 参数2次幂    // 5 * 2^3 = ldexpf(5, 3) = 40.000000   

externfloat frexpf(float,int *);把一个浮点数分解为尾数和2为底的指数,   例 16.4 = 0.5125*2^5

extern int ilogbf(float);返回以 FLT_RADIX为底,|x| 的对数值,返回值为整数 extern float scalbnf(float,int); x * FLT_RADIXy

extern float scalblnf(float,long int); 参数1乘以FLT_RADIX的整数幂 x * FLT_RADIXy     extern float fabsf(float); 绝对值  

extern float cbrtf(float);计算参数的立方根  3√x

extern float hypotf(float,float);  计算两个数平方的和的平方根(√x2+y2)(求直角三角形的斜边长度)

extern float powf(float,float); 计算以m为底数的n次幂,  powf(m, n) extern float sqrtf(float); 开平方

extern float erff(float);返回x的高斯误差函数

extern float erfcf(float); 返回x的补余高斯误差函数 /* lgammaf, lgamma, and lgammal are not thread-safe. The thread-safe     variants lgammaf_r, lgamma_r, and lgammal_r are made available if     you define the _REENTRANT symbol before including                 */ extern float lgammaf(float);γ 函数的自然对数

extern float tgammaf(float);γ 函数 (伽玛函数) ———————————————————————————————— 浮点数的最近整数操作

extern float ceilf(float); 向上取整

extern float floorf(float); 向下取整

externfloat nearbyintf(float);通过使用当前舍入方向,舍入参数为浮点格式的一个整数值,整数。返回舍入的整数值。

extern float rintf(float);四舍五入

extern longint lrintf(float);四舍五入

extern float roundf(float);四舍五入

extern longint lroundf(float);四舍五入      /*  long long is not part of C90. Make sure you are passing -std=c99 or     -std=gnu99 or higher if you need these functions returning long longs     */

#if !(__DARWIN_NO_LONG_LONG)

extern longlong int llrintf(float);

extern longlong int llroundf(float);

#endif /* !(__DARWIN_NO_LONG_LONG) */

extern float truncf(float);幅度(到 0的距离,即绝对值)不大于给定值的最近整数 extern float fmodf(float,float);  获得浮点数除法操作的余数 extern float remainderf(float,float); 获得浮点数除法操作的带符号余数 extern float remquof(float,float, int *); 获得浮点数除法操作的带符号余数,且返回符号及操作结果的最后三位组成的整数

externfloat copysignf(float,float);用参数1的大小和参数2的符号来返回值 //输出   copysignf(2.5, -1.0) = -2.500000,  copysignf(4.0, 3) = 4.000000 extern float nanf(constchar *); 将执行时定义的字符串作为静态化非数型(Quiet NaN)操作所需的值 

extern float nextafterf(float,float); 返回x之后y方向上的下一个可描述(Representable)值

extern double nexttoward(double,long double);返回 x 之后y 方向上的下一个可描述值 externfloat fdimf(float,float);计算两参数之间正整数差异//输出   fdimf(2.5, 3.7) = 0.000000,  fdimf(5.4, 2.2) = 3.200000

extern float fmaxf(float,float);  求最大值

extern float fminf(float,float);  求最小值 extern float fmaf(float,float, float);乘累加(Multiply-add)

#define isgreater(x, y) __builtin_isgreater((x),(y))

#define isgreaterequal(x, y) __builtin_isgreaterequal((x),(y))

#define isless(x, y) __builtin_isless((x),(y)) #define islessequal(x, y) __builtin_islessequal((x),(y))

#define islessgreater(x, y) __builtin_islessgreater((x),(y))

#define isunordered(x, y) __builtin_isunordered((x),(y))

/* Legacy BSD API: please use C99 INFINITY macro instead.                     */ extern float __inff(void)__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); extern double __inf(void)__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); extern longdouble __infl(void)__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); /* Implementation detail; please use the standard C NAN macro instead.        */ extern float __nan(void)__OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_NA);

你可能感兴趣的:(iOS 内部三角函数)