提交 480007bf authored 作者: David Warde-Farley's avatar David Warde-Farley

Merge pull request #113 from nouiz/fix_test_complex

Fix tests with complex numbers
...@@ -538,7 +538,7 @@ class Function(object): ...@@ -538,7 +538,7 @@ class Function(object):
function_name += 'with name "'+self.name+'" ' function_name += 'with name "'+self.name+'" '
#end if #end if
e.args = tuple(["Bad input argument to " + function_name + e.args = tuple(["Bad input argument to " + function_name +
" at index %d" % i] + list(e.args)) " at index %d(0-based)" % i] + list(e.args))
raise raise
#end except #end except
#end if #end if
......
...@@ -20,8 +20,8 @@ try: ...@@ -20,8 +20,8 @@ try:
_blas_ger_fns = { _blas_ger_fns = {
numpy.dtype('float32'):scipy.linalg.blas.fblas.sger, numpy.dtype('float32'):scipy.linalg.blas.fblas.sger,
numpy.dtype('float64'):scipy.linalg.blas.fblas.dger, numpy.dtype('float64'):scipy.linalg.blas.fblas.dger,
#numpy.dtype('complex64'):scipy.linalg.blas.fblas.cger, numpy.dtype('complex64'):scipy.linalg.blas.fblas.cgeru,
#numpy.dtype('complex128'):scipy.linalg.blas.fblas.zger, numpy.dtype('complex128'):scipy.linalg.blas.fblas.zgeru,
} }
optimizations_enabled = True optimizations_enabled = True
except ImportError, e: except ImportError, e:
......
...@@ -3412,6 +3412,23 @@ class t_dot(unittest.TestCase): ...@@ -3412,6 +3412,23 @@ class t_dot(unittest.TestCase):
# results have size 1. # results have size 1.
# #
def val_for(r): def val_for(r):
if r.dtype.startswith('complex'):
# We want to test complex at the same time, so we give a value
# To the imaginary component.
# This stange way to doing thing is the only way that worked on
# numpy 1.4.1
if r.ndim == 0:
return numpy.asarray(numpy.complex(1.1,2.1), dtype=r.dtype)
if r.ndim == 1:
if r.dtype == 'complex64':
return numpy.complex64([numpy.complex(1.2,2.2)])
elif r.dtype == 'complex128':
return numpy.complex128([numpy.complex(1.2,2.2)])
elif r.ndim == 2:
if r.dtype == 'complex64':
return numpy.complex64([[numpy.complex(1.3,2.3)]])
elif r.dtype == 'complex128':
return numpy.complex128([[numpy.complex(1.3,2.3)]])
if r.ndim == 0: if r.ndim == 0:
return numpy.asarray(1.1, dtype=r.dtype) return numpy.asarray(1.1, dtype=r.dtype)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论