This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 10/23/2017 7:47 AM, Joseph Myers wrote:
On Sat, 21 Oct 2017, Patrick McGehearty wrote:On 10/19/2017 5:48 PM, Joseph Myers wrote:On Thu, 19 Oct 2017, Patrick McGehearty wrote:Guaranteeing "inexact" is not part of the goals for most libm functions, so I expect you can remove that term.The "inexact" test was required to pass the (make check) math lib tests.You'll need to explain more. For functions which are not fully defined by a binding to IEEE operations, both spurious and missing "inexact" should be allowed by the testsuite.When the following lines are commented out: double force_underflow = tiny * tiny; math_force_eval (force_underflow);That's not what I was referring to. I was referring to the comment I quoted, '/* the "small" term below guarantees inexact will be raised */', and the associated uses of the constant "small". Inexact, not underflow.
Now I understand your point and researched the source of the comment andreason for the use of "small". By my reading of the ieee754 definition of "inexact",
exp(x) for any x except 0.0 should set the inexact bit. The Studio version of exp() included "small" for that reason. The current Linux ieee754 e_exp() makes no attempt to insure inexact is set. I can easily match that behavior without changing accuracy by removing all uses of "small" (and associated comments). I will do that for my next patch submission. - patrick
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |