MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / is_odd_integer

Function is_odd_integer

system/lib/llvm-libc/src/math/generic/pow.cpp:173–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171};
172
173bool is_odd_integer(double x) {
174 using FPBits = fputil::FPBits<double>;
175 FPBits xbits(x);
176 uint64_t x_u = xbits.uintval();
177 unsigned x_e = static_cast<unsigned>(xbits.get_biased_exponent());
178 unsigned lsb =
179 static_cast<unsigned>(cpp::countr_zero(x_u | FPBits::EXP_MASK));
180 constexpr unsigned UNIT_EXPONENT =
181 static_cast<unsigned>(FPBits::EXP_BIAS + FPBits::FRACTION_LEN);
182 return (x_e + lsb == UNIT_EXPONENT);
183}
184
185bool is_integer(double x) {
186 using FPBits = fputil::FPBits<double>;

Callers 1

LLVM_LIBC_FUNCTIONFunction · 0.70

Calls 3

countr_zeroFunction · 0.85
uintvalMethod · 0.80
get_biased_exponentMethod · 0.80

Tested by

no test coverage detected