提交 26875b37 authored 作者: Frederic Bastien's avatar Frederic Bastien

This fix a crash recently added in 5178e4

We need to update the second var before we use it!
上级 5178e406
...@@ -966,7 +966,7 @@ class ConvOp(OpenMPOp): ...@@ -966,7 +966,7 @@ class ConvOp(OpenMPOp):
return ['<numpy/noprefix.h>', '<iostream>', '<sstream>'] return ['<numpy/noprefix.h>', '<iostream>', '<sstream>']
def c_code_cache_version(self): def c_code_cache_version(self):
return (8, self.openmp) return (9, self.openmp)
def c_support_code(self): def c_support_code(self):
return """ return """
...@@ -1310,12 +1310,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != (npy_intp)sizeof(%(type)s)) ...@@ -1310,12 +1310,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != (npy_intp)sizeof(%(type)s))
contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d)); contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d));
Py_DECREF(img2d); Py_DECREF(img2d);
img2d = contig; img2d = contig;
img2d_arr = (PyArrayObject*)img2d;
if (!PyArray_ISCONTIGUOUS(img2d_arr)){ if (!PyArray_ISCONTIGUOUS(img2d_arr)){
PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous"); PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous");
%(fail)s; %(fail)s;
} }
} }
img2d_arr = (PyArrayObject*)img2d;
filtersflipped = PyArray_Newshape(%(filtersflipped)s,&kerns_shape, NPY_CORDER); filtersflipped = PyArray_Newshape(%(filtersflipped)s,&kerns_shape, NPY_CORDER);
filtersflipped_arr = (PyArrayObject*)filtersflipped; filtersflipped_arr = (PyArrayObject*)filtersflipped;
...@@ -1584,12 +1584,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != (npy_intp)sizeof(%(type)s)) ...@@ -1584,12 +1584,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != (npy_intp)sizeof(%(type)s))
contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d)); contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d));
Py_DECREF(img2d); Py_DECREF(img2d);
img2d = contig; img2d = contig;
img2d_arr = (PyArrayObject*)img2d;
if (!PyArray_ISCONTIGUOUS(img2d_arr)){ if (!PyArray_ISCONTIGUOUS(img2d_arr)){
PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous"); PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous");
%(fail)s; %(fail)s;
} }
} }
img2d_arr = (PyArrayObject*)img2d;
typenum = PyArray_ObjectType((PyObject*)%(img2d)s, 0); typenum = PyArray_ObjectType((PyObject*)%(img2d)s, 0);
typenum_f = PyArray_ObjectType((PyObject*)%(filtersflipped)s, 0); typenum_f = PyArray_ObjectType((PyObject*)%(filtersflipped)s, 0);
...@@ -1834,12 +1834,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != (npy_intp)sizeof(%(type)s)) ...@@ -1834,12 +1834,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != (npy_intp)sizeof(%(type)s))
contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d)); contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d));
Py_DECREF(img2d); Py_DECREF(img2d);
img2d = contig; img2d = contig;
img2d_arr = (PyArrayObject*)img2d;
if (!PyArray_ISCONTIGUOUS(img2d_arr)){ if (!PyArray_ISCONTIGUOUS(img2d_arr)){
PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous"); PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous");
%(fail)s; %(fail)s;
} }
} }
img2d_arr = (PyArrayObject*)img2d;
filtersflipped = PyArray_Newshape(%(filtersflipped)s,&kerns_shape, NPY_CORDER); filtersflipped = PyArray_Newshape(%(filtersflipped)s,&kerns_shape, NPY_CORDER);
filtersflipped_arr = (PyArrayObject*)filtersflipped; filtersflipped_arr = (PyArrayObject*)filtersflipped;
...@@ -2070,12 +2070,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != sizeof(%(type)s)) ...@@ -2070,12 +2070,12 @@ if ((PyArray_STRIDES(img2d_arr)[3] != sizeof(%(type)s))
contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d)); contig = (PyObject*)(PyArray_GETCONTIGUOUS((PyArrayObject*)img2d));
Py_DECREF(img2d); Py_DECREF(img2d);
img2d = contig; img2d = contig;
img2d_arr = (PyArrayObject*)img2d;
if (!PyArray_ISCONTIGUOUS(img2d_arr)){ if (!PyArray_ISCONTIGUOUS(img2d_arr)){
PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous"); PyErr_SetString(PyExc_ValueError, "img2d isn't contiguous");
%(fail)s; %(fail)s;
} }
} }
img2d_arr = (PyArrayObject*)img2d;
filtersflipped = PyArray_Newshape(%(filtersflipped)s,&kerns_shape, NPY_CORDER); filtersflipped = PyArray_Newshape(%(filtersflipped)s,&kerns_shape, NPY_CORDER);
filtersflipped_arr = (PyArrayObject*)filtersflipped; filtersflipped_arr = (PyArrayObject*)filtersflipped;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论