[Numpy-discussion] Difficulty using special types like timedelta and Decimal
Charles R Harris
charlesr.harris@gmail....
Fri Sep 16 11:18:57 CDT 2011
On Fri, Sep 16, 2011 at 9:11 AM, Benjamin Root <ben.root@ou.edu> wrote:
> Certain numerical types in Python that support accurate fractional
> calculations such as timedelta and Decimal do not allow for multiplication
> or division by a floating point number, but do allow for use with an
> integer. This can cause difficulties with some functions such as
> np.gradient() which has a division by 2.0 as part of the algorithm.
>
> My question is: with Py3k's division always resulting in a floating point
> result regardless of the denominator's type, would it be possible to change
> some of these common denominators over to integers in order to better
> facilitate support for these special types?
>
> Obviously, I don't think we could expect full support of these types, but
> maybe a mechanism could be developed to better handle these?
>
>
Timedelta seems to work in master:
In [1]: timedelta64(5)
Out[1]: numpy.timedelta64(5)
In [2]: timedelta64(5)/2.0
Out[2]: numpy.timedelta64(2)
In [3]: timedelta64(5)/2
Out[3]: numpy.timedelta64(2)
I think making the change to 2 is a reasonable thing to do, but you should
put a
from __future__ import division
at the beginning of the module containing gradient and make sure everything
still works.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20110916/9a03a08b/attachment.html
More information about the NumPy-Discussion
mailing list