]> code.delx.au - gnu-emacs/blob - lisp/calc/README
25d1a5e9b580a48ad6929c2e767bc1c4df489b08
[gnu-emacs] / lisp / calc / README
1 Copyright (C) 2001-2012 Free Software Foundation, Inc.
2 See the end of the file for license conditions.
3
4
5 This directory contains Calc, an advanced desk calculator for GNU
6 Emacs.
7
8 "Calc" Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
9
10 Written by:
11 Dave Gillespie
12 c/o Synaptics, Inc.
13 2698 Orchard Parkway
14 San Jose CA 95134
15 daveg@synaptics.com, uunet!synaptx!daveg
16
17 Currently maintained by:
18 Jay Belanger <jay.p.belanger@gmail.com>
19
20 From the introduction to the manual:
21
22 "Calc" is an advanced calculator and mathematical tool that runs as
23 part of the GNU Emacs environment. Very roughly based on the HP-28/48
24 series of calculators, its many features include:
25
26 * Choice of algebraic or RPN (stack-based) entry of calculations.
27
28 * Arbitrary precision integers and floating-point numbers.
29
30 * Arithmetic on rational numbers, complex numbers (rectangular and
31 polar), error forms with standard deviations, open and closed
32 intervals, vectors and matrices, dates and times, infinities,
33 sets, quantities with units, and algebraic formulas.
34
35 * Mathematical operations such as logarithms and trigonometric functions.
36
37 * Programmer's features (bitwise operations, non-decimal numbers).
38
39 * Financial functions such as future value and internal rate of return.
40
41 * Number theoretical features such as prime factorization and
42 arithmetic modulo M for any M.
43
44 * Algebraic manipulation features, including symbolic calculus.
45
46 * Moving data to and from regular editing buffers.
47
48 * "Embedded mode" for manipulating Calc formulas and data directly
49 inside any editing buffer.
50
51 * Graphics using GNUPLOT, a versatile (and free) plotting program.
52
53 * Easy programming using keyboard macros, algebraic formulas,
54 algebraic rewrite rules, or extended Emacs Lisp.
55
56
57 Calc is written entirely in Emacs Lisp, for maximum portability.
58
59 I am anxious to hear about your experiences using Calc. Send mail to
60 "jay.p.belanger@gmail.com". A bug report is most useful if you include the
61 exact input and output that occurred, any modes in effect (such as the
62 current precision), and so on. If you find Calc is difficult to operate
63 in any way, or if you have other suggestions, don't hesitate to let me
64 know. If you find errors (including simple typos) in the manual, let
65 me know. Even if you find no bugs at all I would love to hear your
66 opinions.
67
68
69
70 Summary of changes to "Calc"
71 ------- -- ------- -- ----
72
73 Emacs 24.3
74
75 Algebraic simplification mode is now the default.
76 To restrict to the limited simplifications given by the former
77 default simplification mode, use `m I'.
78
79 Emacs 24.1
80
81 * Support for musical notes added.
82
83 * Support for logarithmic units added.
84
85 * Calc no longer uses the tex prefix for TeX specific unit
86 names when using TeX or LaTeX mode.
87
88 * Added option to highlight selections using faces.
89
90 * Gave `calc-histogram' the option of using a vector to determine the bins.
91
92 * Added "O" option prefix.
93
94 * Used "O" prefix to "d r" (`calc-radix') to turn on twos-complement mode.
95
96 Emacs 23.2
97
98 * Added twos-complement display.
99
100 Emacs 23.1:
101
102 * Gave `j *' (cal-sel-mult-both-sides) an option to expand the
103 denominator.
104
105 * Use `calc-embedded-word-regexp' for finding words in
106 `calc-embedded-word' in place of delimiters.
107
108 * Remove version numbering; use Emacs version for reference.
109
110 * Added support for using registers.
111
112 * Added support for Yacas, Maxima and Giac languages.
113
114 * Added a menu.
115
116 * Added logistic non-linear curves to curve-fitting.
117
118 * Added option of plotting data points and curve when curve-fitting.
119
120 * Made unit conversions exact when possible.
121
122 * Lowered the precedence of negation.
123
124 Version 2.1:
125
126 * New matrix mode for square matrices. Improved handling of
127 non-commutative products.
128
129 * New functions: powerexpand and ldiv.
130
131 * Added new functions: sec, csc, cot, sech, csch, coth.
132
133 * 0^0 now evaluates to 1.
134
135 * Added a new language mode for LaTeX.
136
137 * Calc now tries to use an appropriate language mode in embedded mode.
138
139 * Calc now restores original modes when leaving embedded mode.
140
141 * User settable variables which are not set with keystrokes are now
142 customizable.
143
144 * Made ~/.calc.el the default Calc settings file.
145
146 * Miscellaneous updates and bugfixes.
147
148 \f
149 Version 2.02f:
150
151 * Fixed a bug which broke `I', `H', `K' prefix keys in recent Emacs.
152
153 * Fixed a bug in calc.texinfo which prevented "make tex2" from working.
154
155 * Updated `C-y' (calc-yank) to understand Emacs 19 generalized kill ring.
156
157 * Added a copy of "calccard.tex", the Calc quick reference card.
158
159 \f
160 Version 2.02e:
161
162 * Fixed an installation bug caused by recent changes to `write-region'.
163
164 \f
165 Version 2.02d:
166
167 * Fixed a minor installation problem with a Emacs 19.29 byte-compiler bug.
168
169 * Removed archaic "macedit" package (superseded by "edmacro").
170
171 \f
172 Version 2.02c:
173
174 * Patch to port Calc to Lucid Emacs 19; still works with GNU 18 and GNU 19.
175
176 * Fixed a bug that broke `C-x C-c' after Calc graphics had been used.
177
178 \f
179 Version 2.02b:
180
181 * Minor patch to port Calc to GNU Emacs 19. Will be superseded by Calc 3.00.
182
183 \f
184 Version 2.02:
185
186 * Revamped the manual a bit; rearranged some sections.
187
188 * Added marginal notes for Key/Function Index refs in printed manual.
189
190 * Changed `M-# r' to deal more gracefully with blank lines.
191
192 * Made reductions like `V R +' and `M-# :' considerably faster.
193
194 * Improved parsing and display of cases like "[a + b]".
195
196 * Added `t +' and `t -' for doing business date arithmetic.
197
198 * Added "syntax tables," the opposite of compositions.
199
200 * Added another Rewrites Tutorial exercise.
201
202 * Added the "vmatches" function.
203
204 * Added the `Modes' variable and `m g' command.
205
206 * Improved `u s' to cancel, e.g., "11 mph hr / yd" to get a number.
207
208 * Added "quick units" commands "u 0" through "u 9".
209
210 * Moved `M-%' to calc.el to avoid autoloading problems.
211
212 * Added `M-=' during algebraic entry, acts like `RET ='.
213
214 * Made `LFD' prevent evaluation when finishing a calc-edit command.
215
216 * Changed calc-store commands to use `t .' mode for trail display.
217
218 * Improved integrator to understand forms involving "erf".
219
220 * Fixed parser to make sense of "[1....1e2]" input.
221
222 * Fixed FORTRAN parser to treat a(i,j) as a_i_j if a is declared matrix.
223
224 * Got rid of some version number stamps to reduce size of patches.
225
226 * Fixed a bug in defmath treating "<=" and ">=" predicates.
227
228 * Fixed a bug in which Calc crashed multiplying two date forms.
229
230 * Fixed a bug in line breaker that crashed for large, nested formulas.
231
232 * Fixed a bug using ` to edit string("foo").
233
234 * Fixed a bug where `M-# y' in Big mode copied stack level number.
235
236 * Fixed a bug where `g O' used wrong default directory, no completion.
237
238 * Fixed a bug where "foo_bar(i)" parsed in C mode but showed as foo#bar.
239
240 * Fixed several bugs where large calculations got "computation too long."
241
242 \f
243 Version 2.01:
244
245 * Added percentage commands `M-%', `b %', and `c %'.
246
247 * Changed Big mode to force radix-10 in superscripts.
248
249 * Improved display of fractions in various language modes.
250
251 * Changed `a n' to work properly with equations and inequalities.
252
253 * The problem with cross references to Index nodes in TeX has been fixed.
254
255 * Fixed a bug where recursive esc-maps make calc-ext/-aent unloadable.
256
257 * Fixed a bug in `M-# k', then `OFF' right away, with fresh Emacs.
258
259 * Fixed a bug in which "S_i_j" was formatted wrong after `j s'.
260
261 * Fixed a bug in which `h k u c' positioned cursor on wrong line.
262
263 * Fixed a bug where `z ?' crashed if `z %' was defined.
264
265 * Fixed a bug in `j O' (calc-select-once-maybe).
266
267 * Fixed "make private" not to ask "Delete excess versions" and crash.
268
269 \f
270 Version 2.00:
271
272 * First complete posting of Calc since 1.01.
273
274 * Most parts of Calc have seen changes since version 1.07. See
275 section "New for Calc 2.00" in the manual for a summary. In
276 the FTP version of the Calc distribution, the file README.prev
277 contains a detailed change history from 1.00 up to 2.00.
278
279 \f
280 This file is part of GNU Emacs.
281
282 GNU Emacs is free software: you can redistribute it and/or modify
283 it under the terms of the GNU General Public License as published by
284 the Free Software Foundation, either version 3 of the License, or
285 (at your option) any later version.
286
287 GNU Emacs is distributed in the hope that it will be useful,
288 but WITHOUT ANY WARRANTY; without even the implied warranty of
289 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
290 GNU General Public License for more details.
291
292 You should have received a copy of the GNU General Public License
293 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.