LINUX.ORG.RU

Как заставить numpy падать при overflow?

 ,


0

1

Возможно ли добиться падения вот такого кода?

import numpy as np

np.seterr(all='raise')

print(np.int8(128))
print(np.abs(np.int8(-128)) == -128)

Допустим, с отсутствием исключения при прямом приведении 128 в int8 еще можно смириться, но вот модуль - хотелось бы, чтобы упал.

Разве это не будет медленнее? Вроде же просто проверяют результат на nan.

anonymous
()
Ответ на: комментарий от anonymous

int8 не поддерживает np.NaN, в приведенном примере у меня последняя строчка выдает True. А штраф по скорости - я согласен, пусть будет медленно, мне для отладки.

omegatype ★★★
() автор топика
Последнее исправление: omegatype (всего исправлений: 1)
Ответ на: комментарий от omegatype

напиши фейковый модуль np_test, реализуй int8 с нужными проверками вручную, и подставляй его вместо numpy, например, по ключу --debug

MyTrooName ★★★★★
()
Последнее исправление: MyTrooName (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.