提交 e430647a authored 作者: Frederic's avatar Frederic

better error msg when not aligned inputs to a c code from an op.

上级 66126fc3
...@@ -988,8 +988,20 @@ class TensorType(Type): ...@@ -988,8 +988,20 @@ class TensorType(Type):
if (!PyArray_ISALIGNED(py_%(name)s)) { if (!PyArray_ISALIGNED(py_%(name)s)) {
PyErr_Format(PyExc_NotImplementedError, PyErr_Format(PyExc_NotImplementedError,
"expected an aligned array of type %%d " "expected an aligned array of type %%d "
"(%(type_num)s), got non-aligned array of type %%d", "(%(type_num)s), got non-aligned array of type %%d"
%(type_num)s, type_num_%(name)s); " with %%d dimensions, with 2 last dims %%d, %%d"
" and 2 last strides %%d, %%d.",
%(type_num)s, type_num_%(name)s,
PyArray_NDIM(py_%(name)s),
PyArray_NDIM(py_%(name)s) >= 2 ?
PyArray_DIMS(py_%(name)s)[PyArray_NDIM(py_%(name)s)-2] : -1,
PyArray_NDIM(py_%(name)s) >= 1 ?
PyArray_DIMS(py_%(name)s)[PyArray_NDIM(py_%(name)s)-1] : -1,
PyArray_NDIM(py_%(name)s) >= 2 ?
PyArray_STRIDES(py_%(name)s)[PyArray_NDIM(py_%(name)s)-2] : -1,
PyArray_NDIM(py_%(name)s) >= 1 ?
PyArray_STRIDES(py_%(name)s)[PyArray_NDIM(py_%(name)s)-1] : -1
);
%(fail)s %(fail)s
} }
// This is a TypeError to be consistent with DEBUG_MODE // This is a TypeError to be consistent with DEBUG_MODE
...@@ -1043,7 +1055,7 @@ class TensorType(Type): ...@@ -1043,7 +1055,7 @@ class TensorType(Type):
def c_code_cache_version(self): def c_code_cache_version(self):
scalar_version = scal.Scalar(self.dtype).c_code_cache_version() scalar_version = scal.Scalar(self.dtype).c_code_cache_version()
if scalar_version: if scalar_version:
return (5,) + scalar_version return (6,) + scalar_version
else: else:
return () return ()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论