bugGNU Octave - Bugs: bug #43891, Difference in results of test chop...


bug #43891: Difference in results of test chop and __run_test_suite__

Submitted by:  Avinoam Kalma <avinoam>
Submitted on:  Fri 26 Dec 2014 09:21:43 AM UTC  
Category:  Octave Function Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Avinoam Kalma Open/Closed:  Closed
Release:  3.8.2 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.


Sun 25 Jan 2015 06:32:11 AM UTC, comment #5: 

This should be fixed now after the check in for bug #43734.

Rik <rik5>
Project Administrator
Tue 06 Jan 2015 02:44:08 AM UTC, comment #4: 

I can confirm this.  I haven't built the MXE code in about a year so that took a few hours to get going again.

For your questions, if you don't set any other options the build scripts will realize that you are targeting a Windows machine and pass the --enable-float-truncate option.  You can also look in the tmp-octave directory while it is being built.  The file config.h will have a definition for FLOAT_TRUNCATE which is the word volatile.

I don't have very good theories about why it would fail when run directly, but not when run through _run_test_suite_.  I suspect it is something to do with register pressure and the CPU being forced to take results out of the special math co-processor registers with 80-bit precision into regular 64-bit registers (IEEE standard). 

Rik <rik5>
Project Administrator
Tue 06 Jan 2015 02:20:41 AM UTC, comment #3: 

I confirm

Rik <rik5>
Project Administrator
Sat 03 Jan 2015 10:21:53 PM UTC, comment #2: 

Thanks for the answer.

I have two questions:

1. How do I compiled MXE-Octave with --enable-float-truncate
2. Why does "test chop" fail, but it doesn't fail in _run_test_suite_?



Avinoam Kalma <avinoam>
Project Member
Mon 29 Dec 2014 04:55:50 PM UTC, comment #1: 

This is most likely due to extra precision being kept in hardware dedicated floating point registers (80 bits vs. 64 bits in IEEE standard).  Octave needs to be compiled with --enable-float-truncate for Windows platforms.  This should be the case by default, but I don't know how the binary from mxeoctave.osuv.de was actually built.

Rik <rik5>
Project Administrator
Fri 26 Dec 2014 09:21:43 AM UTC, original submission:  


using windows mxe_octave ver 3.8.2-4 from http://mxeoctave.osuv.de
there is failure in chop (bug 43734).

but running _run_test_suite_ pass all tests without failures.
moreover, running again "test chop", passes all 10 tests.

Any explanation for this strange behaviour?



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


   bug dependencies.

Items that depend on this one: None found


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

    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 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-01-25 rik5 StatusConfirmed => Fixed
        Open/ClosedOpen => Closed
    2015-01-06 rik5 StatusNone => Confirmed
    2015-01-06 rik5 Dependencies- => Depends on bugs #43741

    Back to the top

    Powered by Savane 3.5