Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XCALC(1)		    General Commands Manual		      XCALC(1)

NAME
       xcalc - scientific calculator for X

SYNOPSIS
       xcalc [-stipple]	[-rpn] [-toolkitoption...]
       xcalc -version
       xcalc -help

DESCRIPTION
       xcalc  is  a scientific calculator desktop accessory that can emulate a
       TI-30 or	an HP-10C.

OPTIONS
       xcalc accepts all of the	standard toolkit command  line	options	 along
       with these additional options:

       -stipple
	       This  option  indicates	that  the background of	the calculator
	       should be drawn using a stipple of  the	foreground  and	 back-
	       ground colors.  On monochrome displays improves the appearance.

       -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.

       -help   This option indicates that xcalc	should print its usage message
	       and exit.

       -version
	       This option indicates that xcalc	should print its  version  and
	       exit.

OPERATION
       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.

       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	prece-
       dence.  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 digit(n), where n is  the	corre-
       sponding	digit, 0..9.

       1/x	 Replaces  the number in the display with its reciprocal.  The
		 corresponding action procedure	is reciprocal().

       x^2	 Squares the number in the display.  The corresponding	action
		 procedure is square().

       SQRT	 Takes the square root of the number in	the display.  The cor-
		 responding action procedure is	squareRoot().

       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 clear().

       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 off(); to quit, quit().

       INV	 Invert	 function.   See  the individual function keys for de-
		 tails.	 The corresponding action procedure is inverse().

       sin	 Computes the sine of the number in  the  display,  as	inter-
		 preted	 by  the  current  DRG	mode (see DRG, below).	If in-
		 verted, it computes the arcsine.   The	 corresponding	action
		 procedure is sine().

       cos	 Computes  the cosine, or arccosine when inverted.  The	corre-
		 sponding action procedure is cosine().

       tan	 Computes the tangent, or arctangent when inverted.  The  cor-
		 responding action procedure is	tangent().

       DRG	 Changes the DRG mode, as indicated by 'DEG', 'RAD', or	'GRAD'
		 at  the  bottom 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
		 degree().

       e	 The  constant 'e'.  (2.7182818...).  The corresponding	action
		 procedure is e().

       EE	 Used for entering exponential numbers.	 For example,  to  get
		 "-2.3E-4"  you'd enter	"2 . 3 +/- EE 4	+/-".  The correspond-
		 ing action procedure is scientific().

       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 logarithm().

       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  cor-
		 responding action procedure is	naturalLog().

       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	proce-
		 dure is power().

       not	 Performs  a  bitwise not.  The	corresponding action procedure
		 is not().

       and	 Performs a bitwise and.  The corresponding  action  procedure
		 is and().

       or	 Performs a bitwise or.	 The corresponding action procedure is
		 or().

       xor	 Performs  a  bitwise  exclusive or.  The corresponding	action
		 procedure is xor().

       trunc	 Truncates the number in the display to	an integer.  The  cor-
		 responding action procedure is	trunc().

       PI	 The constant 'pi'.  (3.1415927....)  The corresponding	action
		 procedure is pi().

       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 fac-
		 torial().

       (	 Left parenthesis.  The	corresponding action procedure for  TI
		 calculators is	leftParen().

       )	 Right parenthesis.  The corresponding action procedure	for TI
		 calculators is	rightParen().

       base	 Changes  the  number  base,  as  indicated by 'DEC', 'HEX, or
		 'OCT' at the bottom of	the calculator display.	 When in 'DEC'
		 mode, numbers in the display are taken	as being decimal (base
		 10).  In 'HEX'	mode, numbers are in  hexadecimal  (base  16),
		 and in	'OCT' mode, numbers are	in octal (base 8).  The	corre-
		 sponding action procedure is base().

       shl	 Performs  an arithmetic bitwise shift left,  For example, en-
		 tering	"1 shl 2" should result	in "4".	 The corresponding ac-
		 tion procedure	is shl().

       shr	 Performs an arithmetic	bitwise	shift right,  For example, en-
		 tering	"8 shr 1" should result	in "4".	 The corresponding ac-
		 tion procedure	is shr().

       mod	 Performs the modulo operation,	which calculates the remainder
		 when dividing the first number	by the second.	 For  example,
		 entering  "14 mod 8" should result in "6".  The corresponding
		 action	procedure is mod().

       /	 Division.  The	corresponding action procedure is divide().

       *	 Multiplication.  The corresponding action procedure is	multi-
		 ply().

       -	 Subtraction.  The  corresponding  action  procedure  is  sub-
		 tract().

       +	 Addition.  The	corresponding action procedure is add().

       =	 Perform  calculation.	 The  TI-specific  action procedure is
		 equal().

       STO	 Copies	the number in the display to the memory	location.  The
		 corresponding action procedure	is store().

       RCL	 Copies	the number from	the memory location  to	 the  display.
		 The corresponding action procedure is recall().

       SUM	 Adds  the  number  in the display to the number in the	memory
		 location.  The	corresponding action procedure is sum().

       EXC	 Swaps the number in the display with the number in the	memory
		 location.  The	corresponding action procedure for the TI cal-
		 culator is exchange().

       +/-	 Negate; change	sign.  The corresponding action	 procedure  is
		 negate().

       .	 Decimal point.	 The action procedure is decimal().

       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 enter().

       <-	 This  is  a backspace key that	can be used if you make	a mis-
		 take 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 back().

       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	proce-
		 dure is off; to quit, quit().

       INV	 Inverts the meaning of	the function keys.  This would be  the
		 f  key	on an HP calculator, but xcalc does not	display	multi-
		 ple legends on	each key.  See the  individual	function  keys
		 for details.

       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 ten-
		 power().

       e^x	 Raises	"e" to the number in the top of	the stack.   When  in-
		 verted,  it  calculates the log (base e) of the number	in the
		 display.  The action procedure	is epower().

       STO	 Copies	the number in the top of the stack to a	 memory	 loca-
		 tion.	 There are 10 memory locations.	 The desired memory is
		 specified by following	this key with a	digit key.

       RCL	 Pushes	the number from	the specified memory location onto the
		 stack.

       SUM	 Adds the number on top	of the stack  to  the  number  in  the
		 specified memory location.

       x:y	 Exchanges  the	 numbers in the	top two	stack positions, the X
		 and Y registers.  The corresponding action procedure is  Xex-
		 changeY().

       R v	 Rolls	the stack downward.  When inverted, it rolls the stack
		 upward.  The corresponding action procedure is	roll().

       blank	 These keys were used for programming functions	on the HP-10C.
		 Their functionality has not been duplicated in	xcalc.

       Finally,	there are two  additional  action  procedures:	bell(),	 which
       rings  the  bell;  and  selection(), which performs a cut on the	entire
       number in the calculator's ``liquid crystal'' display.

