Numeric and the new division operator
Chris Liechti
cliechti at gmx.net
Thu Jan 3 10:19:43 EST 2002
More information about the Python-list mailing list
Thu Jan 3 10:19:43 EST 2002
- Previous message (by thread): ANN: py2exe version 0.2.7 released
- Next message (by thread): Numeric and the new division operator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[posted and mailed] mjbarber at ascc.artsci.wustl.edu (Michael James Barber) wrote in news:a11rau$h3h at ascc.artsci.wustl.edu: > > I run into a problem when using the new "true division" operator in > conjunction with Numeric. Do others see this too? > > I can't imagine what I could be doing wrong with what is below, but I > hope someone can enlighten me if it is a usage problem. The problem is > only in Numeric, btw - it works fine with floats and integers. > > > Python 2.2 (#124, Dec 22 2001, 17:36:41) [CW CARBON GUSI2 THREADS GC] > on mac > Type "copyright", "credits" or "license" for more information. >>>> from Numeric import arange >>>> x = arange(10) >>>> x > array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>>> x / 10 > array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) >>>> x / 10. > array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]) >>>> # classic division works as expected ... >>>> # now let's try true division ... >>>> from __future__ import division x/10 > Traceback (most recent call last): > File "<stdin>", line 1, in ? > TypeError: unsupported operand type(s) for /: 'array' and 'int' >>>> x / 10. > Traceback (most recent call last): > File "<stdin>", line 1, in ? > TypeError: unsupported operand type(s) for /: 'array' and 'float' >>>> # oh, dear from the docs: --------- __div__(self, other) __truediv__(self, other) The division operator (/) is implemented by these methods. The __truediv__() method is used when __future__.division is in effect, otherwise __div__() is used. If only one of these two methods is defined, the object will not support division in the alternate context; TypeError will be raised instead. --------- so i think they have not implemented __truediv__. maybe it would suffuce to say "__truediv__ = __div__" in the Nummeric classes, but i don't know them. -- Chris <cliechti at gmx.net>
- Previous message (by thread): ANN: py2exe version 0.2.7 released
- Next message (by thread): Numeric and the new division operator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list