summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/bnumexpr/bnumexprchanges.tex
blob: 16a3a97b287a3f73ac714052dcdb8a9973b360f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
%%
%% 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 |\.=<digits>| 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'.