[latex3-commits] [git/LaTeX3-latex3-latex3] master: Make intarray public (28a1889)

Joseph Wright joseph.wright at morningstar2.co.uk
Thu Mar 29 12:18:24 CEST 2018


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/28a18891050896ddfe8394dd7431faa2831bcb6b

>---------------------------------------------------------------

commit 28a18891050896ddfe8394dd7431faa2831bcb6b
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Thu Mar 29 10:27:01 2018 +0100

    Make intarray public


>---------------------------------------------------------------

28a18891050896ddfe8394dd7431faa2831bcb6b
 l3kernel/l3intarray.dtx                 |  123 +++++++++++++++++--------------
 l3kernel/l3regex.dtx                    |   92 +++++++++++------------
 l3kernel/testfiles/m3expl001.luatex.tlg |   12 +--
 l3kernel/testfiles/m3expl001.ptex.tlg   |   12 +--
 l3kernel/testfiles/m3expl001.tlg        |   12 +--
 l3kernel/testfiles/m3expl001.uptex.tlg  |   12 +--
 l3kernel/testfiles/m3expl001.xetex.tlg  |   12 +--
 l3kernel/testfiles/m3expl003.luatex.tlg |   12 +--
 l3kernel/testfiles/m3expl003.ptex.tlg   |   12 +--
 l3kernel/testfiles/m3expl003.tlg        |   12 +--
 l3kernel/testfiles/m3expl003.uptex.tlg  |   12 +--
 l3kernel/testfiles/m3expl003.xetex.tlg  |   12 +--
 l3kernel/testfiles/m3intarray001.lvt    |   70 +++++++++---------
 13 files changed, 209 insertions(+), 196 deletions(-)

