Description
This issue is largely targeted at tracking the state of core_float
in libcore, but it raises the question of how much floating point support should be in libcore. Right now we don't explicitly depend on many external functions, but a number of functions are exposed as bindings to LLVM intrinsics. We do depend on symbols like fmod
and fmodf
for floating point modulus. Almost all LLVM intrinsics end up getting lowered to function calls to known symbols as well.
As a result, supporting this functionality in libcore chips away at the principle of a "0-dependency library" (see #27200). We may wish to move all this functionality from libcore over to the standard library instead. This may raise questions about support for formatting floating point numbers as well, but it's something that will largely just fall out of an implementation.