frexp, ldexp, modf - split into mantissa and exponent
double frexp(value, eptr)
double ldexp(value, exp)
double modf(value, iptr)
double value, *iptr;
The subroutine returns the mantissa of a double value as a double quan‐
tity, x, of magnitude less than 1.0 and greater than or equal to 0.5
(0.5 <= |x| < 1) and stores an integer n such that value = x*2**n indi‐
rectly through eptr.
The returns the quantity value*2**exp.
The returns the positive fractional part of value and stores the inte‐
ger part indirectly through iptr.
If would cause overflow, ±HUGE_VAL is returned (according to the sign
of value) and errno is set to ERANGE. If would cause underflow, 0 is
returned and errno is set to ERANGE.