c/numeric/math/ldexp

@1-3@ Multiplies a floating point value by the number 2 raised to the  power. @4@ Type-generic macro: If has type,  is called. Otherwise, if has integer type or the type,  is called. Otherwise, is called, respectively.

Return value
If no errors occur, multiplied by 2 to the power of  ($arg&times;2exp$) is returned.

If a range error due to overflow occurs, huge_val,, or is returned.

If a range error due to underflow occurs, the correct result (after rounding) is returned.

Error handling
Errors are reported as specified in.

If the implementation supports IEEE floating-point arithmetic (IEC 60559),
 * Unless a range error occurs, fe_inexact is never raised (the result is exact)
 * Unless a range error occurs, the current rounding mode is ignored
 * If is ±0, it is returned, unmodified
 * If is ±∞, it is returned, unmodified
 * If is 0, then  is returned, unmodified
 * If is NaN, NaN is returned