[Numpy-discussion] Should non ufunc numpy functions behave like ufunc regarding casting to output argument ?

David Cournapeau david at ar.media.kyoto-u.ac.jp
Mon Jan 15 20:36:09 EST 2007


Hi,

    I am trying to add support for out argument to one C function using 
numpy API (still the clip function). I was wondering about the expected 
behaviour when out does not have the "expected" type.
    For example, using again the clip function (but the question is not 
specific to this function)
   
In [1]: import numpy

In [2]: a = numpy.linspace(0, 10, 101)

In [3]: b = numpy.zeros(a.shape, dtype = numpy.int32)

In [4]: print a.dtype
float64

In [5]: a.clip(0.1, 0.5, b)

    Should this be equivalent to b = a.clip(0.1, 0.5); b = 
b.astype(numpy.int32) (ie, the casting is done at the end, similar to an 
ufunc) ?

    cheers,

    David



More information about the NumPy-Discussion mailing list