Spec-Zone.ru › NumPy 1.17

numpy.seterrobj

numpy.seterrobj(errobj)

Устанавливает объект, определяющий обработку ошибок с плавающей запятой.

Объект ошибки содержит всю информацию, определяющую поведение обработки ошибок в NumPy. seterrobj используется внутренне другими функциями, которые устанавливают поведение обработки ошибок (seterr, seterrcall).

Параметры:
errobj : list

Объект ошибки, список, содержащий три элемента: [внутренний размер буфера NumPy, маска ошибки, функция обратного вызова ошибки].

Маска ошибки — целое число, содержащее информацию о обработке всех четырёх ошибок с плавающей запятой. Информация для каждого типа ошибки содержится в трёх битах целого числа. Если мы выведем его в восьмеричной системе счисления, мы увидим, какая обработка установлена для «недействительной», «под», «над» и «деления» (в таком порядке). Выведенную строку можно интерпретировать следующим образом:

  • 0 : ‘ignore’
  • 1 : ‘warn’
  • 2 : ‘raise’
  • 3 : ‘call’
  • 4 : ‘print’
  • 5 : ‘log’

См. также

geterrobj, seterr, geterr, seterrcall, geterrcall, getbufsize, setbufsize

Примечания

Полное описание типов исключений с плавающей запятой и вариантов обработки см. в seterr.

Примеры

>>> old_errobj = np.geterrobj()  # first get the defaults
>>> old_errobj
[8192, 521, None]
>>> def err_handler(type, flag):
...     print("Floating point error (%s), with flag %s" % (type, flag))
...
>>> new_errobj = [20000, 12, err_handler]
>>> np.seterrobj(new_errobj)
>>> np.base_repr(12, 8)  # int for divide=4 ('print') and over=1 ('warn')
'14'
>>> np.geterr()
{'over': 'warn', 'divide': 'print', 'invalid': 'ignore', 'under': 'ignore'}
>>> np.geterrcall() is err_handler
True

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.seterrobj.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API