diff --git a/l3kernel/l3intarray.dtx b/l3kernel/l3intarray.dtx
index 1f5b12f..80fd822 100644
--- a/l3kernel/l3intarray.dtx
+++ b/l3kernel/l3intarray.dtx
@@ -30,7 +30,7 @@
 %
 %
 % \title{^^A
-%   The \textsf{l3intarray} package: Low-level arrays of small integers^^A
+%   The \textsf{l3intarray} package: fast global integer arrays^^A
 % }
 %
 % \author{^^A
@@ -50,66 +50,79 @@
 %
 % \section{\pkg{l3intarray} documentation}
 %
-% This module provides no user function: at present it is meant for
-% kernel use only.
-%
-% It is a wrapper around the \tn{fontdimen} primitive, used to store
-% arrays of integers (with a restricted range: absolute value at most
-% $2^{30}-1$).  In contrast to \pkg{l3seq} sequences the access to
-% individual entries is done in constant time rather than linear time,
-% but only integers can be stored.  More precisely, the primitive
-% \tn{fontdimen} stores dimensions but the \pkg{l3intarray} package
-% transparently converts these from/to integers.  Assignments are always
-% global.
-%
-% While \LuaTeX{}'s memory is extensible, other engines can
-% \enquote{only} deal with a bit less than $4\times 10^6$ entries in all
-% \tn{fontdimen} arrays combined (with default \TeX{}Live settings).
-%
-% \subsection{Internal functions}
-%
-% \begin{function}{\__intarray_new:Nn}
+% For applications requiring heavy use of integers, this module provides
+% arrays which can be accessed in constant time (contrast \pkg{l3seq},
+% where access time is linear). These arrays have several important
+% features
+% \begin{itemize}
+%   \item The size of the array is fixed and must be given at
+%     point of initialisation
+%   \item The absolute value of each entry has maximum $2^{30}-1$
+%     (\emph{i.e.}~one power lower than the usual \cs{c_max_int}
+%     ceiling of $2^{31}-1$)
+%   \item The total number of entries in all \texttt{intarray} storage
+%     must be less than $4\times 10^6$
+% \end{itemize}
+% The use of \texttt{intarray} data is therefore recommended for cases where
+% the need for fast access is of paramount importance.
+%
+% \begin{function}{\intarray_new:Nn}
 %   \begin{syntax}
-%     \cs{__intarray_new:Nn} \meta{intarray~var} \Arg{size}
+%     \cs{intarray_new:Nn} \meta{intarray~var} \Arg{size}
 %   \end{syntax}
 %   Evaluates the integer expression \meta{size} and allocates an
 %   \meta{integer array variable} with that number of (zero) entries.
 % \end{function}
 %
-% \begin{function}[EXP]{\__intarray_count:N}
+% \begin{function}[EXP]{\intarray_count:N}
 %   \begin{syntax}
-%     \cs{__intarray_count:N} \meta{intarray~var}
+%     \cs{intarray_count:N} \meta{intarray~var}
 %   \end{syntax}
 %   Expands to the number of entries in the \meta{integer array variable}.
 %   Contrarily to \cs{seq_count:N} this is performed in constant time.
 % \end{function}
 %
-% \begin{function}{\__intarray_gset:Nnn, \__intarray_gset_fast:Nnn}
+% \begin{function}{\intarray_gset:Nnn, \intarray_gset_fast:Nnn}
 %   \begin{syntax}
-%     \cs{__intarray_gset:Nnn} \meta{intarray~var} \Arg{position} \Arg{value}
-%     \cs{__intarray_gset_fast:Nnn} \meta{intarray~var} \Arg{position} \Arg{value}
+%     \cs{intarray_gset:Nnn} \meta{intarray~var} \Arg{position} \Arg{value}
+%     \cs{intarray_gset_fast:Nnn} \meta{intarray~var} \Arg{position} \Arg{value}
 %   \end{syntax}
 %   Stores the result of evaluating the integer expression \meta{value}
 %   into the \meta{integer array variable} at the (integer expression)
-%   \meta{position}.  While \cs{__intarray_gset:Nnn} checks that the
-%   \meta{position} is between $1$ and the \cs{__intarray_count:N} and that
+%   \meta{position}.  While \cs{intarray_gset:Nnn} checks that the
+%   \meta{position} is between $1$ and the \cs{intarray_count:N} and that
 %   the \meta{value}'s absolute value is at most $2^{30}-1$, the
 %   \enquote{fast} function performs no such bound check.
 %   Assignments are always global.
 % \end{function}
 %
-% \begin{function}[EXP]{\__intarray_item:Nn, \__intarray_item_fast:Nn}
+% \begin{function}[EXP]{\intarray_item:Nn, \intarray_item_fast:Nn}
 %   \begin{syntax}
-%     \cs{__intarray_item:Nn} \meta{intarray~var} \Arg{position}
-%     \cs{__intarray_item_fast:Nn} \meta{intarray~var} \Arg{position}
+%     \cs{intarray_item:Nn} \meta{intarray~var} \Arg{position}
+%     \cs{intarray_item_fast:Nn} \meta{intarray~var} \Arg{position}
 %   \end{syntax}
 %   Expands to the integer entry stored at the (integer expression)
 %   \meta{position} in the \meta{integer array variable}.  While
-%   \cs{__intarray_item:Nn} checks that the \meta{position} is between $1$
-%   and the \cs{__intarray_count:N}, the \enquote{fast} function performs
+%   \cs{intarray_item:Nn} checks that the \meta{position} is between $1$
+%   and the \cs{intarray_count:N}, the \enquote{fast} function performs
 %   no such bound check.
 % \end{function}
 %
+% \subsection{Implementation notes}
+%
+% It is a wrapper around the \tn{fontdimen} primitive, used to store
+% arrays of integers (with a restricted range: absolute value at most
+% $2^{30}-1$).  In contrast to \pkg{l3seq} sequences the access to
+% individual entries is done in constant time rather than linear time,
+% but only integers can be stored.  More precisely, the primitive
+% \tn{fontdimen} stores dimensions but the \pkg{l3intarray} package
+% transparently converts these from/to integers.  Assignments are always
+% global.
+%
+% While \LuaTeX{}'s memory is extensible, other engines can
+% \enquote{only} deal with a bit less than $4\times 10^6$ entries in all
+% \tn{fontdimen} arrays combined (with default \TeX{}Live settings).
+%
 % \end{documentation}
 %
 % \begin{implementation}
@@ -133,7 +146,7 @@
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{macro}{\@@_new:Nn}
+% \begin{macro}{\intarray_new:Nn}
 %   Declare |#1| to be a font (arbitrarily |cmr10| at a never-used
 %   size).  Store the array's size as the \tn{hyphenchar} of that font
 %   and make sure enough \tn{fontdimen} are allocated, by setting the
