summaryrefslogtreecommitdiffstats
path: root/libm/src/s_frexpf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libm/src/s_frexpf.c')
-rw-r--r--libm/src/s_frexpf.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/libm/src/s_frexpf.c b/libm/src/s_frexpf.c
deleted file mode 100644
index 89d464b..0000000
--- a/libm/src/s_frexpf.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* s_frexpf.c -- float version of s_frexp.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_frexpf.c,v 1.8 2002/05/28 18:15:04 alfred Exp $";
-#endif
-
-#include "math.h"
-#include "math_private.h"
-
-static const float
-two25 = 3.3554432000e+07; /* 0x4c000000 */
-
-float
-frexpf(float x, int *eptr)
-{
- int32_t hx,ix;
- GET_FLOAT_WORD(hx,x);
- ix = 0x7fffffff&hx;
- *eptr = 0;
- if(ix>=0x7f800000||(ix==0)) return x; /* 0,inf,nan */
- if (ix<0x00800000) { /* subnormal */
- x *= two25;
- GET_FLOAT_WORD(hx,x);
- ix = hx&0x7fffffff;
- *eptr = -25;
- }
- *eptr += (ix>>23)-126;
- hx = (hx&0x807fffff)|0x3f000000;
- *(int*)&x = hx;
- return x;
-}