[latex3-commits] [l3svn] r6787 - Add \int_rand:nn, \seq_rand_item:N etc.
noreply at latex-project.org
noreply at latex-project.org
Tue Dec 6 18:32:58 CET 2016
Author: bruno
Date: 2016-12-06 18:32:58 +0100 (Tue, 06 Dec 2016)
New Revision: 6787
Added:
trunk/l3kernel/testfiles/m3rand001.lvt
trunk/l3kernel/testfiles/m3rand001.ptex.tlg
trunk/l3kernel/testfiles/m3rand001.tlg
trunk/l3kernel/testfiles/m3rand001.uptex.tlg
trunk/l3kernel/testfiles/m3rand001.xetex.tlg
Removed:
trunk/l3kernel/testfiles/m3fp-rand001.lvt
trunk/l3kernel/testfiles/m3fp-rand001.ptex.tlg
trunk/l3kernel/testfiles/m3fp-rand001.tlg
trunk/l3kernel/testfiles/m3fp-rand001.uptex.tlg
trunk/l3kernel/testfiles/m3fp-rand001.xetex.tlg
Modified:
trunk/l3kernel/l3candidates.dtx
trunk/l3kernel/l3fp-random.dtx
trunk/l3kernel/testfiles/m3expl001.luatex.tlg
trunk/l3kernel/testfiles/m3expl001.ptex.tlg
trunk/l3kernel/testfiles/m3expl001.tlg
trunk/l3kernel/testfiles/m3expl001.uptex.tlg
trunk/l3kernel/testfiles/m3expl001.xetex.tlg
trunk/l3kernel/testfiles/m3expl003.luatex.tlg
trunk/l3kernel/testfiles/m3expl003.ptex.tlg
trunk/l3kernel/testfiles/m3expl003.tlg
trunk/l3kernel/testfiles/m3expl003.uptex.tlg
trunk/l3kernel/testfiles/m3expl003.xetex.tlg
Log:
Add \int_rand:nn, \seq_rand_item:N etc.
This adds \int_rand:nn, \seq_rand_item:N, \tl_rand_item:N
(and :n), \clist_rand_item:N (and :n), \prop_rand_key:N,
\prop_rand_value:N, \prop_rand_key_value:N. I've renamed
m3fp-rand001 to m3rand001 because it seemed to make more
sense to test all random-related functions together.
Modified: trunk/l3kernel/l3candidates.dtx
===================================================================
--- trunk/l3kernel/l3candidates.dtx 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/l3candidates.dtx 2016-12-06 17:32:58 UTC (rev 6787)
@@ -317,6 +317,23 @@
% \cs{clist_show:n} which displays the result in the terminal.
% \end{function}
%
+% \begin{function}[EXP, added = 2016-12-06]
+% {\clist_rand_item:N, \clist_rand_item:n, \clist_rand_item:c}
+% \begin{syntax}
+% \cs{clist_rand_item:N} \meta{clist~var}
+% \cs{clist_rand_item:n} \Arg{comma list}
+% \end{syntax}
+% Selects a pseudo-random item of the \meta{comma list}. If the
+% \meta{comma list} has no item, the result is empty. This is only
+% available in \pdfTeX{} and \LuaTeX{}.
+% \begin{texnote}
+% The result is returned within the \tn{unexpanded}
+% primitive (\cs{exp_not:n}), which means that the \meta{item}
+% will not expand further when appearing in an \texttt{x}-type
+% argument expansion.
+% \end{texnote}
+% \end{function}
+%
% \section{Additions to \pkg{l3coffins}}
%
% \begin{function}{\coffin_resize:Nnn, \coffin_resize:cnn}
@@ -495,6 +512,15 @@
% in the log file.
% \end{function}
%
+% \begin{function}[EXP, added = 2016-12-06]{\int_rand:nn}
+% \begin{syntax}
+% \cs{int_rand:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \end{syntax}
+% Evaluates the two \meta{integer expressions} and produces a
+% pseudo-random number between the two (with bounds included). This
+% is only available in \pdfTeX{} and \LuaTeX{}.
+% \end{function}
+%
% \section{Additions to \pkg{l3keys}}
%
% \begin{function}[added = 2014-08-22]{\keys_log:nn}
@@ -673,6 +699,51 @@
% Writes the entries in the \meta{property list} in the log file.
% \end{function}
%
+% \begin{function}[EXP, added = 2016-12-06]
+% {\prop_rand_key:N, \prop_rand_key:c}
+% \begin{syntax}
+% \cs{prop_rand_key:N} \meta{prop~var}
+% \end{syntax}
+% Selects a pseudo-random key--value pair in the \meta{property list}
+% and returns the \meta{key}. If the \meta{property list} is empty
+% the result is empty. This is only available in \pdfTeX{} and
+% \LuaTeX{}.
+% \end{function}
+%
+% \begin{function}[EXP, added = 2016-12-06]
+% {\prop_rand_value:N, \prop_rand_value:c}
+% \begin{syntax}
+% \cs{prop_rand_value:N} \meta{prop~var}
+% \end{syntax}
+% Selects a pseudo-random key--value pair in the \meta{property list}
+% and returns the \meta{value}. If the \meta{property list} is empty
+% the result is empty. This is only available in \pdfTeX{} and
+% \LuaTeX{}.
+% \begin{texnote}
+% The result is returned within the \tn{unexpanded}
+% primitive (\cs{exp_not:n}), which means that the \meta{value}
+% will not expand further when appearing in an \texttt{x}-type
+% argument expansion.
+% \end{texnote}
+% \end{function}
+%
+% \begin{function}[EXP, added = 2016-12-06]
+% {\prop_rand_key_value:N, \prop_rand_key_value:c}
+% \begin{syntax}
+% \cs{prop_rand_key_value:N} \meta{prop~var}
+% \end{syntax}
+% Selects a pseudo-random key--value pair in the \meta{property list}
+% and returns \Arg{key}\Arg{value}. If the \meta{property list} is
+% empty the result is empty. This is only available in \pdfTeX{} and
+% \LuaTeX{}.
+% \begin{texnote}
+% The result is returned within the \tn{unexpanded}
+% primitive (\cs{exp_not:n}), which means that the \meta{value}
+% will not expand further when appearing in an \texttt{x}-type
+% argument expansion.
+% \end{texnote}
+% \end{function}
+%
% \section{Additions to \pkg{l3seq}}
%
% \begin{function}[rEXP]
@@ -733,6 +804,21 @@
% Writes the entries in the \meta{sequence} in the log file.
% \end{function}
%
+% \begin{function}[EXP, added = 2016-12-06]{\seq_rand_item:N, \seq_rand_item:c}
+% \begin{syntax}
+% \cs{seq_rand_item:N} \meta{seq~var}
+% \end{syntax}
+% Selects a pseudo-random item of the \meta{sequence}. If the
+% \meta{sequence} is empty the result is empty. This is only
+% available in \pdfTeX{} and \LuaTeX{}.
+% \begin{texnote}
+% The result is returned within the \tn{unexpanded}
+% primitive (\cs{exp_not:n}), which means that the \meta{item}
+% will not expand further when appearing in an \texttt{x}-type
+% argument expansion.
+% \end{texnote}
+% \end{function}
+%
% \section{Additions to \pkg{l3skip}}
%
% \begin{function}{\skip_split_finite_else_action:nnNN}
@@ -1069,12 +1155,29 @@
%
% \begin{function}[added = 2014-08-22]{\tl_log:n}
% \begin{syntax}
-% \cs{tl_log:n} \meta{token list}
+% \cs{tl_log:n} \Arg{token list}
% \end{syntax}
% Writes the \meta{token list} in the log file. See also
% \cs{tl_show:n} which displays the result in the terminal.
% \end{function}
%
+% \begin{function}[EXP, added = 2016-12-06]
+% {\tl_rand_item:N, \tl_rand_item:c, \tl_rand_item:n}
+% \begin{syntax}
+% \cs{tl_rand_item:N} \meta{tl~var}
+% \cs{tl_rand_item:n} \Arg{token list}
+% \end{syntax}
+% Selects a pseudo-random item of the \meta{token list}. If the
+% \meta{token list} is blank, the result is empty. This is only
+% available in \pdfTeX{} and \LuaTeX{}.
+% \begin{texnote}
+% The result is returned within the \tn{unexpanded}
+% primitive (\cs{exp_not:n}), which means that the \meta{item}
+% will not expand further when appearing in an \texttt{x}-type
+% argument expansion.
+% \end{texnote}
+% \end{function}
+%
% \section{Additions to \pkg{l3tokens}}
%
% \begin{function}[TF, updated = 2012-12-20]{\peek_N_type:}
@@ -1799,6 +1902,33 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\clist_rand_item:n, \clist_rand_item:N, \clist_rand_item:c}
+% \begin{macro}[aux]{\@@_rand_item:nn}
+% The |N|-type function is not implemented through the |n|-type
+% function for efficiency: for instance comma-list variables do not
+% require space-trimming of their items. Even testing for emptyness
+% of an |n|-type comma-list is slow, so we count items first and use
+% that both for the emptyness test and the pseudo-random integer.
+% Importantly, \cs{clist_item:Nn} and \cs{clist_item:nn} only evaluate
+% their argument once.
+% \begin{macrocode}
+\cs_new:Npn \clist_rand_item:n #1
+ { \exp_args:Nf \@@_rand_item:nn { \clist_count:n {#1} } {#1} }
+\cs_new:Npn \@@_rand_item:nn #1#2
+ {
+ \int_compare:nNnF {#1} = \c_zero
+ { \clist_item:nn {#2} { \int_rand:nn { 1 } {#1} } }
+ }
+\cs_new:Npn \clist_rand_item:N #1
+ {
+ \clist_if_empty:NF #1
+ { \clist_item:Nn #1 { \int_rand:nn { 1 } { \clist_count:N #1 } } }
+ }
+\cs_generate_variant:Nn \clist_rand_item:N { c }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Additions to \pkg{l3coffins}}
%
% \begin{macrocode}
@@ -2408,6 +2538,10 @@
%
% \subsection{Additions to \pkg{l3int}}
%
+% \begin{macrocode}
+%<@@=int>
+% \end{macrocode}
+%
% \begin{macro}{\int_log:N, \int_log:c}
% Redirect output of \cs{int_show:N} to the log. This is not just a
% copy of \cs{__kernel_register_log:N} because of subtleties
@@ -2428,6 +2562,89 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[EXP]{\int_rand:nn}
+% \begin{macro}[aux, EXP]
+% {
+% \@@_rand:ww, \@@_rand_narrow:n,
+% \@@_rand_narrow:nnn, \@@_rand_narrow:nnnn
+% }
+% Evaluate the argument and filter out the case where the lower
+% bound~|#1| is more than the upper bound~|#2|. Then determine
+% whether the range is narrower than \cs{c__fp_rand_size_int}; |#2-#1|
+% may overflow for very large positive~|#2| and negative~|#1|. If the
+% range is wide, use slower code from \pkg{l3fp}. If the range is
+% narrow, call \cs{@@_rand_narrow:nn} \Arg{choices} |{#1}| where
+% \meta{choices} is the number of possible outcomes. Then
+% \cs{@@_rand_narrow:nnnn} receives a random number reduced modulo
+% \meta{choices}, the random number itself, \meta{choices} and |#1|.
+% To avoid bias, throw away the random number if it lies in the last,
+% incomplete, interval of size \meta{choices} in
+% $[0,\cs{c__fp_rand_size_int}-1]$, and try again.
+% \begin{macrocode}
+\cs_if_exist:NTF \pdftex_uniformdeviate:D
+ {
+ \cs_new:Npn \int_rand:nn #1#2
+ {
+ \exp_after:wN \@@_rand:ww
+ \__int_value:w \__int_eval:w #1 \exp_after:wN ;
+ \__int_value:w \__int_eval:w #2 ;
+ }
+ \cs_new:Npn \@@_rand:ww #1; #2;
+ {
+ \int_compare:nNnTF {#1} > {#2}
+ {
+ \__msg_kernel_expandable_error:nnnn
+ { kernel } { backward-range } {#1} {#2}
+ \@@_rand:ww #2; #1;
+ }
+ {
+ \int_compare:nNnTF {#1} > \c_zero
+ { \int_compare:nNnTF { #2 - #1 } < \c__fp_rand_size_int }
+ { \int_compare:nNnTF {#2} < { #1 + \c__fp_rand_size_int } }
+ {
+ \exp_args:Nf \@@_rand_narrow:nn
+ { \int_eval:n { #2 - #1 + \c_one } } {#1}
+ }
+ { \fp_to_int:n { randint(#1,#2) } }
+ }
+ }
+ \cs_new:Npn \@@_rand_narrow:nn
+ {
+ \exp_args:No \@@_rand_narrow:nnn
+ { \pdftex_uniformdeviate:D \c__fp_rand_size_int }
+ }
+ \cs_new:Npn \@@_rand_narrow:nnn #1#2
+ {
+ \exp_args:Nf \@@_rand_narrow:nnnn
+ { \int_mod:nn {#1} {#2} } {#1} {#2}
+ }
+ \cs_new:Npn \@@_rand_narrow:nnnn #1#2#3#4
+ {
+ \int_compare:nNnTF { #2 - #1 + #3 } > \c__fp_rand_size_int
+ { \@@_rand_narrow:nn {#3} {#4} }
+ { \int_eval:n { #4 + #1 } }
+ }
+ }
+ {
+ \cs_new:Npn \int_rand:nn #1#2
+ {
+ \__msg_kernel_expandable_error:nn { kernel } { fp-no-random }
+ \int_eval:n {#1}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% The following must be added to \pkg{l3msg}.
+% \begin{macrocode}
+\cs_if_exist:NT \pdftex_uniformdeviate:D
+ {
+ \__msg_kernel_new:nnn { kernel } { backward-range }
+ { Bounds~ordered~backwards~in~\int_rand:nn {#1}~{#2}. }
+ }
+% \end{macrocode}
+%
% \subsection{Additions to \pkg{l3keys}}
%
% \begin{macrocode}
@@ -2638,6 +2855,47 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[EXP]
+% {
+% \prop_rand_key:N, \prop_rand_key:c,
+% \prop_rand_value:N, \prop_rand_value:c,
+% \prop_rand_key_value:N, \prop_rand_key_value:c
+% }
+% \begin{macro}[aux, EXP]{\@@_rand:NN, \@@_rand_item:Nw}
+% Contrarily to |clist|, |seq| and |tl|, there is no function to get
+% an item of a |prop| given an integer between $1$ and the number of
+% items, so we write the appropriate code. There is no bounds
+% checking because \cs{int_rand:nn} is always within bounds. At the
+% end, leave either the key |#3| or the value |#4| in the input
+% stream.
+% \begin{macrocode}
+\cs_new:Npn \prop_rand_key:N { \@@_rand:NN \use_i:nnn }
+\cs_new:Npn \prop_rand_value:N { \@@_rand:NN \use_none:n }
+\cs_new:Npn \prop_rand_key_value:N { \@@_rand:NN \@@_rand:nNn }
+\cs_new:Npn \@@_rand:nNn #1#2#3 { \exp_not:n { {#1} {#3} } }
+\cs_new:Npn \@@_rand:NN #1#2
+ {
+ \prop_if_empty:NTF #2 { }
+ {
+ \exp_after:wN \@@_rand_item:Nw \exp_after:wN #1
+ \__int_value:w \int_rand:nn { 1 } { \prop_count:N #2 } #2
+ \q_stop
+ }
+ }
+\cs_new:Npn \@@_rand_item:Nw #1#2 \s_@@ \@@_pair:wn #3 \s_@@ #4
+ {
+ \int_compare:nNnF {#2} > \c_one
+ { \use_i_delimit_by_q_stop:nw { #1 {#3} \exp_not:n {#4} } }
+ \exp_after:wN \@@_rand_item:Nw \exp_after:wN #1
+ \__int_value:w \int_eval:n { #2 - \c_one } \s_@@
+ }
+\cs_generate_variant:Nn \prop_rand_key:N { c }
+\cs_generate_variant:Nn \prop_rand_value:N { c }
+\cs_generate_variant:Nn \prop_rand_key_value:N { c }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Additions to \pkg{l3seq}}
%
% \begin{macrocode}
@@ -2745,6 +3003,18 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\seq_rand_item:N, \seq_rand_item:c}
+% Importantly, \cs{seq_item:Nn} only evaluates its argument once.
+% \begin{macrocode}
+\cs_new:Npn \seq_rand_item:N #1
+ {
+ \seq_if_empty:NF #1
+ { \seq_item:Nn #1 { \int_rand:nn { 1 } { \seq_count:N #1 } } }
+ }
+\cs_generate_variant:Nn \seq_rand_item:N { c }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Additions to \pkg{l3skip}}
%
% \begin{macrocode}
@@ -4442,6 +4712,19 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\tl_rand_item:n, \tl_rand_item:N, \tl_rand_item:c}
+% Importantly \cs{tl_item:nn} only evaluates its argument once.
+% \begin{macrocode}
+\cs_new:Npn \tl_rand_item:n #1
+ {
+ \tl_if_blank:nF {#1}
+ { \tl_item:nn {#1} { \int_rand:nn { 1 } { \tl_count:n {#1} } } }
+ }
+\cs_new:Npn \tl_rand_item:N { \exp_args:No \tl_rand_item:n }
+\cs_generate_variant:Nn \tl_rand_item:N { c }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Additions to \pkg{l3tokens}}
%
% \begin{macrocode}
Modified: trunk/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/l3kernel/l3fp-random.dtx 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/l3fp-random.dtx 2016-12-06 17:32:58 UTC (rev 6787)
@@ -112,8 +112,9 @@
% uniform pseudo-random integer in $[0,2^{28}-1]$. For instance,
% setting~$n$ to (any multiple of) $2^{29}$ gives only even values.
% Thus it is only safe to call \cs{pdftex_uniformdeviate:D} with
-% argument $2^{28}$. We will also use variants of this number rounded
-% down to multiples of $10^4$ and $10^8$.
+% argument $2^{28}$. This integer is also used in the implementation
+% of \cs{int_rand:nn}. We will also use variants of this number
+% rounded down to multiples of $10^4$ and $10^8$.
% \begin{macrocode}
\cs_new:Npn \@@_rand_uniform:
{ \pdftex_uniformdeviate:D \c_@@_rand_size_int }
Modified: trunk/l3kernel/testfiles/m3expl001.luatex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.luatex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl001.luatex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4551,6 +4551,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4615,6 +4619,12 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4658,6 +4668,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4673,6 +4692,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4827,6 +4848,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl001.ptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.ptex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl001.ptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4522,6 +4522,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4586,6 +4590,7 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4629,6 +4634,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4644,6 +4658,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4798,6 +4814,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl001.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl001.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4542,6 +4542,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4606,6 +4610,12 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4649,6 +4659,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4664,6 +4683,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -5019,6 +5040,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl001.uptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.uptex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl001.uptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4522,6 +4522,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4586,6 +4590,7 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4629,6 +4634,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4644,6 +4658,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4999,6 +5015,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl001.xetex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl001.xetex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl001.xetex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4529,6 +4529,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4593,6 +4597,7 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4636,6 +4641,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4651,6 +4665,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4805,6 +4821,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl003.luatex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.luatex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl003.luatex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4552,6 +4552,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4616,6 +4620,12 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4659,6 +4669,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4674,6 +4693,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4828,6 +4849,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl003.ptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.ptex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl003.ptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4523,6 +4523,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4587,6 +4591,7 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4630,6 +4635,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4645,6 +4659,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4799,6 +4815,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl003.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl003.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4543,6 +4543,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4607,6 +4611,12 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4650,6 +4660,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4665,6 +4684,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -5020,6 +5041,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl003.uptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.uptex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl003.uptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4523,6 +4523,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4587,6 +4591,7 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4630,6 +4635,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4645,6 +4659,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -5000,6 +5016,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Modified: trunk/l3kernel/testfiles/m3expl003.xetex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3expl003.xetex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3expl003.xetex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -4530,6 +4530,10 @@
Defining \clist_log:N on line ...
Defining \clist_log:n on line ...
Defining \clist_log:c on line ...
+Defining \clist_rand_item:n on line ...
+Defining \__clist_rand_item:nn on line ...
+Defining \clist_rand_item:N on line ...
+Defining \clist_rand_item:c on line ...
Defining \l__coffin_sin_fp on line ...
Defining \l__coffin_cos_fp on line ...
Defining \l__coffin_bounding_prop on line ...
@@ -4594,6 +4598,7 @@
Defining \int_log:N on line ...
Defining \int_log:c on line ...
Defining \int_log:n on line ...
+Defining \int_rand:nn on line ...
Defining \keys_log:nn on line ...
Defining \msg_expandable_error:nnnnnn on line ...
Defining \msg_expandable_error:nnnnn on line ...
@@ -4637,6 +4642,15 @@
Defining \prop_map_tokens:cn on line ...
Defining \prop_log:N on line ...
Defining \prop_log:c on line ...
+Defining \prop_rand_key:N on line ...
+Defining \prop_rand_value:N on line ...
+Defining \prop_rand_key_value:N on line ...
+Defining \__prop_rand:nNn on line ...
+Defining \__prop_rand:NN on line ...
+Defining \__prop_rand_item:Nw on line ...
+Defining \prop_rand_key:c on line ...
+Defining \prop_rand_value:c on line ...
+Defining \prop_rand_key_value:c on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
Defining \__seq_mapthread_function:wNw on line ...
@@ -4652,6 +4666,8 @@
Defining \__seq_set_map:NNNn on line ...
Defining \seq_log:N on line ...
Defining \seq_log:c on line ...
+Defining \seq_rand_item:N on line ...
+Defining \seq_rand_item:c on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \dim_log:N on line ...
Defining \dim_log:c on line ...
@@ -4806,6 +4822,9 @@
Defining \tl_log:N on line ...
Defining \tl_log:c on line ...
Defining \tl_log:n on line ...
+Defining \tl_rand_item:n on line ...
+Defining \tl_rand_item:N on line ...
+Defining \tl_rand_item:c on line ...
Defining \__peek_execute_branches_N_type: on line ...
Defining \__peek_N_type:w on line ...
Defining \__peek_N_type_aux:nnw on line ...
Deleted: trunk/l3kernel/testfiles/m3fp-rand001.lvt
===================================================================
--- trunk/l3kernel/testfiles/m3fp-rand001.lvt 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3fp-rand001.lvt 2016-12-06 17:32:58 UTC (rev 6787)
@@ -1,58 +0,0 @@
-%
-% Copyright (C) 2016 LaTeX3 Project
-%
-
-\documentclass{minimal}
-\input{regression-test}
-
-\RequirePackage[check-declarations,log-functions]{expl3}
-
-\begin{document}
-\START
-\AUTHOR{Bruno Le Floch}
-\ExplSyntaxOn
-
-\cs_if_exist_use:NT \pdftex_setrandomseed:D { 0 }
-\OMIT
-\cs_if_exist:NTF \pdftex_uniformdeviate:D
- { \cs_new:Npn \test:n #1 { \prg_replicate:nn { 5 } { \fp_to_tl:n {#1} \NEWLINE } } }
- { \cs_new:Npn \test:n #1 { \fp_to_tl:n {#1} , ~ } }
-\TIMO
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\TESTEXP { Random~floating~point~number }
- {
- \test:n { rand() }
- }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\TESTEXP { Random~integer }
- {
- \test:n { randint(2) }
- \test:n { randint(-9999 9999 9999 9999, -9999 9999 9999 9998) }
- \test:n { randint(-10 0000 0000, 10 0000 0000) }
- \test:n { randint(9.9e15) }
- \test:n { randint(-9999 9999 9999 9999, 9999 9999 9999 9999) }
- }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\TESTEXP { Random~bad~arguments }
- {
- \fp_to_tl:n { rand(,) } \NEWLINE
- \fp_to_tl:n { rand(1,2,3) } \NEWLINE
- \fp_to_tl:n { rand(nan) } \NEWLINE
- \fp_to_tl:n { randint() } \NEWLINE
- \fp_to_tl:n { randint(1) } \NEWLINE
- \fp_to_tl:n { randint(1,0) } \NEWLINE
- \fp_to_tl:n { randint(1e16) } \NEWLINE
- \fp_to_tl:n { randint(9.9e15, 1e16) } \NEWLINE
- \fp_to_tl:n { randint(-1e16, -1e15) } \NEWLINE
- \fp_to_tl:n { randint(1,2,3) } \NEWLINE
- \fp_to_tl:n { randint(nan) } \NEWLINE
- \fp_to_tl:n { randint(inf) } \NEWLINE
- \fp_to_tl:n { randint(nan,0) } \NEWLINE
- \fp_to_tl:n { randint(inf,0) } \NEWLINE
- }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\END
Deleted: trunk/l3kernel/testfiles/m3fp-rand001.ptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3fp-rand001.ptex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3fp-rand001.ptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -1,220 +0,0 @@
-This is a generated file for the LaTeX (2e + expl3) validation system.
-Don't change this file in any respect.
-Author: Bruno Le Floch
-============================================================
-TEST 1: Random floating point number
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan,
-============================================================
-============================================================
-TEST 2: Random integer
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan, nan, nan, nan, nan,
-============================================================
-============================================================
-TEST 3: Random bad arguments
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Missing number before ','.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-============================================================
Deleted: trunk/l3kernel/testfiles/m3fp-rand001.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3fp-rand001.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3fp-rand001.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -1,185 +0,0 @@
-This is a generated file for the LaTeX (2e + expl3) validation system.
-Don't change this file in any respect.
-Author: Bruno Le Floch
-============================================================
-TEST 1: Random floating point number
-============================================================
-0.6462368894354278
-0.9436367545979044
-0.4852789154091621
-0.177206678619497
-0.5709297441167938
-============================================================
-============================================================
-TEST 2: Random integer
-============================================================
-2
-1
-2
-1
-1
--9999999999999999
--9999999999999999
--9999999999999998
--9999999999999999
--9999999999999999
-444814453
-983095862
-958440641
-448535503
-361158142
-6698906031397161
-4488284872942466
-6862012124606703
-4745501327166187
-9558266238979667
--8367420653049596
--616799027378363
-1497734804749083
-6603444483764452
--9258032600444501
-============================================================
-============================================================
-TEST 3: Random bad arguments
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Missing number before ','.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- rand() expects between 0 and 0 arguments.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- rand() expects between 0 and 0 arguments.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- rand() expects between 0 and 0 arguments.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- randint() expects between 1 and 2 arguments.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(1, 0)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(1, 1e16)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(9900000000000000, 1e16)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(-1e16, -1000000000000000)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- randint() expects between 1 and 2 arguments.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(1, nan)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(1, inf)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(nan, 0)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Invalid operation randint(inf, 0)
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan
-nan
-nan
-nan
-1
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-============================================================
Deleted: trunk/l3kernel/testfiles/m3fp-rand001.uptex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3fp-rand001.uptex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3fp-rand001.uptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -1,220 +0,0 @@
-This is a generated file for the LaTeX (2e + expl3) validation system.
-Don't change this file in any respect.
-Author: Bruno Le Floch
-============================================================
-TEST 1: Random floating point number
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan,
-============================================================
-============================================================
-TEST 2: Random integer
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan, nan, nan, nan, nan,
-============================================================
-============================================================
-TEST 3: Random bad arguments
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Missing number before ','.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-============================================================
Deleted: trunk/l3kernel/testfiles/m3fp-rand001.xetex.tlg
===================================================================
--- trunk/l3kernel/testfiles/m3fp-rand001.xetex.tlg 2016-12-06 13:36:34 UTC (rev 6786)
+++ trunk/l3kernel/testfiles/m3fp-rand001.xetex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -1,220 +0,0 @@
-This is a generated file for the LaTeX (2e + expl3) validation system.
-Don't change this file in any respect.
-Author: Bruno Le Floch
-============================================================
-TEST 1: Random floating point number
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan,
-============================================================
-============================================================
-TEST 2: Random integer
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan, nan, nan, nan, nan,
-============================================================
-============================================================
-TEST 3: Random bad arguments
-============================================================
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Missing number before ','.
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> \LaTeX3 error:
- Random numbers unavailable
-l. ... }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-nan
-============================================================
Copied: trunk/l3kernel/testfiles/m3rand001.lvt (from rev 6785, trunk/l3kernel/testfiles/m3fp-rand001.lvt)
===================================================================
--- trunk/l3kernel/testfiles/m3rand001.lvt (rev 0)
+++ trunk/l3kernel/testfiles/m3rand001.lvt 2016-12-06 17:32:58 UTC (rev 6787)
@@ -0,0 +1,131 @@
+%
+% Copyright (C) 2016 LaTeX3 Project
+%
+
+\documentclass{minimal}
+\input{regression-test}
+
+\RequirePackage[check-declarations,log-functions]{expl3}
+
+\begin{document}
+\START
+\AUTHOR{Bruno Le Floch}
+\ExplSyntaxOn
+
+\cs_if_exist_use:NT \pdftex_setrandomseed:D { 0 }
+\OMIT
+\cs_if_exist:NTF \pdftex_uniformdeviate:D
+ { \cs_new:Npn \test:n #1 { \prg_replicate:nn { 5 } { \fp_to_tl:n {#1} \NEWLINE } } }
+ { \cs_new:Npn \test:n #1 { \fp_to_tl:n {#1} , ~ } }
+\cs_if_exist:NTF \pdftex_uniformdeviate:D
+ { \cs_new:Npn \test_ii:n #1 { | \prg_replicate:nn { 5 } { #1 | } \NEWLINE } }
+ { \cs_new:Npn \test_ii:n #1 { ( #1 ) ~ } }
+\TIMO
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\TESTEXP { Random~floating~point~number }
+ {
+ \test:n { rand() }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\TESTEXP { Random~integer }
+ {
+ \test:n { randint(2) }
+ \test:n { randint(-9999 9999 9999 9999, -9999 9999 9999 9998) }
+ \test:n { randint(-10 0000 0000, 10 0000 0000) }
+ \test:n { randint(9.9e15) }
+ \test:n { randint(-9999 9999 9999 9999, 9999 9999 9999 9999) }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\TESTEXP { Random~bad~arguments }
+ {
+ \fp_to_tl:n { rand(,) } \NEWLINE
+ \fp_to_tl:n { rand(1,2,3) } \NEWLINE
+ \fp_to_tl:n { rand(nan) } \NEWLINE
+ \fp_to_tl:n { randint() } \NEWLINE
+ \fp_to_tl:n { randint(1) } \NEWLINE
+ \fp_to_tl:n { randint(1,0) } \NEWLINE
+ \fp_to_tl:n { randint(1e16) } \NEWLINE
+ \fp_to_tl:n { randint(9.9e15, 1e16) } \NEWLINE
+ \fp_to_tl:n { randint(-1e16, -1e15) } \NEWLINE
+ \fp_to_tl:n { randint(1,2,3) } \NEWLINE
+ \fp_to_tl:n { randint(nan) } \NEWLINE
+ \fp_to_tl:n { randint(inf) } \NEWLINE
+ \fp_to_tl:n { randint(nan,0) } \NEWLINE
+ \fp_to_tl:n { randint(inf,0) } \NEWLINE
+ \int_rand:nn { 1 } { 0 } \NEWLINE
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\TESTEXP { Random~integer~in~a~range }
+ {
+ \test_ii:n { \int_rand:nn { -1 } { 1 } }
+ \test_ii:n { \int_rand:nn { -\c_max_int } { -\c_max_int } }
+ \test_ii:n { \int_rand:nn { -\c_max_int } { -\c_max_int + 10 } }
+ \test_ii:n { \int_rand:nn { -\c_max_int } { \c_max_int } }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\OMIT
+\tl_set:Nn \l_tmpa_tl { { ~ } ~ { } }
+\tl_set:Nn \l_tmpb_tl { \A # & {~} }
+\TIMO
+\TESTEXP { Random~tl~item }
+ {
+ | \tl_rand_item:n { ~ } | \NEWLINE
+ \test_ii:n { \tl_rand_item:n { \A } }
+ \test_ii:n { \tl_rand_item:n { \A { ~\B } } }
+ \test_ii:n { \tl_rand_item:n { \A { { \B } } ~ \C } }
+ \test_ii:n { \tl_rand_item:N \c_empty_tl }
+ \test_ii:n { \tl_rand_item:N \c_space_tl }
+ \test_ii:n { \tl_rand_item:N \l_tmpa_tl }
+ \test_ii:n { \tl_rand_item:N \l_tmpb_tl }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\OMIT
+\clist_set:Nn \l_tmpa_clist { { ~ , } ~ , { } , ~ , }
+\clist_set:Nn \l_tmpb_clist { \A , # , & , \\ , {,} }
+\TIMO
+\TESTEXP { Random~clist~item }
+ {
+ | \clist_rand_item:n { ~ } | \NEWLINE
+ \test_ii:n { \clist_rand_item:n { \A , , ~ , \B } }
+ \test_ii:n { \clist_rand_item:n { { ~ , } ~ , ~ \A , { ~ \B } , { { } } } }
+ \test_ii:n { \clist_rand_item:N \c_empty_clist }
+ \test_ii:n { \clist_rand_item:N \l_tmpa_clist }
+ \test_ii:n { \clist_rand_item:N \l_tmpb_clist }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\OMIT
+\seq_set_from_clist:Nn \l_tmpa_seq { { ~ , } ~ , { } }
+\seq_set_from_clist:Nn \l_tmpb_seq { \A , # , & , { { \\ } } , {,} }
+\TIMO
+\TESTEXP { Random~seq~item }
+ {
+ \test_ii:n { \seq_rand_item:N \c_empty_seq }
+ \test_ii:n { \seq_rand_item:N \l_tmpa_seq }
+ \test_ii:n { \seq_rand_item:N \l_tmpb_seq }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\OMIT
+\prop_put:Nnn \l_tmpa_prop { \e } { }
+\prop_put:Nnn \l_tmpa_prop { \a } { \A }
+\prop_put:Nnn \l_tmpa_prop { \b } { { \B } }
+\TIMO
+\TESTEXP { Random~prop~key/value }
+ {
+ \test_ii:n { \prop_rand_key:N \c_empty_prop }
+ \test_ii:n { \prop_rand_value:N \c_empty_prop }
+ \test_ii:n { \prop_rand_key_value:N \c_empty_prop }
+ \test_ii:n { \prop_rand_key:N \l_tmpa_prop }
+ \test_ii:n { \prop_rand_value:N \l_tmpa_prop }
+ \test_ii:n { \prop_rand_key_value:N \l_tmpa_prop }
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\END
Copied: trunk/l3kernel/testfiles/m3rand001.ptex.tlg (from rev 6785, trunk/l3kernel/testfiles/m3fp-rand001.ptex.tlg)
===================================================================
--- trunk/l3kernel/testfiles/m3rand001.ptex.tlg (rev 0)
+++ trunk/l3kernel/testfiles/m3rand001.ptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -0,0 +1,419 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+Author: Bruno Le Floch
+============================================================
+TEST 1: Random floating point number
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan,
+============================================================
+============================================================
+TEST 2: Random integer
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan, nan, nan, nan, nan,
+============================================================
+============================================================
+TEST 3: Random bad arguments
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Missing number before ','.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+1
+============================================================
+============================================================
+TEST 4: Random integer in a range
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+(-1) (-2147483647) (-2147483647) (-2147483647)
+============================================================
+============================================================
+TEST 5: Random tl item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+||
+(\A ) (\A ) (\A ) () () ( ) (\A )
+============================================================
+============================================================
+TEST 6: Random clist item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+||
+(\A ) ( ,) () ( ,) (\A )
+============================================================
+============================================================
+TEST 7: Random seq item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+() ( ,) (\A )
+============================================================
+============================================================
+TEST 8: Random prop key/value
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+() () () (\e ) () ({\e }{})
+============================================================
Copied: trunk/l3kernel/testfiles/m3rand001.tlg (from rev 6785, trunk/l3kernel/testfiles/m3fp-rand001.tlg)
===================================================================
--- trunk/l3kernel/testfiles/m3rand001.tlg (rev 0)
+++ trunk/l3kernel/testfiles/m3rand001.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -0,0 +1,242 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+Author: Bruno Le Floch
+============================================================
+TEST 1: Random floating point number
+============================================================
+0.6462368894354278
+0.9436367545979044
+0.4852789154091621
+0.177206678619497
+0.5709297441167938
+============================================================
+============================================================
+TEST 2: Random integer
+============================================================
+2
+1
+2
+1
+1
+-9999999999999999
+-9999999999999999
+-9999999999999998
+-9999999999999999
+-9999999999999999
+444814453
+983095862
+958440641
+448535503
+361158142
+6698906031397161
+4488284872942466
+6862012124606703
+4745501327166187
+9558266238979667
+-8367420653049596
+-616799027378363
+1497734804749083
+6603444483764452
+-9258032600444501
+============================================================
+============================================================
+TEST 3: Random bad arguments
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Missing number before ','.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ rand() expects between 0 and 0 arguments.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ rand() expects between 0 and 0 arguments.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ rand() expects between 0 and 0 arguments.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ randint() expects between 1 and 2 arguments.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(1, 0)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(1, 1e16)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(9900000000000000, 1e16)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(-1e16, -1000000000000000)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ randint() expects between 1 and 2 arguments.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(1, nan)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(1, inf)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(nan, 0)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Invalid operation randint(inf, 0)
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Bounds ordered backwards in \int_rand:nn {1} {0}.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan
+nan
+nan
+nan
+1
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+1
+============================================================
+============================================================
+TEST 4: Random integer in a range
+============================================================
+|-1|-1|1|0|-1|
+|-2147483647|-2147483647|-2147483647|-2147483647|-2147483647|
+|-2147483645|-2147483644|-2147483638|-2147483647|-2147483644|
+|-758446477|1931291650|79608793|-160587022|1579678534|
+============================================================
+============================================================
+TEST 5: Random tl item
+============================================================
+||
+|\A |\A |\A |\A |\A |
+| \B | \B | \B |\A |\A |
+|\C |{\B }|\C |\C |{\B }|
+||||||
+||||||
+||| | | |
+|\A |##|\A | |\A |
+============================================================
+============================================================
+TEST 6: Random clist item
+============================================================
+||
+|\A |\A |\A |\A |\A |
+|\A |{}|{}| \B | ,|
+||||||
+|| ,| ,|||
+|&|##|##|&|##|
+============================================================
+============================================================
+TEST 7: Random seq item
+============================================================
+||||||
+||| ,|||
+|{\\}|##|##|,|\A |
+============================================================
+============================================================
+TEST 8: Random prop key/value
+============================================================
+||||||
+||||||
+||||||
+|\a |\e |\b |\b |\a |
+||{\B }|\A |\A |\A |
+|{\e }{}|{\a }{\A }|{\e }{}|{\b }{{\B }}|{\e }{}|
+============================================================
Copied: trunk/l3kernel/testfiles/m3rand001.uptex.tlg (from rev 6785, trunk/l3kernel/testfiles/m3fp-rand001.uptex.tlg)
===================================================================
--- trunk/l3kernel/testfiles/m3rand001.uptex.tlg (rev 0)
+++ trunk/l3kernel/testfiles/m3rand001.uptex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -0,0 +1,419 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+Author: Bruno Le Floch
+============================================================
+TEST 1: Random floating point number
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan,
+============================================================
+============================================================
+TEST 2: Random integer
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan, nan, nan, nan, nan,
+============================================================
+============================================================
+TEST 3: Random bad arguments
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Missing number before ','.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+1
+============================================================
+============================================================
+TEST 4: Random integer in a range
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+(-1) (-2147483647) (-2147483647) (-2147483647)
+============================================================
+============================================================
+TEST 5: Random tl item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+||
+(\A ) (\A ) (\A ) () () ( ) (\A )
+============================================================
+============================================================
+TEST 6: Random clist item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+||
+(\A ) ( ,) () ( ,) (\A )
+============================================================
+============================================================
+TEST 7: Random seq item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+() ( ,) (\A )
+============================================================
+============================================================
+TEST 8: Random prop key/value
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+() () () (\e ) () ({\e }{})
+============================================================
Copied: trunk/l3kernel/testfiles/m3rand001.xetex.tlg (from rev 6785, trunk/l3kernel/testfiles/m3fp-rand001.xetex.tlg)
===================================================================
--- trunk/l3kernel/testfiles/m3rand001.xetex.tlg (rev 0)
+++ trunk/l3kernel/testfiles/m3rand001.xetex.tlg 2016-12-06 17:32:58 UTC (rev 6787)
@@ -0,0 +1,419 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+Author: Bruno Le Floch
+============================================================
+TEST 1: Random floating point number
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan,
+============================================================
+============================================================
+TEST 2: Random integer
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan, nan, nan, nan, nan,
+============================================================
+============================================================
+TEST 3: Random bad arguments
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Missing number before ','.
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+nan
+1
+============================================================
+============================================================
+TEST 4: Random integer in a range
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+(-1) (-2147483647) (-2147483647) (-2147483647)
+============================================================
+============================================================
+TEST 5: Random tl item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+||
+(\A ) (\A ) (\A ) () () ( ) (\A )
+============================================================
+============================================================
+TEST 6: Random clist item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+||
+(\A ) ( ,) () ( ,) (\A )
+============================================================
+============================================================
+TEST 7: Random seq item
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+() ( ,) (\A )
+============================================================
+============================================================
+TEST 8: Random prop key/value
+============================================================
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error:
+ Random numbers unavailable
+l. ... }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+() () () (\e ) () ({\e }{})
+============================================================
More information about the latex3-commits
mailing list