From 2676c32f82c88aef0706ecbd906dc80960aab757 Mon Sep 17 00:00:00 2001 From: bruneton Date: Mon, 22 Jul 2013 11:44:18 +0000 Subject: [PATCH] Minor: enhanced NumPy data type detection logic. Now using PyArray_DESCR()->type_num --- src/MEDCoupling_Swig/MEDCouplingTypemaps.i | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/MEDCoupling_Swig/MEDCouplingTypemaps.i b/src/MEDCoupling_Swig/MEDCouplingTypemaps.i index af711aadd..dd61b8ee1 100644 --- a/src/MEDCoupling_Swig/MEDCouplingTypemaps.i +++ b/src/MEDCoupling_Swig/MEDCouplingTypemaps.i @@ -210,17 +210,11 @@ MCData *BuildNewInstance(PyObject *elt0, int npyObjectType, PyTypeObject *pytype int ndim=PyArray_NDIM(elt0); if(ndim!=1 && ndim!=2) throw INTERP_KERNEL::Exception("Input numpy array should have dimension equal to 1 or 2 !"); - if(PyArray_ObjectType(elt0,0)!=npyObjectType) + if(PyArray_DESCR(elt0)->type_num != npyObjectType) { - std::ostringstream oss; oss << "Input numpy array has not the type " << msg << " at component #0 !"; + std::ostringstream oss; oss << "Input numpy array has not the type " << msg << "!"; throw INTERP_KERNEL::Exception(oss.str().c_str()); } - if(ndim==2) - if(PyArray_ObjectType(elt0,1)!=npyObjectType) - { - std::ostringstream oss; oss << "Input numpy array has not the type " << msg << " at component #1 !"; - throw INTERP_KERNEL::Exception(oss.str().c_str()); - } npy_intp sz0=PyArray_DIM(elt0,0); npy_intp sz1=ndim==2?PyArray_DIM(elt0,1):1; // -- 2.39.2