projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
math: fix scalbn and scalbnf on overflow/underflow
[musl]
/
src
/
math
/
atanf.c
diff --git
a/src/math/atanf.c
b/src/math/atanf.c
index
8c2b46b
..
4e31b90
100644
(file)
--- a/
src/math/atanf.c
+++ b/
src/math/atanf.c
@@
-38,9
+38,7
@@
static const float aT[] = {
6.1687607318e-02,
};
6.1687607318e-02,
};
-static const float
-one = 1.0,
-huge = 1.0e30;
+static const float huge = 1.0e30;
float atanf(float x)
{
float atanf(float x)
{
@@
-60,7
+58,7
@@
float atanf(float x)
if (ix < 0x3ee00000) { /* |x| < 0.4375 */
if (ix < 0x39800000) { /* |x| < 2**-12 */
/* raise inexact */
if (ix < 0x3ee00000) { /* |x| < 0.4375 */
if (ix < 0x39800000) { /* |x| < 2**-12 */
/* raise inexact */
- if(huge+x>
one
)
+ if(huge+x>
1.0f
)
return x;
}
id = -1;
return x;
}
id = -1;
@@
-69,18
+67,18
@@
float atanf(float x)
if (ix < 0x3f980000) { /* |x| < 1.1875 */
if (ix < 0x3f300000) { /* 7/16 <= |x| < 11/16 */
id = 0;
if (ix < 0x3f980000) { /* |x| < 1.1875 */
if (ix < 0x3f300000) { /* 7/16 <= |x| < 11/16 */
id = 0;
- x = (
(float)2.0*x-one)/((float)2.0+
x);
+ x = (
2.0f*x - 1.0f)/(2.0f +
x);
} else { /* 11/16 <= |x| < 19/16 */
id = 1;
} else { /* 11/16 <= |x| < 19/16 */
id = 1;
- x = (x
-one)/(x+one
);
+ x = (x
- 1.0f)/(x + 1.0f
);
}
} else {
if (ix < 0x401c0000) { /* |x| < 2.4375 */
id = 2;
}
} else {
if (ix < 0x401c0000) { /* |x| < 2.4375 */
id = 2;
- x = (x
-(float)1.5)/(one+(float)1.5
*x);
+ x = (x
- 1.5f)/(1.0f + 1.5f
*x);
} else { /* 2.4375 <= |x| < 2**26 */
id = 3;
} else { /* 2.4375 <= |x| < 2**26 */
id = 3;
- x = -
(float)1.0
/x;
+ x = -
1.0f
/x;
}
}
}
}
}
}