authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-07-27 23:46:20-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-07-27 23:46:20-07:00
log711e3d71b967961da9bf2ed6a2bd5cce7dfdfb2d
tree476bd3a6b9a162d354e3cb453ad9846531a9e26c
parent1fa0cabf9dd0c2016a60c23bb616f0f39daf1dfd

std: add vaporware plans for floating point builtins


1 files changed, 5 insertions(+), 1 deletions(-)

std/rand.zig+5-1
...@@ -77,8 +77,12 @@ pub struct Rand {...@@ -77,8 +77,12 @@ pub struct Rand {
7777
78 /// Get a floating point value in the range 0.0..1.0.78 /// Get a floating point value in the range 0.0..1.0.
79 pub fn float(r: &Rand, inline T: type) -> T {79 pub fn float(r: &Rand, inline T: type) -> T {
80 // TODO Implement this way instead:
81 // const int = @int_type(false, @sizeof(T) * 8);
82 // const mask = ((1 << @float_mantissa_bit_count(T)) - 1);
83 // const rand_bits = r.rng.scalar(int) & mask;
84 // return @float_compose(T, false, 0, rand_bits) - 1.0
80 const int_type = @int_type(false, @sizeof(T) * 8);85 const int_type = @int_type(false, @sizeof(T) * 8);
81 // TODO switch statement for constant values
82 const precision = if (T == f32) {86 const precision = if (T == f32) {
83 1677721687 16777216
84 } else if (T == f64) {88 } else if (T == f64) {