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