Example #1
0
/* wrapper acoshf */
float
__acoshf (float x)
{
  if (__builtin_expect (isless (x, 1.0f), 0) && _LIB_VERSION != _IEEE_)
    /* acosh(x<1) */
    return __kernel_standard_f (x, x, 129);

  return __ieee754_acoshf (x);
}
Example #2
0
    //------------------------------------------------------------------------------
    float Cmath::acoshf( float x ) // wrapper acoshf
    {
        float z;
        struct fexception exc;
        z = __ieee754_acoshf( x );
        if( m_fdlib_version == _IEEE_ || isnanf( x ) )
        {
            return z;
        }
        if( x < (float)1.0 )
        {
            // acoshf(x<1)
            exc.type = EX_DOMAIN;
            exc.name = "acoshf";
            exc.err = 0;
            exc.arg1 = exc.arg2 = (double)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 (float)exc.retval;
        }
        else
        {
            return z;
        }
    }