e_j0f.c (279127) | e_j0f.c (279240) |
---|---|
1/* e_j0f.c -- float version of e_j0.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#include <sys/cdefs.h> | 1/* e_j0f.c -- float version of e_j0.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#include <sys/cdefs.h> |
17__FBSDID("$FreeBSD: head/lib/msun/src/e_j0f.c 279127 2015-02-22 01:15:09Z pfg $"); | 17__FBSDID("$FreeBSD: head/lib/msun/src/e_j0f.c 279240 2015-02-24 16:45:16Z pfg $"); |
18 19#include "math.h" 20#include "math_private.h" 21 22static float pzerof(float), qzerof(float); 23 24static const float 25huge = 1e30, --- 298 unchanged lines hidden (view full) --- 324 const float *p,*q; 325 float s,r,z; 326 int32_t ix; 327 GET_FLOAT_WORD(ix,x); 328 ix &= 0x7fffffff; 329 if(ix>=0x41000000) {p = qR8; q= qS8;} 330 else if(ix>=0x40f71c58){p = qR5; q= qS5;} 331 else if(ix>=0x4036db68){p = qR3; q= qS3;} | 18 19#include "math.h" 20#include "math_private.h" 21 22static float pzerof(float), qzerof(float); 23 24static const float 25huge = 1e30, --- 298 unchanged lines hidden (view full) --- 324 const float *p,*q; 325 float s,r,z; 326 int32_t ix; 327 GET_FLOAT_WORD(ix,x); 328 ix &= 0x7fffffff; 329 if(ix>=0x41000000) {p = qR8; q= qS8;} 330 else if(ix>=0x40f71c58){p = qR5; q= qS5;} 331 else if(ix>=0x4036db68){p = qR3; q= qS3;} |
332 else if(ix>=0x40000000){p = qR2; q= qS2;} | 332 else {p = qR2; q= qS2;} /* ix>=0x40000000 */ |
333 z = one/(x*x); 334 r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); 335 s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); 336 return (-(float).125 + r/s)/x; 337} | 333 z = one/(x*x); 334 r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); 335 s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); 336 return (-(float).125 + r/s)/x; 337} |