CTAN update: xint
Maintenance release. - The underscore character _ is accepted by the xintexpr parsers as a digit separator. Example: \xinttheiiexpr 123_456_789 * 1111_2222_3333 \relax It is not allowed as _first_ character of a number, as it would then be mis-interpreted as the start of a possible variable name. Only expressions handle it (the space character can also separate digits there), not macros. The LaTeX package bnumexpr will also accept the underscore as digit separator in its upcoming release. - Some refactoring in xintcore for some small efficiency gains. - Some macros were not robust against arguments whose expansion looks forward for some termination (e.g. \number\mathcode`\-), and many more were broken if the inputs used a non-terminated \numexpr, e.g. \xintAdd{\the\numexpr1}{2}. The user manual never said this was legal input, but it was slightly inconvenient. Most macros have now been made robust against such non properly terminated inputs. In expressions though, a \numexpr swallowing the ending \relax is definitely still to be avoided, as the parser absolutely needs to hit against such a token at some point. - A few minor bugfixes, see CHANGES.pdf or CHANGES.html for the details.
This package is located at http://mirror.ctan.org/macros/generic/xint More information is at http://www.ctan.org/pkg/xint
Thanks for the upload. For the CTAN Team Manfred Lotz We are supported by the TeX user groups. Please join a users group; see http://www.tug.org/usergroups.html .
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.
| Package | Xint |
| Version | 2.0a1 2026-11-01 |
| Copyright | 2013–2022, 2025, 2026 Jean-François Burnol |
| Maintainer | Jean-François Burnol |