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