1.2. Calculator

1.2.1. Basic calculation

Eq can perform simple calculations, by calling it on the command line and giving it an expression as parameter.

$ eq exacteval "3 + 3"
6

Here you can see the term exact eval. There is two important command for program/expression evaluation.

  • exacteval : evaluate without compromising precision, no operation involving float are performed.

  • eval : try to reduce an expression as much as possible, without regard for precision. If you want to obtain a numerical answer, that’s the command to use.

    Let’s illustrate the difference

$ eq exacteval "3 / 9"
 1  
--- 
 3
$ eq eval "3 / 9"
0.3333333333333333

And for some trigonometry :

$ eq exacteval "sin(2)"
sin(2)
$ eq eval "sin(2)"
0.9092974268256817

1.2.2. Operators

You can use the usual operators (+, -, *, /) for addition, subtraction, multiplication and division respectively.

You can also use some comparison operators :

  • = equality
  • /= inequality.
  • < lower than
  • > greater than
  • >= greater or equal
  • <= lower or equal
$ eq eval "3 * 6 < 15"
false
$ eq eval "3 * 6 > 15"
true

1.2.3. Know which operator are available

Some time you won’t have documentation directly available. But you still can ask Eq which operators does he knows.

$ eq show --operators
Supported operators :   
=====================

Binary operators (Priority - name - description)
------------------------------------------------
	8 - := - Attribution operator
	8 - :> - Lazy attribution operator
	7 - :: - List appending operator
	6 - &  - Logical and operator
	6 - |  - Logical or operator
	5 - =  - Equality operator
	5 - /= - Different operator
	5 - <  - Lower than operator
	5 - >  - Greater than operator
	5 - >= - Greater or equal operator
	5 - <= - Lower or equal operator
	4 - +  - Addition operator
	4 - -  - Substraction operator
	3 - *  - Multiplication operator
	3 - /  - Division/fraction operator
	2 - ^  - Power operator

Unary operators (name - description)
------------------------------------
	- - Negation operator, put it before expression (-x)
	! - Factorial operator, put it after expression (x!)

Table Of Contents

Previous topic

1.1. Pretty printing

Next topic

1.3. Preprocessor

This Page