Esempio n. 1
0
__complex float
__go_complex64_div (__complex float a, __complex float b)
{
  if (__builtin_expect (b == 0+0i, 0))
    {
      if (!__builtin_isinff (__real__ a)
	  && !__builtin_isinff (__imag__ a)
	  && (__builtin_isnanf (__real__ a) || __builtin_isnanf (__imag__ a)))
	{
	  /* Pass "1" to nanf to match math/bits.go.  */
	  return __builtin_nanf("1") + __builtin_nanf("1")*1i;
	}
    }
  return a / b;
}
Esempio n. 2
0
int main()
{
  if (__builtin_isunordered (f, f) != 0)
    link_error ();
  if (__builtin_isunordered (d, d) != 0)
    link_error ();
  if (__builtin_isunordered (ld, ld) != 0)
    link_error ();

  if (__builtin_isnan (f) != 0)
    link_error ();
  if (__builtin_isnan (d) != 0)
    link_error ();
  if (__builtin_isnan (ld) != 0)
    link_error ();
  if (__builtin_isnanf (f) != 0)
    link_error ();
  if (__builtin_isnanl (ld) != 0)
    link_error ();

  if (__builtin_finite (f) != 1)
    link_error ();
  if (__builtin_finite (d) != 1)
    link_error ();
  if (__builtin_finite (ld) != 1)
    link_error ();
  if (__builtin_finitef (f) != 1)
    link_error ();
  if (__builtin_finitel (ld) != 1)
    link_error ();

  if (__builtin_isinf (f) != 0)
    link_error ();
  if (__builtin_isinf (d) != 0)
    link_error ();
  if (__builtin_isinf (ld) != 0)
    link_error ();

  if (__builtin_isfinite (f) != 1)
    link_error ();
  if (__builtin_isfinite (d) != 1)
    link_error ();
  if (__builtin_isfinite (ld) != 1)
    link_error ();

  if (f != f)
    link_error ();
  if (d != d)
    link_error ();
  if (ld != ld)
    link_error ();
  return 0;
}
Esempio n. 3
0
 inline bool __isnan<float>(const float __x)
 {
   return __builtin_isnanf(__x);
 }