Как определить сигнатуру функции в numba для функции, получающей параметр настраиваемого ndtype? - PullRequest
0 голосов
/ 28 мая 2020

Мне интересно, как определить подпись для функции, которая получает в качестве параметра переменную пользовательского типа ndtype. Например:

struct_dtype = np.dtype([('row', np.float32,29*29), ('col', np.float64,29*29)])
ty = numba.typeof(struct_dtype)
print (ty)

Это возвращает:

dtype(Record(row[type=nestedarray(float32,(841,));offset=0],col[type=nestedarray(float64, (841,));offset=3364];10092;False))

Итак, я хочу определить функцию и ее подпись, получая в качестве параметра переменную struct_dtype, например:

@njit("Record([(float32, (841,))],[(float64, (841,))]),A")
def test(d):
    print (d.row[0])

Но здесь написано: TypeError: __init__() missing 1 required positional argument: 'aligned'

Есть подсказка?

...