CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Version number: 1.1 2014/10/28 License type: lppl1.3 Summary description: Expandable operations on long numbers Announcement text: -- xint 1.1 has some bug fixes, a few breaking changes, and many extensions to xintexpr. See CHANGES.pdf or CHANGES.html for details. The documentation has been completely revamped. The source code is separately available as sourcexint.pdf. Package xintcore is split-off from xint taking with it all the basic arithmetic. This way, my other package bnumexpr has minimal overhead. Neither xint nor xintfrac load xinttools anymore, only xintexpr does. \xintthefloatexpr add(x^15,x=[1..10]/13)\relax \xinttheiiexpr seq(seq(i^2+j^2, i=1..j),j=1..30)\relax % nesting \xinttheexpr seq(x^2+x+1, x=1..10, 20..30, 40..50)\relax \xinttheexpr 37*[15..[-2]..-13]^3\relax % itemwise operations \xinttheexpr add(x^3, x = [89..120,150..200][15:-15])\relax % slicing First Fibonacci number at least 2^64 and its index \xinttheiiexpr iter(0,1; (@1=2^64)?{break(i)}{@2+@1}, i=1++)\relax Euclide Algorithm \newcommand\GCD [2] {\xinttheiiexpr rrseq(#1,#2; (@1=0)?{abort}{@2/:@1}, i=1++)\relax } One last: (ok, this one looks a bit scary). \newcommand\Factors [1]{\xinttheiiexpr subs(seq((i/:3=2)?{omit}{[L][i]},i=1..([L][0])), % [L][0]= # of items L=rseq(#1;([@][1]=1)?{abort}{(([@][1])/:p)?{omit} {iter(([@][1])//p; (@/:p)?{break((@,p,e))}{@//p},e=1++)}},p=2++))\relax } \Factors {41^4*59^2*29^3*13^5*17^8*29^2*59^4*37^6} produces 16246355912554185673266068721806243461403654781833, 13, 5, 17, 8, 29, 5, 37, 6, 41, 4, 59, 6 -- 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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN update: xint
ean-François Burnol submitted an update to the xint package. Version number: 1.09m License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- Release 1.09m: * xintcfrac: \xintFGtoC finds the initial partial quotients which are common to two decimal numbers (or fractions): \xintFGtoC{3.141592653}{3.141592654} - {3}{7}{15}{1} \xintFGtoC{3.141592653589}{3.141592653590} - {3}{7}{15}{1}{292}{1}{1}{1}{2}{1} \xintGGCFrac typesets generalized continued fractions, not assuming that the coefficients are numeric quantities. * xinttools: \xintKeep keeps the first N or last N elements of a list (sequence of braced items); \xintTrim cuts out either the first N or the last N elements from a list. Some other minor changes. -- 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 Manfred Lotz ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Version number: 1.09k License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- 1.09k 2014/01/21 * inside \xintexpr..\relax (and its variants) tacit multiplication now applies when an opening parenthesis is met while scanning a number or looking for some infix operator, * the is accepted by the \xintexpr syntax for input of (big) hexadecimal numbers, possibly with a fractional hexadecimal part. Example: \xintexpr 16^5-(F75DE.0A8B9+8A21.F5746+16^-5)\relax * first sections of the user manual re-organized with the aim to remove duplicates. Various other documentation issues addressed. -- 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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Version number: 1.09g License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- All macros from xint not devoted to big integer computations have been moved to a new constituent xinttools, which is automatically loaded by xint and may also be used independently. Expandable loops \xintloop and \xintiloop allowing nesting have been added to this xinttools package. bug fix: the \xintFor loops modified the value of \count 255. They now use their own count register. (they are among the utilities moved to the xinttools package) -- 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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Version number: 1.09f License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- New features: * \xintZapSpaces /completely expandably/ removes both leading and ending space tokens (char code 32) from its input. The input is not altered in any other way. The variant \xintZapSpacesB additionally transforms spaces{braced}spaces in braced (now unbraced...). \xintZapFirstSpaces and \xintZapLastSpaces do what their name indicate. The input may contain unmatched \if, \fi tokens etc... but top level space tokens are assumed to be of character code 32, as this works with delimited macros. * the completely expandable \xintCSVtoList now strips out all spaces around commas or at the start and end of the list of the comma separated items (using \xintZapSpacesB). * the non completely expandable \xintFor et al. all similarly now removes all spaces around commas. * \xintFor et al. are extended to accept all macro parameters from #1 to #9 (in arbitrary order); this will prove very useful for those who need to typeset a tabular on 9-dimensional paper. I plan on issuing at some point a spin-off package with the macros above (all those described in the documentation section on the Utilities provided by xint.sty). Perhaps \xintZapSpaces could be made into a little package of its own; or the package should contain only what is necessary for \xintFor and its variants. Feedback will be welcome on whether this is worthwile and if the thing should, as the xint bundle packages, be made available to all macro formats or only as a LaTeX package. -- 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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Version number: 1.09e License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- New features: * the new syntax \xintFor #1 in {\xintrationals [f+g]} \do {stuff with #1} does an infinite repetition with #1 first set to f, then f+g, f+2g, ... where f and g are decimal numbers, or fractions, or macros expanding to such things. Also available: - \xintintegers where each #1 will be a \numexpr explicit number\relax - \xintdimensions where each #1 will be a \dimexpr explicit dimension\relax. In the latter case the dimensions are internally kept in sp units, there is no loss of accuracy due to conversion in pt's by \the. * one breaks out of the infinite loop with \xintBreakFor and \xintBreakForAndDo (preferably put inside the true or false branch of a conditional as provided by the package itself or the etoolbox package or the ifthen package; there is no question of complete expandability here, so ifthen is allowed). * also new: \xintifForFirst, \xintifForLast which are expandable conditionals to use in the replacement text of the \xintFor and \xintFor* loops. Can be nested as expected. * new expandable conditionals \xintifCmp and \xintifInt The documentation contains a completely expandable implementation of the Quick Sort algorithm, and a graphical illustration of its functioning. It also has a completely expandable prime test and dynamically constructed prime tables and other examples of use of the completely expandable \xintApplyUnbraced or non completely expandable \xintApplyInline and \xintFor, \xintFor*. -- 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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Version number: 1.09c License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- Release 1.09c adds new features: * bool and togl are two new functions recognized by the \xintexpr parser. They act as in etoolbox boolean expressions (togl requires etoolbox, as it gives the truth value of the named toggle), and may be freely combined using the logic operators , |, or functions all, any, xor, etc... * new conditional \xintifboolexpr {expr}{YES}{NO}, where expr is written in the \xintexpr recognized infix syntax, * the (non-expandable) utility \xintApplyInline has been enhanced to be usable in contexts such as alignments where the applied macro may close groups, * \xintFor is a new kind of for loop: it uses #1, #2, #3, #4 rather than macros to represent the (comma separated) list items; e.g. \xintFor #1 in {a,b,c} \do {\textbf{#1}}. Despite not being completely expandable, it is nestable, and usable to generate rows in alignments, as it survives the closing of groups via its replacement text, * \xintSeq expandably generates arithmetic sequences. Some other changes and code improvements, and improved documentation. -- 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 ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Summary description: Expandable operations on long numbers License type: lppl Announcement text: -- (1.08b) 1. a bug with spaces inside \xinttheexpr...\relax is fixed. 2. some new improvements in the handling of floating point numbers. 3. the previously non-documented possibilities for using count registers and infix operations with them directly in the arguments to the macros of xintfrac.sty are explained. -- This package is located at http://mirror.ctan.org/macros/generic/xint . More information is at http://www.ctan.org/pkg/xint (if the package is new it may take a day for that information to appear). 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 Rainer Schöpf ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN update: xint
the daemon reports Name of contribution: xint Author's name: Jean-Fran\c{c}ois Burnol Package version: 1.08b Location on CTAN: macros/generic/xint/ Summary description: Expandable operations on long numbers License type: lppl Announcement text given by the package's contributor: -- 1. a bug with spaces inside \xinttheexpr...\relax is fixed. 2. some new improvements in the handling of floating point numbers. 3. the previously non-documented possibilities for using count registers and infix operations with them directly in the arguments to the macros of xintfrac.sty are explained. Users may view the package catalogue entry at http://www.ctan.org/pkg/xint or they may browse the package directory at http://mirror.ctan.org/macros/generic/xint/ thanks for the upload; i've installed the new version, and updated the catalogue repository. Robin Fairbairns For the CTAN team ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN update: xint
the daemon reports: The following information was provided by the package's contributor. Name of contribution: xint Author's name: Jean-François Burnol Package version: 1.08 Location on CTAN: macros/generic/xint/ Summary description: Expandable operations on long numbers License type: lppl Announcement text given by the package's contributor: -- This is release 1.08. 1. Square root extraction, both for floats, and in a variant for integers. 2. New package xintbinhex.sty for expandable conversions of arbitrary length data to and from binary and hexadecimal. 3. Various improvements in the documentation. -- Announcement required: Yes Users may view the package catalogue entry at http://www.ctan.org/pkg/xint or they may browse the package directory at http://mirror.ctan.org/macros/generic/xint/ thanks for the upload; i've installed the new version, and updated the catalogue repository. Robin Fairbairns For the CTAN team ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Summary description: Expandable operations on long numbers License type: lppl Announcement text: -- (1.08a: ) 1. improved efficiency of the basic conversion from exact fractions to floats, giving speed gains especially for the power function; 3.1415^30 as a float is now within the package powers (sic), 2. the comparison routines handle much better inputs with big powers of ten, 3. the xintseries package has macros for floats, (1.08: ) 4. square root extraction, both for floats, and in a variant for integers. 5. new package xintbinhex.sty for expandable conversions of arbitrary length data to and from binary and hexadecimal. Many improvements to the pdf documentation. -- This package is located at http://mirror.ctan.org/macros/generic/xint . More information is at http://www.ctan.org/pkg/xint (if the package is new it may take a day for that information to appear). 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 Rainer Schöpf ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Summary description: Expandable operations on long numbers License type: lppl Announcement text given by the package's contributor: -- Release 1.07a (2013/05/26) brings important additions: 1. \xintexpr...\relax is an expandable parser of algebraic expressions involving the basic operations +,-,*,/, and ^ as infix operators, as well as ! for the factorial. It expands everything along the way and recognizes integers, decimal numbers, numbers in scientific notations, and arbitrary levels of parenthesizing. 2. \xintfloatexpr...\relax is the same thing, the operations being excuted with a precision D, whose default is 16 digits, and may be set arbitrarily (theoretical maximum 32768). 3. the other package macros now accept the scientific notation on input and \xintFloat outputs in floating point format with a given precision D either specified as an optional argument or globally set. The bundle now comprises the core constituents xint, xintfrac, and the latest xintexpr which loads the two previous ones, and auxiliary packages xintgcd, xintseries and xintcfrac. The macros are usable with any flavor of TeX with the e-TeX extensions. Users of LaTeX will do \usepackage{xintexpr}, others \input xintexpr.sty -- This package is located at http://mirror.ctan.org/macros/generic/xint . More information is at http://www.ctan.org/pkg/xint (if the package is new it may take a day for that information to appear). 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 Rainer Schöpf ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Summary description: Expandable operations on long numbers License type: lppl Announcement text: -- Release 1.05a fixes a wrong affirmation and a broken link in the documentation of 1.05, and removes five or six strange \expandafter's from the code. -- This package is located at http://mirror.ctan.org/macros/generic/xint . More information is at http://www.ctan.org/pkg/xint (if the package is new it may take a day for that information to appear). 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 Rainer Schöpf ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN Update: xint
Jean-François Burnol submitted an update to the xint package. Summary description: Expandable operations on long numbers License type: lppl Announcement text: -- version 1.04 of xint (2013/04/25) This release has some bug fixes, important improvements in the xintseries package and its documentation, and a new component xintcfrac.sty devoted to continued fractions. 1. bug fixes: \xintIrr {0} was a bad one. Apart from that, there were some inaccuracies in the documentation. 2. the base package xint has new commands to help deal in an expandable way with token lists produced by some of the bundle macros. Also, the division routine is a bit faster, and a rounding macro has been added to the xintfrac package. 3. xintseries: a new implementation of \xintPowerSeries, based on a Horner scheme, has greatly reduced a problem of denominator build-up. Also, the package has new macros, among them \xintRationalSeries is for computing partial sums with general term F(n) where F is a rational function and the macro is given the n-F(n)/F(n-1) function. This is especially designed for series of the exponential type, again to avoid a denominator build-up which made \xintSeries and \xintPowerSeries inefficient in such situations. The documentation has been correspondingly extended. 4. xintcfrac: this is a new package to deal with matters of continued fractions. For example \xintCFrac is like amsmath \cfrac apart from a little detail: it first computes the continued fraction corresponding to a given fractional number! (and then feeds \cfrac with it; almost all package macros only deal with computations, not typesetting). The package includes commodities to specify the coefficients of the (possibly generalized) continued fraction as function of the index, to compute simple and centered continued fractions, to return the list of all convergents, etc... The xint.dtx source file self-extracts packages xint.sty, xintgcd.sty, xintfrac.sty, xintseries.sty and xintcfrac.sty (as well as xint.ins). -- This package is located at http://mirror.ctan.org/macros/generic/xint . More information is at http://www.ctan.org/pkg/xint (if the package is new it may take a day for that information to appear). 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 Rainer Schöpf ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann
CTAN update: xint
the daemon cheerfully reports: Name of contribution: xint Author's name: Jean-François Burnol Package version: 1.03 Location on CTAN: macros/generic/xint/ Summary description: Expandable operations on long numbers License type: lppl Announcement text given by the package's contributor: -- version 1.03 of xint (2013/04/14) The xint bundle has two new components: xintfrac.sty Expandable operations on fractions xintseries.sty Expandable partial sums with xint package xintfrac.sty extends the macros of xint.sty to apply to fractions of arbitrary sizes (please don't type in numerators or denominators with more than 2147483639 digits, if I may ask). As with xint.sty, all computations are done in a manner compatible with expansion-only context. The computations are always done exactly and when printing a fraction with an asked-for given number of digits, all digits are exact. xintseries.sty provides some basic functionality to compute partial sums of series or power series. The computations may be done exactly or with a truncation at a given number of digits after the decimal point. There have been only some changes to the original xint.sty macros: in particular, the division is a bit faster, and the multiplication is a bit slower on less than 50 digits numbers as it now decides by itself what is the probable best order for the inputs ; this leads to potential significant speed gains when one of the number is much longer than the other. It was also crucial for the calculus with fractions as the choice of the best order can not be guessed in advance. The documentation has been revised and enlarged. The traditional Machin algorithm to compute pi is illustrated. Of course, recall that this is all done without any memory assignments, purely by macro expansion, and xintseries is thus no threat to the computing software industry. All components of the xint bundle may be used either with Plain TeX or with LaTeX. Please report bugs to the author. thanks for the upload; i've installed the new version, and updated the catalogue repository. Users may view the package catalogue entry at http://www.ctan.org/pkg/xint or they may browse the package directory at http://mirror.ctan.org/macros/generic/xint/ Robin Fairbairns For the CTAN team ___ Ctan-ann mailing list Ctan-ann@dante.de https://lists.dante.de/mailman/listinfo/ctan-ann