dev-master
9999999-devSimple math expressions calculator - extension of http://github.com/NeonXP/MathExecutor
GPLv2
The Development Requires
by Zachary Rosenthal
parser math expression calculator
Wallogit.com
2017 © Pedro Peláez
Simple math expressions calculator - extension of http://github.com/NeonXP/MathExecutor
Simple math expressions calculator, (*1)
All instructions to install here: https://packagist.org/packages/Z/math-executor, (*2)
require "vendor/autoload.php";
$calculator = new \Z\MathExecutor();
print $calculator->execute("1 + 2 * (2 - (4+10))^2 + sin(10)");
Default functions: * sin * cos * tn * asin * acos * atn * min * max * avg, (*3)
Add custom function to executor:, (*4)
$executor->addFunction('abs', function($arg) {
return abs($arg);
}, 1);
Default operators: + - * / ^, (*5)
Add custom operator to executor:, (*6)
MyNamespace/ModulusToken.php:, (*7)
<?php
namespace MyNamespace;
use Z\Classes\Token\AbstractOperator;
class ModulusToken extends AbstractOperator
{
/**
* Regex of this operator
* @return string
*/
public static function getRegex()
{
return '\%';
}
/**
* Priority of this operator
* @return int
*/
public function getPriority()
{
return 3;
}
/**
* Associaion of this operator (self::LEFT_ASSOC or self::RIGHT_ASSOC)
* @return string
*/
public function getAssociation()
{
return self::LEFT_ASSOC;
}
/**
* Execution of this operator
* @param InterfaceToken[] $stack Stack of tokens
* @return TokenNumber Result of execution
*/
public function execute(&$stack)
{
$op2 = array_pop($stack);
$op1 = array_pop($stack);
$result = $op1->getValue() % $op2->getValue();
return new TokenNumber($result);
}
}
And adding to executor:, (*8)
$executor->addOperator('MyNamespace\ModulusToken');
Default variables:, (*9)
$pi = 3.14159265359 $e = 2.71828182846
You can add own variable to executor:, (*10)
```php $executor->setVars(array( 'var1' => 0.15, 'var2' => 0.22 ));, (*11)
$executor->execute("$var1 + $var2");, (*12)
Simple math expressions calculator - extension of http://github.com/NeonXP/MathExecutor
GPLv2
parser math expression calculator