2012/2/29 Alois Schloegl <alois.schlo...@ist.ac.at>:
> if you believe, that I'm doing the NaN-tb because of a petty war you are
> grossly mistaken. The NaN-toolbox tries to solve a real issue - and it
> does it very well, I think. I also do not understand your issue - You do
> not need to use the NaN-toolbox if you do not like it. So what is your
> issue?

The problem is that people continuously are installing all of
Octave-Forge without paying any attention to what they are installing
or why. This is particularly true of Octave installations for Windows
and McOS 10. Thus a lot of users are shadowing core functions without
really understanding the issue behind it.

The other problems are that you seem to be unhappy that Octave now
warns when core functions are shadowed, and you also repeatedly insist
that Octave core functions are wrong and are in need of being fixed by
you.

Shadowing core functions is also inconvenient from the user point of
view because to enable and disable the NaN-skipping behaviour, you
have to load/unload a whole package, instead of a simple runtime flag
to do this or not.

> Concerning your question: NA-skipping instead of NaN-tb is not a
> solution, at least not for the NaN-toolbox for the following reason:
>
> o) When you compute in statistics some expectation value, it does not
> matter whether there is a NA or a NAN, both should be skipped.

This does not make sense to me. Why should NaN be skipped if it arose
from an incorrect computation? It only makes sense to me to skip them
if they are representing missing data, not if they are representing an
incorrect computation.

> - NA do not make things simpler but more complicated. There are no clear
> rules when NA and when NAN's should be used.

They are very clear: everything is a NaN unless the user specifically
requests a NA.

> - NA can cause a significant performance penalty. ISNAN() is supported
> by hardware, but ISNA() needs to analyze the payload of NaN which is
> much more complicated.

This is a legitimate concern. Checking for NA is indeed slower by
about a factor of ten.

> Some final remarks on NA. Nobody is using it, and I really do not see
> any advantage of NA. If NA's would provide a solution, why do the
> statistical core functions of Octave not use it?

They use it in R. The reason Octave has it was because there was a
desire to have symmetrical data exchange between R and Octave. The
reason that NA is not really used in Octave is because nobody really
found a need to implement this behaviour until now. R has several
functions that accept a predicate that skips NA or maybe NaN, but they
don't skip NaN by default. If R, which is specifically tailored for
statistics, doesn't skip NaN by default, why do you think Octave
should?

- 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