aboutsummaryrefslogtreecommitdiff
path: root/apps/xcalc/xcalc.man
diff options
context:
space:
mode:
Diffstat (limited to 'apps/xcalc/xcalc.man')
-rw-r--r--apps/xcalc/xcalc.man440
1 files changed, 440 insertions, 0 deletions
diff --git a/apps/xcalc/xcalc.man b/apps/xcalc/xcalc.man
new file mode 100644
index 000000000..14d856efc
--- /dev/null
+++ b/apps/xcalc/xcalc.man
@@ -0,0 +1,440 @@
+.\" $XConsortium: xcalc.man,v 1.10 94/04/17 20:43:32 matt Exp $
+.\" $XdotOrg: $
+.\" Copyright (c) 1994 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" $XFree86: xc/programs/xcalc/xcalc.man,v 1.4 2002/10/12 16:06:46 herrb Exp $
+.\"
+.de EX \"Begin example
+.ne 5
+.if n .sp 1
+.if t .sp .5
+.nf
+.in +.5i
+..
+.de EE
+.fi
+.in -.5i
+.if n .sp 1
+.if t .sp .5
+..
+.TH XCALC 1 __xorgversion__
+.SH NAME
+xcalc \- scientific calculator for X
+.SH SYNOPSIS
+.B xcalc
+[-stipple] [-rpn] [-\fItoolkitoption...\fP]
+.SH DESCRIPTION
+.I xcalc
+is a scientific calculator desktop accessory that can emulate a TI-30
+or an HP-10C.
+.SH OPTIONS
+.PP
+\fIxcalc\fP accepts all of the standard toolkit command line options along
+with two additional options:
+.PP
+.TP 8
+.B \-stipple
+This option indicates that the background of the calculator should be
+drawn using a stipple of the foreground and background colors. On monochrome
+displays improves the appearance.
+.PP
+.TP 8
+.B \-rpn
+This option indicates that Reverse Polish Notation should be used. In this
+mode the calculator will look and behave like an HP-10C. Without this flag,
+it will emulate a TI-30.
+.SH OPERATION
+.PP
+.I Pointer Usage:
+Operations may be performed with pointer button 1, or in some cases,
+with the keyboard.
+Many common calculator operations have keyboard accelerators.
+To quit, press pointer button 3 on the AC key of the TI calculator,
+or the ON key of the HP calculator.
+.PP
+.I Calculator Key Usage (TI mode):
+The numbered keys, the +/- key, and the +, -, *, /, and = keys all do exactly
+what you would expect them to. It should be noted that the operators obey
+the standard rules of precedence. Thus, entering "3+4*5=" results in "23",
+not "35". The parentheses can be used to override this. For example,
+"(1+2+3)*(4+5+6)=" results in "6*15=90".
+.PP
+The entire number in the calculator display can be selected, in order to
+paste the result of a calculation into text.
+.PP
+The action procedures associated with each function are given below. These
+are useful if you are interested in defining a custom calculator.
+The action used for all digit keys is \fBdigit(\fIn\fP)\fR, where \fIn\fR
+is the corresponding digit, 0..9.
+.TP 10
+.B 1/x
+Replaces the number in the display with its reciprocal.
+The corresponding action procedure is \fBreciprocal()\fR.
+.TP 10
+.B x^2
+Squares the number in the display.
+The corresponding action procedure is \fBsquare()\fR.
+.TP 10
+.B SQRT
+Takes the square root of the number in the display.
+The corresponding action procedure is \fBsquareRoot()\fR.
+.TP 10
+.B CE/C
+When pressed once, clears the number in the display without clearing the state
+of the machine. Allows you to re-enter a number if you make a mistake.
+Pressing it twice clears the state, also.
+The corresponding action procedure for TI mode is \fBclear()\fR.
+.TP 10
+.B AC
+Clears the display, the state, and the memory. Pressing it with the third
+pointer button turns off the calculator, in that it exits the program.
+The action procedure to clear the state is \fBoff()\fR; to quit, \fBquit()\fR.
+.TP 10
+.B INV
+Invert function. See the individual function keys for details.
+The corresponding action procedure is \fBinverse()\fR.
+.TP 10
+.B sin
+Computes the sine of the number in the display, as interpreted by the current
+DRG mode (see DRG, below). If inverted, it computes the arcsine.
+The corresponding action procedure is \fBsine()\fR.
+.TP 10
+.B cos
+Computes the cosine, or arccosine when inverted.
+The corresponding action procedure is \fBcosine()\fP.
+.TP 10
+.B tan
+Computes the tangent, or arctangent when inverted.
+The corresponding action procedure is \fBtangent()\fP.
+.TP 10
+.B DRG
+Changes the DRG mode, as indicated by 'DEG', 'RAD', or 'GRAD' at the bottom of
+of the calculator ``liquid crystal'' display.
+When in 'DEG' mode, numbers in the display are taken as being
+degrees. In 'RAD' mode, numbers are in radians, and in 'GRAD' mode, numbers
+are in grads. When inverted, the DRG key has a feature of
+converting degrees to radians to grads and vice-versa. Example: put the
+calculator into 'DEG' mode, and enter "45 INV DRG". The display should now
+show something along the lines of ".785398", which is 45 degrees converted to
+radians.
+The corresponding action procedure is \fBdegree()\fP.
+.TP 10
+.B e
+The constant 'e'. (2.7182818...).
+The corresponding action procedure is \fBe()\fR.
+.TP 10
+.B EE
+Used for entering exponential numbers. For example, to get "-2.3E-4" you'd
+enter "2 . 3 +/- EE 4 +/-".
+The corresponding action procedure is \fBscientific()\fR.
+.TP 10
+.B log
+Calculates the log (base 10) of the number in the display. When inverted,
+it raises "10.0" to the number in the display.
+For example, entering "3 INV log" should result in "1000".
+The corresponding action procedure is \fBlogarithm()\fP.
+.TP 10
+.B ln
+Calculates the log (base e) of the number in the display. When inverted,
+it raises "e" to the number in the display. For example, entering "e ln"
+should result in "1".
+The corresponding action procedure is \fBnaturalLog()\fR.
+.TP 10
+.B y^x
+Raises the number on the left to the power of the number on the right. For
+example "2 y^x 3 =" results in "8", which is 2^3. For a further example,
+"(1+2+3) y^x (1+2) =" equals "6 y^x 3" which equals "216".
+The corresponding action procedure is \fBpower()\fR.
+.TP 10
+.B PI
+The constant 'pi'. (3.1415927....)
+The corresponding action procedure is \fBpi()\fR.
+.TP 10
+.B x!
+Computes the factorial of the number in the display. The number in the display
+must be an integer in the range 0-500, though, depending on your math library,
+it might overflow long before that.
+The corresponding action procedure is \fBfactorial()\fR.
+.TP 10
+.B (
+Left parenthesis. The corresponding action procedure for TI calculators
+is \fBleftParen()\fR.
+.TP 10
+.B )
+Right parenthesis. The corresponding action procedure for TI calculators
+is \fBrightParen()\fR.
+.TP 10
+.B /
+Division. The corresponding action procedure is \fBdivide()\fR.
+.TP 10
+.B *
+Multiplication. The corresponding action procedure is \fBmultiply()\fR.
+.TP 10
+.B -
+Subtraction. The corresponding action procedure is \fBsubtract()\fR.
+.TP 10
+.B +
+Addition. The corresponding action procedure is \fBadd()\fR.
+.TP 10
+.B =
+Perform calculation. The TI-specific action procedure is \fBequal()\fR.
+.TP 10
+.B STO
+Copies the number in the display to the memory location.
+The corresponding action procedure is \fBstore()\fR.
+.TP 10
+.B RCL
+Copies the number from the memory location to the display.
+The corresponding action procedure is \fBrecall()\fR.
+.TP 10
+.B SUM
+Adds the number in the display to the number in the memory location.
+The corresponding action procedure is \fBsum()\fR.
+.TP 10
+.B EXC
+Swaps the number in the display with the number in the memory location.
+The corresponding action procedure for the TI calculator is \fBexchange()\fR.
+.TP 10
+.B +/-
+Negate; change sign. The corresponding action procedure is \fBnegate()\fR.
+.TP 10
+.B .
+Decimal point. The action procedure is \fBdecimal()\fP.
+.sp
+.PP
+.I Calculator Key Usage (RPN mode):
+The number keys, CHS (change sign), +, -, *, /, and ENTR keys all do exactly
+what you would expect them to do. Many of the remaining keys are the same as
+in TI mode. The differences are detailed below. The action procedure
+for the ENTR key is \fBenter()\fR.
+.sp
+.TP 10
+.B <-
+This is a backspace key that can be used if you make a mistake while entering
+a number. It will erase digits from the display. (See BUGS).
+Inverse backspace will clear the X register.
+The corresponding action procedure is \fBback()\fR.
+.TP 10
+.B ON
+Clears the display, the state, and the memory. Pressing it with the third
+pointer button turns off the calculator, in that it exits the program.
+To clear state, the action procedure is \fBoff\fR; to quit, \fBquit()\fR.
+.TP 10
+.B INV
+Inverts the meaning of the function keys. This would be the \fIf\fR key
+on an HP calculator, but \fIxcalc\fR does not display
+multiple legends on each key. See the individual function keys for details.
+.TP 10
+.B 10^x
+Raises "10.0" to the number in the top of the stack.
+When inverted, it calculates the log (base 10) of the number in the display.
+The corresponding action procedure is \fBtenpower()\fR.
+.TP 10
+.B e^x
+Raises "e" to the number in the top of the stack.
+When inverted, it calculates the log (base e) of the number in the display.
+The action procedure is \fBepower()\fR.
+.TP 10
+.B STO
+Copies the number in the top of the stack to a memory location. There are 10
+memory locations. The desired memory is specified by following this
+key with a digit key.
+.TP 10
+.B RCL
+Pushes the number from the specified memory location onto the stack.
+.TP 10
+.B SUM
+Adds the number on top of the stack to the number in the specified
+memory location.
+.TP 10
+.B x:y
+Exchanges the numbers in the top two stack positions, the X and Y registers.
+The corresponding action procedure is \fBXexchangeY()\fR.
+.TP 10
+.B R v
+Rolls the stack downward. When inverted, it rolls the stack upward.
+The corresponding action procedure is \fBroll()\fR.
+.TP 10
+.I blank
+These keys were used for programming functions on the HP-10C. Their
+functionality has not been duplicated in \fIxcalc\fR.
+.PP
+Finally, there are two additional action procedures:
+\fBbell()\fR, which rings the bell;
+and \fBselection()\fR, which performs a cut on the
+entire number in the calculator's ``liquid crystal'' display.
+.SH ACCELERATORS
+.PP
+Accelerators are shortcuts for entering commands. \fIxcalc\fP provides
+some sample keyboard accelerators; also users can customize accelerators.
+The numeric keypad accelerators provided by \fIxcalc\fP
+should be intuitively correct.
+The accelerators defined by \fIxcalc\fP on the main keyboard are given below:
+.PP
+.nf
+.ta .5i 1.0i 1.5i 2.0i 2.5i 3.0i 3.5i 4.0i 4.5i 5.0i 5.5i 6.0i 6.5i 7.0i
+ TI Key HP Key Keyboard Accelerator TI Function HP Function
+
+ SQRT SQRT r squareRoot() squareRoot()
+ AC ON space clear() clear()
+ AC <- Delete clear() back()
+ AC <- Backspace clear() back()
+ AC <- Control-H clear() back()
+ AC Clear clear()
+ AC ON q quit() quit()
+ AC ON Control-C quit() quit()
+
+ INV i i inverse() inverse()
+ sin s s sine() sine()
+ cos c c cosine() cosine()
+ tan t t tangent() tangent()
+ DRG DRG d degree() degree()
+
+ e e e()
+ ln ln l naturalLog() naturalLog()
+ y^x y^x ^ power() power()
+
+ PI PI p pi() pi()
+ x! x! ! factorial() factorial()
+ ( ( leftParen()
+ ) ) rightParen()
+
+ / / / divide() divide()
+ * * * multiply() multiply()
+ - - - subtract() subtract()
+ + + + add() add()
+ = = equal()
+
+ 0..9 0..9 0..9 digit() digit()
+ . . . decimal() decimal()
+ +/- CHS n negate() negate()
+
+ x:y x XexchangeY()
+ ENTR Return enter()
+ ENTR Linefeed enter()
+.fi
+.PP
+.SH CUSTOMIZATION
+The application class name is XCalc.
+.PP
+\fIxcalc\fP has an enormous application defaults file which specifies
+the position, label, and function of each key on the calculator.
+It also gives translations to serve as keyboard accelerators.
+Because these resources are not specified in the source code, you can create
+a customized calculator by writing a private application defaults file,
+using the Athena Command and Form widget resources to specify the size and
+position of buttons, the label for each button, and the function of
+each button.
+.PP
+The foreground and background colors of each calculator key can be
+individually specified.
+For the TI calculator, a classical color resource specification might be:
+.sp
+.br
+XCalc.ti.Command.background: gray50
+.br
+XCalc.ti.Command.foreground: white
+.sp
+For each of buttons 20, 25, 30, 35, and 40, specify:
+.br
+XCalc.ti.button20.background: black
+.br
+XCalc.ti.button20.foreground: white
+.sp
+For each of buttons 22, 23, 24, 27, 28, 29, 32, 33, 34, 37, 38, and 39:
+.br
+XCalc.ti.button22.background: white
+.br
+XCalc.ti.button22.foreground: black
+.SH WIDGET HIERARCHY
+In order to specify resources, it is useful to know the hierarchy of
+the widgets which compose \fIxcalc\fR. In the notation below,
+indentation indicates hierarchical structure. The widget class name
+is given first, followed by the widget instance name.
+.nf
+.ta .5i 1.0i 1.5i 2.0i 2.5i 3.0i 3.5i 4.0i 4.5i 5.0i 5.5i 6.0i 6.5i 7.0i
+.sp
+XCalc xcalc
+ Form ti \fIor\fR hp \fI(the name depends on the mode)\fR
+ Form bevel
+ Form screen
+ Label M
+ Toggle LCD
+ Label INV
+ Label DEG
+ Label RAD
+ Label GRAD
+ Label P
+ Command button1
+ Command button2
+ Command button3
+\fIand so on, ...\fR
+ Command button38
+ Command button39
+ Command button40
+.fi
+.SH APPLICATION RESOURCES
+.PP
+.TP 8
+\fBrpn\fR (Class \fBRpn\fR)
+Specifies that the rpn mode should be used. The default is TI mode.
+.TP 8
+\fBstipple\fR (Class \fBStipple\fR)
+Indicates that the background should be stippled. The default is ``on''
+for monochrome displays, and ``off'' for color displays.
+.TP 8
+\fBcursor\fR (Class \fBCursor\fR)
+The name of the symbol used to represent the pointer.
+The default is ``hand2''.
+.fi
+.SH COLORS
+If you would like xcalc to use its ti colors, include the following
+in the #ifdef COLOR section of the file you read with xrdb:
+.sp 1
+*customization: -color
+.sp 1
+.br
+This will cause xcalc to pick up the colors in the app-defaults color
+customization file:
+.IR __apploaddir__/XCalc-color .
+.fi
+.SH "SEE ALSO"
+X(__miscmansuffix__), xrdb(1), the Athena Widget Set
+.SH BUGS
+.PP
+HP mode is not completely debugged. In particular, the stack is
+not handled properly after errors.
+.SH COPYRIGHT
+Copyright 1994 X Consortium
+.br
+See \fIX(__miscmansuffix__)\fP for a full statement of rights and permissions.
+.SH AUTHORS
+John Bradley, University of Pennsylvania
+.br
+Mark Rosenstein, MIT Project Athena
+.br
+Donna Converse, MIT X Consortium