From 9b6899f2c5cec70af6cea80ead7ba98fd2366ce9 Mon Sep 17 00:00:00 2001 From: nsz Date: Sun, 18 Mar 2012 19:27:39 +0100 Subject: faster lrint and llrint functions A faster workaround for spurious inexact exceptions when the result cannot be represented. The old code actually could be wrong, because gcc reordered the integer conversion and the exception check. --- src/math/llrint.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/math/llrint.c') diff --git a/src/math/llrint.c b/src/math/llrint.c index c0a40721..ee783b8e 100644 --- a/src/math/llrint.c +++ b/src/math/llrint.c @@ -1,8 +1,8 @@ -#define type double -#define roundit rint -#define dtype long long -#define fn llrint - -#include "lrint.c" +#include +/* assumes LLONG_MAX > 2^53, see comments in lrint.c */ +long long llrint(double x) +{ + return rint(x); +} -- cgit v1.2.1