oops, do set errno in ldexp() (blanket rules)
This commit is contained in:
parent
cfd0a9b894
commit
2661a6085a
1 changed files with 2 additions and 0 deletions
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
double
|
double
|
||||||
ldexp(double fl, int exp)
|
ldexp(double fl, int exp)
|
||||||
|
@ -22,6 +23,7 @@ ldexp(double fl, int exp)
|
||||||
exp += currexp;
|
exp += currexp;
|
||||||
if (exp > 0) {
|
if (exp > 0) {
|
||||||
if (exp > DBL_MAX_EXP) {
|
if (exp > DBL_MAX_EXP) {
|
||||||
|
errno = ERANGE;
|
||||||
return sign * HUGE_VAL;
|
return sign * HUGE_VAL;
|
||||||
}
|
}
|
||||||
while (exp>30) {
|
while (exp>30) {
|
||||||
|
|
Loading…
Reference in a new issue