code cleanup of named constants
zero, one, two, half are replaced by const literals The policy was to use the f suffix for float consts (1.0f), but don't use suffix for long double consts (these consts can be exactly represented as double).
This commit is contained in:
+7
-7
@@ -15,7 +15,7 @@
|
||||
|
||||
#include "libm.h"
|
||||
|
||||
static const float one = 1.0, half = 0.5, huge = 1.0e30;
|
||||
static const float huge = 1.0e30;
|
||||
|
||||
float coshf(float x)
|
||||
{
|
||||
@@ -32,21 +32,21 @@ float coshf(float x)
|
||||
/* |x| in [0,0.5*ln2], return 1+expm1(|x|)^2/(2*exp(|x|)) */
|
||||
if (ix < 0x3eb17218) {
|
||||
t = expm1f(fabsf(x));
|
||||
w = one+t;
|
||||
w = 1.0f+t;
|
||||
if (ix<0x39800000)
|
||||
return one; /* cosh(tiny) = 1 */
|
||||
return one + (t*t)/(w+w);
|
||||
return 1.0f; /* cosh(tiny) = 1 */
|
||||
return 1.0f + (t*t)/(w+w);
|
||||
}
|
||||
|
||||
/* |x| in [0.5*ln2,9], return (exp(|x|)+1/exp(|x|))/2; */
|
||||
if (ix < 0x41100000) {
|
||||
t = expf(fabsf(x));
|
||||
return half*t + half/t;
|
||||
return 0.5f*t + 0.5f/t;
|
||||
}
|
||||
|
||||
/* |x| in [9, log(maxfloat)] return half*exp(|x|) */
|
||||
/* |x| in [9, log(maxfloat)] return 0.5f*exp(|x|) */
|
||||
if (ix < 0x42b17217)
|
||||
return half*expf(fabsf(x));
|
||||
return 0.5f*expf(fabsf(x));
|
||||
|
||||
/* |x| in [log(maxfloat), overflowthresold] */
|
||||
if (ix <= 0x42b2d4fc)
|
||||
|
||||
Reference in New Issue
Block a user