diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3int.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3int.sty | 49 |
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 |