gpt4 book ai didi

c - 如何在 C 中检查 ndarray 的数据类型

转载 作者:太空狗 更新时间:2023-10-29 17:19:18 24 4
gpt4 key购买 nike

谁能告诉我如何检查传递给 C 代码的 ndarray 的数据类型?

在具体示例中,如果数组的数据类型是float32double/float64,我想调用不同的函数。所以像

if( Dtype(MyArray) == NPY_FLOAT )
{
DoSomething_float( MyArray );
}
else
{
DoSomething_double( MyArray );
}

我已经找到了

PyTypeNum_ISFLOAT(num)
PyDataType_ISFLOAT(descr)
PyArray_ISFLOAT(obj)

在 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);
}

关于c - 如何在 C 中检查 ndarray 的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14294936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com