提交 23fa09f0 authored 作者: James Bergstra's avatar James Bergstra

GpuReshape - permit reshaping of 0-size ndarrays

上级 e66dbf76
...@@ -533,10 +533,10 @@ PyObject * CudaNdarray_Reshape(CudaNdarray * self, PyObject * shape) ...@@ -533,10 +533,10 @@ PyObject * CudaNdarray_Reshape(CudaNdarray * self, PyObject * shape)
free(rval_dims); free(rval_dims);
return NULL; return NULL;
} }
if(rval_dims[i]<=0){ if(rval_dims[i]<0){
PyErr_Format(PyExc_ValueError, "Reshape has invalid dimension %i (must be >0)",rval_dims[i]); PyErr_Format(PyExc_ValueError, "Reshape has invalid dimension %i (must be >=0)",rval_dims[i]);
free(rval_dims); free(rval_dims);
return NULL; return NULL;
} }
rval_size = rval_size * rval_dims[i]; rval_size = rval_size * rval_dims[i];
} }
...@@ -547,6 +547,10 @@ PyObject * CudaNdarray_Reshape(CudaNdarray * self, PyObject * shape) ...@@ -547,6 +547,10 @@ PyObject * CudaNdarray_Reshape(CudaNdarray * self, PyObject * shape)
free(rval_dims); free(rval_dims);
return NULL; return NULL;
} }
if (rval_size==0)
{
return CudaNdarray_NewDims(rval_nd, rval_dims);
}
if(CudaNdarray_is_c_contiguous(self)) if(CudaNdarray_is_c_contiguous(self))
{ {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论