如何在用户定义的数据类型上创建Numpy ufunc?

如何在用户定义的数据类型上创建Numpy ufunc?,numpy,Numpy,包含一个函数PyUFunc\u FromFuncAndData,用于创建pyufunobject数据结构。此函数接受一个char[]types参数,该参数指定函数的内置参数类型(int、float等)。但是,用户定义的数据类型的类型号是int,而不是char。如果我使用C-API创建自定义(用户定义)数据类型,如何创建在该数据类型上运行的ufunc?我在Numpy文档中没有看到对此的解释,但是 这是相对于旧版本的Numpy进行讨论的。这些API函数的源代码如下所示 int my_type_num

包含一个函数
PyUFunc\u FromFuncAndData
,用于创建
pyufunobject
数据结构。此函数接受一个char[]
types
参数,该参数指定函数的内置参数类型(int、float等)。但是,用户定义的数据类型的类型号是int,而不是char。如果我使用C-API创建自定义(用户定义)数据类型,如何创建在该数据类型上运行的ufunc?

我在Numpy文档中没有看到对此的解释,但是

这是相对于旧版本的Numpy进行讨论的。这些API函数的源代码如下所示

int my_type_num = PyArray_RegisterDataType(&my_custom_type_descr);

PyUFuncObject* ufunc = (PyUFuncObject*)PyUFunc_FromFuncAndData(
    NULL, NULL, NULL, 0, nin, nout, identity, name, doc, 0);
PyUFunc_RegisterLoopForType(ufunc, my_type_num, my_loop_func, NULL, NULL);