%% %% This is file `bnumexprchanges.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% bnumexpr.dtx (with options: `changes') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from bnumexprchanges.tex. %% %% For distribution of the original source see the terms %% for copying and modification in the file bnumexpr.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- %% The bnumexpr package: Expressions with big integers %% Copyright (C) 2014-2021 by Jean-Francois Burnol %% \item[1.5 (2021/05/17)] \begin{itemize} \item \textbf{breaking change:} the power operators act now in a right associative way; this has been announced at \xintexprname as a probable future evolution, and is implemented in anticipation here now. \item \textbf{fix two bugs} (imported from upstream \xintexprname) regarding hexadecimal input: impossibility to use |"\foo| syntax (one had to do |\expandafter"\foo| which is unexpected constraint; a very longstanding \xintexprname bug) and issues with leading zeros (since \xintexprname |1.2m|). \item renamed |\bnumexprsetup| into |\bnumsetup|; the former remains available but is deprecated. \item the customizability and extendibility is now total: \begin{enumerate} \item |\bnumprintone|, |\bnumprintonetohex|, |\bnumprintonesep|, |\bnumhextodec|, \item |\bnumdefinfix| which allows to add extra infix operators, \item |\bnumdefpostfix| which allows to add extra postfix operators. \end{enumerate} \item |\bnumsetup|, |\bnumdefinfix|, |\bnumdefpostfix| obey the |\xintglobaldefstrue| and |\xintverbosetrue| settings. \item documentation is extended, providing details regarding the precedence model of the parser, as inherited from upstream \xintexprname; also an example of usage of |\bnumsetup| is included on how to transform |\bnumeval| into a calculator with fractions. \end{itemize} \item[1.4a (2021/05/13)] \begin{itemize} \item fix undefined control sequences errors encountered by the parser in case of either extra or missing closing parenthesis (due to a problem in technology transfer at |1.4| from upstream \xintexprname). \item fix |\BNE_Op_opp| must now be \emph{f}-expandable (also caused as a collateral to the technology transfer). \item fix user documentation regarding the constraints applying to the user replacement macros for the core algebra, as they have changed at |1.4|. \end{itemize} \item[1.4 (2021/05/12)] \begin{itemize} \item technology transfer from \xintexprname |1.4| of |2020/01/31|. The |\expanded| primitive is now required (TeXLive 2019). \item addition to the syntax of the |"| prefix for hexadecimal input. \item addition of |\evaltohex| which is like |\bnumeval| with an extra conversion step to hexadecimal notation. \end{itemize} \item[1.2e (2019/01/08)] Fixes a documentation glitch (extra braces when mentioning |\the\numexpr| or |\thebnumexpr|). \item[1.2d (2019/01/07)] \begin{itemize} \item requires \xintcorename |1.3d| or later (if not using option |custom|). \item adds |\bnumeval|\marg{expression} user interface. \end{itemize} \item[1.2c (2017/12/05)] \textbf{Breaking changes:} \begin{itemize} \item requires \xintcorename |1.2p| or later (if not using option |custom|). \item |divtrunc| key of |\bnumexprsetup| is renamed to |div|. \item the |//| and |/:| operators are now by default associated to the \emph{floored} division. This is to keep in sync with the change of \xintcorename at |1.2p|. \item for backwards compatibility, one may add to existing document:\newline \string\bnumexprsetup\{div=\string\xintiiDivTrunc, mod=\string\xintiiModTrunc\} \end{itemize} \item[1.2b (2017/07/09)] \begin{itemize} \item the |_| may be used to separate visually blocks of digits in long numbers. \end{itemize} \item[1.2a (2015/10/14)] \begin{itemize} \item requires \xintcorename |1.2| or later (if not using option |custom|). \item additions to the syntax: factorial |!|, truncated division |//|, its associated modulo |/:| and |**| as alternative to |^|. \item all options removed except |custom|. \item new command |\bnumexprsetup| which replaces the commands such as |\bnumexprusesbigintcalc|. \item the parser is no more limited to numbers with at most 5000 digits. \end{itemize} \item[1.1b (2014/10/28)] \begin{itemize} \item README converted to |markdown/pandoc| syntax, \item the package now loads only |xintcore|, which belongs to |xint| bundle version |1.1| and extracts from the earlier |xint| package the core arithmetic operations as used by |bnumexpr|. \end{itemize} \item[1.1a (2014/09/22)] \begin{itemize} \item added |l3bigint| option to use experimental \LaTeX3 package of the same name, \item added Changes and Readme sections to the documentation, \item better |\BNE_protect| mechanism for use of |\bnumexpr...\relax| inside an |\edef| (without |\bnethe|). Previous one, inherited from |xintexpr.sty 1.09n|, assumed that the |\.=| dummy control sequence encapsulating the computation result had |\relax| meaning. But removing this assumption was only a matter of letting |\BNE_protect| protect two, not one, tokens. This will be backported to next version of \xintexprname, naturally (done with |xintexpr.sty 1.1|). \end{itemize} \item[1.1 (2014/09/21)] First release. This is down-scaled from the (development version of) \xintexprname. Motivation came the previous day from a chat with \textsc{Joseph Wright} over big int status in \LaTeX3. The |\bnumexpr...\relax| parser can be used on top of big int macros of one's choice. Functionalities limited to the basic operations. I leave the power operator |^| as an option. \endinput %% %% End of file `bnumexprchanges.tex'.