[metapost] luamplib and randomseed
Dohyun Kim
nomosnomos at gmail.com
Mon Aug 2 05:49:43 CEST 2021
2021년 8월 2일 (월) 오전 7:56, Toby Thurston <thurston at eml.cc>님이 작성:
>
> There appear to be a couple of small problems with the implementation of `randomseed` in luamplib.
>
> First one is that the default value appears only to change every minute.
>
> If I run this program through `mpost`
>
> prologues:=3;outputtemplate:="rs.eps";
> beginfig(1);
> label.top(decimal normaldeviate, origin);
> label.bot(decimal minute, origin);
> endfig;
> end
>
> Then I get a different value for the random number every time, and the minute
> value changes every minute (as expected).
>
> But if I run the same program through lualatex — LuaHBTeX, 1.13.0 (TL 2021)
>
> \documentclass{standalone} \usepackage{luamplib} \begin{document} \begin{mplibcode}
> beginfig(1);
> label.top(decimal normaldeviate, origin);
> label.bot(decimal minute, origin);
> endfig;
> \end{mplibcode} \end{document}
>
> then the random number only changes when the minute changes....
>
> Apparently the luamplib version is using the old default randomseed of day + minute of day despite
> the fact that the relevant bit of mp.w says this:
>
> The global variable |random_seed| was introduced in version 0.9,
> for the sole reason of stressing the fact that the initial value of the
> random seed is system-dependant. The initialization code below will initialize
> this variable to |(internal[mp_time] div unity)+internal[mp_day]|, but this
> is not good enough on modern fast machines that are capable of running
> multiple MetaPost processes within the same second.
>
> Could we have the default seed to set to something that is "good enough"? Or at least something
> that is consistent with `mpost` ?
>
>
> Secondly, if I include this in an mpost program
>
> randomseed := uniformdeviate infinity;
>
> I get this useful output in the log file
>
> {randomseed:=3768.2096}
>
> showing me the randomseed value actually used (which I might want to re-use later...)
>
> But with lualatex nothing gets written to the log when I call randomseed.
> Could this be made consistent with `mpost` as well please?
As for the second issue:
using luamplib v2.20.8 2021/08/02 which was sent to ctan maintainers a
few minutes ago,
you'll see the message in the log file when \mplibshowlog{true} is declared.
Best,
--
Dohyun Kim
Seoul, Republic of Korea
More information about the metapost
mailing list.