ydb-platform / ydb-cpp-sdk

YDB C++ SDK
Apache License 2.0
11 stars 11 forks source link

Issue #313 Fix library/cpp/int128 tests #315

Closed tsayukov closed 1 month ago

tsayukov commented 2 months ago

Issue #313

Всё работает, кроме двух тестов int128_ut и i128_type_traits_ut (пока что закомментировал), а именно, не компилируются вызовы std::signbit. Возможно, у вас внутри используется libc++, тогда понятно, почему раньше не было проблем: реализация от llvm только делает проверки на std::is_integral, std::is_signed и ещё сравнивает, меньше ли число нуля. TInteger128 всё это умеет делать. А вот реализация libstdc++ проверяет только свой внутренний __is_integer, а он специализирован для стандартных типов + расширения gcc, поэтому он отвергает TInteger128.

Так ли нужна здесь проверка именно std::signbit? По идее, хотелось бы видеть тест френдовой функции signbit, а не из стандартной библиотеки.

Gazizonoki commented 1 month ago

Вот так вот сложно сказать, можно ли заменить std::signbit на signbit. Если тест на compatibility, то нет. Можешь завести issue, но эти тесты не прям важны, int128 и так только в тестах используется