История изменений
Исправление fsb4000, (текущая версия) :
Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.
Прикольно, я не знал.
Да, это именно gcc+linux.
clang+linux возвращает 1.1
https://gcc.godbolt.org/z/rsPYzKseY
Наверное gcc даже формально прав…
Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51
А, ну да. Оба варианта возможны:
https://en.cppreference.com/w/cpp/header
the corresponding cxxx headers are allowed to also declare the same names in the global namespace: including «cstdlib» definitely provides std::malloc and may also provide ::malloc
Исправление fsb4000, :
Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.
Прикольно, я не знал.
Да, это именно gcc+linux.
clang+linux возвращает 1.1
https://gcc.godbolt.org/z/rsPYzKseY
Наверное gcc даже формально прав…
Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51
А, ну да. Оба варианта возможны:
https://en.cppreference.com/w/cpp/header
the corresponding cxxx headers are allowed to also declare the same names in the global namespace: including definitely provides std::malloc and may also provide ::malloc
Исправление fsb4000, :
Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.
Прикольно, я не знал.
Да, это именно gcc+linux.
clang+linux возвращает 1.1
https://gcc.godbolt.org/z/rsPYzKseY
Наверное gcc даже формально прав…
Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51
Исправление fsb4000, :
Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.
Прикольно, я не знал.
Да, это именно gcc+linux.
clang+linux возвращает 1.1
https://gcc.godbolt.org/z/rsPYzKseY
Наверное gcc даже прав…
Если импортировать из math.h то он выведет 1.1: https://gcc.godbolt.org/z/rcv566c51
Исправление fsb4000, :
Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.
Прикольно, я не знал.
Да, это именно gcc+linux.
clang+linux возвращает 1.1
https://gcc.godbolt.org/z/rsPYzKseY
Наверное gcc даже прав…
Исходная версия fsb4000, :
Типа того что abs(1.1f) на MSVC возвращало 1.1f, а на gcc+linux вначале приводило к int и возвращало 1.
Прикольно, я не знал.
Да, это именно gcc+linux.
clang+linux возвращает 1.1