StatelessRandomGetKeyCounterAlg

public final class StatelessRandomGetKeyCounterAlg

Picks the best algorithm based on device, and scrambles seed into key and counter.

This op picks the best counter-based RNG algorithm based on device, and scrambles a shape-[2] seed into a key and a counter, both needed by the counter-based algorithm. The scrambling is opaque but approximately satisfies the property that different seed results in different key/counter pair (which will in turn result in different random numbers).

Public Methods

Output <Integer>
alg ()
The RNG algorithm (shape int32[]).
Output <?>
counter ()
Counter for the counter-based RNG algorithm.
static <T extends Number> StatelessRandomGetKeyCounterAlg
create ( Scope scope, Operand <T> seed)
Factory method to create a class wrapping a new StatelessRandomGetKeyCounterAlg operation.
Output <?>
key ()
Key for the counter-based RNG algorithm (shape uint64[1]).

Inherited Methods

Public Methods

public Output <Integer> alg ()

The RNG algorithm (shape int32[]).

public Output <?> counter ()

Counter for the counter-based RNG algorithm. Since counter size is algorithm-dependent, this output will be right-padded with zeros to reach shape uint64[2] (the current maximal counter size among algorithms).

public static StatelessRandomGetKeyCounterAlg create ( Scope scope, Operand <T> seed)

Factory method to create a class wrapping a new StatelessRandomGetKeyCounterAlg operation.

Parameters
scope current scope
seed 2 seeds (shape [2]).
Returns
  • a new instance of StatelessRandomGetKeyCounterAlg

public Output <?> key ()

Key for the counter-based RNG algorithm (shape uint64[1]).