Я написал следующий пример кода, и мне немного любопытно, как будет np.frompyfunc
работать в этом случае.
import numpy as np
def test(x):
if x>10000:
return test(x)
else:
return x+1
def f(x, y):
if y >5:
x=test(x)
return x/y
if x<5:
y+=1
return x*y
return x*y*2
vf = np.frompyfunc(f,2,1)
print(vf(np.arange(10),np.arange(10,0,-1)))
Я предполагаю, что это как-то "сгладит" оператор IF в функции и приведет к векторизованному коду, но я не смог найти соответствующий код в репозитории с тупым кодом.