fn seed48(seed16v: *[3]c_ushort) callconv(.c) *[3]c_ushort
fn seed48(seed16v: *[3]c_ushort) callconv(.c) *[3]c_ushort { seed48_xi = .{ @truncate(lcg.xi & 0xFFFF), @truncate((lcg.xi >> 16) & 0xFFFF), @truncate((lcg.xi >> 32) & 0xFFFF) }; const xi = (@as(u48, @as(u16, @truncate(seed16v[0]))) | (@as(u48, @as(u16, @truncate(seed16v[1])))) << 16) | (@as(u48, @as(u16, @truncate(seed16v[2]))) << 32); lcg = .init(xi, default_multiplier, default_addend); return &seed48_xi; }