Я использую @guvectorize от numba для изменения двух разных массивов.Код:
@guvectorize([(int64[:], int64[:], int64[:], int64[:])], '(n),(n)->(n),(n)', target= 'parallel')
def g(x, y, res, res_two):
res = x
for i in range(x.shape[0]-1):
var = np.random.poisson((2),1)[0]
res_two[i] = var
res[i+1] = res[i] + res_two[i]
print("res[i+1] is", res[i+1], "for x[i] is", x[i])
q = (np.arange(5)) * 0
q[0] = 5
r = (np.arange(5)) * 0
g(q,r)
print("q is", q)
print("r is", r)
И результаты распечатки:
Как видно, q меняется,но г нет.
Что я должен сделать, чтобы использовать guvectorize для ввода двух массивов и изменения этих двух массивов?