msun: use previously ignored value.
This fixes evaluation of exceptional values in scalblnl(). While here, simplify the code as suggested by Bruce Evans. Reported by: clang static analyzer MFC after: 1 week
This commit is contained in:
parent
ff569dac96
commit
5c68a1d8db
@ -35,13 +35,7 @@ scalbln (double x, long n)
|
||||
{
|
||||
int in;
|
||||
|
||||
in = (int)n;
|
||||
if (in != n) {
|
||||
if (n > 0)
|
||||
in = INT_MAX;
|
||||
else
|
||||
in = INT_MIN;
|
||||
}
|
||||
in = (n > INT_MAX) ? INT_MAX : (n < INT_MIN) ? INT_MIN : n;
|
||||
return (scalbn(x, in));
|
||||
}
|
||||
|
||||
@ -50,13 +44,7 @@ scalblnf (float x, long n)
|
||||
{
|
||||
int in;
|
||||
|
||||
in = (int)n;
|
||||
if (in != n) {
|
||||
if (n > 0)
|
||||
in = INT_MAX;
|
||||
else
|
||||
in = INT_MIN;
|
||||
}
|
||||
in = (n > INT_MAX) ? INT_MAX : (n < INT_MIN) ? INT_MIN : n;
|
||||
return (scalbnf(x, in));
|
||||
}
|
||||
|
||||
@ -65,12 +53,6 @@ scalblnl (long double x, long n)
|
||||
{
|
||||
int in;
|
||||
|
||||
in = (int)n;
|
||||
if (in != n) {
|
||||
if (n > 0)
|
||||
in = INT_MAX;
|
||||
else
|
||||
in = INT_MIN;
|
||||
}
|
||||
return (scalbnl(x, (int)n));
|
||||
in = (n > INT_MAX) ? INT_MAX : (n < INT_MIN) ? INT_MIN : n;
|
||||
return (scalbnl(x, in));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user