Существует ли 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.


Ответы (0 шт):