ThreefryRandomNumberGenerator

public struct ThreefryRandomNumberGenerator : SeedableRandomNumberGenerator

Uma implementação de SeedableRandomNumberGenerator usando Threefry. Salmon et al. SC 2011. Números aleatórios paralelos: tão fáceis quanto 1, 2, 3. http://www.thesalmons.org/john/random123/papers/random123sc11.pdf

Esta estrutura implementa um PRNG Threefry2x32 de 20 rodadas. Ele deve ser propagado com um valor de 64 bits.

Um gerador individual não é thread-safe, mas geradores distintos não compartilham estado. Os dados aleatórios gerados são de alta qualidade, mas não são adequados para aplicações criptográficas.

  • Declaração

    public static var global: ThreefryRandomNumberGenerator
  • Declaração

    public init(seed: [UInt8])
  • Declaração

    public mutating mutating func next() -> UInt64