From 22357e639f2793ca3f2e75ef3b96c70cc406343f Mon Sep 17 00:00:00 2001 From: Charles Harris Date: Mon, 7 Jun 2010 03:43:26 +0000 Subject: CLN: Cleanup nanops code a bit. Patch is from Tony Yu. --- numpy/lib/function_base.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'numpy/lib/function_base.py') diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index d35b0efd2..1a93b5a1d 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -1295,15 +1295,15 @@ def _nanop(op, fill, a, axis=None): """ y = array(a, subok=True) - mask = isnan(a) # We only need to take care of NaN's in floating point arrays - if not np.issubdtype(y.dtype, np.integer): - # y[mask] = fill - # We can't use fancy indexing here as it'll mess w/ MaskedArrays - # Instead, let's fill the array directly... - np.putmask(y, mask, fill) - + if np.issubdtype(y.dtype, np.integer): + return op(y, axis=axis) + mask = isnan(a) + # y[mask] = fill + # We can't use fancy indexing here as it'll mess w/ MaskedArrays + # Instead, let's fill the array directly... + np.putmask(y, mask, fill) res = op(y, axis=axis) mask_all_along_axis = mask.all(axis=axis) -- cgit v1.2.1