Example #1
0
/* wrapper y0l */
long double
y0l (long double x)
{
#  if defined(__UCLIBC_HAS_FENV__)
  if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0)
      && _LIB_VERSION != _IEEE_)
    {
      if (x < 0.0L)
	{
	  /* d = zero/(x-x) */
	  feraiseexcept (FE_INVALID);
	  return __kernel_standard_l (x, x, 209);
	}
      else if (x == 0.0L)
	{
	  /* d = -one/(x-x) */
	  feraiseexcept (FE_DIVBYZERO);
	  return __kernel_standard_l (x, x, 208);
	}
      else if (_LIB_VERSION != _POSIX_)
	/* y0(x>X_TLOSS) */
	return __kernel_standard_l (x, x, 235);
    }
#  endif /* __UCLIBC_HAS_FENV__ */
  return (long double)__ieee754_y0 ((double) x);
}
Example #2
0
/* wrapper y0 */
double
y0 (double x)
{
  if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
      && _LIB_VERSION != _IEEE_)
    {
      if (x < 0.0)
	{
	  /* d = zero/(x-x) */
	  feraiseexcept (FE_INVALID);
	  return __kernel_standard (x, x, 9);
	}
      else if (x == 0.0)
	{
	  /* d = -one/(x-x) */
	  feraiseexcept (FE_DIVBYZERO);
	  return __kernel_standard (x, x, 8);
	}
      else if (_LIB_VERSION != _POSIX_)
	/* y0(x>X_TLOSS) */
	return __kernel_standard (x, x, 35);
    }

  return __ieee754_y0 (x);
}
Example #3
0
void
Math_y0(void *fp)
{
	F_Math_y0 *f;

	f = fp;

	*f->ret = __ieee754_y0(f->x);
}
Example #4
0
double y0(double x)
{
	double z = __ieee754_y0(x);
	if (_LIB_VERSION == _IEEE_ || isnan(x))
		return z;
	if (x <= 0.0) {
		if (x == 0.0) /* d= -one/(x-x); */
			return __kernel_standard(x, x, 8);
		/* d = zero/(x-x); */
		return __kernel_standard(x, x, 9);
	}
	if (x > X_TLOSS)
		return __kernel_standard(x, x, 35); /* y0(x>X_TLOSS) */
	return z;
}