CTAN update: xint
- removed all macros previously deprecated at 1.2o, - modified addition, subtraction and modulo operations to use a least common multiple for the denominator of the result, - added \xintPIrr, \xintDecToString and preduce(), - and last but not least refactored extensively the \xintNewExpr/\xintdeffunc mechanism. It got both leaner and stronger and makes possible recursive function definitions. Examples: \xintdeffunc GCD(a, b):= if(b, GCD(b, a /: b), a); is of course the Euclide algorithm (but here usable with fractions). \xintdefiifunc powmod(x, m, n) := if(m, if(m=1, x /: n, if(odd(m), (x*sqr(powmod(x, m//2, n))) /: n, sqr(powmod(x, m//2, n)) /: n ) ), 1 ); implements modular exponentiation (with positive exponents only, like the pow() Python function).
This package is located at http://mirror.ctan.org/macros/generic/xint More information is at http://www.ctan.org/pkg/xint We are supported by the TeX User Groups. Please join a users group; see http://www.tug.org/usergroups.html .
Thanks for the upload. For the CTAN Team Ina Dau
Xint – Expandable arbitrary precision floating point and integer operations
The calx package and its superset the xintexpr package provide:
- \calxeval: numerical expression parser for floating-point computations.
- \calxinteval: numerical expression parser for computations with big integers.
Floating-point computations are supported up to 100 significant digits of precision. A full set of trigonometric, logarithmic, and exponential functions is implemented.
The two parsers are also available under their legacy names \xintfloateval and \xintiieval, respectively.
Loading xintexpr automatically loads calx and provides a third parser, \xinteval, which handles fractions. It also loads the legacy macro interface packages xintcore, xint, and xintfrac.
All three parsers produce their results by expansion alone. They accept comma-separated inputs and nested structures using square brackets. Users can define custom variables and functions.
| Paket | Xint |
| Version | 2.0a1 2026-11-01 |
| Copyright | 2013–2022, 2025, 2026 Jean-François Burnol |
| Betreuer | Jean-François Burnol |