Need a module to check the bit representation of a floating-point number
Every CPU architecture has its own way of representing floating-point numbers for float
, double
, and long double
. float
and double
typically use the IEEE 754 32-bit and 64-bit representations respectively, but long double
varies widely. Knowing at build-time which representation is used is helpful for programs that need to exchange floating-point numbers across a network with different architectures to allow them to convert to and from their native format.
Since one of CMake's specialties is detecting platform-specific features and quirks, I believe such a module would be a good fit for CMake. The bit-twiddling needed to gather this information is non-trivial, and other projects that need this information should not need to re-invent the wheel. Even copying a third-party from a module is not ideal, because more information could be added to it later on, and keeping the copies of the module across projects in sync is not easy.