Hi,

Instead of using : xp = (x-self.loc) * (1/self.scale)
I've decided to use :
xp = (x-self.loc) / self.scale

and by some miracle, the bug does not show up in almost all tests.
Before this bug, the program seems to be hung in a DOUBLE_substract function() for quite some time (umathmodule.c file). Perhaps it is this function that triggers to many references or dereferencing them too much ?
If someone wants to take a look, I may be able to wrap what is needed in a single (but big) file.

Matthieu
--
French PhD student
Website : http://miles.developpez.com/
Blogs : http://matt.eifelle.com and http://blog.developpez.com/?blog=92