Difference between revisions of "RandomGenerator:setState"

(Created page)
Line 1: Line 1:
TODO
+
{{newin|[[0.9.1]]|091|type=function}}
 +
Sets the current state of the random number generator. The value used as an argument for this function is an opaque implementation-dependent string and should only originate from a previous call to [[RandomGenerator:getState]].
 +
 
 +
This is different from [[RandomGenerator:setSeed]] in that setState directly sets the RandomGenerator's current implementation-dependent state, whereas setSeed gives it a new seed value.
 +
 
 +
== Function ==
 +
=== Synopsis ===
 +
<source lang="lua">
 +
RandomGenerator:setState( state )
 +
</source>
 +
=== Arguments ===
 +
{{param|string|state|The new state of the RandomGenerator object, represented as a string. This should originate from a previous call to [[RandomGenerator:getState]].}}
 +
=== Returns ===
 +
Nothing.
 +
== Notes ==
 +
The effect of the state string does not depend on the current operating system.
 +
== Examples ==
 +
<source lang="lua">
 +
rng = love.math.newRandomGenerator(os.time())
 +
 
 +
for i=1, 100 do
 +
    -- Use some random numbers.
 +
    rng:random()
 +
end
 +
 
 +
-- Make a new RandomGenerator and set its state to the current state of the first one.
 +
rng2 = love.math.newRandomGenerator()
 +
rng2:setState(rng:getState())
 +
 
 +
-- Both 'rng' and 'rng2' will now give the same results.
 +
assert(rng:random() == rng2:random())
 +
</source>
 +
== See Also ==
 +
* [[parent::RandomGenerator]]
 +
* [[RandomGenerator:getState]]
 +
[[Category:Functions]]
 +
{{#set:Description=Sets the current state of the random number generator.}
 +
== Other Languages ==
 +
{{i18n|RandomGenerator:setState}}

Revision as of 08:50, 16 February 2014

Available since LÖVE 0.9.1
This function is not supported in earlier versions.

Sets the current state of the random number generator. The value used as an argument for this function is an opaque implementation-dependent string and should only originate from a previous call to RandomGenerator:getState.

This is different from RandomGenerator:setSeed in that setState directly sets the RandomGenerator's current implementation-dependent state, whereas setSeed gives it a new seed value.

Function

Synopsis

RandomGenerator:setState( state )

Arguments

string state
The new state of the RandomGenerator object, represented as a string. This should originate from a previous call to RandomGenerator:getState.

Returns

Nothing.

Notes

The effect of the state string does not depend on the current operating system.

Examples

rng = love.math.newRandomGenerator(os.time())

for i=1, 100 do
    -- Use some random numbers.
    rng:random()
end

-- Make a new RandomGenerator and set its state to the current state of the first one.
rng2 = love.math.newRandomGenerator()
rng2:setState(rng:getState())

-- Both 'rng' and 'rng2' will now give the same results. 
assert(rng:random() == rng2:random())

See Also

{{#set:Description=Sets the current state of the random number generator.}

Other Languages