From e7bcf43b6440ac9fc61a0eef5591393810daafb5 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Sat, 31 Mar 2007 13:28:15 +0000 Subject: From Steve Papacharalambous: Add math support for PowerPC e500. --- libm/powerpc/s_nearbyint.c | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 libm/powerpc/s_nearbyint.c (limited to 'libm/powerpc/s_nearbyint.c') diff --git a/libm/powerpc/s_nearbyint.c b/libm/powerpc/s_nearbyint.c deleted file mode 100644 index 068e21378..000000000 --- a/libm/powerpc/s_nearbyint.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include - -/******************************************************************************* -* * -* The function nearbyint rounds its double argument to integral value * -* according to the current rounding direction and returns the result in * -* double format. This function does not signal inexact. * -* * -******************************************************************************** -* * -* This function calls fabs and copysign. * -* * -*******************************************************************************/ - -static const double twoTo52 = 4503599627370496.0; - -libm_hidden_proto(nearbyint) -double nearbyint ( double x ) - { - double y; - double OldEnvironment; - - y = twoTo52; - - asm ("mffs %0" : "=f" (OldEnvironment)); /* get the environement */ - - if ( fabs ( x ) >= y ) /* huge case is exact */ - return x; - if ( x < 0 ) y = -y; /* negative case */ - y = ( x + y ) - y; /* force rounding */ - if ( y == 0.0 ) /* zero results mirror sign of x */ - y = copysign ( y, x ); -// restore old flags - asm ("mtfsf 255,%0" : /*NULLOUT*/ : /*IN*/ "f" ( OldEnvironment )); - return ( y ); - } -libm_hidden_def(nearbyint) -- cgit v1.2.3