# MathExecutor [![Build Status](https://travis-ci.org/NeonXP/MathExecutor.png?branch=master)](https://travis-ci.org/NeonXP/MathExecutor) Simple math expressions calculator ## Install via Composer All instructions to install here: https://packagist.org/packages/nxp/math-executor ## Sample usage: ```php require "vendor/autoload.php"; $calculator = new \NXP\MathExecutor(); print $calculator->execute("1 + 2 * (2 - (4+10))^2 + sin(10)"); ``` ## Functions: Default functions: * sin * cos * tn * asin * acos * atn * min * max * avg Add custom function to executor: ```php $executor->addFunction('abs', function($arg) { return abs($arg); }, 1); ``` ## Operators: Default operators: `+ - * / ^` Add custom operator to executor: MyNamespace/ModulusToken.php: ```php getValue() % $op2->getValue(); return new TokenNumber($result); } } ``` And adding to executor: ```php $executor->addOperator('MyNamespace\ModulusToken'); ``` ## Variables: Default variables: ``` $pi = 3.14159265359 $e = 2.71828182846 ``` You can add own variable to executor: ```php $executor->setVars(array( 'var1' => 0.15, 'var2' => 0.22 )); $executor->execute("$var1 + $var2");