Generator liczb losowych Philox

public struct PhiloxRandomNumberGenerator : SeedableRandomNumberGenerator

Implementacja SeedableRandomNumberGenerator przy użyciu Philox. Łosoś i in. SC 2011. Równoległe liczby losowe: proste jak 1, 2, 3. http://www.thesalmons.org/john/random123/papers/random123sc11.pdf

Ta konstrukcja implementuje 10-nabojowy Philox4x32 PRNG. Musi być zaszczepiony wartością 64-bitową.

Pojedynczy generator nie jest bezpieczny dla wątków, ale różne generatory nie współdzielą stanu. Generowane losowo dane są wysokiej jakości, ale nie nadają się do zastosowań kryptograficznych.

  • Deklaracja

    public static var global: PhiloxRandomNumberGenerator
  • Deklaracja

    public init(uint64Seed seed: UInt64)
  • Deklaracja

    public init(seed: [UInt8])
  • Deklaracja

    public mutating mutating func next() -> UInt64