MCPcopy Create free account
hub / github.com/fmtlib/fmt / signbit

Method signbit

include/fmt/format.h:2666–2676  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2664
2665template <typename T, FMT_ENABLE_IF(is_floating_point<T>::value)>
2666FMT_INLINE FMT_CONSTEXPR auto signbit(T value) -> bool {
2667 if (is_constant_evaluated()) {
2668#ifdef __cpp_if_constexpr
2669 if constexpr (std::numeric_limits<double>::is_iec559) {
2670 auto bits = detail::bit_cast<uint64_t>(static_cast<double>(value));
2671 return (bits >> (num_bits<uint64_t>() - 1)) != 0;
2672 }
2673#endif
2674 }
2675 return std::signbit(static_cast<double>(value));
2676}
2677
2678inline FMT_CONSTEXPR20 void adjust_precision(int& precision, int exp10) {
2679 // Adjust fixed precision by exponent because it is relative to decimal

Callers

nothing calls this directly

Calls 1

is_constant_evaluatedFunction · 0.85

Tested by

no test coverage detected