void Math_atanh(void *fp) { F_Math_atanh *f; f = fp; *f->ret = __ieee754_atanh(f->x); }
double atanh(double x) /* wrapper atanh */ { #ifdef _IEEE_LIBM return __ieee754_atanh(x); #else double z,y; z = __ieee754_atanh(x); if(_LIB_VERSION == _IEEE_ || isnan(x)) return z; y = fabs(x); if(y>=1.0) { if(y>1.0) return __kernel_standard(x,x,30); /* atanh(|x|>1) */ else return __kernel_standard(x,x,31); /* atanh(|x|==1) */ } else return z; #endif }
EXPORT(sqInt) primitiveArcTanH(void) { double rcvr; double result; rcvr = interpreterProxy->stackFloatValue(0); if (interpreterProxy->failed()) { return null; } result = __ieee754_atanh(rcvr); if (isnan(result)) { return interpreterProxy->primitiveFail(); } interpreterProxy->pop((interpreterProxy->methodArgumentCount()) + 1); interpreterProxy->pushFloat(result); }
primitiveArcTanH(void) { // FloatMathPlugin>>#primitiveArcTanH double rcvr; double result; rcvr = stackFloatValue(0); if (failed()) { return null; } result = __ieee754_atanh(rcvr); if (isnan(result)) { return primitiveFail(); } pop((methodArgumentCount()) + 1); pushFloat(result); }
Err mathlib_atanh(UInt16 refnum, double x, double *result) { #pragma unused(refnum) *result = __ieee754_atanh(x); return mlErrNone; }
double atanh(double x) /* wrapper atanh */ { return __ieee754_atanh(x); }