Exemplo n.º 1
0
int main(void) {
  assert(floor(2.7) == 2.0);
  assert(floor(-2.7) == -3.0);
  double c = floor(-0.0);
  assert(c == -0.0);
  assert(sizeof(c) == sizeof(float) ?
    __signbitf(c) : sizeof(c) == sizeof(double) ? __signbit(c) : __signbitl(c));
  c = floor(-(__builtin_inff()));
  assert(sizeof((__builtin_inff())) == sizeof(float) ? __isinff((__builtin_inff())) :
    sizeof((__builtin_inff())) == sizeof(double) ? __isinf((__builtin_inff())) : __isinfl((__builtin_inff())));
  assert(sizeof(c) == sizeof(float) ?
    __signbitf(c) : sizeof(c) == sizeof(double) ? __signbit(c) : __signbitl(c));
  return 0;
}
Exemplo n.º 2
0
int main(void) {
  float NaN = 0.0f / 0.0f;
  float Inf = 1.0f / 0.0f;
  float negInf = -1.0f / 0.0f;

  assert(floorf(2.9f) == 2.0f);

  float val = __VERIFIER_nondet_float();

  if (!__isnanf(val) && !__isinff(val) && !__iszerof(val)) {
    assert(floorf(val) <= val);
    assert(floorf(val) >= val - 1);
  }

  assert(floorf(0.0f) == 0.0f);
  assert(floorf(-0.0f) == -0.0f);
  int isNeg = __signbitf(floorf(-0.0f));
  assert(isNeg);

  assert(floorf(Inf) == Inf);
  assert(floorf(negInf) == negInf);

  assert(__isnanf(floorf(NaN)));

  return 0;
}
Exemplo n.º 3
0
int main(void) {
  float NaN = 0.0f / 0.0f;
  float Inf = 1.0f / 0.0f;
  float negInf = -1.0f / 0.0f;

  float x = 2.0f;
  float y = -8.5;

  float a = 5.1;
  float b = -3.0f;
  float c = fmodf(a, b);
  assert(fabsf(c - 2.1) < 1e-8);

  if (!__isnanf(y)) {
    assert(__isnanf(fmodf(Inf, y)));
    assert(__isnanf(fmodf(negInf, y)));
  }

  if (!__isnanf(x)) {
    assert(__isnanf(fmodf(x, 0.0f)));
    assert(__isnanf(fmodf(x, -0.0f)));
  }

  
  if (!__isnanf(x) && !__isinff(x)) {
    assert(fmodf(x, Inf) == x);
    assert(fmodf(x, negInf) == x);
  }
 
  if (!__isnanf(y) && !__iszerof(y)) {
    assert(fmodf(0.0f, y) == 0.0f);
    assert(fmodf(-0.0f, y) == -0.0f);
    int isNeg = __signbitf(fmodf(-0.0f, y));
    assert(isNeg);
  }
 
  assert(__isnanf(fmodf(NaN, y)));
  assert(__isnanf(fmodf(x, NaN)));

  return 0;
}
Exemplo n.º 4
0
TEST(math, __signbitf) {
  ASSERT_EQ(0, __signbitf(0.0f));
  ASSERT_EQ(0, __signbitf(1.0f));
  ASSERT_NE(0, __signbitf(-1.0f));
}