[Numpy-discussion] Compact way of performing array math with specified result type?
Travis Oliphant
oliphant.travis@ieee....
Sat Apr 28 16:04:49 CDT 2007
Russell E. Owen wrote:
> I often find myself doing simple math on sequences of numbers (which
> might or might not be numpy arrays) where I want the result (and thus
> the inputs) coerced to a particular data type.
>
> I'd like to be able to say:
>
> numpy.divide(seq1, seq2, dtype=float)
>
> but ufuncs don't allow on to specify a result type. So I do this instead:
>
> numpy.array(seq1, dtype=float) / numpy.array(seq2, dtype=float)
>
> Is there a more compact solution (without having to create the result
> array first and supply it as an argument)?
>
Every ufunc has a little-documented keyword "sig" for (signature) which
allows you to specify the signature of the inner loop.
Thus,
numpy.divide(seq1, seq1, sig=('d',)*3)
will do what you want.
-Travis
> -- Russell
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion@scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
More information about the Numpy-discussion
mailing list