summaryrefslogtreecommitdiffstats
path: root/doc/kcalc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/kcalc')
-rw-r--r--doc/kcalc/Makefile.am4
-rw-r--r--doc/kcalc/commands.docbook254
-rw-r--r--doc/kcalc/index.docbook774
-rw-r--r--doc/kcalc/kcalc_on_Aix.txt123
-rw-r--r--doc/kcalc/kcalc_on_OSF.txt62
5 files changed, 1217 insertions, 0 deletions
diff --git a/doc/kcalc/Makefile.am b/doc/kcalc/Makefile.am
new file mode 100644
index 0000000..085981d
--- /dev/null
+++ b/doc/kcalc/Makefile.am
@@ -0,0 +1,4 @@
+
+KDE_LANG = en
+KDE_DOCS = AUTO
+
diff --git a/doc/kcalc/commands.docbook b/doc/kcalc/commands.docbook
new file mode 100644
index 0000000..22f20e7
--- /dev/null
+++ b/doc/kcalc/commands.docbook
@@ -0,0 +1,254 @@
+<chapter id="commands">
+
+<title>Command Reference</title>
+
+<sect1 id="filemenu">
+<title>The <guimenu>File</guimenu> Menu</title>
+<para>
+<variablelist>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
+</shortcut>
+<guimenu>File</guimenu>
+<guimenuitem>Quit</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Quit</action> &kcalc;.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+</sect1>
+
+<sect1 id="editmenu">
+<title>The <guimenu>Edit</guimenu> Menu</title>
+<para>
+<variablelist>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo>
+</shortcut>
+<guimenu>Edit</guimenu>
+<guimenuitem>Undo</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Go back in the result
+stack.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo>
+</shortcut>
+<guimenu>Edit</guimenu>
+<guimenuitem>Redo</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Go forward in the result
+stack.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo>
+</shortcut>
+<guimenu>Edit</guimenu>
+<guimenuitem>Cut</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Delete the displayed result and copy it to the
+clipboard.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>
+</shortcut>
+<guimenu>Edit</guimenu>
+<guimenuitem>Copy</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Copy the displayed result to the
+clipboard.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo>
+</shortcut>
+<guimenu>Edit</guimenu>
+<guimenuitem>Paste</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Insert the cut or copied result in the
+display.</action></para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+</sect1>
+
+<sect1 id="viewmenu">
+<title>The <guimenu>Constants</guimenu> Menu</title>
+<para>
+<variablelist>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Constants</guimenu>
+<guimenuitem>Mathematics</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display Pi, Euler Number or Golder Ratio.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Constants</guimenu>
+<guimenuitem>Electromagnetism</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display Light Speed, Elementary Charge,
+Impedance of Vacuum, Permeability of Vacuum or Permittivity of Vacuum.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Constants</guimenu>
+<guimenuitem>Atomic &amp; Nuclear</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display Planck's Constant, Elementary Charge or
+Fine-Structure Constant.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Constants</guimenu>
+<guimenuitem>Thermodynamics</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display Boltzmann Constant, Atomic Mass Unit, Molar Gas
+Constant, Stefan-Boltzmann Constant or Avogadro's Number.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Constants</guimenu>
+<guimenuitem>Gravitation</guimenuitem>
+</menuchoice></term>
+<listitem><para>Display Constant of Gravitation or Earth Acceleration.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+</sect1>
+
+<sect1 id="settingsmenu">
+<title>The <guimenu>Settings</guimenu> Menu</title>
+<para><variablelist>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Science/Engineering Buttons</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display science and engineering buttons.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Statistic Buttons</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display <link linkend="statistical-mode">statistic
+buttons.</link></action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Logic Buttons</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display <link linkend="and-or-xor">logic
+buttons.</link></action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Constants Buttons</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display constants buttons.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Show All</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display all buttons available.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Hide All</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Hide all extra buttons and display only
+standard default buttons.</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Configure Shortcuts...</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Configure the keyboard shortcuts used by &kcalc;.
+</action>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Configure &kcalc;...</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Display</action> the &kcalc; settings dialog.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+</sect1>
+
+<sect1 id="helpmenu">
+<title>The <guimenu>Help</guimenu> Menu</title>
+
+&help.menu.documentation;
+
+</sect1>
+
+</chapter>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-parent-document: ("index.docbook" "book" "chapter")
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+-->
diff --git a/doc/kcalc/index.docbook b/doc/kcalc/index.docbook
new file mode 100644
index 0000000..b881ee9
--- /dev/null
+++ b/doc/kcalc/index.docbook
@@ -0,0 +1,774 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&kcalc;" >
+ <!ENTITY package "kdeutils">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % English "INCLUDE" > <!-- change language only here -->
+ <!ENTITY commands SYSTEM "commands.docbook">
+]>
+
+<book lang="&language;">
+<bookinfo>
+<title>The &kcalc; Handbook</title>
+
+<authorgroup>
+<author>
+&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;
+</author>
+
+<author>
+&Pamela.Roberts;&Pamela.Roberts.mail;
+<!-- <affiliation><jobtitle>Handbook maintainer</jobtitle>
+</affiliation> -->
+</author>
+<author>
+&Anne-Marie.Mahfouf;&Anne-Marie.Mahfouf.mail;
+<!-- <affiliation><jobtitle>Handbook maintainer</jobtitle>
+</affiliation> -->
+</author>
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+</authorgroup>
+
+<copyright>
+<year>2001</year> <year>2002</year> <year>2005</year> <year>2006</year>
+<holder>&Bernd.Johannes.Wuebben;, &Pamela.Roberts;,
+&Anne-Marie.Mahfouf;</holder>
+</copyright>
+
+<legalnotice>&FDLNotice;</legalnotice>
+
+<date>2006-02-13</date>
+<releaseinfo>2.0.2</releaseinfo>
+
+<abstract><para>&kcalc; is a scientific calculator for &kde;</para></abstract>
+
+<keywordset>
+<keyword>KDE</keyword>
+<keyword>KCalc</keyword>
+<keyword>calculator</keyword>
+</keywordset>
+</bookinfo>
+
+<chapter id="introduction">
+<title>Introduction</title>
+
+<para>This document describes &kcalc; version 1.8.</para>
+
+<para>&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.</para>
+
+<para>In addition to the usual functionality offered by most scientific
+calculators, &kcalc; offers a number of features, which I think are
+worthwhile pointing out:</para>
+
+<itemizedlist>
+<listitem>
+<para>&kcalc; provides trigonometric functions, logic operations, and it is
+able to do statistical calculations.</para>
+</listitem>
+<listitem>
+<para>&kcalc; allows you to cut and paste numbers from/into its display.</para>
+</listitem>
+<listitem>
+<para>&kcalc; features a <firstterm>results-stack</firstterm> which lets
+you conveniently recall previous results.</para>
+</listitem>
+<listitem>
+<para>You can configure &kcalc;'s display colors and font.</para>
+</listitem>
+<listitem>
+<para>You can configure &kcalc;'s precision and the number
+of digits after the period.</para>
+</listitem>
+<listitem>
+<para> &kcalc; offers a great number of useful <link linkend="key-accels">
+key-bindings</link>, which make using &kcalc; without using a pointing device easy.</para>
+<para>Hint: pressing (and holding) the <keycap>&Ctrl;</keycap>-key, displays on
+every button,
+the corresponding key-binding.</para>
+</listitem>
+</itemizedlist>
+
+<para>Have fun with &kcalc;!</para>
+
+<para>Bernd Johannes Wuebben</para>
+
+</chapter>
+
+
+<chapter id="usage">
+<title>Usage</title>
+<sect1 id="general-usage">
+<title>General Usage</title>
+
+<para>General usage is straight forward and similar to the way most
+simple scientific calculators operate, but take note of the following
+special &kcalc; features:</para>
+
+<variablelist>
+<varlistentry>
+<term>Result Stack</term>
+<listitem><para>Each time you &LMB; click on the
+<guibutton>=</guibutton> button or press your keyboard's
+<keycap>Enter</keycap> or <keysym>=</keysym> keys, the display result is
+written to &kcalc;'s result stack. You can navigate through the result
+stack with your keyboard's
+<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo>
+and <keycombo action="simul">&Ctrl; &Shift;<keycap>Z</keycap></keycombo>
+keys.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>Percent Function</term>
+<listitem>
+<para>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 <link
+linkend="percent">percent</link> function for further details.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term>Cut and Paste</term>
+<listitem>
+<para><itemizedlist>
+<listitem>
+<para>Pressing <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>
+will place the displayed number on to the clipboard.</para>
+</listitem>
+<listitem>
+<para>Pressing <keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo>
+will paste the clipboard content into the display if the content of the
+clipboard is a valid floating point number.</para>
+</listitem>
+<listitem>
+<para>It is still possible to copy/paste by clicking on &kcalc;'s display,
+but this may disappear in future versions.</para>
+</listitem>
+</itemizedlist>
+</para></listitem></varlistentry>
+
+<varlistentry>
+<term>Advanced functions</term>
+<listitem>
+<para>When you start &kcalc; for the first time, the calculator will only
+display buttons for basic arithmetic computations.</para>
+<para>Under the menu entry <guimenu>Settings</guimenu> it is possible to
+open extra buttons for &kcalc;:
+it is for example possible to choose
+<link linkend="statistical-mode">Statistical</link> or
+<link linkend="trigonometric-mode">Trigonometric</link> buttons.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+
+<sect1 id="statistical-mode">
+<title>Statistical Mode</title>
+
+<para>In this mode the left column of buttons is allocated to statistical
+functions:</para>
+<para> Most of the functionality in this mode is centered around the <guibutton>Dat</guibutton>
+ button. To create a data list of numbers, enter a number into the calculator and press
+ <guibutton>Dat</guibutton>. A sequentially increasing number is shown on the display indicating
+ which position in the Data <quote>list</quote> the number occupies. A traditional calculator only
+ stores three values for statistical functions: The number of discrete items in a list, the sum of
+ the data items entered and the sum of the square of all data items in the list. &kcalc; differs by
+ actually storing each discrete value, allowing you to calculate the median value of the data.
+</para>
+
+<informaltable><tgroup cols="2">
+<thead>
+<row><entry>Buttons</entry>
+<entry>Function</entry></row></thead>
+
+<tbody>
+<row><entry><guibutton>N</guibutton></entry>
+<entry>Recall the number of data items entered</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>N</guibutton></entry>
+<entry>Display the sum of all data items entered</entry></row>
+
+<row><entry><guibutton>Mea</guibutton></entry>
+<entry>Display the mean of the data items entered</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Mea</guibutton></entry>
+<entry>Display the sum of the square of all data items entered</entry></row>
+
+<row><entry><guibutton>Std</guibutton></entry>
+<entry>Display the standard deviation (n)</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Std</guibutton></entry>
+<entry>Display the population standard deviation (n-1)</entry></row>
+
+<row><entry><guibutton>Med</guibutton></entry>
+<entry>Display the median</entry></row>
+
+<row><entry><guibutton>Dat</guibutton></entry>
+<entry>Enter a data item</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Dat</guibutton></entry>
+<entry>Clear last data item entered</entry></row>
+
+<row><entry><guibutton>Cst</guibutton></entry>
+<entry>Clear the store of all data item entered</entry></row>
+
+</tbody></tgroup></informaltable>
+
+
+</sect1>
+
+<sect1 id="trigonometric-mode">
+<title>Trigonometric Mode</title>
+
+<para>In this mode the left column of buttons is allocated to trigonometric
+functions:</para>
+
+<informaltable><tgroup cols="2">
+<thead>
+<row><entry>Buttons</entry>
+<entry>Function</entry></row>
+</thead>
+<tbody>
+<row><entry><guibutton>Hyp</guibutton></entry>
+<entry>Enter Hyperbolic sub mode. Hyp Sin for example is the hyperbolic sine:
+sinh(x)</entry></row>
+
+<row><entry><guibutton>Sin</guibutton></entry>
+<entry>Compute the sine</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Sin</guibutton></entry>
+<entry>Compute the inverse sine</entry></row>
+
+<row><entry><guibutton>Cos</guibutton></entry>
+<entry>Compute the cosine</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Cos</guibutton></entry>
+<entry>Compute the inverse cosine</entry></row>
+
+<row><entry><guibutton>Tan</guibutton></entry>
+<entry>Compute the tangent</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Tan</guibutton></entry>
+<entry>Compute the inverse tangent</entry></row>
+
+<row><entry><guibutton>Log</guibutton></entry>
+<entry>Compute the Log base 10</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Log</guibutton></entry>
+<entry>Compute 10 to the power of x</entry></row>
+
+<row><entry><guibutton>Ln</guibutton></entry>
+<entry>Compute the natural logarithm. That is the log to base e</entry></row>
+
+<row><entry><guibutton>Inv</guibutton> <guibutton>Ln</guibutton></entry>
+<entry>Compute e to the power of x</entry></row>
+
+</tbody></tgroup></informaltable>
+
+</sect1>
+
+<sect1 id="memory-operations">
+<title>Memory Operations</title>
+
+<para>&kcalc; supports the memory operations given by standard
+calculators plus six slots to hold constants.</para>
+
+<sect2 id="standard_memory">
+<title> Standard Memory Operations</title>
+
+<para>&kcalc; can remember results of operations for you, and re-use them in
+later calculations. You can access these functions via several buttons
+labelled <guibutton>MR</guibutton>, <guibutton>MS</guibutton>,
+<guibutton>M+</guibutton> and <guibutton>MC</guibutton>.</para>
+
+<variablelist>
+<varlistentry>
+<term><guibutton>MS</guibutton></term>
+<listitem><para>The <guibutton>MS</guibutton> button stores the currently
+displayed result in memory.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>M+</guibutton></term>
+<listitem><para>The <guibutton>M+</guibutton> button adds the current result to the
+one in memory. So, if you had stored a 20, and the current result is a 5,
+your memory would contain 25 when you press it. If the memory is empty, it
+acts like <guibutton>MS</guibutton> and simply stores the
+result.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>MR</guibutton></term>
+<listitem><para>The <guibutton>MR</guibutton> button gets the value stored
+in memory and puts it in the display.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>MC</guibutton></term>
+<listitem><para>The <guibutton>MC</guibutton> button clears the
+memory.</para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>If a value is stored in memory a <guilabel>M</guilabel> will appear in
+the status bar, next to the calculator mode indicator</para>
+</sect2>
+
+<sect2 id="constant_buttons">
+<title>Constants</title>
+
+<para>The six constants buttons <guibutton>C1</guibutton> to
+<guibutton>C6</guibutton> will only be visible after activating the
+item <guilabel>Constants Buttons</guilabel> in the menu
+<guimenu>Settings</guimenu> of the menu bar.</para>
+
+<para>To store the number shown in the &kcalc; display in one of the
+six constants, first press <guibutton>Inv</guibutton> followed
+by the desired button key <guibutton>C1</guibutton> up to
+<guibutton>C6</guibutton>.</para>
+
+<para>To use the value stored in any of the contants in a calculation, just
+ press the desired button (<guibutton>C1</guibutton> to <guibutton>C6</guibutton>),
+ and the corresponding number will appear in the display. </para>
+
+<para>IIt is possible to change the label of the constants button to make it easier
+ to remember which button holds which constant. Click with the right mouse
+ button on one of the buttons <guibutton>C1</guibutton> to <guibutton>
+ C6</guibutton>. A popup menu appears, in which you select <guilabel>
+ Set Name</guilabel>. </para>
+
+<para>There are many (mostly physical) predefined constants, which can
+be put on any of the six buttons <guibutton>C1</guibutton> -
+<guibutton>C6</guibutton> by selecting the desired constant in the
+popup menu that appears after right clicking on one of the constant
+buttons and selecting <guilabel>Choose from List</guilabel>. Though
+the predefined constants can also be accessed via the
+<guimenu>Constants</guimenu> in the menu bar, storing it on a
+constants button is very handy, if the number is used
+frequently.</para>
+
+</sect2>
+
+</sect1>
+
+<sect1 id="key-accels">
+<title>Single Key Accelerators</title>
+
+<para>To simplify entering calculations from the keyboard &kcalc; has single key
+accelerators for most functions. For example entering <userinput>7R</userinput>
+or <userinput>7r</userinput> will calculate the reciprocal of 7 (1/7).</para>
+
+<para>During a computation, you can always press <keycap>&Ctrl;</keycap> to make each
+button display its key-binding.</para>
+
+<informaltable><tgroup cols="3">
+<thead>
+<row><entry>Key</entry>
+<entry>Function</entry>
+<entry>Notes</entry></row>
+</thead>
+<tbody>
+
+<row><entry><keycap>H</keycap></entry>
+<entry><guibutton>Hyp</guibutton></entry>
+<entry>Hyperbolic as in Hyp Sin,
+the sinh(x)</entry></row>
+
+<row><entry><keycap>S</keycap></entry>
+<entry><guibutton>Sin</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keycap>C</keycap></entry>
+<entry><guibutton>Cos</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keycap>T</keycap></entry>
+<entry><guibutton>Tan</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keycap>N</keycap></entry>
+<entry><guibutton>Ln</guibutton></entry>
+<entry>log base e</entry></row>
+
+<row><entry><keycap>L</keycap></entry>
+<entry><guibutton>Log</guibutton></entry>
+<entry>log base 10</entry></row>
+
+<row><entry><keycap>I</keycap></entry>
+<entry> <guibutton>Inv</guibutton></entry>
+<entry>Inverse, &eg; if
+you want arcsin(x) type <userinput>i s </userinput></entry></row>
+
+<row><entry><keysym>\</keysym></entry>
+<entry><guibutton>+/-</guibutton></entry>
+<entry>Change sign</entry></row>
+
+<row><entry><keysym>[</keysym></entry>
+<entry><guibutton>x^2</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keysym>^</keysym></entry>
+<entry><guibutton>x^y</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keysym>!</keysym></entry>
+<entry><guibutton>x!</guibutton></entry>
+<entry>Factorial</entry></row>
+
+<row><entry><keysym>&lt;</keysym></entry>
+<entry><guibutton>Lsh</guibutton></entry>
+<entry>Left shift. Note: <guibutton>Inv</guibutton>
+<guibutton>Lsh</guibutton> is Right shift</entry></row>
+
+<row><entry><keysym>&amp;</keysym></entry>
+<entry><guibutton>And</guibutton></entry>
+<entry>Logical AND</entry></row>
+
+<row><entry><keysym>*</keysym></entry>
+<entry><guibutton>X</guibutton></entry>
+<entry>Multiply</entry></row>
+
+<row><entry><keysym>/</keysym></entry>
+<entry><guibutton>/</guibutton></entry>
+<entry>Divide</entry></row>
+
+<row><entry><keycap>D</keycap></entry>
+<entry><guibutton>Dat</guibutton></entry>
+<entry>Enter data item in statistical mode</entry></row>
+
+<row><entry><keycap>O</keycap></entry>
+<entry><guibutton>Or</guibutton></entry>
+<entry>Logical OR. Note: <guibutton>Inv</guibutton>
+<guibutton>Or</guibutton> is XOR</entry></row>
+
+<row><entry><keycap>R</keycap></entry>
+<entry><guibutton>1/x</guibutton></entry>
+<entry>Reciprocal</entry></row>
+
+<row><entry><keysym>=</keysym></entry>
+<entry><guibutton>=</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keycap>Enter</keycap></entry>
+<entry><guibutton>=</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keycap>Return</keycap></entry>
+<entry><guibutton>=</guibutton></entry>
+<entry></entry></row>
+
+<row><entry><keycap>Page Up</keycap></entry>
+<entry><guibutton>C</guibutton></entry>
+<entry>Clear</entry></row>
+
+<row><entry><keycap>Esc</keycap></entry>
+<entry><guibutton>C</guibutton></entry>
+<entry>Clear</entry></row>
+
+<row><entry><keycap>Prior</keycap></entry>
+<entry><guibutton>C</guibutton></entry>
+<entry>Clear</entry></row>
+
+<row><entry><keycap>Page Down</keycap></entry>
+<entry><guibutton>AC</guibutton></entry>
+<entry>Clear all</entry></row>
+
+<row><entry><keycap>Next</keycap></entry>
+<entry><guibutton>AC</guibutton></entry>
+<entry>Clear all</entry></row>
+
+<row><entry><keycap>Del</keycap></entry>
+<entry><guibutton>AC</guibutton></entry>
+<entry>Clear all</entry></row>
+
+</tbody></tgroup></informaltable>
+
+</sect1>
+</chapter>
+
+<chapter id="comments-on-specific-functions">
+<title>Comments on Specific Functions</title>
+
+<sect1 id="mod">
+<title>Mod and Inv Mod</title>
+
+<variablelist>
+<varlistentry>
+<term><guibutton>Mod</guibutton> gives the remainder of dividing the displayed
+number by the next input number.</term>
+<listitem><para><userinput>22 Mod 8 = </userinput> will give the result
+<emphasis>6</emphasis></para>
+<para><userinput>22.345 Mod 8 = </userinput> will give the result
+<emphasis>6.345</emphasis></para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><guibutton>Inv</guibutton> <guibutton>Mod</guibutton> does integer
+division of the displayed number by the next input number.</term>
+<listitem><para><userinput>22 Inv Mod 8 = </userinput> will give the result
+<emphasis>2</emphasis></para>
+<para><userinput>22.345 Inv Mod 8 = </userinput> also gives <emphasis>2</emphasis>
+</para></listitem></varlistentry>
+</variablelist>
+
+</sect1>
+
+
+<sect1 id="percent">
+<title>&percnt;</title>
+
+<para>Used instead of the <guibutton>=</guibutton> key,
+<guibutton>%</guibutton> interprets the final operation carried out in the
+current calculation as follows:</para>
+
+<para><itemizedlist>
+<listitem>
+<para>If the final operator is + or - the second argument is interpreted as percentage of the first operand.
+</para>
+</listitem>
+<listitem>
+<para>If the final operator is * divide the result of the multiplication by 100.
+</para>
+</listitem>
+<listitem>
+<para>If the final operator is / give the left operand
+as a percentage of the right operand.
+</para>
+</listitem>
+<listitem>
+<para> In all other cases the &percnt; key gives identical results to the = key.
+</para>
+</listitem>
+</itemizedlist></para>
+
+<variablelist>
+<varlistentry>
+<term>Examples:</term>
+<listitem>
+<para><userinput>150 + 50 %</userinput> gives <emphasis>225</emphasis> (150 plus 50 percent of this amount)</para>
+<para><userinput>42 * 3 %</userinput> gives
+<emphasis>1.26</emphasis> (42 * 3 / 100)</para>
+<para><userinput>45 / 55 %</userinput> gives
+<emphasis>81.81...</emphasis> (45 is 81.81.. percent of 55)</para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+</sect1>
+
+<sect1 id="lsh-rsh">
+<title>Lsh and Inv Lsh</title>
+<variablelist>
+<varlistentry>
+<term><guibutton>Lsh</guibutton> left shifts the integer part of the displayed
+value (multiplies it by 2) n times, where n is the next input number, and
+gives an integer result:</term>
+<listitem><para><userinput>10 Lsh 3 =</userinput> gives <emphasis>80</emphasis>
+(10 multiplied by 2 three times).</para>
+<para><userinput>10.345 Lsh 3 =</userinput> also gives
+<emphasis>80</emphasis>.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>Inv</guibutton> <guibutton>Lsh</guibutton> right shifts the
+value (performs an integer divide by 2) n times.</term>
+<listitem><para><userinput>16 Inv Lsh 2 =</userinput> gives
+<emphasis>4</emphasis> (16 divided by 2 twice).</para>
+<para><userinput>16.999 Inv Lsh 2 =</userinput> also gives
+<emphasis>4</emphasis>.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+</sect1>
+
+<sect1 id="and-or-xor">
+<title>Cmp, And, Or and Xor</title>
+
+<para>The <guibutton>Cmp</guibutton>, <guibutton>And</guibutton> and
+<guibutton>Or</guibutton> functions perform bitwise logical operations and
+therefore appear more meaningful if the <guilabel>Base</guilabel> is set to
+<guilabel>Hex</guilabel>, <guilabel>Oct</guilabel> or <guilabel>Bin</guilabel>
+rather than <guilabel>Dec</guilabel>. In the following
+examples <guilabel>Base</guilabel> is set to <guilabel>Bin</guilabel>.</para>
+
+<variablelist>
+<varlistentry>
+<term><guibutton>Cmp</guibutton> performs a 1's complement (inverts the
+bits).</term>
+<listitem><para><userinput>101 Cmp</userinput> gives
+<emphasis>111...111010</emphasis></para> </listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>And</guibutton> does a logical AND.</term>
+<listitem><para><userinput>101 And 110 =</userinput> gives
+<emphasis>100</emphasis></para> </listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>Or</guibutton> does the logical OR.</term>
+<listitem><para><userinput>101 Or 110 =</userinput> gives
+<emphasis>111</emphasis></para> </listitem>
+</varlistentry>
+
+<varlistentry>
+<term><guibutton>Xor</guibutton> performs the logical
+XOR (exclusive OR) operation.</term>
+<listitem><para><userinput>101 Xor 110 =</userinput> gives
+<emphasis>11</emphasis></para> </listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+</chapter>
+
+
+<chapter id="questions-and-answers">
+<title>Questions and Answers</title>
+
+<qandaset>
+
+
+<qandaentry>
+<question><para>How do I get e, the Euler number?</para></question>
+<answer><para>Type <userinput>1 Inv Ln</userinput>.</para></answer>
+</qandaentry>
+
+<qandaentry>
+<question><para>How do I get two fixed digits after the period?</para></question>
+<answer><para>Click on the <guibutton>Configure</guibutton> button, this will
+bring up the configuration dialog. Check <guilabel>Set fixed
+precision</guilabel> and adjust the spin control so that it shows a
+2.</para></answer> </qandaentry>
+
+<qandaentry>
+<question><para>What about Precision?</para></question>
+<answer><para>The main factor determining the precision of &kcalc; is whether your libc and libmath
+supports the C data type <type>long double</type>. If this is the case, &kcalc; will detect this
+at compile time and use it as its fundamental data type to represent numbers.
+</para>
+
+<para>Adjust the <guilabel>Precision</guilabel> in &kcalc;'s
+<guibutton>Configure</guibutton> dialog so that the above computations
+work correctly. I recommend a precision of 14 if the fundamental data type
+for your copy of &kcalc; is <type>long double</type>, otherwise 8 or 10.</para>
+
+<para>Higher precision doesn't necessarily lead to better results. Play with
+the precision and you will see what I mean.</para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+&commands;
+
+<chapter id="copyright">
+<title>Credits and License</title>
+
+<para>&kcalc; Program Copyright &copy;:</para>
+<para>Bernd Johannes Wuebben 1996-2000</para>
+<para>The &kde; Team 2000-2004</para>
+
+<itemizedlist>
+<listitem><para>&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;</para></listitem>
+<listitem><para>&Evan.Teran; &Evan.Teran.mail;</para></listitem>
+<listitem><para>&Espen.Sand; &Espen.Sand.mail;</para></listitem>
+<listitem><para>&Chris.Howells; &Chris.Howells.mail;</para></listitem>
+<listitem><para>&Aaron.J.Seigo; &Aaron.J.Seigo.mail;</para></listitem>
+<listitem><para>&Charles.Samuels; &Charles.Samuels.mail;</para></listitem>
+</itemizedlist>
+
+<para>&kcalc; was inspired by <personname><firstname>Martin</firstname> <surname>Bartlett</surname></personname>'s <application>xfrmcalc</application>,
+whose stack engine is still part of &kcalc;.</para>
+
+<para>Documentation Copyright &copy; 2001,2002,2005, 2006:</para>
+<itemizedlist>
+<listitem><para>&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;</para></listitem>
+<listitem><para>&Pamela.Roberts; &Pamela.Roberts.mail;</para></listitem>
+<listitem><para>&J.Hall; &J.Hall.mail;</para></listitem>
+<listitem><para>&Anne-Marie.Mahfouf;&Anne-Marie.Mahfouf.mail;</para></listitem>
+</itemizedlist>
+
+&underFDL;
+&underGPL;
+
+</chapter>
+
+<appendix id="installation">
+<title>Installation</title>
+
+<para>&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 <ulink url="http://www.kde.org">http://www.kde.org</ulink>.</para>
+
+<!--
+<para>&kcalc;'s home site is <ulink
+url="http://math.cornell.edu/~wuebben/kde.html">
+http://math.cornell.edu/~wuebben/kde.html</ulink></para>
+-->
+
+<sect1 id="compilation-and-installation">
+<title>Compilation and Installation</title>
+
+&install.intro.documentation;
+&install.compile.documentation;
+
+</sect1>
+
+<sect1 id="enable-long-double-precision">
+<title>How to enable long double precision for &kcalc;</title>
+
+<para>If your machine supports the C data type <type>long double</type>
+and if you have a working libc you can enable <type>long double</type>
+precision for &kcalc;.</para>
+
+<para>Here is what to do:</para>
+
+<procedure>
+<step>
+<para> Check <filename>../config.h</filename> and see whether
+HAVE&lowbar;LONG&lowbar;DOUBLE is defined, &ie; you should be able to locate a
+line saying:</para>
+
+<screen>#define HAVE_LONG_DOUBLE 1</screen>
+
+<para>If you can't find such a line your system doesn't support long
+double IEEE precision. </para>
+</step>
+<step>
+<para>Edit the files <filename class="headerfile">kcalctype.h</filename>,
+<filename>configdlg.cpp</filename>, <filename>kcalc.cpp</filename> and
+<filename>kcalc&lowbar;core.cpp</filename> and remove the lines:</para>
+
+<screen>
+#ifdef HAVE_LONG_DOUBLE
+#undef HAVE_LONG_DOUBLE
+#endif
+</screen>
+
+</step>
+<step>
+<para> Recompile &kcalc;.
+</para>
+</step>
+</procedure>
+
+</sect1>
+</appendix>
+
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+-->
diff --git a/doc/kcalc/kcalc_on_Aix.txt b/doc/kcalc/kcalc_on_Aix.txt
new file mode 100644
index 0000000..186e9d6
--- /dev/null
+++ b/doc/kcalc/kcalc_on_Aix.txt
@@ -0,0 +1,123 @@
+X-RDate: Mon, 11 Aug 1997 17:34:22 -0400 (EDT)
+Return-Path: <diehl@mail.schoeck.de>
+Received: from cornell.edu (cornell.edu [132.236.56.6]) by
+ postoffice2.mail.cornell.edu (8.8.5/8.8.5) with ESMTP id JAA08757 for
+ <bw18@POSTOFFICE2.MAIL.CORNELL.EDU>; Mon, 11 Aug 1997 09:50:57 -0400 (EDT)
+Received: (from daemon@localhost) by cornell.edu (8.8.5/8.8.5) id JAA11825 for
+ bw18@postoffice3.mail.cornell.edu; Mon, 11 Aug 1997 09:50:56 -0400 (EDT)
+Received: from polygon.math.cornell.edu (POLYGON.MATH.CORNELL.EDU
+ [128.84.234.110]) by cornell.edu (8.8.5/8.8.5) with SMTP id JAA11800 for
+ <bw18@cornell.edu>; Mon, 11 Aug 1997 09:50:53 -0400 (EDT)
+Received: from ibmmail.COM by polygon.math.cornell.edu (5.x/SMI-SVR4) id
+ AA10464; Mon, 11 Aug 1997 09:50:48 -0400
+Received: from IMXGATE.COM by ibmmail.COM (IBM VM SMTP V2R3) with BSMTP id
+ 5302; Mon, 11 Aug 97 09:50:47 EDT
+Received: from mail.schoeck.de by imxgate.com (IBM VM SMTP V2R3) with TCP;
+ Mon, 11 Aug 97 09:49:44 EDT
+Received: from isndj1.ag.schoeck.com by mail.schoeck.de (AIX 4.1/UCB 5.64/4.03)
+ id AA15070; Mon, 11 Aug 1997 15:46:57 +0100
+Message-Id: <9708111446.AA15070@mail.schoeck.de>
+Comments: Authenticated sender is <diehjoch@mail.schoeck.com>
+X-PH: V4.1@cornell.edu (Cornell Modified)
+Organization: Schoeck AG
+Date: Mon, 11 Aug 1997 15:47:27 +1
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8BIT
+Comments: Sender has elected to use 8-bit data in this message. If problems
+ arise, refer to postmaster at sender's site.
+Reply-To: diehl@mail.schoeck.de
+Priority: normal
+In-Reply-To: <XFMail.970810103958.wuebben@math.cornell.edu>
+References: <9708101509.AA13824@mail.schoeck.de>
+X-Mailer: Pegasus Mail for Win32 (v2.52)
+XFMstatus: 0000
+From: "Jochen Diehl" <diehl@mail.schoeck.de>
+To: Bernd Johannes Wuebben <wuebben@math.cornell.edu>
+Subject: RE: kcalc under AIX
+
+
+> O.K Jochen,
+>
+> das wird jetzt aber ein bische unuebersichtlich.
+> Ich schlage vor, Du findest jetzt erst mal in Ruhe eine
+> Loesung die fuer AIX funktioniert. Dann sende mir Dein
+> kcalc.h und ich werde meine bestes tun das einzubauen.
+> Ich glaube es ist am besten wenn wir das so machen,
+> ein ganzen Haufen Leute sind naemlich immer zielich sauer,
+> wenn ich eine neue version von kcalc rausbringe und
+> es laeuft auf ihrer platform nicht mehr richtig.
+
+Sowas ist in der Tat aergerlich. Langsam verstehe ich, wieso
+kommerzielle Softwareschmieden sich so str?uben, auf n Plattformen zu
+portieren...
+
+Ok. Hier also mal meine Aenderungen, sind eigentlich minimal.
+Immerhin funktioniert die Trigonometrie dann bei mir. Ausser beim
+ersten Start: cos 0 gibt dann 0.9932483259 irgendwas, erst wenn ich
+AC druecke kommt 1 raus. Sonst klappt das erstmal. AIX scheint
+uebrigens asinhl und Konsorten nicht zu kennen, obwohl sinhl bekannt
+ist. Nun ja, hier der diff:
+kcalc.h
+72a73,81
+> #if defined(_AIX) && defined(HAVE_FABSL)
+> #define __LONGDOUBLE128
+> #define pi M_PI
+> #define asinhl(X) asinh(X)
+> #define acoshl(X) acosh(X)
+> #define atanhl(X) atanh(X)
+> #endif
+>
+>
+kcalc_core.cpp
+35c35
+39d38
+< #include <math.h>
+40a40
+> #include <math.h>
+68a69
+> #ifndef _AIX
+69a71
+> #endif
+157a160
+> #ifndef _AIX
+158a162
+> #endif
+Damit bricht der Compiler wenigstens mal nicht ab.
+
+
+Anscheinend ist IBM echt zu doof zum Rechnen (wundert mich, bei den
+Preisen und den unendlich vielen Seriennummern :-), Deine Definition
+von pi schluckt es nicht, da kommt dann NaNQ in die Anzeige.
+
+Auch sonst stimmt etwas noch nicht so, ich habe nur noch nicht
+herausgefunden, woran das liegt:
+Nach exp(1) zeigt kcalc e^1.5 an usw. Was am Source falsch sein
+soll, ist mir absolut schleierhaft, ich habe genau denselben Code in
+einem eigenen Programm und da rechnet er es richtig. Weiss der Geier.
+
+"0!" bringt bei mir einen core dump, schaetze mal, der modfl (IBM)
+ist daran schuld. Wenn ich vorher ein cout mache, bleibt das Programm
+stehen, cored aber wenigstens nicht.
+
+Was soll's? Da ich scheinbar der einzige bin, der Interesse an KDE
+auf AIX hat, stoert mich das nicht so ungemein, will sagen: ich habe
+keine Probleme xcalc zu nehmen (wenn ich ueberhaupt mal einen
+Taschenrechner brauche). Ansonsten gilt natuerlich die
+Standardaussage: Super, dass sich jemand hinsetzt und den Code
+ueberhaupt schreibt und dann noch fuer umme weggibt.
+
+Fass es bitte nicht als Kritik auf, sondern einfach als Info, was
+unter anderen OS so alles passieren kann :-) Was Du mit deinem Source
+machst, ist natuerlich Deine Sache, ich will hier ja keinen
+veraergern.
+
+Viele Gruesse
+Jochen
+
+
+
+-------------------------------------------------------------
+Jochen Diehl, R/3-Basis
+Schoeck AG, Vimbucher Str. 2, 76534 Baden-Baden
+Tel.: +497223967381 Fax.: +497223967352
diff --git a/doc/kcalc/kcalc_on_OSF.txt b/doc/kcalc/kcalc_on_OSF.txt
new file mode 100644
index 0000000..59b6e6e
--- /dev/null
+++ b/doc/kcalc/kcalc_on_OSF.txt
@@ -0,0 +1,62 @@
+X-RDate: Mon, 01 Sep 1997 07:45:22 -0400 (EDT)
+Return-Path: <knoll@daniel.mpi-hd.mpg.de>
+Received: from cornell.edu (cornell.edu [132.236.56.6]) by
+ postoffice2.mail.cornell.edu (8.8.5/8.8.5) with ESMTP id KAA06175 for
+ <bw18@POSTOFFICE2.MAIL.CORNELL.EDU>; Tue, 26 Aug 1997 10:56:10 -0400 (EDT)
+Received: (from daemon@localhost) by cornell.edu (8.8.5/8.8.5) id KAA25547 for
+ bw18@postoffice3.mail.cornell.edu; Tue, 26 Aug 1997 10:55:42 -0400 (EDT)
+Received: from polygon.math.cornell.edu (POLYGON.MATH.CORNELL.EDU
+ [128.84.234.110]) by cornell.edu (8.8.5/8.8.5) with SMTP id KAA25126 for
+ <bw18@cornell.edu>; Tue, 26 Aug 1997 10:55:15 -0400 (EDT)
+Received: from mpimail.mpi-hd.mpg.de by polygon.math.cornell.edu (5.x/SMI-SVR4)
+ id AA07964; Tue, 26 Aug 1997 10:54:56 -0400
+Received: from daniel.mpi-hd.mpg.de (daniel.mpi-hd.mpg.de [149.217.1.90]) by
+ mpimail.mpi-hd.mpg.de (8.8.2/8.8.2) with SMTP id QAA19532 for
+ <wuebben@math.cornell.edu>; Tue, 26 Aug 1997 16:54:56 +0200 (MET DST)
+Received: from localhost by daniel.mpi-hd.mpg.de
+ (5.65v4.0/1.1.10.5/31Jul97-0446PM) id AA04869; Tue, 26 Aug 1997 16:54:56 +0200
+Date: Tue, 26 Aug 1997 16:54:56 +0200 (MET DST)
+X-PH: V4.1@cornell.edu (Cornell Modified)
+Message-Id: <Pine.OSF.3.96.970826163314.32213A-100000@daniel.mpi-hd.mpg.de>
+Mime-Version: 1.0
+Content-Type: TEXT/PLAIN; charset=US-ASCII
+XFMstatus: 0002
+From: Lars Knoll <Lars.Knoll@mpi-hd.mpg.de>
+To: wuebben@math.cornell.edu
+Subject: kcalc unter dec osf4.0
+
+Hi,
+
+ich hatte ein paar Probleme, kcalc auf einer dec alpha unter osf4.0
+zu kompilieren. Das Problem ist, dass bei diesem System
+ sizeof(long double) = sizeof(double)
+ist, und dass Routinen namens asinl, fabsl, ... existieren, aber nicht
+in irgendwelchen headers definiert werden.
+Zusaetzlich funktioniert fabsl() wie erwartet, asinl gibt aber leider
+immer nur 0. zurueck. Der folgende patch loest das Problem bei mir.
+
+Lars
+
+
+diff -c kcalc/kcalc.h kcalc.osf/kcalc.h
+*** kcalc/kcalc.h Sun Aug 3 05:01:41 1997
+--- kcalc.osf/kcalc.h Tue Aug 26 16:53:12 1997
+***************
+*** 63,68 ****
+--- 63,72 ----
+
+ /* TAKE CARE OF TH HAVE_LONG_DOUBLE defines in core.cpp*/
+
++ /* dec osf4.0 has fabsl, but not asinl... */
++ #ifdef __osf__
++ #undef HAVE_FABSL
++ #endif
+
+ #ifdef HAVE_FABSL
+ #define CALCAMNT long double
+
+
+
+---
+Lars Knoll knoll@mpi-hd.mpg.de
+ PGP pub key [6DADF3D5]: finger knoll@pluto.mpi-hd.mpg.de