projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add PTRACE_PEEKSIGINFO to ptrace.h
[musl]
/
src
/
math
/
fmal.c
diff --git
a/src/math/fmal.c
b/src/math/fmal.c
index
be64f14
..
87e30fc
100644
(file)
--- a/
src/math/fmal.c
+++ b/
src/math/fmal.c
@@
-162,6
+162,7
@@
static inline struct dd dd_mul(long double a, long double b)
*/
long double fmal(long double x, long double y, long double z)
{
*/
long double fmal(long double x, long double y, long double z)
{
+ #pragma STDC FENV_ACCESS ON
long double xs, ys, zs, adj;
struct dd xy, r;
int oround;
long double xs, ys, zs, adj;
struct dd xy, r;
int oround;
@@
-261,6
+262,8
@@
long double fmal(long double x, long double y, long double z)
/*
* There is no need to worry about double rounding in directed
* rounding modes.
/*
* There is no need to worry about double rounding in directed
* rounding modes.
+ * TODO: underflow is not raised correctly, example in downward rounding:
+ * fmal(0x1.0000000001p-16000L, 0x1.0000000001p-400L, -0x1p-16440L)
*/
fesetround(oround);
adj = r.lo + xy.lo;
*/
fesetround(oround);
adj = r.lo + xy.lo;