@@ -142,7 +155,7 @@
 %   number $8$ compared to other engines (for a math font we would
 %   replace $8$ by $22$ or some such).
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_new:Nn #1#2
+\cs_new_protected:Npn \intarray_new:Nn #1#2
   {
     \__chk_if_free_cs:N #1
     \int_gincr:N \g_@@_font_int
@@ -156,65 +169,65 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}[EXP]{\@@_count:N}
+% \begin{macro}[EXP]{\intarray_count:N}
 %   Size of an array.
 %    \begin{macrocode}
-\cs_new:Npn \@@_count:N #1 { \tex_the:D \tex_hyphenchar:D #1 }
+\cs_new:Npn \intarray_count:N #1 { \tex_the:D \tex_hyphenchar:D #1 }
 %    \end{macrocode}
 % \end{macro}
 %
 % \subsection{Array items}
 %
-% \begin{macro}{\@@_gset:Nnn, \@@_gset_fast:Nnn}
-% \begin{macro}{\@@_gset_aux:Nnn}
+% \begin{macro}{\intarray_gset:Nnn, \intarray_gset_fast:Nnn}
+% \begin{macro}{\@@_gset:Nnn}
 %   Set the appropriate \tn{fontdimen}.  The slow version checks the
 %   position and value are within bounds.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_gset_fast:Nnn #1#2#3
