#include "libm.h"

#if FLT_EVAL_METHOD == 0
#define EPS FLT_EPSILON
#elif FLT_EVAL_METHOD == 1
#define EPS DBL_EPSILON
#elif FLT_EVAL_METHOD == 2
#define EPS LDBL_EPSILON
#endif
static const float_t toint = 1 / EPS;

float roundf(float x) {
  union {
    float f;
    uint32_t i;
  } u = {x};
  int e = u.i >> 23 & 0xff;
  float_t y;

  if (e >= 0x7f + 23)
    return x;
  if (u.i >> 31)
    x = -x;
  if (e < 0x7f - 1) {
    FORCE_EVAL(x + toint);
    return 0 * u.f;
  }
  y = x + toint - toint - x;
  if (y > 0.5f)
    y = y + x - 1;
  else if (y <= -0.5f)
    y = y + x + 1;
  else
    y = y + x;
  if (u.i >> 31)
    y = -y;
  return y;
}
