digitalmars.D.learn - Initializing floating point types with explicit mantisa and exponent
- =?UTF-8?B?Tm9yZGzDtnc=?= (4/4) Jan 16 2017 How do I best initialize a D double to an exact mantissa and
- pineapple (3/7) Jan 16 2017 This mach module can do the job:
- Nicholas Wilson (3/7) Jan 16 2017 See
- kinke (3/7) Jan 17 2017 If it doesn't have to be D ;), it can be as simple as
- =?UTF-8?B?Tm9yZGzDtnc=?= (4/6) Jan 17 2017 Isn't it a simple as
- kinke (5/11) Jan 17 2017 It should and I looked into that as well, but I didn't like the
- =?UTF-8?B?Tm9yZGzDtnc=?= (3/7) Jan 17 2017 That seems strange. Why isn't that a builtin behaviour for
How do I best initialize a D double to an exact mantissa and exponent representation? I'm specifically interested in 2^^i for all i in [min_exp, max_exp]
Jan 16 2017
On Tuesday, 17 January 2017 at 00:08:24 UTC, Nordlöw wrote:How do I best initialize a D double to an exact mantissa and exponent representation? I'm specifically interested in 2^^i for all i in [min_exp, max_exp]This mach module can do the job: https://github.com/pineapplemachine/mach.d/blob/master/mach/math/floats/inject.d
Jan 16 2017
On Tuesday, 17 January 2017 at 00:08:24 UTC, Nordlöw wrote:How do I best initialize a D double to an exact mantissa and exponent representation? I'm specifically interested in 2^^i for all i in [min_exp, max_exp]See std.bitmanip : FloatRep , DoubleRep;
Jan 16 2017
On Tuesday, 17 January 2017 at 00:08:24 UTC, Nordlöw wrote:How do I best initialize a D double to an exact mantissa and exponent representation? I'm specifically interested in 2^^i for all i in [min_exp, max_exp]If it doesn't have to be D ;), it can be as simple as `core.stdc.math.ldexp(1, exponent)`. No CTFE though.
Jan 17 2017
On Tuesday, 17 January 2017 at 16:40:57 UTC, kinke wrote:If it doesn't have to be D ;), it can be as simple as `core.stdc.math.ldexp(1, exponent)`. No CTFE though.Isn't it a simple as 2.0^^exponent ?
Jan 17 2017
On Tuesday, 17 January 2017 at 17:56:13 UTC, Nordlöw wrote:On Tuesday, 17 January 2017 at 16:40:57 UTC, kinke wrote:It should and I looked into that as well, but I didn't like the implementation as loop: https://github.com/dlang/phobos/blob/master/std/math.d#L5988 A special case for base x == 2 wouldn't hurt.If it doesn't have to be D ;), it can be as simple as `core.stdc.math.ldexp(1, exponent)`. No CTFE though.Isn't it a simple as 2.0^^exponent ?
Jan 17 2017
On Tuesday, 17 January 2017 at 18:25:46 UTC, kinke wrote:It should and I looked into that as well, but I didn't like the implementation as loop: https://github.com/dlang/phobos/blob/master/std/math.d#L5988 A special case for base x == 2 wouldn't hurt.That seems strange. Why isn't that a builtin behaviour for operator ^^?
Jan 17 2017