Как векторизовать функцию со значениями параметров по умолчанию? - PullRequest
0 голосов
/ 13 февраля 2019

При numba обычно нет проблем с компиляцией функции, которая принимает дополнительные аргументы со значениями по умолчанию (и этот вопрос был рассмотрен здесь ), например:

@numba.jit
def f(a, b=1):
    return a + b

Я пытаюсь достичь той же функции не с jit, а с vectorize.То есть ключевое слово Omitted, предложенное в связанном вопросе, здесь больше не работает:

@numba.vectorize
def f(a, b=1):
    return a + b

a = numpy.array([1, 2, 3])
f(a) # Raises ValueError: invalid number of arguments
f(a, 2) # Works OK

@numba.vectorize(['float64(float64, float64)', 'float64(float64, Omitted(float64))'])
def f(a, b=1):
    return a + b # Raises NotImplementedError

Есть ли чистый способ обойти эту проблему?например, предоставив vectorize конкретную подпись, может быть?

...