[luatex] normaldeviate requires a number?
luigi scarso
luigi.scarso at gmail.com
Sun Nov 13 18:45:13 CET 2016
On Sun, Nov 13, 2016 at 5:32 PM, David Carlisle <d.p.carlisle at gmail.com> wrote:
> This document with pdftex
>
>
> \ifx\directlua\undefined\else
> \let\pdfrandomseed\randomseed
> \let\pdfsetrandomseed\setrandomseed
> \let\pdfnormaldeviate\normaldeviate
> \let\pdfuniformdeviate\uniformdeviate
> \fi
>
> \pdfsetrandomseed 999
>
> \immediate\write20{A: \pdfnormaldeviate}
> \immediate\write20{B: \pdfnormaldeviate}
> \immediate\write20{C: \pdfuniformdeviate 100}
> \immediate\write20{D: \pdfuniformdeviate 100}
>
> \bye
>
> produces terminal output of
>
> A: -65925
> B: 114111
> C: 5
> D: 74
>
>
> I'd have expected from the luatex manual that luatex would be the same
> but it gives
>
> This is LuaTeX, Version 1.0.1 (TeX Live 2017/dev)
> restricted system commands enabled.
> (./rnd.tex
> ! Missing number, treated as zero.
>
>
> You get the expected output from
>
> \immediate\write20{A: \pdfnormaldeviate 0}
> \immediate\write20{B: \pdfnormaldeviate 0}
>
> but then of course pdftex gives
>
> A: -659250
> B: 1141110
>
>
> It appears that any number will work and \normaldeviate just gobbles a
> following <number> without using it.
>
> Would it be possible to have a pdftex compatible behaviour here, or if
> the number is doing something, document in the manual what it does.
>
> Thanks,
>
> David
It looks like a bug, probably an oversight because the source code is
similar to the uniformdeviate case which is just before and needs to
scan an int.
I will fix it later this evening or tomorrow in experimental.
--
luigi
More information about the luatex
mailing list