Skip to content
Snippets Groups Projects
Select Git revision
  • 26059e6ad19e9dc83538cc3d4a3fa95d87e25ef7
  • master default protected
  • julia1
  • furuta
  • v0.2.0
  • v0.1.0
6 results

reference_generators.jl

Blame
  • reference_generators.jl 418 B
    export PRBSGenerator
    
    #PRBS
    """
        r = PRBSGenerator()
    Generates a pseudo-random binary sequence. Call like `random_input = r()`.
    """
    mutable struct PRBSGenerator
        state::Int
    end
    
    PRBSGenerator() = PRBSGenerator(Int(1))
    
    function (r::PRBSGenerator)(args...)
        state = r.state
        bit   = ((state >> 0) ⊻ (state >> 2) ⊻ (state >> 3) ⊻ (state >> 5) ) & 1
        r.state = (state >> 1) | (bit << 15)
        bit
    end