projects
/
libc-test
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
math/gen: fix fma fenv flags on nan
[libc-test]
/
src
/
math
/
gen
/
mp.c
diff --git
a/src/math/gen/mp.c
b/src/math/gen/mp.c
index
48492c1
..
172b454
100644
(file)
--- a/
src/math/gen/mp.c
+++ b/
src/math/gen/mp.c
@@
-123,7
+123,7
@@
static void genf(struct t *p, mpfr_t my, int t, int r)
t = adjust(mr, my, t, r);
p->y = mpfr_get_flt(mr, r);
t = adjust(mr, my, t, r);
p->y = mpfr_get_flt(mr, r);
- p->e = eflags(isnan(p->x) || isnan(p->x2));
+ p->e = eflags(isnan(p->x) || isnan(p->x2)
|| isnan(p->x3)
);
i = eulpf(p->y);
if (!isfinite(p->y)) {
p->dy = 0;
i = eulpf(p->y);
if (!isfinite(p->y)) {
p->dy = 0;
@@
-193,7
+193,7
@@
static void gend(struct t *p, mpfr_t my, int t, int r)
t = adjust(mr, my, t, r);
p->y = mpfr_get_d(mr, r);
t = adjust(mr, my, t, r);
p->y = mpfr_get_d(mr, r);
- p->e = eflags(isnan(p->x) || isnan(p->x2));
+ p->e = eflags(isnan(p->x) || isnan(p->x2)
|| isnan(p->x3)
);
i = eulp(p->y);
if (!isfinite(p->y)) {
p->dy = 0;
i = eulp(p->y);
if (!isfinite(p->y)) {
p->dy = 0;
@@
-268,7
+268,7
@@
static void genl(struct t *p, mpfr_t my, int t, int r)
t = adjust(mr, my, t, r);
p->y = mpfr_get_ld(mr, r);
t = adjust(mr, my, t, r);
p->y = mpfr_get_ld(mr, r);
- p->e = eflags(isnan(p->x) || isnan(p->x2));
+ p->e = eflags(isnan(p->x) || isnan(p->x2)
|| isnan(p->x3)
);
i = eulpl(p->y);
if (!isfinite(p->y)) {
p->dy = 0;
i = eulpl(p->y);
if (!isfinite(p->y)) {
p->dy = 0;