Copyright © 2001, 2002 Bernd Johannes Wuebben, Pamela Roberts
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
KCalc is a scientific calculator for KDE
Table of Contents
This document describes KCalc version 1.3.1.
KCalc offers many more mathematical functions than meet the eye on a first glance. Please study the section on keyboard accelerators and modes in this handbook to learn more about the many functions available.
In addition to the usual functionality offered by most scientific calculators, KCalc offers a number of features, which I think are worthwhile pointing out:
KCalc has a trigonometric and a statistics mode.
KCalc allows you to cut and paste numbers from/into its display.
KCalc features a results-stack which lets you conveniently recall previous results.
You can configure KCalc's display colors and font.
You can configure KCalc's precision and the number of digits after the period.
KCalc offers a great number of useful key-bindings, which make using KCalc without using a pointing device easy.
Have fun with KCalc!
Bernd Johannes Wuebben
General usage is straight forward and similar to the way most simple scientific calculators operate, but take note of the following special KCalc features:
Each time you left mouse button click on the = button or press your keyboard's Enter or = keys, the display result is written to KCalc's result stack. You can navigate through the result stack with your keyboard's Up and Down arrow keys.
The percent function works somewhat differently to that on most calculators. However, once understood, its enhanced functionality proves quite useful. See the section about the percent function for further details.
Pressing the left mouse button on KCalc's display will place the displayed number on to the clipboard.
Pressing the right or middle mouse button on KCalc's display will paste the clipboard content into the display if the content of the clipboard is a valid floating point number.
KCalc can run in Statistical or Trigonometric mode. Pressing F3 will toggle between the modes or you can set the mode with the Configuration dialog brought up by pressing the Configure button or with F2.
In this mode the left column of buttons is allocated to statistical functions:
Buttons | Function |
---|---|
N | Recall the number of data items entered |
InvN | Display the sum of all data items entered |
Mea | Display the mean of the data items entered |
InvMea | Display the sum of the square of all data items entered |
Std | Display the standard deviation (n) |
InvStd | Display the population standard deviation (n-1) |
Med | Display the median |
Dat | Enter a data item |
InvDat | Clear last data item entered |
Cst | Clear the store of all data item entered |
In this mode the left column of buttons is allocated to trigonometric functions:
Buttons | Function |
---|---|
Hyp | Enter Hyperbolic sub mode. Hyp Sin for example is the hyperbolic sine: sinh(x) |
Sin | Compute the sine |
InvSin | Compute the inverse sine |
Cos | Compute the cosine |
InvCos | Compute the inverse cosine |
Tan | Compute the tangent |
InvTan | Compute the inverse tangent |
Log | Compute the Log base 10 |
InvLog | Compute 10 to the power of x |
Ln | Compute the natural logarithm. That is the log to base e |
InvLn | Compute e to the power of x |
To simplify entering calculations from the keyboard KCalc has single key accelerators for most functions. For example entering 7R or 7r will calculate the reciprocal of 7 (1/7).
Key | Function | Notes |
---|---|---|
H | Hyp | Hyperbolic as in Hyp Sin, the sinh(x) |
S | Sin | |
C | Cos | |
T | Tan | |
N | Ln | log base e |
L | Log | log base 10 |
I | Inv | Inverse, e.g. if you want arcsin(x) type i s |
\ | +/- | Change sign |
[ | x^2 | |
^ | x^y | |
! | x! | Factorial |
< | Lsh | Left shift. Note: InvLsh is Right shift |
& | And | Logical AND |
* | X | Multiply |
/ | / | Divide |
D | Dat | Enter data item in statistical mode |
O | Or | Logical OR. Note: InvOr is XOR |
R | 1/x | Reciprocal |
= | = | |
Enter | = | |
Return | = | |
Page Up | C | Clear |
Esc | C | Clear |
Prior | C | Clear |
Page Down | AC | Clear all |
Next | AC | Clear all |
Del | AC | Clear all |
F1 | ? | Help, brings up this manual |
F2 | Configure | Bring up the configure dialog |
F3 | Switch between Trigonometric and Statistical modes |
22 Mod 8 = will give the result 6
22.345 Mod 8 = will give the result 6.345
22 Inv Mod 8 = will give the result 2
22.345 Mod 8 = also gives 2
Used instead of the = key, % interprets the final operation carried out in the current calculation as follows:
If the final operator is + or - show the result as a percentage of the final operand.
If the final operator is * divide the result of the multiplication by 100.
If the final operator is / give the left operand as a percentage of the right operand.
If the final operator is x^y give the left operand raised to the power of the (right operand / 100).
In all other cases the % key gives identical results to the = key.
11 + 89 % gives 112.35.. (89 + 11 = 100, and 100 is 112.35 percent of 89)
42 * 3 % gives 1.26 (42 * 3 / 100)
45 / 55 % gives 81.81... (45 is 81.81.. percent of 55)
2 ^ 300 % gives 8 (2 to the power (300/100))
10 Lsh 3 = gives 80 (10 multiplied by 2 three times).
10.345 Lsh 3 = also gives 80.
16 Inv Lsh 2 = gives 4 (16 divided by 2 twice).
16.999 Inv Lsh 2 = also gives 4.
The Cmp, And and Or functions perform bitwise logical operations and therefore appear more meaningful if the Base is set to Hex, Oct or Bin rather than Dec. In the following examples Base is set to Bin.
101 Cmp gives 111...111010
101 And 110 = gives 100
101 Or 110 = gives 111
101 Inv Or 110 = gives 11
KCalc Program copyright 1996-1998 Bernd Johannes Wuebben <wuebben@kde.org>.
Additions by Espen Sand. <espen@kde.org>, 2000
Additions by Evan Teran. <amt3734@rit.edu>, 2001
KCalc was inspired by Martin Bartlett's xfrmcalc, whose stack engine is still part of KCalc.
Documentation copyright 2001,2002:
Bernd Johannes Wuebben <wuebben@kde.org>
Pamela Roberts <pam.roberts@btinternet.com>
This documentation is licensed under the terms of the GNU Free Documentation License.
This program is licensed under the terms of the GNU General Public License.
KCalc is part of the kdeutils package within the KDE project and will normally be provided as part of a KDE installation. For more details about KDE visit http://www.kde.org.
KCalc is part of the KDE project http://www.kde.org/.
KCalc can be found in the kdeutils package on ftp://ftp.kde.org/pub/kde/, the main FTP site of the KDE project.
In order to compile and install KCalc on your system, type the following in the base directory of the KCalc distribution:
% ./configure % make % make install
Since KCalc uses autoconf and automake you should have no trouble compiling it. Should you run into problems please report them to the KDE mailing lists.
If your machine supports the C data type long double and if you have a working libc you can enable long double precison for KCalc.
Here is what to do:
Procedure A.1.
Check ../config.h and see whether HAVE_LONG_DOUBLE is defined, i.e. you should be able to locate a line saying:
#define HAVE_LONG_DOUBLE 1
If you can't find such a line your system doesn't support long double IEEE precision.
Edit the files kcalctype.h, configdlg.cpp, kcalc.cpp and kcalc_core.cpp and remove the lines:
#ifdef HAVE_LONG_DOUBLE #undef HAVE_LONG_DOUBLE #endif
Recompile KCalc.