thambs
В С/С++ сужение типа неявно не делается. Результат вычитания дабла из була всегда будет иметь тип дабл. А затем - согласно стандарту - полученный дабл преобразуется в бул. Это нельзя запретить, т.к. этот каст очень важен для поддержки всяких if-конструкций. В которых, как ты понимаешь, можно не только булы проверять на истинность.
В тему грамотности кода, я просто оставлю это здесь.
Цитата:
Обнаруженная проблема поставила под сомнение корректность более 100 публикаций по химии, выводы в которых были сделаны на основе вычисленного скриптом химического сдвига. Точное число исследований, в которых использовался скрипт неизвестно, но публикация с его кодом процитирована в 158 работах. Авторам данных работ рекомендовано оценить корректность работы скрипта на применявшихся для вычисления операционных системах и провести перерасчёт для того, чтобы убедиться в правильности вычисленных значений. Инцидент является прекрасным примером того, что не только качество проведения эксперимента, но и корректность обработки полученных данных в программах, которые до этого повсеместно использовались, может повлиять на конечный результат.
thambs писал: А разгадка одна, UB и грязные функции — зло.
По-моему, там дело в том, что Python - зло.
С другой стороны, если подумать - кто эти научные программы всерьёз тестирует? Это ж не движок, чего париться, опубликовал и забыл.
Crystallize
Да вон, даже в ПО нового "Боинга" баги нашли (после того как оно два самолёта, полных пассажиров, уронило). Чего уж говорить о python-скриптах, которые вычисляют химические параметры?
nemyax
Список файлов же не инпут или аутпут. На входе адрес (и маунтпоинт фс), на выходе — сортированный массив адресов. Идентичен вход — идентичен и выход.