Path: news.mathworks.com!newsfeed-00.mathworks.com!solaris.cc.vt.edu!news.vt.edu!news.glorb.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nntp.club.cc.cmu.edu!pitt.edu!newsflash.concordia.ca!canopus.cc.umanitoba.ca!not-for-mail
From: Walter Roberson <roberson@hushmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: floating point control settings
Date: Wed, 29 Sep 2010 13:52:01 -0500
Organization: Canada Eat The Cookie Foundation
Lines: 21
Message-ID: <i8021q$3gh$1@canopus.cc.umanitoba.ca>
References: <i7u7se$c4d$1@fred.mathworks.com> <i7ub0j$3tm$1@fred.mathworks.com> <i7ucvh$9mb$1@fred.mathworks.com> <i7uknj$s3i$1@fred.mathworks.com> <i7um5t$o6$1@fred.mathworks.com> <i7vfe0$pnc$1@fred.mathworks.com> <i801eh$dj6$1@fred.mathworks.com>
NNTP-Posting-Host: ibd-nat.ibd.nrc.ca
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: canopus.cc.umanitoba.ca 1285786490 3601 132.246.133.10 (29 Sep 2010 18:54:50 GMT)
X-Complaints-To: abuse@cc.umanitoba.ca
NNTP-Posting-Date: Wed, 29 Sep 2010 18:54:50 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100915 Thunderbird/3.0.8
In-Reply-To: <i801eh$dj6$1@fred.mathworks.com>
Xref: news.mathworks.com comp.soft-sys.matlab:674368

On 10-09-29 01:44 PM, James Tursa wrote:

> So it looks like the Precision Control for intermediate values is
> different between the two. If I am reading the tables correctly (e.g.,
> http://msdn.microsoft.com/en-us/library/e9b52ceh.aspx) the 8001f means
> intermediate values are extended precision 80-bit with 64-bit mantissa,
> whereas the 9001f means intermediate values are double precision 64-bit
> with 53-bit mantissa. I don't know the reason why MATLAB would do one
> method vs the other ... maybe related the the 3rd party libraries they
> use for BLAS & LAPACK, or maybe something else???

IEEE 754 requires that 80/64 *not* be used internally for "double precision", 
as it changes the results and there is no rigorous definition of when 
intermediate results might be flushed to 64/53 and how that might effect the 
calculations.

A further note along the theme of this topic: as it appears that MS Windows is 
being used, then Matlab's system_dependant('setprecision',53) could be used on 
the Matlab side to be sure of what one is getting. That call is valid only for 
MS Windows, but it would save mucking around with the floating point control 
structures.