2016-03-28 28 views
1

Numpy C API, PyUFuncObject veri yapısını oluşturmak için PyUFunc_FromFuncAndData işlevini içerir. Bu işlev, işlevin yerleşik argüman türlerini (int, float, vb.) Belirten bir char [] types argümanını alır. Ancak, kullanıcı tanımlı bir veri türü için tip numarası bir int değil, bir char. Özel (kullanıcı tanımlı) veri türü oluşturmak için C-API kullanırsam, bu veri türünde çalışan bir ufunc nasıl oluşturabilirim?Kullanıcı tanımlı veri türleri üzerinde bir Numpy ufunc nasıl oluşturulur?

cevap

1

Bunu, Numpy belgelerinde açıklanmış görmüyorum, ancak there are examples around.

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

Bu

Numpy on the Numpy mailing list eski bir sürümünü göre tartışılmıştır. Bu API işlevleri için kaynak kodu here'dur.

İlgili konular