home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XCALC(1) XCALC(1)
-
-
- NNAAMMEE
- xcalc - scientific calculator for X
-
- SSYYNNOOPPSSIISS
- xxccaallcc [-stipple] [-rpn] [-_t_o_o_l_k_i_t_o_p_t_i_o_n_._._.]
-
- DDEESSCCRRIIPPTTIIOONN
- _x_c_a_l_c is a scientific calculator desktop accessory that
- can emulate a TI-30 or an HP-10C.
-
- OOPPTTIIOONNSS
- _x_c_a_l_c accepts all of the standard toolkit command line
- options along with two additional options:
-
-
- --ssttiippppllee
- 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.
-
-
- --rrppnn 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.
-
- OOPPEERRAATTIIOONN
- _P_o_i_n_t_e_r _U_s_a_g_e_: Operations may be performed with pointer
- button 1, or in some cases, with the keyboard. Many com-
- mon calculator operations have keyboard accelerators. To
- quit, press pointer button 3 on the AC key of the TI cal-
- culator, or the ON key of the HP calculator.
-
- _C_a_l_c_u_l_a_t_o_r _K_e_y _U_s_a_g_e _(_T_I _m_o_d_e_)_: 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 paren-
- theses can be used to override this. For example,
- "(1+2+3)*(4+5+6)=" results in "6*15=90".
-
- The entire number in the calculator display can be
- selected, in order to paste the result of a calculation
- into text.
-
- 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 ddiiggiitt((_n)), where _n is the corresponding
- digit, 0..9.
-
- 11//xx Replaces the number in the display with its
- reciprocal. The corresponding action procedure
-
-
-
- X Version 11 Release 6 1
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- is rreecciipprrooccaall(()).
-
- xx^^22 Squares the number in the display. The corre-
- sponding action procedure is ssqquuaarree(()).
-
- SSQQRRTT Takes the square root of the number in the dis-
- play. The corresponding action procedure is
- ssqquuaarreeRRoooott(()).
-
- CCEE//CC When pressed once, clears the number in the dis-
- play 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 cclleeaarr(()).
-
- AACC Clears the display, the state, and the memory.
- Pressing it with the third pointer button turns
- off the calculator, in that it exits the pro-
- gram. The action procedure to clear the state
- is ooffff(()); to quit, qquuiitt(()).
-
- IINNVV Invert function. See the individual function
- keys for details. The corresponding action pro-
- cedure is iinnvveerrssee(()).
-
- ssiinn 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 ssiinnee(()).
-
- ccooss Computes the cosine, or arccosine when inverted.
- The corresponding action procedure is ccoossiinnee(()).
-
- ttaann Computes the tangent, or arctangent when
- inverted. The corresponding action procedure is
- ttaannggeenntt(()).
-
- DDRRGG Changes the DRG mode, as indicated by 'DEG',
- 'RAD', or 'GRAD' at the bottom of of the calcu-
- lator ``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 convert-
- ing 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 ddeeggrreeee(()).
-
- ee The constant 'e'. (2.7182818...). The corre-
- sponding action procedure is ee(()).
-
-
-
- X Version 11 Release 6 2
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- EEEE Used for entering exponential numbers. For
- example, to get "-2.3E-4" you'd enter "2 . 3 +/-
- EE 4 +/-". The corresponding action procedure
- is sscciieennttiiffiicc(()).
-
- lloogg 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, enter-
- ing "3 INV log" should result in "1000". The
- corresponding action procedure is llooggaarriitthhmm(()).
-
- llnn 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 nnaattuurraallLLoogg(()).
-
- yy^^xx 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 ppoowweerr(()).
-
- PPII The constant 'pi'. (3.1415927....) The corre-
- sponding action procedure is ppii(()).
-
- xx!! Computes the factorial of the number in the dis-
- play. 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
- ffaaccttoorriiaall(()).
-
- (( Left parenthesis. The corresponding action pro-
- cedure for TI calculators is lleeffttPPaarreenn(()).
-
- )) Right parenthesis. The corresponding action
- procedure for TI calculators is rriigghhttPPaarreenn(()).
-
- // Division. The corresponding action procedure is
- ddiivviiddee(()).
-
- ** Multiplication. The corresponding action proce-
- dure is mmuullttiippllyy(()).
-
- -- Subtraction. The corresponding action procedure
- is ssuubbttrraacctt(()).
-
- ++ Addition. The corresponding action procedure is
- aadddd(()).
-
- == Perform calculation. The TI-specific action
- procedure is eeqquuaall(()).
-
-
-
- X Version 11 Release 6 3
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- SSTTOO Copies the number in the display to the memory
- location. The corresponding action procedure is
- ssttoorree(()).
-
- RRCCLL Copies the number from the memory location to
- the display. The corresponding action procedure
- is rreeccaallll(()).
-
- SSUUMM Adds the number in the display to the number in
- the memory location. The corresponding action
- procedure is ssuumm(()).
-
- EEXXCC Swaps the number in the display with the number
- in the memory location. The corresponding
- action procedure for the TI calculator is
- eexxcchhaannggee(()).
-
- ++//-- Negate; change sign. The corresponding action
- procedure is nneeggaattee(()).
-
- .. Decimal point. The action procedure is ddeeccii--
- mmaall(()).
-
-
- _C_a_l_c_u_l_a_t_o_r _K_e_y _U_s_a_g_e _(_R_P_N _m_o_d_e_)_: 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
- eenntteerr(()).
-
-
- <<-- 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 bbaacckk(()).
-
- OONN Clears the display, the state, and the memory.
- Pressing it with the third pointer button turns
- off the calculator, in that it exits the pro-
- gram. To clear state, the action procedure is
- ooffff; to quit, qquuiitt(()).
-
- IINNVV Inverts the meaning of the function keys. This
- would be the _f key on an HP calculator, but
- _x_c_a_l_c does not display multiple legends on each
- key. See the individual function keys for
- details.
-
- 1100^^xx 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 tteennppoowweerr(()).
-
-
-
- X Version 11 Release 6 4
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- ee^^xx 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 eeppoowweerr(()).
-
- SSTTOO 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.
-
- RRCCLL Pushes the number from the specified memory
- location onto the stack.
-
- SSUUMM Adds the number on top of the stack to the num-
- ber in the specified memory location.
-
- xx::yy Exchanges the numbers in the top two stack posi-
- tions, the X and Y registers. The corresponding
- action procedure is XXeexxcchhaannggeeYY(()).
-
- RR vv Rolls the stack downward. When inverted, it
- rolls the stack upward. The corresponding
- action procedure is rroollll(()).
-
- _b_l_a_n_k These keys were used for programming functions
- on the HP-10C. Their functionality has not been
- duplicated in _x_c_a_l_c.
-
- Finally, there are two additional action procedures:
- bbeellll(()), which rings the bell; and sseelleeccttiioonn(()), which per-
- forms a cut on the entire number in the calculator's
- ``liquid crystal'' display.
-
- AACCCCEELLEERRAATTOORRSS
- Accelerators are shortcuts for entering commands. _x_c_a_l_c
- provides some sample keyboard accelerators; also users can
- customize accelerators. The numeric keypad accelerators
- provided by _x_c_a_l_c should be intuitively correct. The
- accelerators defined by _x_c_a_l_c on the main keyboard are
- given below:
-
- 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()
-
-
-
- X Version 11 Release 6 5
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- 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()
-
-
- CCUUSSTTOOMMIIZZAATTIIOONN
- The application class name is XCalc.
-
- _x_c_a_l_c 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.
-
- The foreground and background colors of each calculator
- key can be individually specified. For the TI calculator,
- a classical color resource specification might be:
-
- XCalc.ti.Command.background: gray50
- XCalc.ti.Command.foreground: white
-
- For each of buttons 20, 25, 30, 35, and 40, specify:
- XCalc.ti.button20.background: black
- XCalc.ti.button20.foreground: white
-
- For each of buttons 22, 23, 24, 27, 28, 29, 32, 33, 34,
- 37, 38, and 39:
-
-
-
- X Version 11 Release 6 6
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- XCalc.ti.button22.background: white
- XCalc.ti.button22.foreground: black
-
- WWIIDDGGEETT HHIIEERRAARRCCHHYY
- In order to specify resources, it is useful to know the
- hierarchy of the widgets which compose _x_c_a_l_c. In the
- notation below, indentation indicates hierarchical struc-
- ture. The widget class name is given first, followed by
- the widget instance name.
-
- XCalc xcalc
- Form ti _o_r hp _(_t_h_e _n_a_m_e _d_e_p_e_n_d_s _o_n _t_h_e _m_o_d_e_)
- Form bevel
- Form screen
- Label M
- Toggle LCD
- Label INV
- Label DEG
- Label RAD
- Label GRAD
- Label P
- Command button1
- Command button2
- Command button3
- _a_n_d _s_o _o_n_, _._._.
- Command button38
- Command button39
- Command button40
-
- AAPPPPLLIICCAATTIIOONN RREESSOOUURRCCEESS
- rrppnn (Class RRppnn)
- Specifies that the rpn mode should be used. The
- default is TI mode.
-
- ssttiippppllee (Class SSttiippppllee)
- Indicates that the background should be stippled.
- The default is ``on'' for monochrome displays, and
- ``off'' for color displays.
-
- ccuurrssoorr (Class CCuurrssoorr)
- The name of the symbol used to represent the
- pointer. The default is ``hand2''.
-
- CCOOLLOORRSS
- 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:
-
- *customization: -color
-
- This will cause xcalc to pick up the colors in the app-
- defaults color customization file: <XRoot>/lib/X11/app-
- defaults/XCalc-color.
-
-
-
-
- X Version 11 Release 6 7
-
-
-
-
-
- XCALC(1) XCALC(1)
-
-
- SSEEEE AALLSSOO
- X(1), xrdb(1), the Athena Widget Set
-
- BBUUGGSS
- HP mode: A bug report claims that the sequence of keys 5,
- ENTER, <- should clear the display, but it doesn't.
-
- CCOOPPYYRRIIGGHHTT
- Copyright ([, X Consortium
- See _X_(_1_) for a full statement of rights and permissions.
-
- AAUUTTHHOORRSS
- John Bradley, University of Pennsylvania
- Mark Rosenstein, MIT Project Athena
- Donna Converse, MIT X Consortium
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- X Version 11 Release 6 8
-
-
-