summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3int.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty49
1 files changed, 32 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
index b5f57e66b05..eaf62805f81 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3int.dtx 3029 2011-12-06 22:47:30Z joseph $
+\GetIdInfo$Id: l3int.dtx 3086 2011-12-22 17:55:46Z bruno $
{L3 Experimental integers}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -120,7 +120,7 @@
#1 - \int_div_truncate:nn {#1} {#2} * ( #2 )
\int_eval_end:
}
-\cs_new_protected_nopar:Npn \int_new:N #1
+\cs_new_protected:Npn \int_new:N #1
{
\chk_if_free_cs:N #1
\newcount #1
@@ -130,14 +130,14 @@
{
\int_compare:nNnTF {#2} > \c_minus_one
{
- \int_compare:nNnTF {#2} > \c_max_register_int
+ \int_compare:nNnTF {#2} > \c_max_const_int
{
\int_new:N #1
\int_gset:Nn #1 {#2}
}
{
\chk_if_free_cs:N #1
- \tex_global:D \tex_mathchardef:D #1 =
+ \tex_global:D \int_constdef:Nw #1 =
\int_eval:w #2 \int_eval_end:
}
}
@@ -147,14 +147,29 @@
}
}
\cs_generate_variant:Nn \int_const:Nn { c }
-\cs_new_protected_nopar:Npn \int_zero:N #1 { #1 = \c_zero }
-\cs_new_protected_nopar:Npn \int_gzero:N #1 { \tex_global:D #1 = \c_zero }
+\pdftex_if_engine:TF
+ {
+ \cs_new_eq:NN \int_constdef:Nw \tex_mathchardef:D
+ \tex_mathchardef:D \c_max_const_int 32 767 ~
+ }
+ {
+ \cs_new_eq:NN \int_constdef:Nw \tex_chardef:D
+ \tex_chardef:D \c_max_const_int 1 114 111 ~
+ }
+\cs_new_protected:Npn \int_zero:N #1 { #1 = \c_zero }
+\cs_new_protected:Npn \int_gzero:N #1 { \tex_global:D #1 = \c_zero }
\cs_generate_variant:Nn \int_zero:N { c }
\cs_generate_variant:Nn \int_gzero:N { c }
-\cs_new_protected_nopar:Npn \int_set_eq:NN #1#2 { #1 = #2 }
+\cs_new_protected:Npn \int_zero_new:N #1
+ { \cs_if_exist:NTF #1 { \int_zero:N #1 } { \int_new:N #1 } }
+\cs_new_protected:Npn \int_gzero_new:N #1
+ { \cs_if_exist:NTF #1 { \int_gzero:N #1 } { \int_new:N #1 } }
+\cs_generate_variant:Nn \int_zero_new:N { c }
+\cs_generate_variant:Nn \int_gzero_new:N { c }
+\cs_new_protected:Npn \int_set_eq:NN #1#2 { #1 = #2 }
\cs_generate_variant:Nn \int_set_eq:NN { c }
\cs_generate_variant:Nn \int_set_eq:NN { Nc , cc }
-\cs_new_protected_nopar:Npn \int_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
+\cs_new_protected:Npn \int_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
\cs_generate_variant:Nn \int_gset_eq:NN { c }
\cs_generate_variant:Nn \int_gset_eq:NN { Nc , cc }
\cs_new_protected:Npn \int_add:Nn #1#2
@@ -169,9 +184,9 @@
\cs_generate_variant:Nn \int_gadd:Nn { c }
\cs_generate_variant:Nn \int_sub:Nn { c }
\cs_generate_variant:Nn \int_gsub:Nn { c }
-\cs_new_protected_nopar:Npn \int_incr:N #1
+\cs_new_protected:Npn \int_incr:N #1
{ \tex_advance:D #1 \c_one }
-\cs_new_protected_nopar:Npn \int_decr:N #1
+\cs_new_protected:Npn \int_decr:N #1
{ \tex_advance:D #1 \c_minus_one }
\cs_new_protected_nopar:Npn \int_gincr:N
{ \tex_global:D \int_incr:N }
@@ -495,7 +510,7 @@
\exp_after:wN \int_to_roman_aux:N
\int_to_roman:w \int_eval:n {#1} Q
}
-\cs_new_nopar:Npn \int_to_roman_aux:N #1
+\cs_new:Npn \int_to_roman_aux:N #1
{
\use:c { int_to_roman_ #1 :w }
\int_to_roman_aux:N
@@ -505,7 +520,7 @@
\exp_after:wN \int_to_Roman_aux:N
\int_to_roman:w \int_eval:n {#1} Q
}
-\cs_new_nopar:Npn \int_to_Roman_aux:N #1
+\cs_new:Npn \int_to_Roman_aux:N #1
{
\use:c { int_to_Roman_ #1 :w }
\int_to_Roman_aux:N
@@ -525,7 +540,7 @@
\cs_new_nopar:Npn \int_to_Roman_c:w { C }
\cs_new_nopar:Npn \int_to_Roman_d:w { D }
\cs_new_nopar:Npn \int_to_Roman_m:w { M }
-\cs_new_nopar:Npn \int_to_Roman_Q:w #1 { }
+\cs_new:Npn \int_to_Roman_Q:w #1 { }
\cs_new:Npn \int_get_sign:n #1
{
\int_get_sign_and_digits_aux:nNNN {#1}
@@ -631,7 +646,7 @@
\int_const:cn { c_int_from_roman_C_int } { 100 }
\int_const:cn { c_int_from_roman_D_int } { 500 }
\int_const:cn { c_int_from_roman_M_int } { 1000 }
-\cs_new_nopar:Npn \int_from_roman:n #1
+\cs_new:Npn \int_from_roman:n #1
{
\tl_if_blank:nF {#1}
{
@@ -640,7 +655,7 @@
\int_from_roman_aux:NN #1 Q \q_stop
}
}
-\cs_new_nopar:Npn \int_from_roman_aux:NN #1#2
+\cs_new:Npn \int_from_roman_aux:NN #1#2
{
\str_if_eq:nnTF {#1} { Q }
{#1#2}
@@ -674,9 +689,9 @@
}
}
}
-\cs_new_nopar:Npn \int_from_roman_end:w #1 Q #2 \q_stop
+\cs_new:Npn \int_from_roman_end:w #1 Q #2 \q_stop
{ \tl_if_empty:nTF {#2} {#1} {#2} }
-\cs_new_nopar:Npn \int_from_roman_clean_up:w #1 Q { + 0 Q -1 }
+\cs_new:Npn \int_from_roman_clean_up:w #1 Q { + 0 Q -1 }
\cs_new_eq:NN \int_show:N \kernel_register_show:N
\cs_new_eq:NN \int_show:c \kernel_register_show:c
\cs_new_protected:Npn \int_show:n #1