Deleted Added
full compact
e_powf.c (129959) e_powf.c (176266)
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
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[] = "$FreeBSD: head/lib/msun/src/e_powf.c 129959 2004-06-01 19:33:30Z bde $";
18#endif
16#include <sys/cdefs.h>
17__FBSDID("$FreeBSD: head/lib/msun/src/e_powf.c 176266 2008-02-14 09:42:24Z bde $");
19
20#include "math.h"
21#include "math_private.h"
22
23static const float
24bp[] = {1.0, 1.5,},
25dp_h[] = { 0.0, 5.84960938e-01,}, /* 0x3f15c000 */
26dp_l[] = { 0.0, 1.56322085e-06,}, /* 0x35d1cfdc */

--- 36 unchanged lines hidden (view full) ---

63
64 GET_FLOAT_WORD(hx,x);
65 GET_FLOAT_WORD(hy,y);
66 ix = hx&0x7fffffff; iy = hy&0x7fffffff;
67
68 /* y==zero: x**0 = 1 */
69 if(iy==0) return one;
70
18
19#include "math.h"
20#include "math_private.h"
21
22static const float
23bp[] = {1.0, 1.5,},
24dp_h[] = { 0.0, 5.84960938e-01,}, /* 0x3f15c000 */
25dp_l[] = { 0.0, 1.56322085e-06,}, /* 0x35d1cfdc */

--- 36 unchanged lines hidden (view full) ---

62
63 GET_FLOAT_WORD(hx,x);
64 GET_FLOAT_WORD(hy,y);
65 ix = hx&0x7fffffff; iy = hy&0x7fffffff;
66
67 /* y==zero: x**0 = 1 */
68 if(iy==0) return one;
69
71 /* +-NaN return x+y */
70 /* y!=zero: result is NaN if either arg is NaN */
72 if(ix > 0x7f800000 ||
73 iy > 0x7f800000)
71 if(ix > 0x7f800000 ||
72 iy > 0x7f800000)
74 return x+y;
73 return (x+0.0F)+(y+0.0F);
75
76 /* determine if y is an odd int when x < 0
77 * yisint = 0 ... y is not an integer
78 * yisint = 1 ... y is an odd int
79 * yisint = 2 ... y is an even int
80 */
81 yisint = 0;
82 if(hx<0) {

--- 165 unchanged lines hidden ---
74
75 /* determine if y is an odd int when x < 0
76 * yisint = 0 ... y is not an integer
77 * yisint = 1 ... y is an odd int
78 * yisint = 2 ... y is an even int
79 */
80 yisint = 0;
81 if(hx<0) {

--- 165 unchanged lines hidden ---