[NTG-pdftex] Re: Uniform and Normal Distribution Pseudo-random
numbers patch
Martin Schröder
martin at oneiros.de
Sat Jul 2 20:19:30 CEST 2005
On 2005-06-27 16:53:12 +0200, Taco Hoekwater wrote:
> randoms.ch --
> This is a WEB change file for pseudo-random numbers in
> pdftex 1.30 and above.
>
> There are four new primitives:
>
> \uniformdeviate <count>
> Generates a uniformly distributed random integer value
> between 0 (inclusive) and <count> (exclusive).
> This primitive expands to a list of tokens.
>
> \normaldeviate
> Expands to a random integer value with a mean of 0 and a
> unit of 65536.
> This primitive expands to a list of tokens.
>
> \randomseed
> You can use \the\randomseed to query the current seed value,
> so you can e.g. the value to the log file.
>
> The initial value of the seed is derived from the system time,
> and is not more than 1,000,999,999 (this ensures that the value
> can be used with commands like \count).
>
> \setrandomseed <count>
> This sets the random seed to a specific value, allowing you
> to re-play sequences fo semi-randoms at a later moment.
>
> Most of the actual code is taken from metapost, and originally
> written by Knuth, for Metafont. Glue to make it work in TeX is
> by me. If you find an error, it is bound to be in my code,
> not Knuth's :-)
Very nice. I've added a call of init_randoms(random_seed) to
"Implement \.{\\ptexsetrandomseed}"; this allows one to restart
the random generator.
And I've renamed the primitives to \ptexuniformdeviate,
\ptexnormaldeviate, \ptexrandomseed and \ptexsetrandomseed.
Best regards
Martin
--
http://www.tm.oneiros.de
More information about the ntg-pdftex
mailing list