Sebastian Haase wrote:
> Hi!
> I just finished maybe a total of 5 hours tracking down a nasty bug.
> So I thought I would share this:
> I'm keeping a version of (old) SciPy's 'plt' module around.
> (I know about matplotlib - anyway - ...)
> I changed the code some time ago from Numeric to numarray - no problem.
> Now I switched to numpy ... and suddenly the zooming does not work 
> anymore: it always zooms to "full view".
> 
> Finally I traced the problem down to a utility function:
> "is_number" - it is simply implemented as
> def is_number(val):
>      return (type(val) in [type(0.0),type(0)])
> 
> As I said - now I finally saw that I always got
> False since the type of my number (0.025) is
>   <type 'float64scalar'>
> and that's neither <type 'float'> nor <type 'int'>
> 
> OK - how should this have been done right ?

It depends on how is_number() is actually used. Probably the best thing to do 
would be to take a step back and reorganize whatever is calling it to not 
require specific types.

Quick-and-dirty: use isinstance() instead since float64scalar inherits from 
float. However, float32scalar does not, so this is not a real solution, just a 
hack to get you on your merry way.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion

Reply via email to