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 FunctionSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Incorrect Result
Status: FixedAssigned to: None
Originator Name: Avinoam KalmaOpen/Closed: Closed
Release: 3.8.2Operating 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_?

Thanks,

Avinoam

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:

Hi,

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?

Thanks,

Avinoam

Avinoam Kalma <avinoam>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

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

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

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 25 Jan 2015 06:32:11 AM UTCrik5StatusConfirmed=>Fixed
      Open/ClosedOpen=>Closed
    Tue 06 Jan 2015 02:44:08 AM UTCrik5StatusNone=>Confirmed
    Tue 06 Jan 2015 02:20:41 AM UTCrik5Dependencies-=>Depends on bugs #43741

    Back to the top


    Powered by Savane 3.1-cleanup1