Атрибут tiny
Атрибут tiny класса finfo возвращает
минимальное положительное нормализованное число
с плавающей точкой, которое может быть представлено
данным типом. Это значение обычно используется для
проверки на исчезновение порядка (underflow) и
является синонимом атрибута smallest_normal.
Синтаксис
np.finfo(dtype).tiny
Пример
Получим минимальное положительное значение для типа float32:
import numpy as np
res = np.finfo(np.float32).tiny
print(res)
Результат выполнения кода:
1.17549435e-38
Пример
Сравним значения tiny для разных типов
с плавающей точкой:
import numpy as np
types = [np.float16, np.float32, np.float64]
for t in types:
print(f"{t}: tiny = {np.finfo(t).tiny}")
Результат выполнения кода:
<class 'numpy.float16'>: tiny = 6.1035e-05
<class 'numpy.float32'>: tiny = 1.17549435e-38
<class 'numpy.float64'>: tiny = 2.2250738585072014e-308
Пример
Сравним tiny и smallest_normal -
они дают одинаковое значение:
import numpy as np
info = np.finfo(np.float64)
print("tiny:", info.tiny)
print("smallest_normal:", info.smallest_normal)
print("Equal:", info.tiny == info.smallest_normal)
Результат выполнения кода:
tiny: 2.2250738585072014e-308
smallest_normal: 2.2250738585072014e-308
Equal: True
Пример
Используем tiny для проверки границ
при выполнении операций:
import numpy as np
info = np.finfo(np.float32)
tiny_val = info.tiny
print("tiny:", tiny_val)
res = tiny_val / 2
print("tiny / 2:", res)
print("Is subnormal?", res < tiny_val)
Результат выполнения кода:
tiny: 1.17549435e-38
tiny / 2: 5.8774718e-39
Is subnormal? True
Смотрите также
-
атрибут
smallest_normal,
который является синонимомtiny -
атрибут
min,
который возвращает минимальное отрицательное значение -
атрибут
max,
который возвращает максимальное значение -
класс
iinfo,
который предоставляет информацию о целочисленных типах