summaryrefslogtreecommitdiff
path: root/libm/powerpc/classic/s_nearbyint.c
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2008-09-25 17:43:58 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2008-09-25 17:43:58 +0000
commit0e05d9826e6d32a27392ed9d6fe613ef6cf957a0 (patch)
tree6e88884bf2f757103209ad4d97d61f37db5cc1d7 /libm/powerpc/classic/s_nearbyint.c
parentcf7b82ed31eaa526c74f8b1af6f0cfec315f1d69 (diff)
- remove files that are not either LGPL or Public Domain.
- pull replacement funcs for fpmacros.c from glibc This removes the powerpc/classic implementation which did not state any license but read: Copyright © 1991 Apple Computer, Inc. All rights reserved. and thus was dubious (and not needed).
Diffstat (limited to 'libm/powerpc/classic/s_nearbyint.c')
-rw-r--r--libm/powerpc/classic/s_nearbyint.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/libm/powerpc/classic/s_nearbyint.c b/libm/powerpc/classic/s_nearbyint.c
deleted file mode 100644
index d08430dc6..000000000
--- a/libm/powerpc/classic/s_nearbyint.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <limits.h>
-#include <math.h>
-
-/*******************************************************************************
-* *
-* 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)