JCalc Quick Reference
-------------------------------------------------------------------------------------------------------------------

This is a quick reference forJCalc, for a closer description of the
features in JCalc please consult the documentation available in
the programs folder.


Special Buttons :
-------------------------------------------------------------------------------------------------------------------
[Eval]		Evaluates a entered expression.
		You can also use [Enter] on your keyboard.
[Clear]		Clears everything in the input field.
[Mem]		Enters a value or expression into memory.
		First click this button and then chose a letter
		with your keyboard to enter the expression or value
		into memory.
[MClear]	Clears a value from memory.
		First click this button and then chose a letter
		on your keyboard corresponding to the memory you want to clear.
[Plot]		Opens the coordinate system and plot dialog window.
[Back]		History, pressing this will enter the last expression or value
		into the input field. You can also use the UP arrow key on your
		keyboard.

Operators and functions:
-------------------------------------------------------------------------------------------------------------------

 +		addition
 -		subtraction
 *		multiplication
 /		division
 ^		power to
 %		modulo
 sin()		sinus
 cos()		cosinus
 tan()		tangent
 atan()		arcustangent
 asin()		arcussinus
 acos()		arcuscosinus
 sinh()		hyperbolicsinus
 cosh()		hyperboliccosinus
 tanh()		hyperbolictangens
 exp()		constant E raised to
 ln()		natural logarithm
 [n]log()		any logaritm, base n
 sqrt()		squareroot
 cotan()		cotangens
 acotan()	inverted cotangens
 abs()		absolute value of
 ceil()		ceil, ceil(2.3) = 3
 floor()		floor, floor(1.23) = 1
 fac()		faculty, fac(n) = n*(n-1)*(n-2)*..*1
 sfac()		semifaculty, sfac(n) = n*(n-2)*(n-4)*..4*2 if n even,
		sfac(n) = n*(n-2)*(n-4)*..3*1 if n is noteven
 round()		round
 fpart()		decimal part of



Special functions :
-------------------------------------------------------------------------------------------------------------------

diff( )		will symbolically differentiate a mathematical
		expression of one variable.
		Ex. diff( x^2-2*x ) will return 2*x-2
		
To evaluate a differentiated expression first enter a value for x
into memory, then differentiate and then press enter again to evaluate.

Example:

1. Enter the value 2 with the buttons or keyboard.
2. Press "Mem" and then "x" on the keyboard.
3. Enter the expression diff( x^2 ) 
4. Press [enter] or click on "Eval", this will return 2*x
5. Press [enter] or click on "Eval" again to evaluate
   the expression with the value for x in memory.

The calculator will evaluate 2*x and return the value 4


Please note that diff( ) cannot be used as a part of an expression, 
this will not generate an error but will just cause the first occurance of
"diff" to be evaluated.

For example: 2*5-diff(x^3) will just cause diff(x^3) to be evaluated.


Constants supported:
-------------------------------------------------------------------------------------------------------------------
Pi		The constant PI, 3.14159.....
Euler		The Euler constant, 2.7182...


Special values
-------------------------------------------------------------------------------------------------------------------
Infinity	Positive infinity
-Infinity	Negative infinity
NaN		Not a number
True		1.0
False		0.0


Operator precedence in order of evaluation:
-------------------------------------------------------------------------------------------------------------------
( you can always change the order of evaluation by using parantesis. )

! 
cos sin tan sqrt exp .....etc 
^ 
* / % 
log 
+ - 
> >= < <= 
== != 
|| 
&& 



Juxtaposition 
-------------------------------------------------------------------------------------------------------------------
The calculator supports juxtaposition in the following type cases: 

variable jp one-arg-op , example: xcos(x) 
variable jp ( expr ) , example: x( 1 + x ) 
const jp variable or one-arg-op , example: 2x , 2tan(x) 
const jp ( expr ) , example: 2(3+x) 
( expr ) jp variable or one-arg-op , (2-x)x , (2-x)sin(x) 
( expr ) jp  ( expr ) , example: (2-x)(x+1) , sin(x)(2-x) 

No other type cases is supported, for example juxtaposition 
between two variables is not supported since there is no way 
to determine where the first variable ends and the second starts. 

This means that "xx" is considered to be a variable, as well as "x2" 
or "variable2" but 2x is intepreted as juxtaposition. 


-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
plundin@kagi.com
http://www.javathings.com/
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
