Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #248 Construct a 64-bit floating-point value

Construct the "double precision" (64-bit) floating point number d from the mantissa m, the exponent e and the sign flag s (true means the sign is negative).

$d = ($s?-1:1) * "${m}e${e}"; 
d = (s?-1:1) * m * double.Exp10(e);
  if (s) then
    d = -m * radix(d)**e
  else
    d =  m * radix(d)**e
  end if

import "math"
if s {
	m = -m
}
d := math.Ldexp(m, e)
uses SysUtils;
d.buildup(s, m, e);
import math
sign = -1 if s else 1
d = math.ldexp(sign*m,e)
d = (s ? -1 : 1) * Math::ldexp(m, e)
let d = if s { -1.0 } else { 1.0 } * m as f64 * 2.0f64.powf(e as f64);

New implementation...
< >
Bart