authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-06 03:53:30-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-06 03:53:30-07:00
logf1eafe4ebb2e1258ee398641d0537e227fe2ea0d
tree1dbc7c1824731490178bee1b68f61ca80f8c4a04
parent3fbde00eee1298feec4051f103c1014fe5819ede

fix bug in RNG example


1 files changed, 13 insertions(+), 6 deletions(-)

example/rand/main.zig+13-6
...@@ -81,7 +81,7 @@ struct Rand {...@@ -81,7 +81,7 @@ struct Rand {
81 // does not populate the remaining (buf.len % 4) bytes81 // does not populate the remaining (buf.len % 4) bytes
82 fn get_bytes_aligned(r: &Rand, buf: []u8) -> usize {82 fn get_bytes_aligned(r: &Rand, buf: []u8) -> usize {
83 var bytes_left = buf.len;83 var bytes_left = buf.len;
84 while (bytes_left > 4) {84 while (bytes_left >= 4) {
85 // TODO: array access so we can remove .ptr85 // TODO: array access so we can remove .ptr
86 *(&buf.ptr[buf.len - bytes_left] as &u32) = r.get_u32();86 *(&buf.ptr[buf.len - bytes_left] as &u32) = r.get_u32();
87 bytes_left -= #sizeof(u32);87 bytes_left -= #sizeof(u32);
...@@ -104,10 +104,17 @@ pub fn rand_init(r: &Rand, seed: u32) {...@@ -104,10 +104,17 @@ pub fn rand_init(r: &Rand, seed: u32) {
104104
105pub fn main(argc: isize, argv: &&u8, env: &&u8) -> i32 {105pub fn main(argc: isize, argv: &&u8, env: &&u8) -> i32 {
106 var rand : Rand;106 var rand : Rand;
107 rand_init(&rand, 13);107 var i : u8 = 0;
108 const answer = rand.range_u64(0, 100) + 1;108 while (i < 20) {
109 print_str("random number: ");109 rand_init(&rand, i);
110 print_u64(answer);110 var j : u8 = 0;
111 print_str("\n");111 while (j < 20) {
112 print_u64(rand.range_u64(0, 100) + 1);
113 print_str(" ");
114 j += 1;
115 }
116 print_str("\n");
117 i += 1;
118 }
112 return 0;119 return 0;
113}120}