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 {braced}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 \relax - \xintdimensions where each #1 will be a \dimexpr \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 {}{YES}{NO}, where 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. Version number: 1.09a License type: lppl Summary description: Expandable operations on long numbers Announcement text: -- \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 ,,... \relax returns the comma separated list where each 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 ___ 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
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
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
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 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