lrint
#define lrint(x) __tg_simple(x, lrint)
long lrint(double);
#define fn lrint
test(lrint, 0x8000000000000000.0p0, IGNORE, FE_INVALID);
test(lrint, 0x7ffffffffffffc00.0p0, 0x7ffffffffffffc00l, 0);
test(lrint, -0x8000000000000800.0p0, IGNORE, FE_INVALID);
test(lrint, -0x8000000000000000.0p0, (long long)-0x8000000000000000ul, 0);
ATF_TC_WITHOUT_HEAD(lrint);
ATF_TC_BODY(lrint, tc)
ATF_TP_ADD_TC(tp, lrint);
test(lrint, x, result, excepts); \
test(lrint, 0x7fffffff.8p0, IGNORE, FE_INVALID);
test(lrint, -0x80000000.4p0, (long)-0x80000000l, FE_INEXACT);
test(lrint, -0x80000000.8p0, IGNORE, FE_INVALID);
test(lrint, 0x80000000.0p0, IGNORE, FE_INVALID);
test(lrint, 0x7fffffff.4p0, 0x7fffffffl, FE_INEXACT);
test(lrint, 0x7fffffff.8p0, 0x7fffffffl, FE_INEXACT);
test(lrint, -0x80000000.8p0, -0x80000000l, FE_INEXACT);
test(lrint, 0x80000000.0p0, IGNORE, FE_INVALID);
TGMACRO_REAL_FIXED_RET(lrint, long)
PASS_REAL_ARG_FIXED_RET(lrint, long));