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