On 13/11/2016 13:04, Apostolos Syropoulos wrote: >> to track the seed). The usefulness of pseudo-random numbers has come up >> a few times recently, and so we'd like to address this. (Expandable >> floating point evaluation is pretty handy as an end user!) > > > Can you please elaborate on the usefulness of pseudo-random numbers in > a typesetting engine? I think it is a good thing to add features but > those features should be added for some good reason.
Indeed. I've seen a variety of use cases for pseudo-random values, in particular two which come up reasonably often. The first is selecting entries from a larger 'pool' of values, for example for creating test papers. ('Use 5 out of the 20 questions I've written, picked at random'.) The second, probably more common, case is in creating figures (for example using TikZ). Depending on what one is representing, an element of (pseudo)randomness is useful. These use cases are beyond what might call the 'classical' idea of what TeX is for, in the sense one could do them (and other uses) by hand or using another tool and import into TeX. However, the programmable nature of TeX attracts use in these ways. One can generate pseudo-random numbers at the macro level, most obviously in the pgf package, and this facility is used by many people. (My own use case for random values, in creating some figures, uses the pgf implementation.) However, the need to track the seed value to allow a pseudo-random sequence of values means that any macro-based implementation is necessarily non-expandable. The experience of the team with \fp_eval:n, the expandable FPU of the expl3 bundle, suggests that expandable calculations are useful. In that context, it would be nice to be able to offer some random value abilities. (As noted at the start of this thread, that is already possible in pdfTeX and LuaTeX and we will likely add something to the FPU which currently will work with those engines only.) Joseph -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex