#How do you hold a seeded random number generator?

1 messages · Page 1 of 1 (latest)

jolly brook
#

Do people just make a global rng object, or try to store it? When I try to store it in a struct, i get an error that is confusing. What am I doing wrong?

pub const MyStruct = struct {
    //var r: std.Random = undefined;
    var r: std.rand.DefaultPrng = undefined;
    var speed: f32 = 0;
    var steps: f32 = 0;

    pub fn init(self: *SpriteEmitter) !void {
        self.r = std.rand.DefaultPrng.init(@as(u64, @bitCast(std.time.milliTimestamp())));
    }
};
astral grail
#

var here is declaring global variables not fields

jolly brook
#

Here is. the error:

src/main.zig:40:14: error: no field named 'r' in struct 'main.MyStruct'
        self.r = std.rand.DefaultPrng.init(@as(u64, @bitCast(std.time.milliTimestamp())));
             ^
src/main.zig:25:27: note: struct declared here
pub const MyStruct = struct {
#

Hmm....

#

Clearly I am misunderstanding something more than I realised 🙂

#

What shoudl it be???

astral grail
#

just remove var