示例#1
0
double
acosh(double x)		/* wrapper acosh */
{
#ifdef _IEEE_LIBM
	return __ieee754_acosh(x);
#else
	double z;
	z = __ieee754_acosh(x);
	if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
	if(x<1.0) {
	        return __kernel_standard(x,x,29); /* acosh(x<1) */
	} else
	    return z;
#endif
}
示例#2
0
文件: math.c 项目: JamesLinus/inferno
void
Math_acosh(void *fp)
{
	F_Math_acosh *f;

	f = fp;

	*f->ret = __ieee754_acosh(f->x);
}
示例#3
0
文件: w_acosh.c 项目: AdvancedC/glibc
/* wrapper acosh */
double
__acosh (double x)
{
  if (__builtin_expect (isless (x,  1.0), 0) && _LIB_VERSION != _IEEE_)
    /* acosh(x<1) */
    return __kernel_standard (x, x, 29);

  return __ieee754_acosh (x);
}
示例#4
0
/* wrapper acosh */
double
acosh (double x)
{
#if defined(__UCLIBC_HAS_FENV__)
  if (__builtin_expect (isless (x,  1.0), 0) && _LIB_VERSION != _IEEE_)
    /* acosh(x<1) */
    return __kernel_standard (x, x, 29);
#endif
  return __ieee754_acosh (x);
}
示例#5
0
EXPORT(sqInt) primitiveArcCosH(void) {
    double rcvr;
    double result;

	rcvr = interpreterProxy->stackFloatValue(0);
	if (interpreterProxy->failed()) {
		return null;
	}
	result = __ieee754_acosh(rcvr);
	if (isnan(result)) {
		return interpreterProxy->primitiveFail();
	}
	interpreterProxy->pop((interpreterProxy->methodArgumentCount()) + 1);
	interpreterProxy->pushFloat(result);
}
primitiveArcCosH(void)
{
	// FloatMathPlugin>>#primitiveArcCosH
    double rcvr;
    double result;

	rcvr = stackFloatValue(0);
	if (failed()) {
		return null;
	}
	result = __ieee754_acosh(rcvr);
	if (isnan(result)) {
		return primitiveFail();
	}
	pop((methodArgumentCount()) + 1);
	pushFloat(result);
}
示例#7
0
文件: acosh.cpp 项目: chenbk85/QOR
 //------------------------------------------------------------------------------
 double Cmath::acosh( double x ) // wrapper acosh
 {
     double z;
     struct fexception exc;
     z = __ieee754_acosh( x );
     if( m_fdlib_version == _IEEE_ || isnan( x ) )
     {
         return z;
     }
     if( x < 1.0 )
     {
         // acosh(x<1)
         exc.type = EX_DOMAIN;
         exc.name = "acosh";
         exc.err = 0;
         exc.arg1 = exc.arg2 = x;
         exc.retval = infinity();
         if( m_fdlib_version == _POSIX_ )
         {
             errno = EDOM;
         }
         else if ( !matherr( &exc ) )
         {
             errno = EDOM;
         }
         if( exc.err != 0 )
         {
             errno = exc.err;
         }
         return exc.retval;
     }
     else
     {
         return z;
     }
 }
示例#8
0
Err mathlib_acosh(UInt16 refnum, double x, double *result) {
#pragma unused(refnum)
	*result = __ieee754_acosh(x);
	return mlErrNone;
}