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