From 9eca305e75010e30342486a4139846faf1b3eccb Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Wed, 13 Mar 2019 14:47:48 -0300 Subject: 'math.randomseed()' sets a somewhat random seed When called with no arguments, 'math.randomseed' uses time and ASLR to generate a somewhat random seed. the initial seed when Lua starts is generated this way. --- manual/manual.of | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'manual') diff --git a/manual/manual.of b/manual/manual.of index 2eb8773f..b47fd865 100644 --- a/manual/manual.of +++ b/manual/manual.of @@ -7643,14 +7643,10 @@ is equivalent to @T{math.random(1,n)}. The call @T{math.random(0)} produces an integer with all bits (pseudo)random. -Lua initializes its pseudo-random generator with -a weak attempt for ``randomness'', +Lua initializes its pseudo-random generator with the equivalent of +a call to @Lid{math.randomseed} with no arguments, so that @id{math.random} should generate different sequences of results each time the program runs. -To ensure a required level of randomness to the initial state -(or contrarily, to have a deterministic sequence, -for instance when debugging a program), -you should call @Lid{math.randomseed} explicitly. The results from this function have good statistical qualities, but they are not cryptographically secure. @@ -7660,14 +7656,23 @@ some number of previous results.) } -@LibEntry{math.randomseed (x [, y])| +@LibEntry{math.randomseed ([x [, y]])| -The integer parameters @id{x} and @id{y} are -concatenated into a 128-bit @Q{seed} that +When called with at least one argument, +the integer parameters @id{x} and @id{y} are +concatenated into a 128-bit @emphx{seed} that is used to reinitialize the pseudo-random generator; equal seeds produce equal sequences of numbers. The default for @id{y} is zero. +When called with no arguments, +Lua generates a seed with +a weak attempt for randomness. +To ensure a required level of randomness to the initial state +(or contrarily, to have a deterministic sequence, +for instance when debugging a program), +you should call @Lid{math.randomseed} with explicit arguments. + } @LibEntry{math.sin (x)| -- cgit v1.2.3-55-g6feb