+\cs_new_protected:Npn \intarray_gset_fast:Nnn #1#2#3
   { \tex_fontdimen:D \int_eval:n {#2} #1 = \int_eval:n {#3} sp \scan_stop: }
-\cs_new_protected:Npn \@@_gset:Nnn #1#2#3
+\cs_new_protected:Npn \intarray_gset:Nnn #1#2#3
   {
-    \exp_args:Nff \@@_gset_aux:Nnn #1
+    \exp_args:Nff \@@_gset:Nnn #1
       { \int_eval:n {#2} } { \int_eval:n {#3} }
   }
-\cs_new_protected:Npn \@@_gset_aux:Nnn #1#2#3
+\cs_new_protected:Npn \@@_gset:Nnn #1#2#3
   {
-    \int_compare:nTF { 1 <= #2 <= \@@_count:N #1 }
+    \int_compare:nTF { 1 <= #2 <= \intarray_count:N #1 }
       {
         \int_compare:nTF { - \c_max_dim <= \int_abs:n {#3} <= \c_max_dim }
-          { \@@_gset_fast:Nnn #1 {#2} {#3} }
+          { \intarray_gset_fast:Nnn #1 {#2} {#3} }
           {
             \__kernel_msg_error:nnxxxx { kernel } { overflow }
               { \token_to_str:N #1 } {#2} {#3}
               { \int_compare:nNnT {#3} < 0 { - } \int_value:w \c_max_dim }
-            \@@_gset_fast:Nnn #1 {#2}
+            \intarray_gset_fast:Nnn #1 {#2}
               { \int_compare:nNnT {#3} < 0 { - } \c_max_dim }
           }
       }
       {
         \__kernel_msg_error:nnxxx { kernel } { out-of-bounds }
-          { \token_to_str:N #1 } {#2} { \@@_count:N #1 }
+          { \token_to_str:N #1 } {#2} { \intarray_count:N #1 }
       }
   }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}[EXP]{\@@_item:Nn, \@@_item_fast:Nn}
-% \begin{macro}{\@@_item_aux:Nn}
+% \begin{macro}[EXP]{\intarray_item:Nn, \intarray_item_fast:Nn}
+% \begin{macro}{\@@_item:Nn}
 %   Get the appropriate \tn{fontdimen} and perform bound checks if requested.
 %    \begin{macrocode}
-\cs_new:Npn \@@_item_fast:Nn #1#2
+\cs_new:Npn \intarray_item_fast:Nn #1#2
   { \int_eval:n { \tex_fontdimen:D \int_eval:n {#2} #1 } }
+\cs_new:Npn \intarray_item:Nn #1#2
+  { \exp_args:Nf \@@_item:Nn #1 { \int_eval:n {#2} } }
 \cs_new:Npn \@@_item:Nn #1#2
-  { \exp_args:Nf \@@_item_aux:Nn #1 { \int_eval:n {#2} } }
-\cs_new:Npn \@@_item_aux:Nn #1#2
   {
-    \int_compare:nTF { 1 <= #2 <= \@@_count:N #1 }
-      { \@@_item_fast:Nn #1 {#2} }
+    \int_compare:nTF { 1 <= #2 <= \intarray_count:N #1 }
+      { \intarray_item_fast:Nn #1 {#2} }
       {
         \__kernel_msg_expandable_error:nnnnn { kernel } { out-of-bounds }
-          { \token_to_str:N #1 } {#2} { \@@_count:N #1 }
+          { \token_to_str:N #1 } {#2} { \intarray_count:N #1 }
         0
       }
   }
diff --git a/l3kernel/l3regex.dtx b/l3kernel/l3regex.dtx
index d8960de..6faf998 100644
--- a/l3kernel/l3regex.dtx
+++ b/l3kernel/l3regex.dtx
@@ -1059,9 +1059,9 @@
 %   registers.  We also store the balance of begin-group/end-group
 %   characters into \cs{g_@@_balance_intarray}.
 %    \begin{macrocode}
-\__intarray_new:Nn \g_@@_charcode_intarray { 65536 }
-\__intarray_new:Nn \g_@@_catcode_intarray { 65536 }
-\__intarray_new:Nn \g_@@_balance_intarray { 65536 }
+\intarray_new:Nn \g_@@_charcode_intarray { 65536 }
+\intarray_new:Nn \g_@@_catcode_intarray { 65536 }
+\intarray_new:Nn \g_@@_balance_intarray { 65536 }
 %    \end{macrocode}
 % \end{variable}
 %
@@ -4468,8 +4468,8 @@
 %   threads to be considered in the next step, more precisely the
 %   states in which these threads are.
 %    \begin{macrocode}
-\__intarray_new:Nn \g_@@_state_active_intarray { 65536 }
-\__intarray_new:Nn \g_@@_thread_state_intarray { 65536 }
+\intarray_new:Nn \g_@@_state_active_intarray { 65536 }
+\intarray_new:Nn \g_@@_thread_state_intarray { 65536 }
 %    \end{macrocode}
 % \end{variable}
 %
@@ -4569,7 +4569,7 @@
     \bool_gset_false:N \g_@@_success_bool
     \int_step_inline:nnnn
       \l_@@_min_state_int { 1 } { \l_@@_max_state_int - 1 }
-      { \__intarray_gset_fast:Nnn \g_@@_state_active_intarray {##1} { 1 } }
+      { \intarray_gset_fast:Nnn \g_@@_state_active_intarray {##1} { 1 } }
     \int_set_eq:NN \l_@@_min_active_int \l_@@_max_state_int
     \int_zero:N \l_@@_step_int
     \int_set_eq:NN \l_@@_success_pos_int \l_@@_min_pos_int
@@ -4684,7 +4684,7 @@
 \cs_new:Npn \@@_match_one_active:n #1
   {
     \@@_use_state_and_submatches:nn
-      { \__intarray_item_fast:Nn \g_@@_thread_state_intarray {#1} }
+      { \intarray_item_fast:Nn \g_@@_thread_state_intarray {#1} }
       { \@@_toks_use:w #1 }
   }
 %    \end{macrocode}
@@ -4700,11 +4700,11 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_query_set:nnn #1#2#3
   {
-    \__intarray_gset_fast:Nnn \g_@@_charcode_intarray
+    \intarray_gset_fast:Nnn \g_@@_charcode_intarray
       { \l_@@_curr_pos_int } {#3}
-    \__intarray_gset_fast:Nnn \g_@@_catcode_intarray
+    \intarray_gset_fast:Nnn \g_@@_catcode_intarray
       { \l_@@_curr_pos_int } {#2}
-    \__intarray_gset_fast:Nnn \g_@@_balance_intarray
+    \intarray_gset_fast:Nnn \g_@@_balance_intarray
       { \l_@@_curr_pos_int } { \l_@@_balance_int }
     \@@_toks_set:Nn \l_@@_curr_pos_int {#1}
     \int_incr:N \l_@@_curr_pos_int
@@ -4723,10 +4723,10 @@
 \cs_new_protected:Npn \@@_query_get:
   {
     \l_@@_curr_char_int
-      = \__intarray_item_fast:Nn \g_@@_charcode_intarray
+      = \intarray_item_fast:Nn \g_@@_charcode_intarray
           { \l_@@_curr_pos_int } \scan_stop:
     \l_@@_curr_catcode_int
-      = \__intarray_item_fast:Nn \g_@@_catcode_intarray
+      = \intarray_item_fast:Nn \g_@@_catcode_intarray
           { \l_@@_curr_pos_int } \scan_stop:
   }
 %    \end{macrocode}
@@ -4747,10 +4747,10 @@
   { }
 \cs_new_protected:Npn \@@_use_state:
   {
-    \__intarray_gset_fast:Nnn \g_@@_state_active_intarray
+    \intarray_gset_fast:Nnn \g_@@_state_active_intarray
       { \l_@@_curr_state_int } { \l_@@_step_int }
     \@@_toks_use:w \l_@@_curr_state_int
-    \__intarray_gset_fast:Nnn \g_@@_state_active_intarray
+    \intarray_gset_fast:Nnn \g_@@_state_active_intarray
       { \l_@@_curr_state_int } { \l_@@_step_int + 1 }
   }
 %    \end{macrocode}
@@ -4766,7 +4766,7 @@
   {
     \int_set:Nn \l_@@_curr_state_int {#1}
     \if_int_compare:w
-        \__intarray_item_fast:Nn \g_@@_state_active_intarray
+        \intarray_item_fast:Nn \g_@@_state_active_intarray
           { \l_@@_curr_state_int }
                       < \l_@@_step_int
       \tl_set:Nn \l_@@_curr_submatches_prop {#2}
@@ -4823,7 +4823,7 @@
         \exp_not:n
           {
             \if_int_compare:w
-                \__intarray_item_fast:Nn \g_@@_state_active_intarray
+                \intarray_item_fast:Nn \g_@@_state_active_intarray
                   { \l_@@_curr_state_int }
                 #1
               \exp_after:wN \@@_use_state:
@@ -4862,7 +4862,7 @@
 \cs_new_protected:Npn \@@_store_state:n #1
   {
     \@@_store_submatches:
-    \__intarray_gset_fast:Nnn \g_@@_thread_state_intarray
+    \intarray_gset_fast:Nnn \g_@@_thread_state_intarray
       { \l_@@_max_active_int } {#1}
     \int_incr:N \l_@@_max_active_int
   }
@@ -4992,8 +4992,8 @@
 \cs_new:Npn \@@_replacement_do_one_match:n #1
   {
     \@@_query_range:nn
-      { \__intarray_item_fast:Nn \g_@@_submatch_prev_intarray {#1} }
-      { \__intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} }
+      { \intarray_item_fast:Nn \g_@@_submatch_prev_intarray {#1} }
+      { \intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -5053,8 +5053,8 @@
 \cs_new:Npn \@@_query_submatch:n #1
   {
     \@@_query_range:nn
-      { \__intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} }
-      { \__intarray_item_fast:Nn \g_@@_submatch_end_intarray {#1} }
+      { \intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} }
+      { \intarray_item_fast:Nn \g_@@_submatch_end_intarray {#1} }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -5073,19 +5073,19 @@
     \int_eval:n
      {
       \int_compare:nNnTF
-        { \__intarray_item_fast:Nn \g_@@_submatch_end_intarray {#1} } = 0
+        { \intarray_item_fast:Nn \g_@@_submatch_end_intarray {#1} } = 0
         { 0 }
         {
-          \__intarray_item_fast:Nn \g_@@_balance_intarray
-            { \__intarray_item_fast:Nn \g_@@_submatch_end_intarray {#1} }
+          \intarray_item_fast:Nn \g_@@_balance_intarray
+            { \intarray_item_fast:Nn \g_@@_submatch_end_intarray {#1} }
         }
       -
       \int_compare:nNnTF
-        { \__intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} } = 0
+        { \intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} } = 0
         { 0 }
         {
-          \__intarray_item_fast:Nn \g_@@_balance_intarray
-            { \__intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} }
+          \intarray_item_fast:Nn \g_@@_balance_intarray
+            { \intarray_item_fast:Nn \g_@@_submatch_begin_intarray {#1} }
         }
      }
   }
@@ -5154,8 +5154,8 @@
     \cs_set:Npn \@@_replacement_do_one_match:n ##1
       {
         \@@_query_range:nn
-          { \__intarray_item_fast:Nn \g_@@_submatch_prev_intarray {##1} }
-          { \__intarray_item_fast:Nn \g_@@_submatch_begin_intarray {##1} }
+          { \intarray_item_fast:Nn \g_@@_submatch_prev_intarray {##1} }
+          { \intarray_item_fast:Nn \g_@@_submatch_begin_intarray {##1} }
         #1
       }
   }
@@ -5789,9 +5789,9 @@
 % \begin{variable}{\g_@@_submatch_prev_intarray, \g_@@_submatch_begin_intarray, \g_@@_submatch_end_intarray}
 %   Hold the place where the match attempt begun and the end-points of each submatch.
 %    \begin{macrocode}
-\__intarray_new:Nn \g_@@_submatch_prev_intarray { 65536 }
-\__intarray_new:Nn \g_@@_submatch_begin_intarray { 65536 }
-\__intarray_new:Nn \g_@@_submatch_end_intarray { 65536 }
+\intarray_new:Nn \g_@@_submatch_prev_intarray { 65536 }
+\intarray_new:Nn \g_@@_submatch_begin_intarray { 65536 }
+\intarray_new:Nn \g_@@_submatch_end_intarray { 65536 }
 %    \end{macrocode}
 % \end{variable}
 %
@@ -5897,15 +5897,15 @@
         {
           \if_int_compare:w \l_@@_start_pos_int < \l_@@_success_pos_int
             \@@_extract:
-            \__intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
+            \intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
               { \l_@@_zeroth_submatch_int } { 0 }
-            \__intarray_gset_fast:Nnn \g_@@_submatch_end_intarray
+            \intarray_gset_fast:Nnn \g_@@_submatch_end_intarray
               { \l_@@_zeroth_submatch_int }
               {
-                \__intarray_item_fast:Nn \g_@@_submatch_begin_intarray
+                \intarray_item_fast:Nn \g_@@_submatch_begin_intarray
                   { \l_@@_zeroth_submatch_int }
               }
-            \__intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray
+            \intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray
               { \l_@@_zeroth_submatch_int }
               { \l_@@_start_pos_int }
           \fi:
@@ -5913,12 +5913,12 @@
       #1
       \@@_match:n {#2}
 %<assert>\assert_int:n { \l_@@_curr_pos_int = \l_@@_max_pos_int }
-      \__intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
+      \intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
         { \l_@@_submatch_int } { 0 }
-      \__intarray_gset_fast:Nnn \g_@@_submatch_end_intarray
+      \intarray_gset_fast:Nnn \g_@@_submatch_end_intarray
         { \l_@@_submatch_int }
         { \l_@@_max_pos_int }
-      \__intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray
+      \intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray
         { \l_@@_submatch_int }
         { \l_@@_start_pos_int }
       \int_incr:N \l_@@_submatch_int
@@ -6022,11 +6022,11 @@
       \int_set_eq:NN \l_@@_zeroth_submatch_int \l_@@_submatch_int
       \prg_replicate:nn \l_@@_capturing_group_int
         {
-          \__intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray
+          \intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray
             { \l_@@_submatch_int } { 0 }
-          \__intarray_gset_fast:Nnn \g_@@_submatch_end_intarray
+          \intarray_gset_fast:Nnn \g_@@_submatch_end_intarray
             { \l_@@_submatch_int } { 0 }
-          \__intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
+          \intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
             { \l_@@_submatch_int } { 0 }
           \int_incr:N \l_@@_submatch_int
         }
@@ -6039,14 +6039,14 @@
           \fi:
           \@@_int_eval:w \l_@@_zeroth_submatch_int + ##1 {##2}
         }
-      \__intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
+      \intarray_gset_fast:Nnn \g_@@_submatch_prev_intarray
         { \l_@@_zeroth_submatch_int } { \l_@@_start_pos_int }
     \fi:
   }
 \cs_new_protected:Npn \@@_extract_b:wn #1 < #2
-  { \__intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray {#1} {#2} }
+  { \intarray_gset_fast:Nnn \g_@@_submatch_begin_intarray {#1} {#2} }
 \cs_new_protected:Npn \@@_extract_e:wn #1 > #2
-  { \__intarray_gset_fast:Nnn \g_@@_submatch_end_intarray {#1} {#2} }
+  { \intarray_gset_fast:Nnn \g_@@_submatch_end_intarray {#1} {#2} }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6087,7 +6087,7 @@
             \@@_replacement_do_one_match:n { \l_@@_zeroth_submatch_int }
             \@@_query_range:nn
               {
-                \__intarray_item_fast:Nn \g_@@_submatch_end_intarray
+                \intarray_item_fast:Nn \g_@@_submatch_end_intarray
                   { \l_@@_zeroth_submatch_int }
               }
               { \l_@@_max_pos_int }
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 28f2b26..9019b9b 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -1858,14 +1858,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 415b686..19851f6 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -1539,14 +1539,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index b99bd84..17a7ff6 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -1539,14 +1539,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 23fb8a9..36cd996 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -1539,14 +1539,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index cd1b87f..75eb46c 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -1856,14 +1856,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 28f2b26..9019b9b 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -1858,14 +1858,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 415b686..19851f6 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -1539,14 +1539,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index b99bd84..17a7ff6 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -1539,14 +1539,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 23fb8a9..36cd996 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -1539,14 +1539,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index cd1b87f..75eb46c 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -1856,14 +1856,14 @@ Defining \c_minus_one on line ...
 Defining \__int_value:w on line ...
 Defining \g__intarray_font_int on line ...
 \g__intarray_font_int=\count...
-Defining \__intarray_new:Nn on line ...
-Defining \__intarray_count:N on line ...
-Defining \__intarray_gset_fast:Nnn on line ...
+Defining \intarray_new:Nn on line ...
+Defining \intarray_count:N on line ...
+Defining \intarray_gset_fast:Nnn on line ...
+Defining \intarray_gset:Nnn on line ...
 Defining \__intarray_gset:Nnn on line ...
-Defining \__intarray_gset_aux:Nnn on line ...
-Defining \__intarray_item_fast:Nn on line ...
+Defining \intarray_item_fast:Nn on line ...
+Defining \intarray_item:Nn on line ...
 Defining \__intarray_item:Nn on line ...
-Defining \__intarray_item_aux:Nn on line ...
 Defining \flag_new:n on line ...
 Defining \flag_clear:n on line ...
 Defining \__flag_clear:wn on line ...
diff --git a/l3kernel/testfiles/m3intarray001.lvt b/l3kernel/testfiles/m3intarray001.lvt
index 9bff972..9746c4a 100644
--- a/l3kernel/testfiles/m3intarray001.lvt
+++ b/l3kernel/testfiles/m3intarray001.lvt
@@ -15,63 +15,63 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \TEST { Safe~array~operations }
   {
-    \__intarray_new:Nn \l_tmpa_intarray { 123 }
+    \intarray_new:Nn \l_tmpa_intarray { 123 }
     \group_begin:
-    \__intarray_gset:Nnn \l_tmpa_intarray { 1 } { 100 }
-    \__intarray_gset:Nnn \l_tmpa_intarray { 2 } { -200 }
-    \__intarray_gset:Nnn \l_tmpa_intarray { 1 } { -10 }
-    \__intarray_gset:Nnn \l_tmpa_intarray { 123 } { 12345 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 1 } { 100 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 2 } { -200 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 1 } { -10 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 123 } { 12345 }
     \group_end:
-    \TYPE { \__intarray_count:N \l_tmpa_intarray }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 1 } }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 2 } }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 53 } }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 123 } }
+    \TYPE { \intarray_count:N \l_tmpa_intarray }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 1 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 2 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 53 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 123 } }
   }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \TEST { Safe~array~operations~with~errors }
   {
-    \__intarray_new:Nn \l_tmpa_intarray { 12 }
+    \intarray_new:Nn \l_tmpa_intarray { 12 }
     \group_begin:
-    \__intarray_gset:Nnn \l_tmpa_intarray { 0 } { 2000000000 }
-    \__intarray_gset:Nnn \l_tmpa_intarray { 1 } { -2000000000 }
-    \__intarray_gset:Nnn \l_tmpa_intarray { 13 } { -2000000000 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 0 } { 2000000000 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 1 } { -2000000000 }
+    \intarray_gset:Nnn \l_tmpa_intarray { 13 } { -2000000000 }
     \group_end:
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 0 } }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 1 } }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 12 } }
-    \TYPE { \__intarray_item:Nn \l_tmpa_intarray { 13 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 0 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 1 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 12 } }
+    \TYPE { \intarray_item:Nn \l_tmpa_intarray { 13 } }
   }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \TEST { Unsafe~array~operations~with~errors }
   {
-    \__intarray_new:Nn \l_tmpb_intarray { 15 }
+    \intarray_new:Nn \l_tmpb_intarray { 15 }
     \group_begin:
-    \__intarray_gset_fast:Nnn \l_tmpb_intarray { 0 } { 2000000000 }
-    \__intarray_gset_fast:Nnn \l_tmpb_intarray { 1 } { -2000000000 }
-    \__intarray_gset_fast:Nnn \l_tmpb_intarray { 16 } { 123456 }
+    \intarray_gset_fast:Nnn \l_tmpb_intarray { 0 } { 2000000000 }
+    \intarray_gset_fast:Nnn \l_tmpb_intarray { 1 } { -2000000000 }
+    \intarray_gset_fast:Nnn \l_tmpb_intarray { 16 } { 123456 }
     \group_end:
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 0 } }
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 1 } }
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 15 } }
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 16 } }
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 17 } }
-    \__intarray_gset_fast:Nnn \l_tmpb_intarray { 17 } { 1234567 }
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 17 } }
-    \__intarray_new:Nn \l_tmpc_intarray { -1 }
-    \__intarray_gset_fast:Nnn \l_tmpb_intarray { 18 } { 12345678 }
-    \TYPE { \__intarray_item_fast:Nn \l_tmpb_intarray { 18 } }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 0 } }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 1 } }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 15 } }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 16 } }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 17 } }
+    \intarray_gset_fast:Nnn \l_tmpb_intarray { 17 } { 1234567 }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 17 } }
+    \intarray_new:Nn \l_tmpc_intarray { -1 }
+    \intarray_gset_fast:Nnn \l_tmpb_intarray { 18 } { 12345678 }
+    \TYPE { \intarray_item_fast:Nn \l_tmpb_intarray { 18 } }
   }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \int_gadd:Nn \g__intarray_font_int { 100000 } % to make sure nothing is suppressed accidentally by scaling the font.
 \TEST { Any~stray~non-zero? }
   {
-    \__intarray_new:Nn \l_tmpd_intarray { 25 }
-    \int_step_inline:nnnn { 1 } { 1 } { \__intarray_count:N \l_tmpd_intarray }
-      { \int_compare:nNnF { \__intarray_item:Nn \l_tmpd_intarray {#1} } = 0 { \TYPE {#1} } }
+    \intarray_new:Nn \l_tmpd_intarray { 25 }
+    \int_step_inline:nnnn { 1 } { 1 } { \intarray_count:N \l_tmpd_intarray }
+      { \int_compare:nNnF { \intarray_item:Nn \l_tmpd_intarray {#1} } = 0 { \TYPE {#1} } }
   }
 
 \END





More information about the latex3-commits mailing list