Форум сайта python.su
Добрый день уважаемые,
Допустим есть программа которая принимает на вход числа, я написал что надо проверить для ее тестирования, и споткнулся на 0, как получить минимальное значиние float со знаком + например 0.000000…1 и аналогично -.
максимальное значение float можно получить так sys.float_info.max
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)
есть ли хорошие статьи по тестированию на питоне про граничные значения?
Офлайн
Если посмотреть библиотеку типа lapack то увидите нечто похожее на приведенный код:
def minflt(): a=1. while 1: nv=a/2. if nv ==0.: break a=nv return a print("{0:50.50g}".format(minflt())) >>> 4.9406564584124654417656879286822137236505980261432e-324
>>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) >>> 2.2250738585072014e-308/minflt() 4503599627370496.0 >>> "{0:10.3e}".format((2.2250738585072014e-308/minflt())) ' 4.504e+15'
Отредактировано doza_and (Фев. 8, 2014 13:36:30)
Офлайн