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 | |
Output <?> |
key
()
Key for the counter-based RNG algorithm (shape uint64[1]).
|
Inherited Methods
Public Methods
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