aboutsummaryrefslogtreecommitdiff
path: root/std/rand
diff options
context:
space:
mode:
authorJimmi Holst Christensen <jimmiholstchristensen@gmail.com>2018-10-15 09:51:15 -0400
committerGitHub <noreply@github.com>2018-10-15 09:51:15 -0400
commit378d3e44034e817093966ea42c2940d6a0482dd8 (patch)
treefe5f454097e1627b1afc65aebfb815dd70a7576d /std/rand
parent822d4fa216ea8f598e4a9d53161800494f449a94 (diff)
downloadzig-378d3e44034e817093966ea42c2940d6a0482dd8.tar.gz
zig-378d3e44034e817093966ea42c2940d6a0482dd8.zip
Solve the return type ambiguity (#1628)
Changed container and initializer syntax * <container> { ... } -> <container> . { ... } * <exrp> { ... } -> <expr> . { ...}
Diffstat (limited to 'std/rand')
-rw-r--r--std/rand/index.zig50
-rw-r--r--std/rand/ziggurat.zig2
2 files changed, 26 insertions, 26 deletions
diff --git a/std/rand/index.zig b/std/rand/index.zig
index 6cad865d1e..3b5cde26c6 100644
--- a/std/rand/index.zig
+++ b/std/rand/index.zig
@@ -27,7 +27,7 @@ pub const DefaultPrng = Xoroshiro128;
// When you need cryptographically secure random numbers
pub const DefaultCsprng = Isaac64;
-pub const Random = struct {
+pub const Random = struct.{
fillFn: fn (r: *Random, buf: []u8) void,
/// Read random bytes into the specified buffer until full.
@@ -205,14 +205,14 @@ pub const Random = struct {
}
};
-const SequentialPrng = struct {
+const SequentialPrng = struct.{
const Self = @This();
random: Random,
next_value: u8,
pub fn init() Self {
- return Self{
- .random = Random{ .fillFn = fill },
+ return Self.{
+ .random = Random.{ .fillFn = fill },
.next_value = 0,
};
}
@@ -364,11 +364,11 @@ fn testRandomIntAtMost() void {
//
// The number of cycles is thus limited to 64-bits regardless of the engine, but this
// is still plenty for practical purposes.
-const SplitMix64 = struct {
+const SplitMix64 = struct.{
s: u64,
pub fn init(seed: u64) SplitMix64 {
- return SplitMix64{ .s = seed };
+ return SplitMix64.{ .s = seed };
}
pub fn next(self: *SplitMix64) u64 {
@@ -384,7 +384,7 @@ const SplitMix64 = struct {
test "splitmix64 sequence" {
var r = SplitMix64.init(0xaeecf86f7878dd75);
- const seq = []const u64{
+ const seq = []const u64.{
0x5dbd39db0178eb44,
0xa9900fb66b397da3,
0x5c1a28b1aeebcf5c,
@@ -401,7 +401,7 @@ test "splitmix64 sequence" {
// PCG32 - http://www.pcg-random.org/
//
// PRNG
-pub const Pcg = struct {
+pub const Pcg = struct.{
const default_multiplier = 6364136223846793005;
random: Random,
@@ -410,8 +410,8 @@ pub const Pcg = struct {
i: u64,
pub fn init(init_s: u64) Pcg {
- var pcg = Pcg{
- .random = Random{ .fillFn = fill },
+ var pcg = Pcg.{
+ .random = Random.{ .fillFn = fill },
.s = undefined,
.i = undefined,
};
@@ -477,7 +477,7 @@ test "pcg sequence" {
const s1: u64 = 0x84e9c579ef59bbf7;
r.seedTwo(s0, s1);
- const seq = []const u32{
+ const seq = []const u32.{
2881561918,
3063928540,
1199791034,
@@ -494,14 +494,14 @@ test "pcg sequence" {
// Xoroshiro128+ - http://xoroshiro.di.unimi.it/
//
// PRNG
-pub const Xoroshiro128 = struct {
+pub const Xoroshiro128 = struct.{
random: Random,
s: [2]u64,
pub fn init(init_s: u64) Xoroshiro128 {
- var x = Xoroshiro128{
- .random = Random{ .fillFn = fill },
+ var x = Xoroshiro128.{
+ .random = Random.{ .fillFn = fill },
.s = undefined,
};
@@ -526,7 +526,7 @@ pub const Xoroshiro128 = struct {
var s0: u64 = 0;
var s1: u64 = 0;
- const table = []const u64{
+ const table = []const u64.{
0xbeac0467eba5facb,
0xd86b048b86aa9922,
};
@@ -586,7 +586,7 @@ test "xoroshiro sequence" {
r.s[0] = 0xaeecf86f7878dd75;
r.s[1] = 0x01cd153642e72622;
- const seq1 = []const u64{
+ const seq1 = []const u64.{
0xb0ba0da5bb600397,
0x18a08afde614dccc,
0xa2635b956a31b929,
@@ -601,7 +601,7 @@ test "xoroshiro sequence" {
r.jump();
- const seq2 = []const u64{
+ const seq2 = []const u64.{
0x95344a13556d3e22,
0xb4fb32dafa4d00df,
0xb2011d9ccdcfe2dd,
@@ -621,7 +621,7 @@ test "xoroshiro sequence" {
//
// Follows the general idea of the implementation from here with a few shortcuts.
// https://doc.rust-lang.org/rand/src/rand/prng/isaac64.rs.html
-pub const Isaac64 = struct {
+pub const Isaac64 = struct.{
random: Random,
r: [256]u64,
@@ -632,8 +632,8 @@ pub const Isaac64 = struct {
i: usize,
pub fn init(init_s: u64) Isaac64 {
- var isaac = Isaac64{
- .random = Random{ .fillFn = fill },
+ var isaac = Isaac64.{
+ .random = Random.{ .fillFn = fill },
.r = undefined,
.m = undefined,
.a = undefined,
@@ -704,7 +704,7 @@ pub const Isaac64 = struct {
self.m[0] = init_s;
// prescrambled golden ratio constants
- var a = []const u64{
+ var a = []const u64.{
0x647c4677a2884b7c,
0xb9f8b322c73ac862,
0x8c0ea5053d4712a0,
@@ -794,7 +794,7 @@ test "isaac64 sequence" {
var r = Isaac64.init(0);
// from reference implementation
- const seq = []const u64{
+ const seq = []const u64.{
0xf67dfba498e4937c,
0x84a5066a9204f380,
0xfee34bd5f5514dbb,
@@ -837,8 +837,8 @@ test "Random float" {
test "Random shuffle" {
var prng = DefaultPrng.init(0);
- var seq = []const u8{ 0, 1, 2, 3, 4 };
- var seen = []bool{false} ** 5;
+ var seq = []const u8.{ 0, 1, 2, 3, 4 };
+ var seen = []bool.{false} ** 5;
var i: usize = 0;
while (i < 1000) : (i += 1) {
@@ -870,7 +870,7 @@ test "Random range" {
fn testRange(r: *Random, start: i8, end: i8) void {
const count = @intCast(usize, i32(end) - i32(start));
- var values_buffer = []bool{false} ** 0x100;
+ var values_buffer = []bool.{false} ** 0x100;
const values = values_buffer[0..count];
var i: usize = 0;
while (i < count) {
diff --git a/std/rand/ziggurat.zig b/std/rand/ziggurat.zig
index f7a1359f17..88d8e05dff 100644
--- a/std/rand/ziggurat.zig
+++ b/std/rand/ziggurat.zig
@@ -50,7 +50,7 @@ pub fn next_f64(random: *Random, comptime tables: *const ZigTable) f64 {
}
}
-pub const ZigTable = struct {
+pub const ZigTable = struct.{
r: f64,
x: [257]f64,
f: [257]f64,