commit 711e3d71b967961da9bf2ed6a2bd5cce7dfdfb2d (tree)
parent 1fa0cabf9dd0c2016a60c23bb616f0f39daf1dfd
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Wed, 27 Jul 2016 23:46:20 -0700
std: add vaporware plans for floating point builtins
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/std/rand.zig b/std/rand.zig
@@ -77,8 +77,12 @@ pub struct Rand {
/// Get a floating point value in the range 0.0..1.0.
pub fn float(r: &Rand, inline T: type) -> T {
+ // TODO Implement this way instead:
+ // const int = @int_type(false, @sizeof(T) * 8);
+ // const mask = ((1 << @float_mantissa_bit_count(T)) - 1);
+ // const rand_bits = r.rng.scalar(int) & mask;
+ // return @float_compose(T, false, 0, rand_bits) - 1.0
const int_type = @int_type(false, @sizeof(T) * 8);
- // TODO switch statement for constant values
const precision = if (T == f32) {
16777216
} else if (T == f64) {