On Fri, Sep 16, 2011 at 9:11 AM, Benjamin Root <[email protected]> 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
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
