## Scientific calculator

This calculator is able to perform all basic mathematical operations, evaluate standard functions and plot graphics. It is even possible to write small programs using functions and conditional operator. Expressions are specified in standard infix notation. calculations are performed with 128 but precision (64-but for mantissa and 64 bit for exponent).

Basic operations
OperationExampleDescription
Assignmentx=1Assign new value to variable. After evaluation of this expression, it is possible to refer to this variable from other expressions.
Function definitionf(x)=x*xEvaluation of this expression defines function which can be used in other expressions and which graph can be plotted using plot() function
Conditional operatorc?x:yIf condition left to '?' sign is true, then result of conditional expression is value of expression right to '?' sign, otherwise - result of conditional expression is value of expression after ':' sign. Example of function definition using conditional operator - calculation of Fibonacci numbers: `fib(x)=x<2?1:fib(x-1)+fib(x-2)`
Greaterx>yThe result of expression is true if value of left operand is greater than value of right operand
Lessx<yThe result of expression is true if value of left operand is less than value of right operand
Between1<x<5The result of expression is true if value of second operand is between values of first and third operands.
Sequencex=1,y=2Sequence of expressions. The expressions are calculated in left-to-right order and result is the value of last expression. Using expression sequences you can write the simplest programs.
Subtractionx-yDifference of two operands
Multiplicationx*yMultiplication of two operands
Divisionx/yDividing value of first operand by value of second operand
Powerx^yRaise value of the first operand to a power determined by value of second operand
Integer part[x]Integer part of number
Fraction part{x}fraction part of number
Absolute value|x|Absolute value
Expression in parentheses(x)Expression in parentheses
Calculator contains no command which can compare two values for equality. First of all because it is not correct to compare floating point number for equality because of possible rounding errors, and second - to avoid conflict with assignment operator. Instead of it calculator provides operator which checks if value belongs to the specified range. This operator is written in the same way, as in normal mathematical notation: `0<x<5`.