ACCELERATORS
       Accelerators are	shortcuts for entering commands.  xcalc	provides  some
       sample  keyboard	 accelerators;	also users can customize accelerators.
       The numeric keypad accelerators provided	by xcalc should	be intuitively
       correct.	 The accelerators defined by xcalc 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()
       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()
       +/-	CHS	 n			negate()       negate()

		x:y	 x				       XexchangeY()
		ENTR	 Return				       enter()
		ENTR	 Linefeed			       enter()

CUSTOMIZATION
       The application class name is XCalc.

       xcalc has an enormous application defaults file which specifies the po-
       sition,	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 cus-
       tomized calculator by writing a private application defaults file,  us-
       ing  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  in-
       dividually  specified.	For  the  TI calculator, a classical color re-
       source 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:
       XCalc.ti.button22.background: white
       XCalc.ti.button22.foreground: black

WIDGET HIERARCHY
       In order	to specify resources, it is useful to know  the	 hierarchy  of
       the  widgets  which  compose xcalc.  In the notation below, indentation
       indicates hierarchical structure.   The	widget	class  name  is	 given
       first, followed by the widget instance name.
       XCalc xcalc
	       Form  ti	 or  hp	   (the	name depends on	the mode)
		       Form  bevel
			       Form  screen
				       Label  M
				       Toggle  LCD
				       Label  INV
				       Label  DEG
				       Label  RAD
				       Label  GRAD
				       Label  P
		       Command	button1
		       Command	button2
		       Command	button3
       and so on, ...
		       Command	button38
		       Command	button39
		       Command	button40

APPLICATION RESOURCES
       rpn (Class Rpn)
	       Specifies  that the rpn mode should be used.  The default is TI
	       mode.

       stipple (Class Stipple)
	       Indicates that the background should be stippled.  The  default
	       is  ``on''  for monochrome displays, and	``off''	for color dis-
	       plays.

       cursor (Class Cursor)
	       The name	of the symbol used to represent	the pointer.  The  de-
	       fault is	``hand2''.

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:

       *customization:		       -color

       This will cause xcalc to	pick up	the colors in the  app-defaults	 color
       customization file: /usr/local/share/X11/app-defaults/XCalc-color.

SEE ALSO
       X(7), xrdb(1), the Athena Widget	Set

BUGS
       HP  mode	 is  not completely debugged.  In particular, the stack	is not
       handled properly	after errors.

AUTHORS
       John Bradley, University	of Pennsylvania
       Mark Rosenstein,	MIT Project Athena
       Donna Converse, MIT X Consortium

X Version 11			  xcalc	1.1.2			      XCALC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xcalc&sektion=1&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help