#include <limits.h>
#include <fenv.h>
#include "libm.h"

#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long lrintl(long double x) {
  return lrint(x);
}
#elif defined(FE_INEXACT)
/*
see comments in lrint.c

Note that if LONG_MAX == 0x7fffffffffffffff && LDBL_MANT_DIG == 64
then x == 2**63 - 0.5 is the only input that overflows and
raises inexact (with tonearest or upward rounding mode)
*/
long lrintl(long double x) {
  PRAGMA_STDC_FENV_ACCESS_ON
  int e;

  e = fetestexcept(FE_INEXACT);
  x = rintl(x);
  if (!e && (x > LONG_MAX || x < LONG_MIN))
    feclearexcept(FE_INEXACT);
  /* conversion */
  return x;
}
#else
long lrintl(long double x) {
  return rintl(x);
}
#endif
