Commit | Line | Data |
---|---|---|
acaf905b | 1 | Copyright (C) 2001-2012 Free Software Foundation, Inc. |
5b87ad55 | 2 | See the end of the file for license conditions. |
c2e309f2 | 3 | |
136211a9 | 4 | |
bac0fac8 CW |
5 | This directory contains Calc, an advanced desk calculator for GNU |
6 | Emacs. | |
136211a9 | 7 | |
acaf905b | 8 | "Calc" Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc. |
136211a9 | 9 | |
bac0fac8 CW |
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 | |
136211a9 | 16 | |
a1506d29 | 17 | Currently maintained by: |
e8fff8ed | 18 | Jay Belanger <jay.p.belanger@gmail.com> |
136211a9 EZ |
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 | ||
136211a9 | 57 | Calc is written entirely in Emacs Lisp, for maximum portability. |
136211a9 EZ |
58 | |
59 | I am anxious to hear about your experiences using Calc. Send mail to | |
e8fff8ed | 60 | "jay.p.belanger@gmail.com". A bug report is most useful if you include the |
136211a9 EZ |
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 | ||
136211a9 | 68 | |
136211a9 | 69 | |
686bf1b6 JB |
70 | Summary of changes to "Calc" |
71 | ------- -- ------- -- ---- | |
136211a9 | 72 | |
f8b91752 JB |
73 | Emacs 24.1 |
74 | ||
d71990a1 JB |
75 | * Support for musical notes added. |
76 | ||
ec6ad6f2 JB |
77 | * Support for logarithmic units added. |
78 | ||
1265829e JB |
79 | * Calc no longer uses the tex prefix for TeX specific unit |
80 | names when using TeX or LaTeX mode. | |
81 | ||
443c2c03 JB |
82 | * Added option to highlight selections using faces. |
83 | ||
597517ef JB |
84 | * Gave `calc-histogram' the option of using a vector to determine the bins. |
85 | ||
f8b91752 JB |
86 | * Added "O" option prefix. |
87 | ||
88 | * Used "O" prefix to "d r" (`calc-radix') to turn on twos-complement mode. | |
89 | ||
b06df192 JB |
90 | Emacs 23.2 |
91 | ||
92 | * Added twos-complement display. | |
93 | ||
591b6e80 JB |
94 | Emacs 23.1: |
95 | ||
1b2d606c JB |
96 | * Gave `j *' (cal-sel-mult-both-sides) an option to expand the |
97 | denominator. | |
98 | ||
e6c1b5fb JB |
99 | * Use `calc-embedded-word-regexp' for finding words in |
100 | `calc-embedded-word' in place of delimiters. | |
101 | ||
a852994e JB |
102 | * Remove version numbering; use Emacs version for reference. |
103 | ||
a019dc40 JB |
104 | * Added support for using registers. |
105 | ||
e32279ff JB |
106 | * Added support for Yacas, Maxima and Giac languages. |
107 | ||
e6059429 JB |
108 | * Added a menu. |
109 | ||
437806ed JB |
110 | * Added logistic non-linear curves to curve-fitting. |
111 | ||
112 | * Added option of plotting data points and curve when curve-fitting. | |
113 | ||
114 | * Made unit conversions exact when possible. | |
136211a9 | 115 | |
a019dc40 | 116 | * Lowered the precedence of negation. |
7841a7dd | 117 | |
686bf1b6 | 118 | Version 2.1: |
136211a9 | 119 | |
2da61afc JB |
120 | * New matrix mode for square matrices. Improved handling of |
121 | non-commutative products. | |
122 | ||
123 | * New functions: powerexpand and ldiv. | |
124 | ||
686bf1b6 | 125 | * Added new functions: sec, csc, cot, sech, csch, coth. |
136211a9 | 126 | |
686bf1b6 | 127 | * 0^0 now evaluates to 1. |
136211a9 | 128 | |
686bf1b6 JB |
129 | * Added a new language mode for LaTeX. |
130 | ||
131 | * Calc now tries to use an appropriate language mode in embedded mode. | |
132 | ||
133 | * Calc now restores original modes when leaving embedded mode. | |
136211a9 | 134 | |
686bf1b6 JB |
135 | * User settable variables which are not set with keystrokes are now |
136 | customizable. | |
136211a9 | 137 | |
686bf1b6 JB |
138 | * Made ~/.calc.el the default Calc settings file. |
139 | ||
140 | * Miscellaneous updates and bugfixes. | |
141 | ||
142 | \f | |
136211a9 EZ |
143 | Version 2.02f: |
144 | ||
145 | * Fixed a bug which broke `I', `H', `K' prefix keys in recent Emacs. | |
146 | ||
147 | * Fixed a bug in calc.texinfo which prevented "make tex2" from working. | |
148 | ||
149 | * Updated `C-y' (calc-yank) to understand Emacs 19 generalized kill ring. | |
150 | ||
151 | * Added a copy of "calccard.tex", the Calc quick reference card. | |
152 | ||
153 | \f | |
154 | Version 2.02e: | |
155 | ||
156 | * Fixed an installation bug caused by recent changes to `write-region'. | |
157 | ||
158 | \f | |
159 | Version 2.02d: | |
160 | ||
161 | * Fixed a minor installation problem with a Emacs 19.29 byte-compiler bug. | |
162 | ||
163 | * Removed archaic "macedit" package (superseded by "edmacro"). | |
164 | ||
165 | \f | |
166 | Version 2.02c: | |
167 | ||
168 | * Patch to port Calc to Lucid Emacs 19; still works with GNU 18 and GNU 19. | |
169 | ||
170 | * Fixed a bug that broke `C-x C-c' after Calc graphics had been used. | |
171 | ||
172 | \f | |
173 | Version 2.02b: | |
174 | ||
175 | * Minor patch to port Calc to GNU Emacs 19. Will be superseded by Calc 3.00. | |
176 | ||
177 | \f | |
178 | Version 2.02: | |
179 | ||
180 | * Revamped the manual a bit; rearranged some sections. | |
181 | ||
182 | * Added marginal notes for Key/Function Index refs in printed manual. | |
183 | ||
184 | * Changed `M-# r' to deal more gracefully with blank lines. | |
185 | ||
186 | * Made reductions like `V R +' and `M-# :' considerably faster. | |
187 | ||
188 | * Improved parsing and display of cases like "[a + b]". | |
189 | ||
190 | * Added `t +' and `t -' for doing business date arithmetic. | |
191 | ||
192 | * Added "syntax tables," the opposite of compositions. | |
193 | ||
194 | * Added another Rewrites Tutorial exercise. | |
195 | ||
196 | * Added the "vmatches" function. | |
197 | ||
198 | * Added the `Modes' variable and `m g' command. | |
199 | ||
200 | * Improved `u s' to cancel, e.g., "11 mph hr / yd" to get a number. | |
201 | ||
202 | * Added "quick units" commands "u 0" through "u 9". | |
203 | ||
204 | * Moved `M-%' to calc.el to avoid autoloading problems. | |
205 | ||
206 | * Added `M-=' during algebraic entry, acts like `RET ='. | |
207 | ||
208 | * Made `LFD' prevent evaluation when finishing a calc-edit command. | |
209 | ||
210 | * Changed calc-store commands to use `t .' mode for trail display. | |
211 | ||
212 | * Improved integrator to understand forms involving "erf". | |
213 | ||
214 | * Fixed parser to make sense of "[1....1e2]" input. | |
215 | ||
216 | * Fixed FORTRAN parser to treat a(i,j) as a_i_j if a is declared matrix. | |
217 | ||
218 | * Got rid of some version number stamps to reduce size of patches. | |
219 | ||
220 | * Fixed a bug in defmath treating "<=" and ">=" predicates. | |
221 | ||
222 | * Fixed a bug in which Calc crashed multiplying two date forms. | |
223 | ||
224 | * Fixed a bug in line breaker that crashed for large, nested formulas. | |
225 | ||
226 | * Fixed a bug using ` to edit string("foo"). | |
227 | ||
228 | * Fixed a bug where `M-# y' in Big mode copied stack level number. | |
229 | ||
230 | * Fixed a bug where `g O' used wrong default directory, no completion. | |
231 | ||
232 | * Fixed a bug where "foo_bar(i)" parsed in C mode but showed as foo#bar. | |
233 | ||
234 | * Fixed several bugs where large calculations got "computation too long." | |
235 | ||
236 | \f | |
237 | Version 2.01: | |
238 | ||
239 | * Added percentage commands `M-%', `b %', and `c %'. | |
240 | ||
241 | * Changed Big mode to force radix-10 in superscripts. | |
242 | ||
243 | * Improved display of fractions in various language modes. | |
244 | ||
245 | * Changed `a n' to work properly with equations and inequalities. | |
246 | ||
247 | * The problem with cross references to Index nodes in TeX has been fixed. | |
248 | ||
249 | * Fixed a bug where recursive esc-maps make calc-ext/-aent unloadable. | |
250 | ||
251 | * Fixed a bug in `M-# k', then `OFF' right away, with fresh Emacs. | |
252 | ||
253 | * Fixed a bug in which "S_i_j" was formatted wrong after `j s'. | |
254 | ||
255 | * Fixed a bug in which `h k u c' positioned cursor on wrong line. | |
256 | ||
257 | * Fixed a bug where `z ?' crashed if `z %' was defined. | |
258 | ||
259 | * Fixed a bug in `j O' (calc-select-once-maybe). | |
260 | ||
261 | * Fixed "make private" not to ask "Delete excess versions" and crash. | |
262 | ||
263 | \f | |
264 | Version 2.00: | |
265 | ||
266 | * First complete posting of Calc since 1.01. | |
267 | ||
268 | * Most parts of Calc have seen changes since version 1.07. See | |
269 | section "New for Calc 2.00" in the manual for a summary. In | |
270 | the FTP version of the Calc distribution, the file README.prev | |
271 | contains a detailed change history from 1.00 up to 2.00. | |
272 | ||
5b87ad55 GM |
273 | \f |
274 | This file is part of GNU Emacs. | |
275 | ||
662c9c64 | 276 | GNU Emacs is free software: you can redistribute it and/or modify |
5b87ad55 | 277 | it under the terms of the GNU General Public License as published by |
662c9c64 GM |
278 | the Free Software Foundation, either version 3 of the License, or |
279 | (at your option) any later version. | |
5b87ad55 GM |
280 | |
281 | GNU Emacs is distributed in the hope that it will be useful, | |
282 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
283 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
284 | GNU General Public License for more details. | |
285 | ||
286 | You should have received a copy of the GNU General Public License | |
662c9c64 | 287 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |