谁能告诉我如何检查ndarray已传递给C代码的数据类型?
在具体的例子中,如果数组的数据类型是float32或,我想调用一个不同的函数double/float64.所以像
if( Dtype(MyArray) == NPY_FLOAT )
{
DoSomething_float( MyArray );
}
else
{
DoSomething_double( MyArray );
}
Run Code Online (Sandbox Code Playgroud)
我已经找到了
PyTypeNum_ISFLOAT(num)
PyDataType_ISFLOAT(descr)
PyArray_ISFLOAT(obj)
Run Code Online (Sandbox Code Playgroud)
在numpy C API中,但我不明白如何使用它们.我已经试图找到一个有启发性的例子,但没有找到.
你几乎就在那里,因为你在寻找PyArray_TYPE:
int typ=PyArray_TYPE(MyArray);
switch(typ) {
case NPY_FLOAT:
DoSomething_single(MyArray);
break;
case NPY_DOUBLE:
DoSomething_double(MyArray);
break;
default:
error("unknown type %d of MyArray\n", typ);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1711 次 |
| 最近记录: |