Существует ли plugin под flake8 для контроля литералов с плавающей точкой?
Интересует выдача предупреждений на литералы, которые не имеют точного представления, например 0.1. А, к примеру, литерал: 0.25 - "хороший".
Особенно при работе с пакетами numpy, gmpy2 и др., приходится следить за ошибками вида (пример для Intel/AMD/Power/...):
import numpy as np
good = np.float128('0.3')
fail = np.float128(0.3)
print((good - fail)/np.finfo(fail).eps)
Для расширенной точности Intel/AMD/Motorola получим:
102.5
Для честных IEEE bynary128 бит:
57646075230342349.0
Т.е. и при работе с float литерал 0.3 имеет ошибку 0.5 ULP, но для np.longdouble() это уже больше 100 ULP.