numpy.finfo#
- класс numpy.finfo(dtype)[источник]#
Машинные пределы для типов с плавающей точкой.
- Параметры:
- dtypefloat, dtype или экземпляр
Тип данных с плавающей точкой или комплексной плавающей точкой, о котором нужно получить информацию.
Смотрите также
Примечания
Для разработчиков NumPy: не создавайте экземпляр этого на уровне модуля. Первоначальный расчет этих параметров дорогостоящий и негативно влияет на время импорта. Эти объекты кэшируются, поэтому вызов
finfo()повторно внутри ваших функций не является проблемой.Обратите внимание, что
smallest_normalне является фактически наименьшим положительным представимым значением в плавающем типе NumPy. Как в стандарте IEEE-754 [1], типы с плавающей точкой NumPy используют субнормальные числа для заполнения промежутка между 0 иsmallest_normal. Однако, субнормальные числа могут иметь значительно сниженную точность [2].Для
longdouble, представление варьируется в зависимости от платформы. На большинстве платформ это IEEE 754 binary128 (четверная точность) или binary64-extended (80-битная расширенная точность). В системах PowerPC может использоваться формат IBM double-double (пара значений float64), который имеет особые характеристики точности и диапазона.Эта функция также может использоваться для комплексных типов данных. Если используется, вывод будет таким же, как соответствующий вещественный тип с плавающей точкой (например, numpy.finfo(numpy.csingle) совпадает с numpy.finfo(numpy.single)). Однако вывод верен для вещественной и мнимой компонент.
Ссылки
[1]Стандарт IEEE для арифметики с плавающей запятой, IEEE Std 754-2008, стр.1-70, 2008, https://doi.org/10.1109/IEEESTD.2008.4610935
[2]Википедия, "Денормализованные числа", https://en.wikipedia.org/wiki/Denormal_number
Примеры
>>> import numpy as np >>> np.finfo(np.float64).dtype dtype('float64') >>> np.finfo(np.complex64).dtype dtype('float32')
- Атрибуты:
- битыint
Количество бит, занимаемых типом.
- dtypedtype
Возвращает dtype, для которого
finfoвозвращает информацию. Для комплексных входных данных возвращаемый dtype является связаннымfloat*dtype для его вещественных и комплексных компонентов.- epsfloat
Разница между 1.0 и следующим наименьшим представимым числом с плавающей точкой, большим чем 1.0. Например, для 64-битных двоичных чисел с плавающей точкой в стандарте IEEE-754,
eps = 2**-52, приблизительно 2.22e-16.- epsnegfloat
Разница между 1.0 и следующим наименьшим представимым числом с плавающей запятой меньше 1.0. Например, для 64-битных двоичных чисел с плавающей запятой в стандарте IEEE-754,
epsneg = 2**-53, приблизительно 1.11e-16.- iexpint
Количество битов в экспоненциальной части представления числа с плавающей запятой.
- machepint
Экспонента, которая даёт eps.
- maxчисло с плавающей точкой соответствующего типа
Наибольшее представимое число.
- maxexpint
Наименьшая положительная степень основания (2), вызывающая переполнение. Соответствует стандарту C MAX_EXP.
- minчисло с плавающей точкой соответствующего типа
Наименьшее представимое число, обычно
-max.- minexpint
Наиболее отрицательная степень основания (2), при которой в мантиссе нет ведущих нулей. Соответствует стандарту C MIN_EXP - 1.
- negepint
Экспонента, которая даёт
epsneg.- nexpint
Количество битов в экспоненте, включая ее знак и смещение.
- nmantint
Количество явных битов в мантиссе (исключая неявный ведущий бит для нормализованных чисел).
- точностьint
Приблизительное количество десятичных знаков, для которых этот тип float является точным.
- разрешениечисло с плавающей точкой соответствующего типа
Приблизительное десятичное разрешение этого типа, т.е.,
10**-precision.- tinyfloat
Псевдоним для smallest_normal, сохранено для обратной совместимости.
- smallest_normalfloat
Наименьшее положительное число с плавающей запятой с 1 в качестве ведущего бита в мантиссе согласно IEEE-754 (см. Примечания).
- наименьший субнормальныйfloat
Наименьшее положительное число с плавающей запятой с 0 в качестве ведущего бита в мантиссе в соответствии с IEEE-754.