summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3experimental
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-26 20:51:49 +0000
committerKarl Berry <karl@freefriends.org>2018-10-26 20:51:49 +0000
commitf19fcbb4940b9c3173f5b3528723e1b4291c55db (patch)
tree63162bd1132dcba4e26f5a5d74fe9085a9827711 /Master/texmf-dist/tex/latex/l3experimental
parent2415f1f4bd02c45f670cecdbcfbbe7cb2b1ef488 (diff)
l3 (26oct18)
git-svn-id: svn://tug.org/texlive/trunk@48997 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty304
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty2
9 files changed, 312 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
new file mode 100644
index 00000000000..b761f3c948d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
@@ -0,0 +1,304 @@
+%%
+%% This is file `l3benchmark.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% l3benchmark.dtx (with options: `package')
+%%
+%% Copyright (C) 2018 The LaTeX3 Project
+%%
+%% It may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License (LPPL), either version 1.3c of
+%% this license or (at your option) any later version. The latest
+%% version of this license is in the file:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the "l3experimental bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% File: l3benchmark.dtx Copyright (C) 2011,2012,2014-2018 The LaTeX3 Project
+\RequirePackage{expl3}
+\ProvidesExplPackage{l3benchmark}{2018-10-26}{}
+ {L3 Experimental benchmarking}
+\sys_if_engine_luatex:TF
+ {
+ \cs_new:Npn \sys_timer:
+ { \int_eval:w \lua_now:n { l3kernel.elapsedtime() } \scan_stop: }
+ }
+ {
+ \cs_if_exist:NT \tex_elapsedtime:D
+ {
+ \cs_new:Npn \sys_timer:
+ { \int_eval:w \tex_elapsedtime:D }
+ }
+ }
+\__sys_const:nn { sys_if_timer_exist }
+ { \cs_if_exist_p:N \sys_timer: }
+\cs_if_exist:NTF \sys_timer:
+ {
+ \sys_if_engine_luatex:TF
+ {
+ \cs_new_protected:Npn \sys_gzero_timer:
+ { \lua_now:n { l3kernel.resettimer() } }
+ }
+ { \cs_new_protected:Npn \sys_gzero_timer: { \tex_resettimer:D } }
+ }
+ {
+ \__kernel_msg_new:nnnn { kernel } { no-elapsed-time }
+ { No~clock~detected~for~#1. }
+ { The~current~engine~provides~no~way~to~access~the~system~time. }
+ \cs_new_protected:Npn \sys_gzero_timer:
+ {
+ \__kernel_msg_error:nnn { kernel } { no-elapsed-time }
+ { \sys_gzero_timer: }
+ }
+ \cs_new:Npn \sys_timer:
+ {
+ \int_value:w
+ \__kernel_msg_expandable_error:nnn { kernel } { no-elapsed-time }
+ { \sys_timer: }
+ \c_zero_int
+ }
+ }
+\fp_new:N \g_benchmark_time_fp
+\fp_new:N \g_benchmark_ops_fp
+\cs_new_protected:Npn \benchmark_display:
+ { \iow_term:x { \fp_to_tl:N \g_benchmark_time_fp \c_space_tl seconds } }
+\cs_new_protected:Npn \benchmark_display_in_ops:
+ {
+ \iow_term:x
+ {
+ \fp_compare:nTF { \g_benchmark_ops_fp > 1e9 }
+ { \fp_to_tl:n { \g_benchmark_ops_fp * 1e-9 } ~ G~ops }
+ {
+ \fp_compare:nTF { \g_benchmark_ops_fp > 1e6 }
+ { \fp_to_tl:n { \g_benchmark_ops_fp * 1e-6 } ~ M~ops }
+ {
+ \fp_compare:nTF { \g_benchmark_ops_fp > 1e3 }
+ { \fp_to_tl:n { \g_benchmark_ops_fp * 1e-3 } ~ K~ops }
+ { \fp_to_tl:n { \g_benchmark_ops_fp } ~ ops }
+ }
+ }
+ }
+ }
+\sys_if_timer_exist:F
+ {
+ \msg_new:nnnn { benchmark } { no-time }
+ { The~l3benchmark~package~failed~to~access~a~clock. }
+ { The~current~engine~provides~no~way~to~access~the~system~time. }
+ \cs_new_protected:Npn \benchmark_once:n #1
+ { \msg_error:nn { benchmark } { no-time } }
+ \cs_new_protected:Npn \benchmark_once_in_ops:n #1
+ { \msg_error:nn { benchmark } { no-time } }
+ \cs_new_protected:Npn \benchmark_once_silent:n #1
+ { \msg_error:nn { benchmark } { no-time } }
+ \cs_new_protected:Npn \benchmark:n #1
+ { \msg_error:nn { benchmark } { no-time } }
+ \cs_new_protected:Npn \benchmark_in_ops:n #1
+ { \msg_error:nn { benchmark } { no-time } }
+ \cs_new_protected:Npn \benchmark_silent:n #1
+ { \msg_error:nn { benchmark } { no-time } }
+ \fp_gset:Nn \g_benchmark_time_fp { nan }
+ \fp_gset:Nn \g_benchmark_ops_fp { nan }
+ \msg_critical:nn { benchmark } { no-time }
+ }
+\fp_new:N \g_benchmark_duration_target_fp
+\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
+\int_new:N \g__benchmark_duration_int
+\int_new:N \g__benchmark_time_int
+\int_new:N \g__benchmark_time_a_int
+\int_new:N \g__benchmark_time_b_int
+\int_new:N \g__benchmark_time_c_int
+\int_new:N \g__benchmark_time_d_int
+\int_new:N \g__benchmark_repeat_int
+\int_new:N \g__benchmark_nesting_int
+\cs_new_protected:Npn \__benchmark_raw:nN #1
+ {
+ \int_gincr:N \g__benchmark_nesting_int
+ \exp_args:Nc \__benchmark_raw_aux:N
+ { g__benchmark_ \int_use:N \g__benchmark_nesting_int _int }
+ \__benchmark_raw_aux:
+ #1
+ \__benchmark_raw_end:N
+ }
+\cs_new_protected:Npn \__benchmark_raw_aux:N #1
+ {
+ \int_gzero_new:N #1
+ \cs_gset_protected:Npn \__benchmark_raw_aux: { \int_gset:Nn #1 { \sys_timer: } }
+ }
+\cs_new_protected:Npn \__benchmark_raw_end:N #1
+ {
+ \int_gset:Nn #1
+ {
+ \sys_timer: -
+ \int_use:c { g__benchmark_ \int_use:N \g__benchmark_nesting_int _int }
+ }
+ \int_gdecr:N \g__benchmark_nesting_int
+ }
+\cs_new_eq:NN \__benchmark_tmp:w ?
+\cs_new_protected:Npn \__benchmark_raw_replicate:nnN #1
+ {
+ \int_compare:nNnTF {#1} > { 500000 }
+ { \__benchmark_raw_replicate_large:nnN {#1} }
+ { \__benchmark_raw_replicate_small:nnN {#1} }
+ }
+\cs_new_protected:Npn \__benchmark_raw_replicate_large:nnN #1#2
+ {
+ \cs_set:Npx \__benchmark_tmp:w ##1 { \prg_replicate:nn { 5000 } {##1} }
+ \exp_args:Nno \__benchmark_raw_replicate:nnN { #1 / 5000 }
+ { \__benchmark_tmp:w {#2} }
+ }
+\cs_new_protected:Npn \__benchmark_raw_replicate_small:nnN #1#2
+ {
+ \cs_set:Npx \__benchmark_tmp:w ##1##2 { \prg_replicate:nn {#1} {##1} }
+ \__benchmark_raw:nN { \__benchmark_tmp:w {#2} { } } \g__benchmark_time_int
+ \exp_args:No \__benchmark_raw_replicate_aux:nnN
+ { \int_use:N \g__benchmark_time_int } {#2}
+ }
+\cs_new_protected:Npn \__benchmark_raw_replicate_aux:nnN #1#2#3
+ {
+ \__benchmark_raw:nN { \__benchmark_tmp:w { } {#2} } \g__benchmark_time_int
+ \int_gset:Nn #3 { #1 - \g__benchmark_time_int }
+ \cs_set_eq:NN \__benchmark_tmp:w \prg_do_nothing:
+ }
+\fp_new:N \g__benchmark_one_op_fp
+\tl_new:N \g__benchmark_code_tl
+\cs_new_protected:Npn \benchmark:n #1
+ { \benchmark_silent:n {#1} \benchmark_display: }
+\cs_new_protected:Npn \benchmark_in_ops:n #1
+ { \benchmark_silent:n {#1} \benchmark_display_in_ops: }
+\cs_new_protected:Npn \__benchmark_measure_op:
+ {
+ \int_gset:Nn \g__benchmark_duration_int { 256 }
+ \tl_gset:Nn \g__benchmark_code_tl
+ { \int_gset:Nn \g__benchmark_duration_int { 256 } } % arbitrary single operation
+ \__benchmark_aux:
+ \fp_gset_eq:NN \g__benchmark_one_op_fp \g_benchmark_time_fp
+ \fp_compare:nNnT \g__benchmark_one_op_fp < { 1e-6 }
+ { \fp_gset:Nn \g__benchmark_one_op_fp { 1e-6 } }
+ }
+\cs_new_protected:Npn \benchmark_silent:n #1
+ {
+ \__benchmark_measure_op:
+ \int_gset:Nn \g__benchmark_duration_int
+ { \fp_to_int:n { 65536 * \g_benchmark_duration_target_fp } }
+ \tl_gset:Nn \g__benchmark_code_tl {#1}
+ \__benchmark_aux:
+ \fp_gset:Nn \g_benchmark_ops_fp
+ { \g_benchmark_time_fp / \g__benchmark_one_op_fp }
+ }
+\cs_new_protected:Npn \__benchmark_aux:
+ {
+ \int_gset:Nn \g__benchmark_repeat_int { 1 }
+ \__benchmark_raw:nN { \g__benchmark_code_tl } \g__benchmark_time_int
+ \int_compare:nNnF \g__benchmark_time_int < { \g__benchmark_duration_int / 2 }
+ {
+ \int_gset_eq:NN \g__benchmark_time_a_int \g__benchmark_time_int
+ \int_gset_eq:NN \g__benchmark_time_b_int \g__benchmark_time_int
+ \int_gset_eq:NN \g__benchmark_time_c_int \g__benchmark_time_int
+ \int_gset_eq:NN \g__benchmark_time_d_int \g__benchmark_time_int
+ \prg_break:
+ }
+ \int_while_do:nNnn \g__benchmark_time_int < { \g__benchmark_duration_int / 100 }
+ {
+ \int_compare:nNnT \g__benchmark_repeat_int > { \c_max_int / 4 }
+ {
+ \int_gzero:N \g__benchmark_time_a_int
+ \int_gzero:N \g__benchmark_time_b_int
+ \int_gzero:N \g__benchmark_time_c_int
+ \int_gzero:N \g__benchmark_time_d_int
+ \prg_break:
+ }
+ \int_gset:Nn \g__benchmark_repeat_int { 4 * \g__benchmark_repeat_int }
+ \__benchmark_run:N \g__benchmark_time_int
+ }
+ \int_gset:Nn \g__benchmark_repeat_int
+ {
+ \int_max:nn { 1 }
+ {
+ \g__benchmark_duration_int * \g__benchmark_repeat_int
+ / ( \g__benchmark_time_int * 4 )
+ }
+ }
+ \int_compare:nNnTF \g__benchmark_repeat_int = 1
+ { \int_gset_eq:NN \g__benchmark_time_a_int \g__benchmark_time_int }
+ { \__benchmark_run:N \g__benchmark_time_a_int }
+ \__benchmark_run:N \g__benchmark_time_b_int
+ \__benchmark_run:N \g__benchmark_time_c_int
+ \__benchmark_run:N \g__benchmark_time_d_int
+ \prg_break_point:
+ \fp_gset:Nn \g_benchmark_time_fp
+ {
+ \int_min:nn
+ { \int_min:nn \g__benchmark_time_a_int \g__benchmark_time_b_int }
+ { \int_min:nn \g__benchmark_time_c_int \g__benchmark_time_d_int }
+ / \g__benchmark_repeat_int / 65536
+ }
+ }
+\cs_new_protected:Npn \__benchmark_run:N
+ { \exp_args:NNo \__benchmark_raw_replicate:nnN \g__benchmark_repeat_int { \g__benchmark_code_tl } }
+\cs_new_protected:Npn \benchmark_once:n #1
+ { \benchmark_once_silent:n {#1} \benchmark_display: }
+\cs_new_protected:Npn \benchmark_once_in_ops:n #1
+ { \benchmark_once_silent:n {#1} \benchmark_display_in_ops: }
+\cs_new_protected:Npn \benchmark_once_silent:n #1
+ {
+ \__benchmark_measure_op:
+ \__benchmark_raw:nN {#1} \g__benchmark_time_int
+ \fp_gset:Nn \g_benchmark_time_fp { \g__benchmark_time_int / 65536 }
+ \fp_gset:Nn \g_benchmark_ops_fp
+ { \g_benchmark_time_fp / \g__benchmark_one_op_fp }
+ }
+\int_new:N \g__benchmark_tictoc_int
+\seq_new:N \g__benchmark_tictoc_seq
+\cs_new_protected:Npn \benchmark_tic:
+ {
+ \int_compare:nTF { \g__benchmark_tictoc_int == 0 }
+ {
+ \sys_gzero_timer:
+ \__benchmark_tic:n { 0 }
+ }
+ { \__benchmark_tic: }
+ }
+\cs_new_protected:Npn \__benchmark_tic:
+ {
+ \exp_args:NNf \seq_put_right:Nn \g__benchmark_tictoc_seq { \sys_timer: }
+ \int_gincr:N \g__benchmark_tictoc_int
+ \iow_term:x
+ {
+ \prg_replicate:nn {\g__benchmark_tictoc_int} {---+} \space
+ TIC
+ }
+ }
+\cs_new:Npn \benchmark_toc:
+ {
+ \int_compare:nT { \g__benchmark_tictoc_int == 0 }
+ { \msg_error:nn {benchmark} {toc-first} }
+ \seq_pop_right:NN \g__benchmark_tictoc_seq \l__benchmark_tictoc_pop_tl
+ \__benchmark_toc:
+ }
+\cs_new_protected:Npn \__benchmark_toc:
+ {
+ \tl_set:Nx \l__benchmark_tictoc_tl
+ {
+ \fp_to_decimal:n
+ { round( ( \sys_timer: - \l__benchmark_tictoc_pop_tl) / 65536 , 3 ) }
+ }
+ \iow_term:x
+ {
+ \prg_replicate:nn {\g__benchmark_tictoc_int} {---+} \c_space_tl
+ TOC: \c_space_tl
+ \l__benchmark_tictoc_tl \c_space_tl s
+ }
+ \int_gdecr:N \g__benchmark_tictoc_int
+ }
+\msg_new:nnn {benchmark} {toc-first}
+ {
+ \token_to_str:N \benchmark_toc: \space without~
+ \token_to_str:N \benchmark_tic: \space !
+ }
+%%
+%%
+%% End of file `l3benchmark.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index 4754353e190..55ef24e9eaf 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
@@ -20,7 +20,7 @@
%%
%% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2018-10-17}{}
+\ProvidesExplPackage{l3color}{2018-10-26}{}
{L3 Experimental color support}
\tl_new:N \l__color_tmp_tl
\prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index 259c3b24cb9..82cab92359a 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -27,7 +27,7 @@
%%
%% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2018-10-17}{}
+\ProvidesExplPackage{l3draw}{2018-10-26}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
%% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
index d726025fd56..a100d834ab6 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-convert}{2018-10-17}{}
+\ProvidesExplPackage{l3str-convert}{2018-10-26}{}
{L3 Experimental string encoding conversions}
\cs_if_exist:NF \use_ii_i:nn
{ \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
index 6ef7b439c39..a88088e155e 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2018-10-17}{}
+\ProvidesExplPackage{l3str-format}{2018-10-26}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
index 2e6fd685666..73b6bae02cd 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2018-10-17}{}
+\ProvidesExplPackage{l3sys-shell}{2018-10-26}{}
{L3 Experimental system shell functions}
\cs_new:Npn \__sys_path_to_win:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index ec312d9174f..bdce6ad2aea 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -20,7 +20,7 @@
%%
%% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2018-10-17}{}
+\ProvidesExplPackage{xcoffins}{2018-10-26}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index 9addf19a18d..6cbcab46f2b 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -33,7 +33,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2018-10-17}{}
+\ProvidesExplPackage{l3galley}{2018-10-26}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
index 79e2bc7cfe2..6c15f5a8548 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -21,7 +21,7 @@
%% File: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach
%% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2018-10-17}{}
+\ProvidesExplPackage{xgalley}{2018-10-26}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist