On Wed, Jul 7, 2010 at 10:13 PM, Christoph Gohlke <cgohlke@uci.edu> wrote:
Dear NumPy developers,

I am trying to solve some scipy.sparse TypeError failures reported in
[1] and reduced them to the following example:


>>> import numpy
>>> a = numpy.array([[1]])

>>> numpy.dot(a.astype('single'), a.astype('longdouble'))
array([[1.0]], dtype=float64)

>>> numpy.dot(a.astype('double'), a.astype('longdouble'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: array cannot be safely cast to required type


Just for laughs, what happens if you reverse the order of the arguments? Type promotion in numpy is not always symmetric.

<snip>

Chuck