I guess the underlying library calls are from Lua5.4? Then it is perhaps useful to know that between 5.3 and 5.4 there is mentioned a new implementation for math.random. Perhaps it changes the sequence of random values generated? Someone who knows?

dr. Hans van der Meer


On 23 Aug 2021, at 17:13, Hans Hagen via ntg-context <ntg-context@ntg.nl> wrote:

On 8/23/2021 4:46 PM, Thierry Horsin via ntg-context wrote:
Hi everybody.
I wonder how does math.random() work in context. I found that this subject was discussed more than ten years ago by Otared and Taco and Thomas. It is clear to me how to obtain new results upon typesetting the same file by changing the value of math.randomseed (with os.time()).
If you don't change the seed, you get the same result upon each typesetting, and a seed is given in the .tuc file.
For example I have this:
["randomseed"]=0x1.0741c18b8a4ep-6
How do I use (and is it possible to) this value to have the same result of math.random() upon typesetting another file (with a different name) ?
I could provide a same fixed seed in both files, but for some reasons I would like to re-use some previous results of math.random() for which no seed was initially given in another .tex file.
You have to go low level ...

% \ctxlua{utilities.randomizer.setseed(0x1.0741c18b8a4ep-6)}
% \ctxlua{utilities.randomizer.setseed(0x1.6822232009d5p-5)}

\setrandomseed{123}

\starttext
   test \randomnumber{1}{100}
   test \randomnumber{1}{100}
   test \randomnumber{1}{100}
\stoptext

btw, the 0x representation is lua's low level binary representation of a double.

Hans

-----------------------------------------------------------------
                                         Hans Hagen | PRAGMA ADE
             Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________