bugGNU Octave - Bugs: bug #49091, MinGW std::acosh less accurate...


bug #49091: MinGW std::acosh less accurate than Linux versions

Submitted by:  Avinoam Kalma <avinoam>
Submitted on:  Wed 14 Sep 2016 07:50:58 PM UTC  
Category:  Octave Function Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Inaccurate Result
Status:  Postponed Assigned to:  None
Originator Name:  Avinoam Open/Closed:  Open
Release:  4.2.0 Operating System:  Microsoft Windows

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Thu 15 Sep 2016 09:05:28 PM UTC, comment #9:

I don't think it matters too much. As long as they are linked so that they get closed at the same time.

Rik <rik5>
Project Administrator
Thu 15 Sep 2016 06:45:55 PM UTC, comment #8:

I suppose the acos FAILs mentioned in bug #48312 are the same.
Should this bug be listed there as dependency or the other way round?

Philip Nienhuis <philipnienhuis>
Project Member
Thu 15 Sep 2016 06:16:49 PM UTC, comment #7:

I marked the failing acosh BIST tests with this bug number (http://hg.savannah.gnu.org/hgweb/octave/rev/4d9c371d2cca). I also added a FIXME note saying that we are waiting for upstream to improve their library. I've changed the bug title and marked it as postponed.

I'm also re-building with MXE to test that the failures are now reported correctly as known failures, but that will take a few hours.

Rik <rik5>
Project Administrator
Thu 15 Sep 2016 05:03:45 PM UTC, comment #6:

I like your third option. I don't feel we should have to dumb down Octave's tests for a single failing library on a single platform. And I also don't like disabling a std:: library when there is a good possibility that it will be fixed upstream at some point.

Rik <rik5>
Project Administrator
Thu 15 Sep 2016 04:35:11 PM UTC, comment #5:

A third option is to add this bug number to the tests, which reports them as XFAIL and this bug can remain open or be closed. Someone might want to report this to the MinGW project, if it's something that can be handled there.

I already marked some tests with bug #45507, which is about a similar failure on systems with an older gcc and/or libm system library. We are continuing to use the std::acosh function on these older GNU systems even though the results fail some tolerance tests.

Mike Miller <mtmiller>
Project Administrator
Thu 15 Sep 2016 04:06:22 PM UTC, comment #4:

The results I am seeing in fntests.log are

When using doubles, it is failing by 31 eps. When using floats it is failing by60 eps ("single"). Those are pretty big tolerances. Do we want to add those in or disable the library on Windows?

Rik <rik5>
Project Administrator
Thu 15 Sep 2016 12:26:11 AM UTC, comment #3:

I checked and _have_feature_ reports that I am using the std library version. So, that kind of sucks. The std library is less accurate than direct computation on Windows machines.

Do we want to change the library or the test? We could certainly add to the #ifdef.

The second option is to increase the tolerance of the test.

Rik <rik5>
Project Administrator
Wed 14 Sep 2016 10:23:48 PM UTC, comment #2:

The mxe-octave binary distribution should include config.log in the share/octave/4.2.0-rc1/etc directory, that should tell you whether std::acosh was found by configure. Also running

in the interpreter should tell the same thing.

Mike Miller <mtmiller>
Project Administrator
Wed 14 Sep 2016 10:17:54 PM UTC, comment #1:

I guess the question is why acosh (10i) is different from acosh (-10i). On Linux they are the same. But on Windows, I get

In liboctave/libnumeric/lo-specfun.cc the acosh function is defined as

If I execute the #else path in Octave I get the right answer.

I don't know how MXE Octave was build, but this suggests that the std library might be at fault on Windows.

Rik <rik5>
Project Administrator
Wed 14 Sep 2016 07:50:58 PM UTC, original submission:

Using a tolerance of 7e-15 instead of zero will solve this.

Avinoam Kalma <avinoam>
Project Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by avinoam (Submitted the item)
  • -email is unavailable- added by avinoam

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-11-17 mtmiller Release4.2.0-rc1 => 4.2.0
    2016-09-15 rik5 StatusConfirmed => Postponed
        SummaryMXE Octave 4.20-rc1: test mappers.cc-tst fails => MinGW std::acosh less accurate than Linux versions
    2016-09-14 rik5 StatusNone => Confirmed
    2016-09-14 avinoam Carbon-Copy- => Added -email is unavailable-

    Back to the top

    Powered by Savane 3.3