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. 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 [...]

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.

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