e_powf.c (7e546392b5fe3a496acff53ac7aadd1c57b2a4cf) | e_powf.c (9faa8dc6cc23363b3d8897598cff7d3a40045a46) |
---|---|
1/* e_powf.c -- float version of e_pow.c. 2 * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. 3 */ 4 5/* 6 * ==================================================== 7 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 8 * 9 * Developed at SunPro, a Sun Microsystems, Inc. business. 10 * Permission to use, copy, modify, and distribute this 11 * software is freely granted, provided that this notice 12 * is preserved. 13 * ==================================================== 14 */ 15 16#ifndef lint | 1/* e_powf.c -- float version of e_pow.c. 2 * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. 3 */ 4 5/* 6 * ==================================================== 7 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 8 * 9 * Developed at SunPro, a Sun Microsystems, Inc. business. 10 * Permission to use, copy, modify, and distribute this 11 * software is freely granted, provided that this notice 12 * is preserved. 13 * ==================================================== 14 */ 15 16#ifndef lint |
17static char rcsid[] = "$Id$"; | 17static char rcsid[] = "$Id: e_powf.c,v 1.4 1997/02/22 15:10:30 peter Exp $"; |
18#endif 19 20#include "math.h" 21#include "math_private.h" 22 23#ifdef __STDC__ 24static const float 25#else --- 80 unchanged lines hidden (view full) --- 106 return (hy<0)?-y: zero; 107 } 108 if(iy==0x3f800000) { /* y is +-1 */ 109 if(hy<0) return one/x; else return x; 110 } 111 if(hy==0x40000000) return x*x; /* y is 2 */ 112 if(hy==0x3f000000) { /* y is 0.5 */ 113 if(hx>=0) /* x >= +0 */ | 18#endif 19 20#include "math.h" 21#include "math_private.h" 22 23#ifdef __STDC__ 24static const float 25#else --- 80 unchanged lines hidden (view full) --- 106 return (hy<0)?-y: zero; 107 } 108 if(iy==0x3f800000) { /* y is +-1 */ 109 if(hy<0) return one/x; else return x; 110 } 111 if(hy==0x40000000) return x*x; /* y is 2 */ 112 if(hy==0x3f000000) { /* y is 0.5 */ 113 if(hx>=0) /* x >= +0 */ |
114 return sqrtf(x); | 114 return __ieee754_sqrtf(x); |
115 } 116 117 ax = fabsf(x); 118 /* special value of x */ 119 if(ix==0x7f800000||ix==0||ix==0x3f800000){ 120 z = ax; /*x is +-0,+-inf,+-1*/ 121 if(hy<0) z = one/z; /* z = (1/|x|) */ 122 if(hx<0) { --- 131 unchanged lines hidden --- | 115 } 116 117 ax = fabsf(x); 118 /* special value of x */ 119 if(ix==0x7f800000||ix==0||ix==0x3f800000){ 120 z = ax; /*x is +-0,+-inf,+-1*/ 121 if(hy<0) z = one/z; /* z = (1/|x|) */ 122 if(hx<0) { --- 131 unchanged lines hidden --- |