diff options
Diffstat (limited to 'doc/context/sources/general/manuals/luametatex')
-rw-r--r-- | doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex | 32 | ||||
-rw-r--r-- | doc/context/sources/general/manuals/luametatex/luametatex.tex | 8 |
2 files changed, 39 insertions, 1 deletions
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex index ba320440b..0cafa118f 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex @@ -2512,6 +2512,38 @@ Unit equivalent to ten Toves or one Edith. \stopsection +\startsection[title=Registers] + + +\startsubsection[title={32 bit floats}] + +The engine has native float registers which means that we have a similar set of +primitives as for dimensions and integers: \prm {float}, \prm {floatdef}, \prm +{floatexpr} and \prm {iffloat}. In the context if an integer a rounded value is +used, in the context of a dimensions the floating point number is interpreted as +points. Internally floats are stored as so called posits, which gives more accuracy +for smaller values. + +\stopsubsection + +\startsubsection[title={32 bit posits}] + +{\em This is a playground. It will stay but might evolve.} + +\stopsubsection + +\startsubsection[title={Extra features}] + +There are \prm {ifabsnum}, \prm {ifabsdim} and \prm {ifabsfloat} that compare +absolute values of quantities. The primitives \prm{ifzeronum}, \prm{ifzerodim}, +\prm{ifzerofloat} do a fast test for zero. The \prm {ifintervalnum}, \prm +{ifintervaldim} and \prm {ifintervalfloat} primitives take a delta and two values +and check if these values overlap within the ranges dedicated by the delta. + +\stopsubsection + +\stopsection + \startsection[title=Expressions] \startsubsection[title={Rounding and scaling}] diff --git a/doc/context/sources/general/manuals/luametatex/luametatex.tex b/doc/context/sources/general/manuals/luametatex/luametatex.tex index a86846628..834b73133 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex.tex @@ -1,5 +1,7 @@ % language=us runpath=texruns:manuals/luametatex +% \pushoverloadmode \let\cdef\edef \let\cdefcsname\edefcsname \popoverloadmode + % \enabledirectives[backend.pdf.inmemory] % \setupalign[profile] @@ -110,7 +112,11 @@ % because the amount of output which is sensitive for refresh delays set. The new % target is now 50 pages per second for this manual but on this laptop that is % unlikely to happen any time soon. With tabulateusesize and tabulatesparseskips -% experiments enabled we needed 8.1 second and 44.3 pps. +% experiments enabled we needed 8.1 second and 44.3 pps.% 368 pages may/june 2023: +% +% no constant definitions : 8.55 +% constant \*!whatever : 8.47 +% also constant \current* : 8.36 % \enableexperiments [tabulateusesize] % \enableexperiments [tabulatesparseskips] |