rintl doesn't need changes since it calls rint(). --- mingw-w64-crt/math/rint.c | 2 ++ mingw-w64-crt/math/rintf.c | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/mingw-w64-crt/math/rint.c b/mingw-w64-crt/math/rint.c index 01f9644..6d0b632 100644 --- a/mingw-w64-crt/math/rint.c +++ b/mingw-w64-crt/math/rint.c @@ -23,6 +23,8 @@ double rint (double x) { #if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) __asm__ __volatile__ ("frndint;" : "=t" (retval) : "0" (x)); #elif defined(__arm__) || defined(_ARM_) + if (isnan(x) || isinf(x)) + return x; retval = __rint_internal(x); #endif return retval; diff --git a/mingw-w64-crt/math/rintf.c b/mingw-w64-crt/math/rintf.c index 09c641b..37d4a92 100644 --- a/mingw-w64-crt/math/rintf.c +++ b/mingw-w64-crt/math/rintf.c @@ -23,6 +23,8 @@ float rintf (float x) { #if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) __asm__ __volatile__ ("frndint;": "=t" (retval) : "0" (x)); #elif defined(__arm__) || defined(_ARM_) + if (isnan(x) || isinf(x)) + return x; retval = __rintf_internal(x); #endif return retval; -- 2.7.4 ------------------------------------------------------------------------------ _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public