Значение по умолчанию Delta [duplicate]

Похоже, что он ищет компиляторы VC, поэтому вы можете попытаться указать тип компилятора с -c mingw32, так как у вас есть msys

python setup.py install -c mingw32
9
задан Péter Török 28 June 2012 в 21:55
поделиться

5 ответов

SOURCE. Предполагает, что два удвоения или поплавки равны с положительной дельта. Если это не так, запускается AssertionError. Если ожидаемое значение равно бесконечности, то значение дельта игнорируется.NaN считаются равными.

0
ответ дан Akhil Dev 26 August 2018 в 08:45
поделиться

Я бы сказал, что сравнение двойников, примитивов или объектов бесполезно без дельта. Знание того, как работают текущие точечные числа, является ключом к выполнению численной работы.

Объект может использовать .equals под обложками; у примитива нет опции, кроме ==.

Просто потому, что версия объекта не использует дельта, не делает эту идею лучшей.

0
ответ дан duffymo 26 August 2018 в 08:45
поделиться

Двойная математика редко, если когда-либо дает ровно равные результаты. Например, 0.1 * 0.1 != 0.01. Для сравнения результатов двойной точности обычно требуется, по крайней мере, несколько дельта.

С другой стороны, если вы сравниваете бокс Double s, предполагается, что вы хотите получить точное равенство. У меня нет значения дельта-значения по умолчанию, но Double.equals имеет немного отличающееся поведение от ==: в частности, его обработка NaNs .

Это имеет смысл при тестировании, потому что Double.NaN != Double.NaN, но в тесте, если вы ожидали возвращения NaN и NaN, это правильный ответ.

5
ответ дан Louis Wasserman 26 August 2018 в 08:45
поделиться

Лучше напишите что-нибудь вроде этого:

assertEquals(23.0, 250.0, 0.0)  

0.0 - это дельта. Прочитайте, почему ваши методы устарели.

0
ответ дан Morozov 26 August 2018 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: