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, ` hexintexpr`, 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 .