Usage of NotImplemented in Numexpr

Tim Hochberg tim.hochberg at ieee.org
Mon Oct 16 12:45:24 CDT 2006


Ivan Vilata i Balaguer wrote:
> En/na Tim Hochberg ha escrit::
>
>   
>> Ivan Vilata i Balaguer wrote:
>>     
>>>     for i, x in enumerate(args):
>>>         if isConstant(x):
>>>             args[i] = ConstantNode(x)
>>>         elif not isinstance(x, ExpressionNode):
>>>             raise TypeError( "unsupported object type: %s",
>>>                              type(x) )
>>>
>>> Do you think this is OK, or am I wrong or missing something?
>>>       
>> That looks right. I'm not entirely happy with this fix; I believe that 
>> returning NotImplemented was intentional with the idea that we might 
>> someday want to use the NotImplemented machinery. That said, I can't 
>> think of a better fix and I don't see us using the NotImplemented 
>> machinery anytime soon, so I imagine it should go in.
>>     
>
> Maybe placing a comment there should be enough for future reference.  By
> the way, I noticed that I splipped a bad string interpolation there, it
> should be ``"unsupported object type: %s" % type(x)``.
>   
I went ahead and committed this more or less as is for the time being.

I have an idea about how to treat stuff like list and tuple  literals. 
The basic idea is to attempt to convert them to arrays using asarray, 
then to turn them into pseudo variables. It's all still a little vague, 
but it should be feasible to have evaluate('a < [1,2,3]') work as it 
does in numpy.

It sounds like work though, so I'm putting it off for now...

-tim




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642




More information about the Numpy-discussion mailing list