comparison man/calc.texi @ 90133:4da4a09e8b1b

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-31 Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 206-222) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 45-52) - Update from CVS - Update from CVS: texi Makefile.in CVS keyw cruft - Update from CVS: ChangeLog tweaks
author Miles Bader <miles@gnu.org>
date Thu, 31 Mar 2005 09:58:14 +0000
parents 13796b0653c7 c6df9dde5f1d
children 7a3341d65a12
comparison
equal deleted inserted replaced
90132:4080fe8b4f0f 90133:4da4a09e8b1b
81 @end iftex 81 @end iftex
82 82
83 @copying 83 @copying
84 This file documents Calc, the GNU Emacs calculator. 84 This file documents Calc, the GNU Emacs calculator.
85 85
86 Copyright (C) 1990, 1991, 2001, 2002 Free Software Foundation, Inc. 86 Copyright (C) 1990, 1991, 2001, 2002, 2005 Free Software Foundation, Inc.
87 87
88 @quotation 88 @quotation
89 Permission is granted to copy, distribute and/or modify this document 89 Permission is granted to copy, distribute and/or modify this document
90 under the terms of the GNU Free Documentation License, Version 1.1 or 90 under the terms of the GNU Free Documentation License, Version 1.1 or
91 any later version published by the Free Software Foundation; with the 91 any later version published by the Free Software Foundation; with the
109 @center @titlefont{Calc Manual} 109 @center @titlefont{Calc Manual}
110 @sp 4 110 @sp 4
111 @center GNU Emacs Calc Version 2.02g 111 @center GNU Emacs Calc Version 2.02g
112 @c [volume] 112 @c [volume]
113 @sp 1 113 @sp 1
114 @center January 2002 114 @center March 2005
115 @sp 5 115 @sp 5
116 @center Dave Gillespie 116 @center Dave Gillespie
117 @center daveg@@synaptics.com 117 @center daveg@@synaptics.com
118 @page 118 @page
119 119
120 @vskip 0pt plus 1filll 120 @vskip 0pt plus 1filll
121 Copyright @copyright{} 1990, 1991, 2001, 2002 Free Software Foundation, Inc. 121 Copyright @copyright{} 1990, 1991, 2001, 2002, 2005
122 Free Software Foundation, Inc.
122 @insertcopying 123 @insertcopying
123 @end titlepage 124 @end titlepage
124 125
125 @c [begin] 126 @c [begin]
126 @ifinfo 127 @ifinfo
474 Calc tries to include a little something for everyone; as a result it is 475 Calc tries to include a little something for everyone; as a result it is
475 large and might be intimidating to the first-time user. If you plan to 476 large and might be intimidating to the first-time user. If you plan to
476 use Calc only as a traditional desk calculator, all you really need to 477 use Calc only as a traditional desk calculator, all you really need to
477 read is the ``Getting Started'' chapter of this manual and possibly the 478 read is the ``Getting Started'' chapter of this manual and possibly the
478 first few sections of the tutorial. As you become more comfortable with 479 first few sections of the tutorial. As you become more comfortable with
479 the program you can learn its additional features. In terms of efficiency, 480 the program you can learn its additional features. Calc does not
480 scope and depth, Calc cannot replace a powerful tool like Mathematica. 481 have the scope and depth of a fully-functional symbolic math package,
481 But Calc has the advantages of convenience, portability, and availability 482 but Calc has the advantages of convenience, portability, and freedom.
482 of the source code. And, of course, it's free!
483 483
484 @node About This Manual, Notations Used in This Manual, What is Calc, Getting Started 484 @node About This Manual, Notations Used in This Manual, What is Calc, Getting Started
485 @section About This Manual 485 @section About This Manual
486 486
487 @noindent 487 @noindent
544 or to the Summary by pressing @kbd{h s} or @kbd{M-# s}. Within Calc, 544 or to the Summary by pressing @kbd{h s} or @kbd{M-# s}. Within Calc,
545 you can also go to the part of the manual describing any Calc key, 545 you can also go to the part of the manual describing any Calc key,
546 function, or variable using @w{@kbd{h k}}, @kbd{h f}, or @kbd{h v}, 546 function, or variable using @w{@kbd{h k}}, @kbd{h f}, or @kbd{h v},
547 respectively. @xref{Help Commands}. 547 respectively. @xref{Help Commands}.
548 548
549 Printed copies of this manual are also available from the Free Software 549 The Calc manual can be printed, but because the manual is so large, you
550 Foundation. 550 should only make a printed copy if you really need it. To print the
551 manual, you will need the @TeX{} typesetting program (this is a free
552 program by Donald Knuth at Stanford University) as well as the
553 @file{texindex} program and @file{texinfo.tex} file, both of which can
554 be obtained from the FSF as part of the @code{texinfo} package.
555 To print the Calc manual in one huge tome, you will need the
556 source code to this manual, @file{calc.texi}, available as part of the
557 Emacs source. Once you have this file, type @kbd{texi2dvi calc.texi}.
558 Alternatively, change to the @file{man} subdirectory of the Emacs
559 source distribution, and type @kbd{make calc.dvi}. (Don't worry if you
560 get some ``overfull box'' warnings while @TeX{} runs.)
561 The result will be a device-independent output file called
562 @file{calc.dvi}, which you must print in whatever way is right
563 for your system. On many systems, the command is
564
565 @example
566 lpr -d calc.dvi
567 @end example
568
569 @noindent
570 or
571
572 @example
573 dvips calc.dvi
574 @end example
575
576 @c Printed copies of this manual are also available from the Free Software
577 @c Foundation.
551 578
552 @node Notations Used in This Manual, Demonstration of Calc, About This Manual, Getting Started 579 @node Notations Used in This Manual, Demonstration of Calc, About This Manual, Getting Started
553 @section Notations Used in This Manual 580 @section Notations Used in This Manual
554 581
555 @noindent 582 @noindent
1363 to support fractions as well as floats. All these features inspired me 1390 to support fractions as well as floats. All these features inspired me
1364 to look around for other data types that might be worth having. 1391 to look around for other data types that might be worth having.
1365 1392
1366 Around this time, my friend Rick Koshi showed me his nifty new HP-28 1393 Around this time, my friend Rick Koshi showed me his nifty new HP-28
1367 calculator. It allowed the user to manipulate formulas as well as 1394 calculator. It allowed the user to manipulate formulas as well as
1368 numerical quantities, and it could also operate on matrices. I decided 1395 numerical quantities, and it could also operate on matrices. I
1369 that these would be good for Calc to have, too. And once things had 1396 decided that these would be good for Calc to have, too. And once
1370 gone this far, I figured I might as well take a look at serious algebra 1397 things had gone this far, I figured I might as well take a look at
1371 systems like Mathematica, Macsyma, and Maple for further ideas. Since 1398 serious algebra systems for further ideas. Since these systems did
1372 these systems did far more than I could ever hope to implement, I decided 1399 far more than I could ever hope to implement, I decided to focus on
1373 to focus on rewrite rules and other programming features so that users 1400 rewrite rules and other programming features so that users could
1374 could implement what they needed for themselves. 1401 implement what they needed for themselves.
1375 1402
1376 Rick complained that matrices were hard to read, so I put in code to 1403 Rick complained that matrices were hard to read, so I put in code to
1377 format them in a 2D style. Once these routines were in place, Big mode 1404 format them in a 2D style. Once these routines were in place, Big mode
1378 was obligatory. Gee, what other language modes would be useful? 1405 was obligatory. Gee, what other language modes would be useful?
1379 1406
1410 @cindex Numerical Recipes 1437 @cindex Numerical Recipes
1411 @c Should these be expanded into more complete references? 1438 @c Should these be expanded into more complete references?
1412 Among the books used in the development of Calc were Knuth's @emph{Art 1439 Among the books used in the development of Calc were Knuth's @emph{Art
1413 of Computer Programming} (especially volume II, @emph{Seminumerical 1440 of Computer Programming} (especially volume II, @emph{Seminumerical
1414 Algorithms}); @emph{Numerical Recipes} by Press, Flannery, Teukolsky, 1441 Algorithms}); @emph{Numerical Recipes} by Press, Flannery, Teukolsky,
1415 and Vetterling; Bevington's @emph{Data Reduction and Error Analysis for 1442 and Vetterling; Bevington's @emph{Data Reduction and Error Analysis
1416 the Physical Sciences}; @emph{Concrete Mathematics} by Graham, Knuth, 1443 for the Physical Sciences}; @emph{Concrete Mathematics} by Graham,
1417 and Patashnik; Steele's @emph{Common Lisp, the Language}; the @emph{CRC 1444 Knuth, and Patashnik; Steele's @emph{Common Lisp, the Language}; the
1418 Standard Math Tables} (William H. Beyer, ed.); and Abramowitz and 1445 @emph{CRC Standard Math Tables} (William H. Beyer, ed.); and
1419 Stegun's venerable @emph{Handbook of Mathematical Functions}. I 1446 Abramowitz and Stegun's venerable @emph{Handbook of Mathematical
1420 consulted the user's manuals for the HP-28 and HP-48 calculators, as 1447 Functions}. Also, of course, Calc could not have been written without
1421 well as for the programs Mathematica, SMP, Macsyma, Maple, MathCAD, 1448 the excellent @emph{GNU Emacs Lisp Reference Manual}, by Bil Lewis and
1422 Gnuplot, and others. Also, of course, Calc could not have been written 1449 Dan LaLiberte.
1423 without the excellent @emph{GNU Emacs Lisp Reference Manual}, by Bil
1424 Lewis and Dan LaLiberte.
1425 1450
1426 Final thanks go to Richard Stallman, without whose fine implementations 1451 Final thanks go to Richard Stallman, without whose fine implementations
1427 of the Emacs editor, language, and environment, Calc would have been 1452 of the Emacs editor, language, and environment, Calc would have been
1428 finished in two weeks. 1453 finished in two weeks.
1429 1454
1501 does not cover everything in the Calculator, but it touches on most 1526 does not cover everything in the Calculator, but it touches on most
1502 general areas. 1527 general areas.
1503 1528
1504 @ifinfo 1529 @ifinfo
1505 You may wish to print out a copy of the Calc Summary and keep notes on 1530 You may wish to print out a copy of the Calc Summary and keep notes on
1506 it as you learn Calc. @xref{Installation}, to see how to make a printed 1531 it as you learn Calc. @xref{About This Manual}, to see how to make a
1507 summary. @xref{Summary}. 1532 printed summary. @xref{Summary}.
1508 @end ifinfo 1533 @end ifinfo
1509 @iftex 1534 @iftex
1510 The Calc Summary at the end of the reference manual includes some blank 1535 The Calc Summary at the end of the reference manual includes some blank
1511 space for your own use. You may wish to keep notes there as you learn 1536 space for your own use. You may wish to keep notes there as you learn
1512 Calc. 1537 Calc.
5599 another good reason to store your rules in variables rather than 5624 another good reason to store your rules in variables rather than
5600 entering them on the fly. 5625 entering them on the fly.
5601 5626
5602 (@bullet{}) @strong{Exercise 1.} Type @kbd{m s} to get Symbolic 5627 (@bullet{}) @strong{Exercise 1.} Type @kbd{m s} to get Symbolic
5603 mode, then enter the formula @samp{@w{(2 + sqrt(2))} / @w{(1 + sqrt(2))}}. 5628 mode, then enter the formula @samp{@w{(2 + sqrt(2))} / @w{(1 + sqrt(2))}}.
5604 Using a rewrite rule, simplify this formula by multiplying both 5629 Using a rewrite rule, simplify this formula by multiplying the top and
5605 sides by the conjugate @w{@samp{1 - sqrt(2)}}. The result will have 5630 bottom by the conjugate @w{@samp{1 - sqrt(2)}}. The result will have
5606 to be expanded by the distributive law; do this with another 5631 to be expanded by the distributive law; do this with another
5607 rewrite. @xref{Rewrites Answer 1, 1}. (@bullet{}) 5632 rewrite. @xref{Rewrites Answer 1, 1}. (@bullet{})
5608 5633
5609 The @kbd{a r} command can also accept a vector of rewrite rules, or 5634 The @kbd{a r} command can also accept a vector of rewrite rules, or
5610 a variable containing a vector of rules. 5635 a variable containing a vector of rules.
11292 @texline @math{0 \le a < M}. 11317 @texline @math{0 \le a < M}.
11293 @infoline @expr{0 <= a < @var{M}}. 11318 @infoline @expr{0 <= a < @var{M}}.
11294 In many applications @expr{a} and @expr{M} will be 11319 In many applications @expr{a} and @expr{M} will be
11295 integers but this is not required. 11320 integers but this is not required.
11296 11321
11322 @ignore
11323 @mindex M
11324 @end ignore
11325 @kindex M (modulo forms)
11326 @ignore
11327 @mindex mod
11328 @end ignore
11329 @tindex mod (operator)
11330 To create a modulo form during numeric entry, press the shift-@kbd{M}
11331 key to enter the word @samp{mod}. As a special convenience, pressing
11332 shift-@kbd{M} a second time automatically enters the value of @expr{M}
11333 that was most recently used before. During algebraic entry, either
11334 type @samp{mod} by hand or press @kbd{M-m} (that's @kbd{@key{META}-m}).
11335 Once again, pressing this a second time enters the current modulo.
11336
11297 Modulo forms are not to be confused with the modulo operator @samp{%}. 11337 Modulo forms are not to be confused with the modulo operator @samp{%}.
11298 The expression @samp{27 % 10} means to compute 27 modulo 10 to produce 11338 The expression @samp{27 % 10} means to compute 27 modulo 10 to produce
11299 the result 7. Further computations treat this 7 as just a regular integer. 11339 the result 7. Further computations treat this 7 as just a regular integer.
11300 The expression @samp{27 mod 10} produces the result @samp{7 mod 10}; 11340 The expression @samp{27 mod 10} produces the result @samp{7 mod 10};
11301 further computations with this value are again reduced modulo 10 so that 11341 further computations with this value are again reduced modulo 10 so that
11324 @texline @math{\sqrt a} 11364 @texline @math{\sqrt a}
11325 @infoline @expr{sqrt(a)} 11365 @infoline @expr{sqrt(a)}
11326 modulo @expr{M}, this is not a useful definition from the 11366 modulo @expr{M}, this is not a useful definition from the
11327 number-theoretical point of view.) 11367 number-theoretical point of view.)
11328 11368
11329 @ignore
11330 @mindex M
11331 @end ignore
11332 @kindex M (modulo forms)
11333 @ignore
11334 @mindex mod
11335 @end ignore
11336 @tindex mod (operator)
11337 To create a modulo form during numeric entry, press the shift-@kbd{M}
11338 key to enter the word @samp{mod}. As a special convenience, pressing
11339 shift-@kbd{M} a second time automatically enters the value of @expr{M}
11340 that was most recently used before. During algebraic entry, either
11341 type @samp{mod} by hand or press @kbd{M-m} (that's @kbd{@key{META}-m}).
11342 Once again, pressing this a second time enters the current modulo.
11343
11344 You can also use @kbd{v p} and @kbd{%} to modify modulo forms.
11345 @xref{Building Vectors}. @xref{Basic Arithmetic}.
11346
11347 It is possible to mix HMS forms and modulo forms. For example, an 11369 It is possible to mix HMS forms and modulo forms. For example, an
11348 HMS form modulo 24 could be used to manipulate clock times; an HMS 11370 HMS form modulo 24 could be used to manipulate clock times; an HMS
11349 form modulo 360 would be suitable for angles. Making the modulo @expr{M} 11371 form modulo 360 would be suitable for angles. Making the modulo @expr{M}
11350 also be an HMS form eliminates troubles that would arise if the angular 11372 also be an HMS form eliminates troubles that would arise if the angular
11351 mode were inadvertently set to Radians, in which case 11373 mode were inadvertently set to Radians, in which case
11353 24 radians! 11375 24 radians!
11354 11376
11355 Modulo forms cannot have variables or formulas for components. If you 11377 Modulo forms cannot have variables or formulas for components. If you
11356 enter the formula @samp{(x + 2) mod 5}, Calc propagates the modulus 11378 enter the formula @samp{(x + 2) mod 5}, Calc propagates the modulus
11357 to each of the coefficients: @samp{(1 mod 5) x + (2 mod 5)}. 11379 to each of the coefficients: @samp{(1 mod 5) x + (2 mod 5)}.
11380
11381 You can use @kbd{v p} and @kbd{%} to modify modulo forms.
11382 @xref{Packing and Unpacking}. @xref{Basic Arithmetic}.
11358 11383
11359 @ignore 11384 @ignore
11360 @starindex 11385 @starindex
11361 @end ignore 11386 @end ignore
11362 @tindex makemod 11387 @tindex makemod
12260 appended to the end of the file. 12285 appended to the end of the file.
12261 12286
12262 @kindex m R 12287 @kindex m R
12263 @pindex calc-mode-record-mode 12288 @pindex calc-mode-record-mode
12264 The @kbd{m R} (@code{calc-mode-record-mode}) command tells Calc to 12289 The @kbd{m R} (@code{calc-mode-record-mode}) command tells Calc to
12265 record the new mode settings (as if by pressing @kbd{m m}) every 12290 record all the mode settings (as if by pressing @kbd{m m}) every
12266 time a mode setting changes. If Embedded mode is enabled, other 12291 time a mode setting changes. If the modes are saved this way, then this
12267 options are available; @pxref{Mode Settings in Embedded Mode}. 12292 ``automatic mode recording'' mode is also saved.
12293 Type @kbd{m R} again to disable this method of recording the mode
12294 settings. To turn it off permanently, the @kbd{m m} command will also be
12295 necessary. (If Embedded mode is enabled, other options for recording
12296 the modes are available; @pxref{Mode Settings in Embedded Mode}.)
12268 12297
12269 @kindex m F 12298 @kindex m F
12270 @pindex calc-settings-file-name 12299 @pindex calc-settings-file-name
12271 The @kbd{m F} (@code{calc-settings-file-name}) command allows you to 12300 The @kbd{m F} (@code{calc-settings-file-name}) command allows you to
12272 choose a different file than the current value of @code{calc-settings-file} 12301 choose a different file than the current value of @code{calc-settings-file}
12483 @cindex Fraction mode 12512 @cindex Fraction mode
12484 @cindex Division of integers 12513 @cindex Division of integers
12485 Division of two integers normally yields a floating-point number if the 12514 Division of two integers normally yields a floating-point number if the
12486 result cannot be expressed as an integer. In some cases you would 12515 result cannot be expressed as an integer. In some cases you would
12487 rather get an exact fractional answer. One way to accomplish this is 12516 rather get an exact fractional answer. One way to accomplish this is
12488 to multiply fractions instead: @kbd{6 @key{RET} 1:4 *} produces @expr{3:2} 12517 to use the @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command, which
12489 even though @kbd{6 @key{RET} 4 /} produces @expr{1.5}. 12518 divides the two integers on the top of the stack to produce a fraction:
12519 @kbd{6 @key{RET} 4 :} produces @expr{3:2} even though
12520 @kbd{6 @key{RET} 4 /} produces @expr{1.5}.
12490 12521
12491 @kindex m f 12522 @kindex m f
12492 @pindex calc-frac-mode 12523 @pindex calc-frac-mode
12493 To set the Calculator to produce fractional results for normal integer 12524 To set the Calculator to produce fractional results for normal integer
12494 divisions, use the @kbd{m f} (@code{calc-frac-mode}) command. 12525 divisions, use the @kbd{m f} (@code{calc-frac-mode}) command.
13289 (@code{calc-group-digits}) to enable @dfn{Grouping} mode, in which digits 13320 (@code{calc-group-digits}) to enable @dfn{Grouping} mode, in which digits
13290 are displayed in clumps of 3 or 4 (depending on the current radix) 13321 are displayed in clumps of 3 or 4 (depending on the current radix)
13291 separated by commas. 13322 separated by commas.
13292 13323
13293 The @kbd{d g} command toggles grouping on and off. 13324 The @kbd{d g} command toggles grouping on and off.
13294 With a numerix prefix of 0, this command displays the current state of 13325 With a numeric prefix of 0, this command displays the current state of
13295 the grouping flag; with an argument of minus one it disables grouping; 13326 the grouping flag; with an argument of minus one it disables grouping;
13296 with a positive argument @expr{N} it enables grouping on every @expr{N} 13327 with a positive argument @expr{N} it enables grouping on every @expr{N}
13297 digits. For floating-point numbers, grouping normally occurs only 13328 digits. For floating-point numbers, grouping normally occurs only
13298 before the decimal point. A negative prefix argument @expr{-N} enables 13329 before the decimal point. A negative prefix argument @expr{-N} enables
13299 grouping every @expr{N} digits both before and after the decimal point. 13330 grouping every @expr{N} digits both before and after the decimal point.
13795 @cindex Narrowing the stack 13826 @cindex Narrowing the stack
13796 The @kbd{d t} (@code{calc-truncate-stack}) command moves the @samp{.}@: 13827 The @kbd{d t} (@code{calc-truncate-stack}) command moves the @samp{.}@:
13797 line that marks the top-of-stack up or down in the Calculator buffer. 13828 line that marks the top-of-stack up or down in the Calculator buffer.
13798 The number right above that line is considered to the be at the top of 13829 The number right above that line is considered to the be at the top of
13799 the stack. Any numbers below that line are ``hidden'' from all stack 13830 the stack. Any numbers below that line are ``hidden'' from all stack
13800 operations. This is similar to the Emacs ``narrowing'' feature, except 13831 operations (although still visible to the user). This is similar to the
13801 that the values below the @samp{.} are @emph{visible}, just temporarily 13832 Emacs ``narrowing'' feature, except that the values below the @samp{.}
13802 frozen. This feature allows you to keep several independent calculations 13833 are @emph{visible}, just temporarily frozen. This feature allows you to
13803 running at once in different parts of the stack, or to apply a certain 13834 keep several independent calculations running at once in different parts
13804 command to an element buried deep in the stack. 13835 of the stack, or to apply a certain command to an element buried deep in
13836 the stack.
13805 13837
13806 Pressing @kbd{d t} by itself moves the @samp{.} to the line the cursor 13838 Pressing @kbd{d t} by itself moves the @samp{.} to the line the cursor
13807 is on. Thus, this line and all those below it become hidden. To un-hide 13839 is on. Thus, this line and all those below it become hidden. To un-hide
13808 these lines, move down to the end of the buffer and press @w{@kbd{d t}}. 13840 these lines, move down to the end of the buffer and press @w{@kbd{d t}}.
13809 With a positive numeric prefix argument @expr{n}, @kbd{d t} hides the 13841 With a positive numeric prefix argument @expr{n}, @kbd{d t} hides the
13938 13970
13939 Without being switched into C mode first, Calc would have misinterpreted 13971 Without being switched into C mode first, Calc would have misinterpreted
13940 the brackets in @samp{a[1]} and @samp{a[2]}, would not have known that 13972 the brackets in @samp{a[1]} and @samp{a[2]}, would not have known that
13941 @code{atan} was equivalent to Calc's built-in @code{arctan} function, 13973 @code{atan} was equivalent to Calc's built-in @code{arctan} function,
13942 and would have written the formula back with notations (like implicit 13974 and would have written the formula back with notations (like implicit
13943 multiplication) which would not have been legal for a C program. 13975 multiplication) which would not have been valid for a C program.
13944 13976
13945 As another example, suppose you are maintaining a C program and a La@TeX{} 13977 As another example, suppose you are maintaining a C program and a La@TeX{}
13946 document, each of which needs a copy of the same formula. You can grab the 13978 document, each of which needs a copy of the same formula. You can grab the
13947 formula from the program in C mode, switch to La@TeX{} mode, and yank the 13979 formula from the program in C mode, switch to La@TeX{} mode, and yank the
13948 formula into the document in La@TeX{} math-mode format. 13980 formula into the document in La@TeX{} math-mode format.
14639 @noindent 14671 @noindent
14640 @kindex d M 14672 @kindex d M
14641 @pindex calc-mathematica-language 14673 @pindex calc-mathematica-language
14642 @cindex Mathematica language 14674 @cindex Mathematica language
14643 The @kbd{d M} (@code{calc-mathematica-language}) command selects the 14675 The @kbd{d M} (@code{calc-mathematica-language}) command selects the
14644 conventions of Mathematica, a powerful and popular mathematical tool 14676 conventions of Mathematica. Notable differences in Mathematica mode
14645 from Wolfram Research, Inc. Notable differences in Mathematica mode
14646 are that the names of built-in functions are capitalized, and function 14677 are that the names of built-in functions are capitalized, and function
14647 calls use square brackets instead of parentheses. Thus the Calc 14678 calls use square brackets instead of parentheses. Thus the Calc
14648 formula @samp{sin(2 x)} is entered and displayed @w{@samp{Sin[2 x]}} in 14679 formula @samp{sin(2 x)} is entered and displayed @w{@samp{Sin[2 x]}} in
14649 Mathematica mode. 14680 Mathematica mode.
14650 14681
14663 @noindent 14694 @noindent
14664 @kindex d W 14695 @kindex d W
14665 @pindex calc-maple-language 14696 @pindex calc-maple-language
14666 @cindex Maple language 14697 @cindex Maple language
14667 The @kbd{d W} (@code{calc-maple-language}) command selects the 14698 The @kbd{d W} (@code{calc-maple-language}) command selects the
14668 conventions of Maple, another mathematical tool from the University 14699 conventions of Maple.
14669 of Waterloo.
14670 14700
14671 Maple's language is much like C. Underscores are allowed in symbol 14701 Maple's language is much like C. Underscores are allowed in symbol
14672 names; square brackets are used for subscripts; explicit @samp{*}s for 14702 names; square brackets are used for subscripts; explicit @samp{*}s for
14673 multiplications are required. Use either @samp{^} or @samp{**} to 14703 multiplications are required. Use either @samp{^} or @samp{**} to
14674 denote powers. 14704 denote powers.
15470 15500
15471 @noindent 15501 @noindent
15472 This will parse @samp{3 bad token 4 /"\ 5} to @samp{silly(3,4,5)}. 15502 This will parse @samp{3 bad token 4 /"\ 5} to @samp{silly(3,4,5)}.
15473 15503
15474 The token @kbd{#} has a predefined meaning in Calc's formula parser; 15504 The token @kbd{#} has a predefined meaning in Calc's formula parser;
15475 it is not legal to use @samp{"#"} in a syntax rule. However, longer 15505 it is not valid to use @samp{"#"} in a syntax rule. However, longer
15476 tokens that include the @samp{#} character are allowed. Also, while 15506 tokens that include the @samp{#} character are allowed. Also, while
15477 @samp{"$"} and @samp{"\""} are allowed as tokens, their presence in 15507 @samp{"$"} and @samp{"\""} are allowed as tokens, their presence in
15478 the syntax table will prevent those characters from working in their 15508 the syntax table will prevent those characters from working in their
15479 usual ways (referring to stack entries and quoting strings, 15509 usual ways (referring to stack entries and quoting strings,
15480 respectively). 15510 respectively).
16036 on numbers, such as addition, absolute value, and square roots. These 16066 on numbers, such as addition, absolute value, and square roots. These
16037 commands work by removing the top one or two values from the stack, 16067 commands work by removing the top one or two values from the stack,
16038 performing the desired operation, and pushing the result back onto the 16068 performing the desired operation, and pushing the result back onto the
16039 stack. If the operation cannot be performed, the result pushed is a 16069 stack. If the operation cannot be performed, the result pushed is a
16040 formula instead of a number, such as @samp{2/0} (because division by zero 16070 formula instead of a number, such as @samp{2/0} (because division by zero
16041 is illegal) or @samp{sqrt(x)} (because the argument @samp{x} is a formula). 16071 is invalid) or @samp{sqrt(x)} (because the argument @samp{x} is a formula).
16042 16072
16043 Most of the commands described here can be invoked by a single keystroke. 16073 Most of the commands described here can be invoked by a single keystroke.
16044 Some of the more obscure ones are two-letter sequences beginning with 16074 Some of the more obscure ones are two-letter sequences beginning with
16045 the @kbd{f} (``functions'') prefix key. 16075 the @kbd{f} (``functions'') prefix key.
16046 16076
16240 must be positive real number. 16270 must be positive real number.
16241 16271
16242 @kindex : 16272 @kindex :
16243 @pindex calc-fdiv 16273 @pindex calc-fdiv
16244 @tindex fdiv 16274 @tindex fdiv
16245 The @kbd{:} (@code{calc-fdiv}) command [@code{fdiv} function in a formula] 16275 The @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command
16246 divides the two integers on the top of the stack to produce a fractional 16276 divides the two integers on the top of the stack to produce a fractional
16247 result. This is a convenient shorthand for enabling Fraction mode (with 16277 result. This is a convenient shorthand for enabling Fraction mode (with
16248 @kbd{m f}) temporarily and using @samp{/}. Note that during numeric entry 16278 @kbd{m f}) temporarily and using @samp{/}. Note that during numeric entry
16249 the @kbd{:} key is interpreted as a fraction separator, so to divide 8 by 6 16279 the @kbd{:} key is interpreted as a fraction separator, so to divide 8 by 6
16250 you would have to type @kbd{8 @key{RET} 6 @key{RET} :}. (Of course, in 16280 you would have to type @kbd{8 @key{RET} 6 @key{RET} :}. (Of course, in
17962 formula for the specified number of periods. If the book value 17992 formula for the specified number of periods. If the book value
17963 would decrease below @var{salvage}, it only decreases to @var{salvage} 17993 would decrease below @var{salvage}, it only decreases to @var{salvage}
17964 and the depreciation is zero for all subsequent periods. The @code{ddb} 17994 and the depreciation is zero for all subsequent periods. The @code{ddb}
17965 function returns the amount the book value decreased in the specified 17995 function returns the amount the book value decreased in the specified
17966 period. 17996 period.
17967
17968 The Calc financial function names were borrowed mostly from Microsoft
17969 Excel and Borland's Quattro. The @code{ratel} function corresponds to
17970 @samp{@@CGR} in Borland's Reflex. The @code{nper} and @code{nperl}
17971 functions correspond to @samp{@@TERM} and @samp{@@CTERM} in Quattro,
17972 respectively. Beware that the Calc functions may take their arguments
17973 in a different order than the corresponding functions in your favorite
17974 spreadsheet.
17975 17997
17976 @node Binary Functions, , Financial Functions, Arithmetic 17998 @node Binary Functions, , Financial Functions, Arithmetic
17977 @section Binary Number Functions 17999 @section Binary Number Functions
17978 18000
17979 @noindent 18001 @noindent
19534 @samp{pack(@var{mode}, @var{items})} where @var{mode} is a 19556 @samp{pack(@var{mode}, @var{items})} where @var{mode} is a
19535 packing mode (an integer or a vector of integers) and @var{items} 19557 packing mode (an integer or a vector of integers) and @var{items}
19536 is a vector of objects to be packed (re-packed, really) according 19558 is a vector of objects to be packed (re-packed, really) according
19537 to that mode. For example, @samp{pack([3, -4], [a,b,c,d,e,f])} 19559 to that mode. For example, @samp{pack([3, -4], [a,b,c,d,e,f])}
19538 yields @samp{[a +/- b, @w{c +/- d}, e +/- f]}. The function is 19560 yields @samp{[a +/- b, @w{c +/- d}, e +/- f]}. The function is
19539 left in symbolic form if the packing mode is illegal, or if the 19561 left in symbolic form if the packing mode is invalid, or if the
19540 number of data items does not match the number of items required 19562 number of data items does not match the number of items required
19541 by the mode. 19563 by the mode.
19542 19564
19543 @kindex v u 19565 @kindex v u
19544 @pindex calc-unpack 19566 @pindex calc-unpack
19628 @pindex calc-concat 19650 @pindex calc-concat
19629 @ignore 19651 @ignore
19630 @mindex @null 19652 @mindex @null
19631 @end ignore 19653 @end ignore
19632 @tindex | 19654 @tindex |
19633 The @kbd{|} (@code{calc-concat}) command ``concatenates'' two vectors 19655 The @kbd{|} (@code{calc-concat}) [@code{vconcat}] command ``concatenates'' two vectors
19634 into one. For example, after @kbd{@w{[ 1 , 2 ]} [ 3 , 4 ] |}, the stack 19656 into one. For example, after @kbd{@w{[ 1 , 2 ]} [ 3 , 4 ] |}, the stack
19635 will contain the single vector @samp{[1, 2, 3, 4]}. If the arguments 19657 will contain the single vector @samp{[1, 2, 3, 4]}. If the arguments
19636 are matrices, the rows of the first matrix are concatenated with the 19658 are matrices, the rows of the first matrix are concatenated with the
19637 rows of the second. (In other words, two matrices are just two vectors 19659 rows of the second. (In other words, two matrices are just two vectors
19638 of row-vectors as far as @kbd{|} is concerned.) 19660 of row-vectors as far as @kbd{|} is concerned.)
20029 a one-column matrix. 20051 a one-column matrix.
20030 20052
20031 @kindex v v 20053 @kindex v v
20032 @pindex calc-reverse-vector 20054 @pindex calc-reverse-vector
20033 @tindex rev 20055 @tindex rev
20034 The @kbd{v v} (@code{calc-reverse-vector}) [@code{vec}] command reverses 20056 The @kbd{v v} (@code{calc-reverse-vector}) [@code{rev}] command reverses
20035 a vector end-for-end. Given a matrix, it reverses the order of the rows. 20057 a vector end-for-end. Given a matrix, it reverses the order of the rows.
20036 (To reverse the columns instead, just use @kbd{v t v v v t}. The same 20058 (To reverse the columns instead, just use @kbd{v t v v v t}. The same
20037 principle can be used to apply other vector commands to the columns of 20059 principle can be used to apply other vector commands to the columns of
20038 a matrix.) 20060 a matrix.)
20039 20061
22678 @end tex 22700 @end tex
22679 22701
22680 Quotients are simplified by comparing all terms in the numerator 22702 Quotients are simplified by comparing all terms in the numerator
22681 with all terms in the denominator for possible cancellation using 22703 with all terms in the denominator for possible cancellation using
22682 the distributive law. For example, @expr{a x^2 b / c x^3 d} will 22704 the distributive law. For example, @expr{a x^2 b / c x^3 d} will
22683 cancel @expr{x^2} from both sides to get @expr{a b / c x d}. 22705 cancel @expr{x^2} from the top and bottom to get @expr{a b / c x d}.
22684 (The terms in the denominator will then be rearranged to @expr{c d x} 22706 (The terms in the denominator will then be rearranged to @expr{c d x}
22685 as described above.) If there is any common integer or fractional 22707 as described above.) If there is any common integer or fractional
22686 factor in the numerator and denominator, it is cancelled out; 22708 factor in the numerator and denominator, it is cancelled out;
22687 for example, @expr{(4 x + 6) / 8 x} simplifies to @expr{(2 x + 3) / 4 x}. 22709 for example, @expr{(4 x + 6) / 8 x} simplifies to @expr{(2 x + 3) / 4 x}.
22688 22710
23432 Note that @code{integ} was called with only one argument. This notation 23454 Note that @code{integ} was called with only one argument. This notation
23433 is allowed only within @code{IntegRules}; it means ``integrate this 23455 is allowed only within @code{IntegRules}; it means ``integrate this
23434 with respect to the same integration variable.'' If Calc is unable 23456 with respect to the same integration variable.'' If Calc is unable
23435 to integrate @code{u}, the integration that invoked @code{IntegRules} 23457 to integrate @code{u}, the integration that invoked @code{IntegRules}
23436 also fails. Thus integrating @samp{twice(f(x))} fails, returning the 23458 also fails. Thus integrating @samp{twice(f(x))} fails, returning the
23437 unevaluated integral @samp{integ(twice(f(x)), x)}. It is still legal 23459 unevaluated integral @samp{integ(twice(f(x)), x)}. It is still valid
23438 to call @code{integ} with two or more arguments, however; in this case, 23460 to call @code{integ} with two or more arguments, however; in this case,
23439 if @code{u} is not integrable, @code{twice} itself will still be 23461 if @code{u} is not integrable, @code{twice} itself will still be
23440 integrated: If the above rule is changed to @samp{... := twice(integ(u,x))}, 23462 integrated: If the above rule is changed to @samp{... := twice(integ(u,x))},
23441 then integrating @samp{twice(f(x))} will yield @samp{twice(integ(f(x),x))}. 23463 then integrating @samp{twice(f(x))} will yield @samp{twice(integ(f(x),x))}.
23442 23464
25279 25301
25280 As a special feature, if the limits are infinite (or omitted, as 25302 As a special feature, if the limits are infinite (or omitted, as
25281 described above) but the formula includes vectors subscripted by 25303 described above) but the formula includes vectors subscripted by
25282 expressions that involve the iteration variable, Calc narrows 25304 expressions that involve the iteration variable, Calc narrows
25283 the limits to include only the range of integers which result in 25305 the limits to include only the range of integers which result in
25284 legal subscripts for the vector. For example, the sum 25306 valid subscripts for the vector. For example, the sum
25285 @samp{sum(k [a,b,c,d,e,f,g]_(2k),k)} evaluates to @samp{b + 2 d + 3 f}. 25307 @samp{sum(k [a,b,c,d,e,f,g]_(2k),k)} evaluates to @samp{b + 2 d + 3 f}.
25286 25308
25287 The limits of a sum do not need to be integers. For example, 25309 The limits of a sum do not need to be integers. For example,
25288 @samp{sum(a_k, k, 0, 2 n, n)} produces @samp{a_0 + a_n + a_(2 n)}. 25310 @samp{sum(a_k, k, 0, 2 n, n)} produces @samp{a_0 + a_n + a_(2 n)}.
25289 Calc computes the number of iterations using the formula 25311 Calc computes the number of iterations using the formula
25290 @samp{1 + (@var{high} - @var{low}) / @var{step}}, which must, 25312 @samp{1 + (@var{high} - @var{low}) / @var{step}}, which must,
25291 after simplification as if by @kbd{a s}, evaluate to an integer. 25313 after simplification as if by @kbd{a s}, evaluate to an integer.
25292 25314
25293 If the number of iterations according to the above formula does 25315 If the number of iterations according to the above formula does
25294 not come out to an integer, the sum is illegal and will be left 25316 not come out to an integer, the sum is invalid and will be left
25295 in symbolic form. However, closed forms are still supplied, and 25317 in symbolic form. However, closed forms are still supplied, and
25296 you are on your honor not to misuse the resulting formulas by 25318 you are on your honor not to misuse the resulting formulas by
25297 substituting mismatched bounds into them. For example, 25319 substituting mismatched bounds into them. For example,
25298 @samp{sum(k, k, 1, 10, 2)} is invalid, but Calc will go ahead and 25320 @samp{sum(k, k, 1, 10, 2)} is invalid, but Calc will go ahead and
25299 evaluate the closed form solution for the limits 1 and 10 to get 25321 evaluate the closed form solution for the limits 1 and 10 to get
28744 command. 28766 command.
28745 28767
28746 @kindex g A 28768 @kindex g A
28747 @pindex calc-graph-add-3d 28769 @pindex calc-graph-add-3d
28748 The @kbd{g A} (@code{calc-graph-add-3d}) command adds a 3D curve 28770 The @kbd{g A} (@code{calc-graph-add-3d}) command adds a 3D curve
28749 to the graph. It is not legal to intermix 2D and 3D curves in a 28771 to the graph. It is not valid to intermix 2D and 3D curves in a
28750 single graph. This command takes three arguments, ``x'', ``y'', 28772 single graph. This command takes three arguments, ``x'', ``y'',
28751 and ``z'', from the stack. With a positive prefix @expr{n}, it 28773 and ``z'', from the stack. With a positive prefix @expr{n}, it
28752 takes @expr{n+2} arguments (common ``x'' and ``y'', plus @expr{n} 28774 takes @expr{n+2} arguments (common ``x'' and ``y'', plus @expr{n}
28753 separate ``z''s). With a zero prefix, it takes three stack entries 28775 separate ``z''s). With a zero prefix, it takes three stack entries
28754 but the ``z'' entry is a vector of curve values. With a negative 28776 but the ``z'' entry is a vector of curve values. With a negative
30449 @section Mode Settings in Embedded Mode 30471 @section Mode Settings in Embedded Mode
30450 30472
30451 @noindent 30473 @noindent
30452 The mode settings can be changed while Calc is in embedded mode, but 30474 The mode settings can be changed while Calc is in embedded mode, but
30453 will revert to their original values when embedded mode is ended 30475 will revert to their original values when embedded mode is ended
30454 (except for the modes changed while the mode-setting mode was 30476 (except for the modes saved when the mode-recording mode is
30455 @code{Save}). 30477 @code{Save}; see below).
30456 30478
30457 Embedded mode has a rather complicated mechanism for handling mode 30479 Embedded mode has a rather complicated mechanism for handling mode
30458 settings in Embedded formulas. It is possible to put annotations 30480 settings in Embedded formulas. It is possible to put annotations
30459 in the file that specify mode settings either global to the entire 30481 in the file that specify mode settings either global to the entire
30460 file or local to a particular formula or formulas. In the latter 30482 file or local to a particular formula or formulas. In the latter
30509 after the colons are optional.) The first identifies the kind 30531 after the colons are optional.) The first identifies the kind
30510 of mode setting, the second is a name for the mode itself, and 30532 of mode setting, the second is a name for the mode itself, and
30511 the third is the value in the form of a Lisp symbol, number, 30533 the third is the value in the form of a Lisp symbol, number,
30512 or list. Annotations with unrecognizable text in the first or 30534 or list. Annotations with unrecognizable text in the first or
30513 second parts are ignored. The third part is not checked to make 30535 second parts are ignored. The third part is not checked to make
30514 sure the value is of a legal type or range; if you write an 30536 sure the value is of a valid type or range; if you write an
30515 annotation by hand, be sure to give a proper value or results 30537 annotation by hand, be sure to give a proper value or results
30516 will be unpredictable. Mode-setting annotations are case-sensitive. 30538 will be unpredictable. Mode-setting annotations are case-sensitive.
30517 30539
30518 While Embedded mode is enabled, the word @code{Local} appears in 30540 While Embedded mode is enabled, the word @code{Local} appears in
30519 the mode line. This is to show that mode setting commands generate 30541 the mode line. This is to show that mode setting commands generate
30570 @end example 30592 @end example
30571 30593
30572 We would have to go down to the other formula and press @kbd{M-# u} 30594 We would have to go down to the other formula and press @kbd{M-# u}
30573 on it in order to get it to notice the new annotation. 30595 on it in order to get it to notice the new annotation.
30574 30596
30575 Two more mode-recording modes selectable by @kbd{m R} are @code{Save} 30597 Two more mode-recording modes selectable by @kbd{m R} are available
30576 (which works even outside of Embedded mode), in which mode settings 30598 which are also available outside of Embedded mode.
30577 are recorded permanently in your Calc init file (the file given by the 30599 (@pxref{General Mode Commands}.) They are @code{Save}, in which mode
30578 variable @code{calc-settings-file}, typically @file{~/.calc.el}) 30600 settings are recorded permanently in your Calc init file (the file given
30601 by the variable @code{calc-settings-file}, typically @file{~/.calc.el})
30579 rather than by annotating the current document, and no-recording 30602 rather than by annotating the current document, and no-recording
30580 mode (where there is no symbol like @code{Save} or @code{Local} in 30603 mode (where there is no symbol like @code{Save} or @code{Local} in
30581 the mode line), in which mode-changing commands do not leave any 30604 the mode line), in which mode-changing commands do not leave any
30582 annotations at all. 30605 annotations at all.
30583 30606
31797 where @var{num} is an integer, and @var{tag} is a string. The effect is 31820 where @var{num} is an integer, and @var{tag} is a string. The effect is
31798 to pop @var{num} values off the stack, resimplify them by calling 31821 to pop @var{num} values off the stack, resimplify them by calling
31799 @code{calc-normalize}, and hand them to your function according to the 31822 @code{calc-normalize}, and hand them to your function according to the
31800 function's argument list. Your function may include @code{&optional} and 31823 function's argument list. Your function may include @code{&optional} and
31801 @code{&rest} parameters, so long as calling the function with @var{num} 31824 @code{&rest} parameters, so long as calling the function with @var{num}
31802 parameters is legal. 31825 parameters is valid.
31803 31826
31804 Your function must return either a number or a formula in a form 31827 Your function must return either a number or a formula in a form
31805 acceptable to Calc, or a list of such numbers or formulas. These value(s) 31828 acceptable to Calc, or a list of such numbers or formulas. These value(s)
31806 are pushed onto the stack when the function completes. They are also 31829 are pushed onto the stack when the function completes. They are also
31807 recorded in the Calc Trail buffer on a line beginning with @var{tag}, 31830 recorded in the Calc Trail buffer on a line beginning with @var{tag},
32827 been disabled by the @kbd{j e} (@code{calc-enable-selections}) command, 32850 been disabled by the @kbd{j e} (@code{calc-enable-selections}) command,
32828 this function returns the selected portions rather than the entire 32851 this function returns the selected portions rather than the entire
32829 stack elements. It can be given a third ``selection-mode'' argument 32852 stack elements. It can be given a third ``selection-mode'' argument
32830 which selects other behaviors. If it is the symbol @code{t}, then 32853 which selects other behaviors. If it is the symbol @code{t}, then
32831 a selection in any of the requested stack elements produces an 32854 a selection in any of the requested stack elements produces an
32832 ``illegal operation on selections'' error. If it is the symbol @code{full}, 32855 ``invalid operation on selections'' error. If it is the symbol @code{full},
32833 the whole stack entry is always returned regardless of selections. 32856 the whole stack entry is always returned regardless of selections.
32834 If it is the symbol @code{sel}, the selected portion is always returned, 32857 If it is the symbol @code{sel}, the selected portion is always returned,
32835 or @code{nil} if there is no selection. (This mode ignores the @kbd{j e} 32858 or @code{nil} if there is no selection. (This mode ignores the @kbd{j e}
32836 command.) If the symbol is @code{entry}, the complete stack entry in 32859 command.) If the symbol is @code{entry}, the complete stack entry in
32837 list form is returned; the first element of this list will be the whole 32860 list form is returned; the first element of this list will be the whole
34608 @ifinfo 34631 @ifinfo
34609 @example 34632 @example
34610 34633
34611 @end example 34634 @end example
34612 @end ifinfo 34635 @end ifinfo
34613 @appendixsec Printed Documentation
34614
34615 @noindent
34616 Because the Calc manual is so large, you should only make a printed
34617 copy if you really need it. To print the manual, you will need the
34618 @TeX{} typesetting program (this is a free program by Donald Knuth
34619 at Stanford University) as well as the @file{texindex} program and
34620 @file{texinfo.tex} file, both of which can be obtained from the FSF
34621 as part of the @code{texinfo} package.
34622
34623 To print the Calc manual in one huge 470 page tome, you will need the
34624 source code to this manual, @file{calc.texi}, available as part of the
34625 Emacs source. Once you have this file, type @kbd{texi2dvi calc.texi}.
34626 Alternatively, change to the @file{man} subdirectory of the Emacs
34627 source distribution, and type @kbd{make calc.dvi}. (Don't worry if you
34628 get some ``overfull box'' warnings while @TeX{} runs.)
34629
34630 The result will be a device-independent output file called
34631 @file{calc.dvi}, which you must print in whatever way is right
34632 for your system. On many systems, the command is
34633
34634 @example
34635 lpr -d calc.dvi
34636 @end example
34637
34638 @noindent
34639 or
34640
34641 @example
34642 dvips calc.dvi
34643 @end example
34644
34645 @c the bumpoddpages macro was deleted
34646 @ignore
34647 @cindex Marginal notes, adjusting
34648 Marginal notes for each function and key sequence normally alternate
34649 between the left and right sides of the page, which is correct if the
34650 manual is going to be bound as double-sided pages. Near the top of
34651 the file @file{calc.texi} you will find alternate definitions of
34652 the @code{\bumpoddpages} macro that put the marginal notes always on
34653 the same side, best if you plan to be binding single-sided pages.
34654 @end ignore
34655 34636
34656 @appendixsec Settings File 34637 @appendixsec Settings File
34657 34638
34658 @noindent 34639 @noindent
34659 @vindex calc-settings-file 34640 @vindex calc-settings-file
34701 @example 34682 @example
34702 belanger@@truman.edu 34683 belanger@@truman.edu
34703 @end example 34684 @end example
34704 34685
34705 @noindent 34686 @noindent
34706 (In the following text, ``I'' refers to the original Calc author, Dave
34707 Gillespie).
34708
34709 While I cannot guarantee that I will have time to work on your bug,
34710 I do try to fix bugs quickly whenever I can.
34711
34712 The latest version of Calc is available from Savannah, in the Emacs
34713 CVS tree. See @uref{http://savannah.gnu.org/projects/emacs}.
34714
34715 There is an automatic command @kbd{M-x report-calc-bug} which helps 34687 There is an automatic command @kbd{M-x report-calc-bug} which helps
34716 you to report bugs. This command prompts you for a brief subject 34688 you to report bugs. This command prompts you for a brief subject
34717 line, then leaves you in a mail editing buffer. Type @kbd{C-c C-c} to 34689 line, then leaves you in a mail editing buffer. Type @kbd{C-c C-c} to
34718 send your mail. Make sure your subject line indicates that you are 34690 send your mail. Make sure your subject line indicates that you are
34719 reporting a Calc bug; this command sends mail to the maintainer's 34691 reporting a Calc bug; this command sends mail to the maintainer's
34720 regular mailbox. 34692 regular mailbox.
34721 34693
34722 If you have suggestions for additional features for Calc, I would 34694 If you have suggestions for additional features for Calc, please send
34723 love to hear them. Some have dared to suggest that Calc is already 34695 them. Some have dared to suggest that Calc is already top-heavy with
34724 top-heavy with features; I really don't see what they're talking 34696 features; this obviously cannot be the case, so if you have ideas, send
34725 about, so, if you have ideas, send them right in. (I may even have 34697 them right in.
34726 time to implement them!)
34727 34698
34728 At the front of the source file, @file{calc.el}, is a list of ideas for 34699 At the front of the source file, @file{calc.el}, is a list of ideas for
34729 future work which I have not had time to do. If any enthusiastic souls 34700 future work. If any enthusiastic souls wish to take it upon themselves
34730 wish to take it upon themselves to work on these, I would be delighted. 34701 to work on these, please send a message (using @kbd{M-x report-calc-bug})
34731 Please let me know if you plan to contribute to Calc so I can coordinate 34702 so any efforts can be coordinated.
34732 your efforts with mine and those of others. I will do my best to help 34703
34733 you in whatever way I can. 34704 The latest version of Calc is available from Savannah, in the Emacs
34705 CVS tree. See @uref{http://savannah.gnu.org/projects/emacs}.
34734 34706
34735 @c [summary] 34707 @c [summary]
34736 @node Summary, Key Index, Reporting Bugs, Top 34708 @node Summary, Key Index, Reporting Bugs, Top
34737 @appendix Calc Summary 34709 @appendix Calc Summary
34738 34710