MFC r277948:
msun: use previously ignored "in" value. This fixes evaluation of exceptional values in scalblnl(). While here, simplify the code as suggested by Bruce Evans. Reported by: clang static analyzer
This commit is contained in:
parent
b56d80f032
commit
d201e39fd3
@ -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…
x
Reference in New Issue
Block a user