ThreefryRandomNumberGenerator

public struct ThreefryRandomNumberGenerator : SeedableRandomNumberGenerator

Una implementación de SeedableRandomNumberGenerator usando Threefry. Salmon y col. SC 2011. números aleatorios paralelos: tan fácil como 1, 2, 3. http://www.thesalmons.org/john/random123/papers/random123sc11.pdf

Esta estructura implementa un PRNG Threefry2x32 de 20 rondas. Debe sembrarse con un valor de 64 bits.

Un generador individual no es seguro para subprocesos, pero los distintos generadores no comparten el estado. Los datos aleatorios generados son de alta calidad, pero no son adecuados para aplicaciones criptográficas.

  • Declaración

    public static var global: ThreefryRandomNumberGenerator
  • Declaración

    public init(seed: [UInt8])
  • Declaración

    public mutating mutating func next() -> UInt64