CTAN Update: xint
\xintexpr..\relax is an expandable parser of expressions written with infix operators. It computes *exactly* on arbitrarily big numbers or fractions. Release 1.09a has added to its syntax: * functions with one, two, or arbitrarily many argments, among them reduce, sqr, sqrt, abs, sgn, floor, ceil, quo, rem, round, trunc, float, gcd, lcm, max, min, sum, prd, add, mul, all, any, xor, not. * comparison (<, >, =) and logical (|, &) operators, * 2way ? and 3way : conditional branching (skipped branches are /not/ evaluated), * \xintexpr <stuff>,<stuff>,... \relax returns the comma separated list where each <stuff> has been evaluated, * use of the standard macro parameter character # in the command constructor \xintNewExpr. Some new macros correspond to some of the \xintexpr recognized functions mentioned functions, such as \xintGCDof, \xintLCMof (package xintgcd), \xintMaxof, \xintMinof, e.g. to be used e.g. as \xintLCMof {{12}{15}{32}} with arbitrarily many arguments, etc... lcm(12,15,32) in the easier \xintexpr syntax. Macros for expandable conditional code \xintifSgn, \xintifGt, etc...
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 Users Group http://www.tug.org . Please join a users group; see http://www.tug.org/usergroups.html .
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
xint – Expandable arbitrary precision floating point and integer operations
Loading xintexpr provides \xinteval and \xintfloateval.
\xintfloateval evaluates numerical expressions. The floating point precision defaults to 16 decimal digits and can be set by user. Trigonometry, exponential and logarithms are implemented up to a maximal precision of 62 decimal digits.
\xinteval computes exactly with integers, fractions, and decimal numbers or numbers in scientific notation. Note though that multiplying two floating point numbers will about double the number of digits, and so on, because the algebra is done exactly.
Both are compatible with expansion-only context.
Loading xintexpr imports automatically various other modules that it depends upon. Among them:
- xinttools: utilities such as expandable and non-expandable loops,
- xint: macros implementing in particular the basic operations on arbitrarily long integers,
- xintbinhex: conversions between decimal and binary, octal, or hexadecimal bases for arbitrarily long integers,
- xintfrac: macros implementing in particular the basic operations on arbitrarily large fractions, decimal numbers, or numbers in scientific notation.
Further modules of independent interest include xintgcd, xintseries and xintcfrac.
You can use xintexpr (and the other components) with LaTeX (via \usepackage) or also with Plain TeX, OpTeX, or ConTeXt (via \input xintexpr.sty).
All the components are documented in the file xint.pdf, which also contains the commented source code.
Paket | xint |
Version | 1.4o 2025-09-06 |
Copyright | 2013–2022, 2025 Jean-François Burnol |
Betreuer | Jean-François Burnol |