CTAN update: xint
Date: November 22, 2016 1:42:45 PM CET
Jean-François Burnol submitted an update to the
xint
package.
Version number: 1.2h 2016-11-20
License type: lppl1.3
Summary description: Expandable operations on long numbers
Announcement text:
This release fixes a few bugs (see CHANGES.{pdf,html}) and has a new macro `\xintNewFunction` which allows to extend the expression parsers with user-defined functions in situations where `\xintdeffunc` is not usable. Indeed, one can not currently do: \xintdeffunc foo(x):= add(i^2, i=1..x); in part because the dummy variable range is not explicitely known as it depends on the variable x. But now one can do: \xintNewFunction {foo}[1]{add(i^2, i=1..#1)} and the full syntax is allowed in the replacement text because its actual parsing is delayed to the time where `foo()` will actually be used. The arguments may then be numerical, or dummy variables, or sub-expressions etc... `foo()` is then like a genuine function for the three parsers `\xintexpr`, `\xintiiexpr`, `\xintfloatexpr`. This is very different from `\xintdeffunc` and the closely related `\xintNewExpr` which attempt to parse expressions (either with variables or macro parameters) and convert them in advance into (possibly very complicated) nested macro calls. Side note: after three years of strict obedience to xint prefix, `\thexintexpr`, etc... are provided as synonyms to `\xinttheexpr`, etc...
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 .
This release fixes a few bugs (see CHANGES.{pdf,html}) and has a new macro `\xintNewFunction` which allows to extend the expression parsers with user-defined functions in situations where `\xintdeffunc` is not usable. Indeed, one can not currently do: \xintdeffunc foo(x):= add(i^2, i=1..x); in part because the dummy variable range is not explicitely known as it depends on the variable x. But now one can do: \xintNewFunction {foo}[1]{add(i^2, i=1..#1)} and the full syntax is allowed in the replacement text because its actual parsing is delayed to the time where `foo()` will actually be used. The arguments may then be numerical, or dummy variables, or sub-expressions etc... `foo()` is then like a genuine function for the three parsers `\xintexpr`, `\xintiiexpr`, `\xintfloatexpr`. This is very different from `\xintdeffunc` and the closely related `\xintNewExpr` which attempt to parse expressions (either with variables or macro parameters) and convert them in advance into (possibly very complicated) nested macro calls. Side note: after three years of strict obedience to xint prefix, `\thexintexpr`, etc... are provided as synonyms to `\xinttheexpr`, etc...
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 xint bundle main modules are:
- xinttools
- utilities of independent interest such as expandable and non-expandable loops,
- xintcore
- expandable macros implementing addition, subtraction, multiplication, division, and powers for arbitrarily long integers,
- xint
- extension of xintcore,
- xintfrac
- extends the scope of xint to decimal numbers, to numbers using scientific notation and also to (exact) fractions,
- xintexpr
- provides expandable parsers of numeric expressions using the standard infix notations, parentheses, built-in functions, user definable functions and variables (and more ...) which do either exact evaluations (also with fractions) or floating point evaluations under a user chosen precision.
Further modules of the bundle are:
xintkernel (support macros for all the bundle constituents),
xintbinhex (conversion to and from hexadecimal and binary bases),
xintgcd (provides gcd()
and lcm()
functions to xintexpr),
xintseries (evaluates numerically partial sums of series and
power series with fractional coefficients), and
xintcfrac (dedicated to the computation and display of continued fractions).
All computations are compatible with expansion-only context.
The packages may be used with Plain TeX, LaTeX, or (a priori) any other macro format built upon TeX.
Package | xint |
Version | 1.4m 2022-06-10 |
Copyright | 2013–2022 Jean-François Burnol |
Maintainer | Jean-François Burnol |