Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mathr

license MIT version 3.0 Build Status Coverage Status

Mathr is a fast mathematical expression parser, evaluator and calculator with some added juice.

Usage

The simplest usage possible for Mathr is by simply sending in a math expression.

<?php
$mathr = new Mathr;
$result = $mathr->evaluate("3 + 4 * 5");
echo $result; // 23

You also can create your own variables and functions!

<?php
$mathr->evaluate("v = 10");
$mathr->evaluate("fibonacci(0) = 0");
$mathr->evaluate("fibonacci(1) = 1");
$mathr->evaluate("fibonacci(x) = fibonacci(x - 1) + fibonacci(x - 2)");
$result = $mathr->evaluate("fibonacci(v)");
echo $result; // 55

If you want to, it's possible to bind functions to native PHP closures!

<?php
$mathr->set('triangle(b, h)', fn ($b, $h) => ($b * $h) / 2);
$result = $mathr->evaluate('triangle(5, 8)');
echo $result; // 20

There are a plenty of native functions and variables which you can use at will.

<?php
$mathr->evaluate("fibonacci(x) = ceil((φ ^ x - (1 - φ) ^ x) / sqrt(5))");
$result = $mathr->evaluate("fibonacci(10)");
echo $result; // 55

You can easily export and import your functions and variables.

<?php
$exported = $mathr->export(); // Exports all bound functions and variables.
$mathr->import($exported); // Imports functions and variables.

Install

The recommended way to install Mathr is via Composer.

{
    "require": {
        "rodriados/mathr": "v3.0"
    }
}

About

PHP Package for Mathematical Execution

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages