On 02/17/2012 03:01 PM, Jordi Gutiérrez Hermoso wrote:
> 2012/2/17 Alois Schloegl<alois.schlo...@ist.ac.at>:
>> On 02/16/2012 01:52 PM, Jordi Gutiérrez Hermoso wrote:
>>>
>>> On 16 February 2012 02:29, Alois Schloegl<alois.schlo...@ist.ac.at>
>>>   wrote:
>>>>
>>>> If you are tired of these nagging warnings, ask the developers of octave
>>>> to fix it. And I do not mean turning off the warning on shadowing
>>>> functions, but to implement the NaN-skipping behavior within the
>>>> existing core functions.
>>>
>>>
>>> NaN-skipping behaviour is semantically wrong.
>>
>> What do you mean by "semantically wrong"?
>
> I went to read the IEEE 754 standard, and you're right, they do
> explicitly say in section 6.2
>
>      Quiet NaNs should, by means left to the implementer’s discretion,
>      afford retrospective diagnostic information inherited from invalid
>      or unavailable data and results.
>
> so it's also meant for missing values. Huh, I was wrong. However, they
> also go on to say,
>
>      For an operation with quiet NaN inputs, other than maximum and
>      minimum operations, if a floating-point result is to be delivered
>      the result shall be a quiet NaN which should be one of the input
>      NaNs.
>
> so the NaN toolbox is in fact breaking the IEEE 754 standard, since it
> does not return NaN for many operations that it should.


The IEEE754 standard defines on unary and binary operations like 
+,-,*,/, <,>,<=,>=,==,<>,!; it does not talk about statistical 
functions. So, the NaN-toolbox does certainly NOT break the IEEE 754 
standard. It might break compatibility with Matlab, but that's another 
story.


> I noticed that
> in Wikipedia someone (you?) seems to be boasting about how the NaN
> toolbox does this (original said "goes one step further"), so I
> reworded it:
>
>      The [http://biosig-consulting.com/matlab/NaN/ NaN 'toolbox'] for
>      [[GNU Octave]] and [[MATLAB]] does not follow this standard and
>      skips all NaNs when computing aggregates [...]
>

Your change is a misrepresentation of the NaN-toolbox, because the 
NaN-toolbox does not break the IEEE 754 standard.

And not every computation in the NaN-toolbox is skipping NaN's. I've 
removed these disputable comments.


> Not that not following a standard is wrong. Sometimes standards are
> meant to be broken. ;-) But I don't think they should be broken by
> default, so please don't ask us, the developers of Octave, to break
> it.
>
> This has been illuminating, though, and it gives a clear indication of
> how to fix this:
>
>      https://savannah.gnu.org/bugs/?32885
>
> According to IEEE 754, NaN-skipping behaviour should happen here.


So, you agree that NaN-skipping behavior is sometimes ok ? So what is 
your concern with the NaN-toolbox?


Alois


>
> Thanks,
> - Jordi G. H.


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to