CTAN Update: xint
Date: January 10, 2014 9:53:15 PM CET
Jean-François Burnol submitted an update to the
xint
package.
Version number: 1.09j
License type: lppl
Summary description: Expandable operations on long numbers
Announcement text:
1.09j 2014/01/09 * The core division routines have been re-written for some (limited) efficiency gain, more pronounced for small divisors. As a consequence, the computation with the algorithm given in the user manual of one thousand digits of Pi is three times faster. Some other small improvements elsewhere. * A new macro \xintXTrunc is designed to produce thousands or even tens of thousands of digits of the decimal expansion of a fraction. Although completely expandable it has its use limited to inside an |\edef|, |\write|, |\message|, \dots. It can thus not be nested as argument to another package macro. * \xintexpr..\relax can now be used inside an \edef without the \xintthe prefix converting the internal format into explicit digit tokens; it will expand completely and inhibit the error message about a missing \xintthe. This can significantly speed up the use of \xintexpr in a non-expandable contexts, when dealing with numbers having hundreds of digits. Notice that contrarily to \numexpr for which \the or \number is necessary not only to print but also to trigger the computation, \xintthe is only needed for the printing step (previously \xintexpr was already fully expandable under \romannumeral-`0). * bug-fix: |1.09i| did an unexplainable change to \XINT_infloat_zero which broke the floating point routines for vanishing operands :-(( The first two pages of the user manual give a much clearer view of the aims and abilities of the package. The manual has more of these tremendous applications my (singleton) user base enjoy so much!
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
1.09j 2014/01/09 * The core division routines have been re-written for some (limited) efficiency gain, more pronounced for small divisors. As a consequence, the computation with the algorithm given in the user manual of one thousand digits of Pi is three times faster. Some other small improvements elsewhere. * A new macro \xintXTrunc is designed to produce thousands or even tens of thousands of digits of the decimal expansion of a fraction. Although completely expandable it has its use limited to inside an |\edef|, |\write|, |\message|, \dots. It can thus not be nested as argument to another package macro. * \xintexpr..\relax can now be used inside an \edef without the \xintthe prefix converting the internal format into explicit digit tokens; it will expand completely and inhibit the error message about a missing \xintthe. This can significantly speed up the use of \xintexpr in a non-expandable contexts, when dealing with numbers having hundreds of digits. Notice that contrarily to \numexpr for which \the or \number is necessary not only to print but also to trigger the computation, \xintthe is only needed for the printing step (previously \xintexpr was already fully expandable under \romannumeral-`0). * bug-fix: |1.09i| did an unexplainable change to \XINT_infloat_zero which broke the floating point routines for vanishing operands :-(( The first two pages of the user manual give a much clearer view of the aims and abilities of the package. The manual has more of these tremendous applications my (singleton) user base enjoy so much!
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
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 |