Hi All,

I've changed the sort routines so that they sort nans to the end. The sort
order is now

Real types: [R, nan]
Complex types: [R + Rj, R + nanj, nan + Rj, nan + nanj]

Where R stands for the usual extended range of reals, i.e. [-inf, finite,
+inf] and when two complex numbers have the same pattern of nans then they
are sorted on the non-nan part, if any.

So the sorts now work with nans but that implies some other fixups on which
I would like some feedback.

1) Search sorted -- Search sorted depends on the compare function of the
ndarray, I think that compare function should be changed to correspond to
the sort order.

2) Methods argmax/argmin/ -- should be compatible with max/min

3) max/min ufuncs -- Problematic, min would fail to propagate nans, should
probably stay the same.

4) fmax/fmin ufuncs -- Should stay with c definition

5) Logical comparison ufuncs -- I think these should remain compatible with
the c operators.

Note that there is a mix of implementations, max/min on void types use the
type comparison functions for instance. In other words, changing the type
comparisons could mean rewriting some of the other functions.

Thoughts?

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to