summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/syst-con.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/syst-con.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/syst-con.mkiv34
1 files changed, 20 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/context/base/syst-con.mkiv b/Master/texmf-dist/tex/context/base/syst-con.mkiv
index f7d4150a6e2..1091be85970 100644
--- a/Master/texmf-dist/tex/context/base/syst-con.mkiv
+++ b/Master/texmf-dist/tex/context/base/syst-con.mkiv
@@ -46,10 +46,10 @@
%D [\expandafter\uchexnumber\expandafter{\the\zerocount}]
%D \stoptyping
-\def\lchexnumber #1{\ctxlua{converters.lchexnumber(\number#1)}}
-\def\uchexnumber #1{\ctxlua{converters.uchexnumber(\number#1)}}
-\def\lchexnumbers#1{\ctxlua{converters.lchexnumbers(\number#1)}}
-\def\uchexnumbers#1{\ctxlua{converters.uchexnumbers(\number#1)}}
+\def\lchexnumber #1{\ctxcommand{lchexnumber(\number#1)}}
+\def\uchexnumber #1{\ctxcommand{uchexnumber(\number#1)}}
+\def\lchexnumbers#1{\ctxcommand{lchexnumbers(\number#1)}}
+\def\uchexnumbers#1{\ctxcommand{uchexnumbers(\number#1)}}
\let\hexnumber\uchexnumber
@@ -58,7 +58,7 @@
%D
%D For unicode remapping purposes, we need octal numbers.
-\def\octnumber#1{\ctxlua{converters.octnumber(\number#1)}}
+\def\octnumber#1{\ctxcommand{octnumber(\number#1)}}
%D \macros
%D {hexstringtonumber,octstringtonumber}
@@ -67,8 +67,8 @@
%D a decimal number, thereby taking care of lowercase characters
%D as well.
-\def\hexstringtonumber#1{\ctxlua{converters.hexstringtonumber("#1")}}
-\def\octstringtonumber#1{\ctxlua{converters.octstringtonumber("#1")}}
+\def\hexstringtonumber#1{\ctxcommand{hexstringtonumber("#1")}}
+\def\octstringtonumber#1{\ctxcommand{octstringtonumber("#1")}}
%D \macros
%D {rawcharacter}
@@ -76,7 +76,7 @@
%D This macro can be used to produce proper 8 bit characters
%D that we sometimes need in backends and round||trips.
-\def\rawcharacter#1{\ctxlua{converters.rawcharacter(\number#1)}}
+\def\rawcharacter#1{\ctxcommand{rawcharacter(\number#1)}}
%D \macros
%D {twodigits, threedigits}
@@ -134,12 +134,18 @@
% \let\calculatecos\gobbleoneargument
% \let\calculatetan\gobbleoneargument
-% \def\calculatedsin#1{\ctxlua{tex.sprint(tex.ctxcatcodes,math.sin(#1))}}
-% \def\calculatedcos#1{\ctxlua{tex.sprint(tex.ctxcatcodes,math.cos(#1))}}
-% \def\calculatedtan#1{\ctxlua{tex.sprint(tex.ctxcatcodes,math.tan(#1))}}
+% \def\calculatedsin#1{\ctxsprint{math.sin(#1)}}
+% \def\calculatedcos#1{\ctxsprint{math.cos(#1)}}
+% \def\calculatedtan#1{\ctxsprint{math.tan(#1)}}
-\def\setcalculatedsin#1#2{\edef#1{\ctxlua{tex.sprint(tex.ctxcatcodes,math.sind(#2))}}}
-\def\setcalculatedcos#1#2{\edef#1{\ctxlua{tex.sprint(tex.ctxcatcodes,math.cosd(#2))}}}
-\def\setcalculatedtan#1#2{\edef#1{\ctxlua{tex.sprint(tex.ctxcatcodes,math.tand(#2))}}}
+% \def\setcalculatedsin#1#2{\edef#1{\ctxsprint{math.sind(#2)}}}
+% \def\setcalculatedcos#1#2{\edef#1{\ctxsprint{math.cosd(#2)}}}
+% \def\setcalculatedtan#1#2{\edef#1{\ctxsprint{math.tand(#2)}}}
+
+% this is actually 20% faster: some overhead in functions but less tokenization
+
+\def\setcalculatedsin#1#2{\edef#1{\cldcontext{math.sind(#2)}}}
+\def\setcalculatedcos#1#2{\edef#1{\cldcontext{math.cosd(#2)}}}
+\def\setcalculatedtan#1#2{\edef#1{\cldcontext{math.tand(#2)}}}
\protect \endinput