Skip to content

Commit

Permalink
latex3: fix time-ms from seconds to milliseconds, register in IMPLS.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
asarhaddon committed Aug 7, 2024
1 parent f41b891 commit e33f4ab
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
1 change: 1 addition & 0 deletions IMPLS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ IMPL:
- {IMPL: js}
- {IMPL: julia}
- {IMPL: kotlin}
- {IMPL: latex3, NO_PERF: 1, NO_SELF_HOST: 1, SLOW: 1}
- {IMPL: livescript}
- {IMPL: logo}
- {IMPL: lua}
Expand Down
17 changes: 10 additions & 7 deletions impls/latex3/core.sty
Original file line number Diff line number Diff line change
Expand Up @@ -403,17 +403,20 @@
\tl_set:Nx \l_tmpa_tl { s \l_tmpa_str }
}

\str_const:Nx \c_mal_date_str { date ~ + \c_percent_str s }
\sys_get_shell:VnN \c_mal_date_str {} \l_tmpa_str
\int_const:NV \c_mal_start_time_int \l_tmpa_str

\mal_def_builtin:nnn { time-ms } { time_ms }
{
% Seconds are not accurate enough for MAL tests, so use %s%N.
% The raw nanosecond count overflows LaTeX integers.
% Extract the seconds, subtract the date of publication,
% then add the three millisecond digits.
\iow_term:n {MAL_LATEX3_STRIP_ON}
\sys_get_shell:VnN \c_mal_date_str {} \l_tmpa_str
\sys_get_shell:xnN { date ~ + \c_percent_str s \c_percent_str N} {}
\l_tmpa_str
\iow_term:n {MAL_LATEX3_STRIP_OFF}
\int_set:Nn \l_tmpa_int { \l_tmpa_str - \c_mal_start_time_int }
\tl_set:Nx \l_tmpa_tl { i \int_to_arabic:V \l_tmpa_int 000 }
\int_set:Nx \l_tmpa_int { \tl_range:Vnn \l_tmpa_str 1 { -10 } }
\int_set:Nn \l_tmpa_int { \l_tmpa_int - 1723068439 }
\tl_set:Nx \l_tmpa_tl { i \int_to_arabic:V \l_tmpa_int
\tl_range:Vnn \l_tmpa_str { -9 } { -7 } }
}

\mal_def_builtin:nnn { meta } { meta }
Expand Down
3 changes: 2 additions & 1 deletion impls/latex3/types.sty
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

\cs_generate_variant:Nn \int_compare:nNnTF { oNoTF }
\cs_generate_variant:Nn \int_const:Nn { NV }
\cs_generate_variant:Nn \int_set:Nn { Nx }
\cs_generate_variant:Nn \int_to_alph:n { V }
\cs_generate_variant:Nn \int_to_arabic:n { o, V }
\cs_generate_variant:Nn \ior_open:Nn {Nx}
Expand All @@ -19,7 +20,7 @@
\cs_generate_variant:Nn \str_map_inline:nn { on }
\cs_generate_variant:Nn \str_set:Nn { Nx }
\cs_generate_variant:Nn \str_tail:n { V}
\cs_generate_variant:Nn \sys_get_shell:nnN { VnN }
\cs_generate_variant:Nn \sys_get_shell:nnN { xnN }
\cs_generate_variant:Nn \tl_const:Nn { cx }
\cs_generate_variant:Nn \tl_if_eq:nnTF { xxTF }
\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNF { VNF }
Expand Down

0 comments on commit e33f4ab

Please sign in to comment.