CTAN Update: xint
This is a major release with some breaking changes. Selected highlights: - The \expanded primitive (TeXLive 2019) is required. Its usage has allowed dropping formerly used \csname techniques. There is no more impact on the string pool memory. - Square brackets [...] are now associated with actual nested structures. For example \xinteval{1, [2, [3, 4]], 5} produces 1, [2, [3, 4]], 5 (recall this is free bloatware). - Scalar operations on one-dimensional "lists" (which as it turned out matched the NumPy "broadcasting" concept) are provisorily dropped. Alternative syntax exists to rescue old documents. - Operations on nested lists are inspired from NumPy's. Currently, nested (basic) slicing and indexing is implemented. But the step parameters are not. The broadcasting of scalar operations is not yet implemented but the user can define "universal functions", i.e. functions operating on all leaves of the data. Our structures have leaves at arbitrary varying depths, they are not necessarily hyperrectangular like NumPy's. Constructors are provided, for example ndmap() maps a function on all Cartesian n-uples built from items (at top level) of n given lists. - Variables in function declarations may be multi-letter words. - The last positional variable name may be prefixed with a * as in Python to signal it is a "nut-ple" receiving all arguments of the function calls beyond the first positional ones ("variadic" argument). Generally speaking, * is the unpacking operator. - ... quite a few more features. See CHANGES.html and xint.pdf.
The package’s Catalogue entry can be viewed at https://ctan.org/pkg/xint The package’s files themselves can be inspected at http://mirror.ctan.org/macros/generic/xint/
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs
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 |