Barebone\Math

Source

<?php

    // 1 + 3
    $addition = new Barebone\Math\Addition(1, 3);
    echo $addition->evaluate() . '<br>'; // 4
    
    // 10 - 2
    $subtract = new Barebone\Math\Subtract(10, 2);
    echo $subtract->evaluate() . '<br>'; // 8
    
    // 10 / 2
    $divide = new Barebone\Math\Divide(10, 2);
    echo $divide->evaluate() . '<br>'; // 5
    
    // 10 * 2
    $multiply = new Barebone\Math\Multiply(10, 2);
    echo $multiply->evaluate() . '<br>'; // 20
    
    // Percentage (get 21% of 100)
    $perc21 = new Barebone\Math\Percentage(21, 100);
    echo $perc19->evaluate() . '<br>'; // 21
    
    // Percentage (get 19% of 155)
    $perc19 = new Barebone\Math\Percentage(19, 155);
    echo $perc19->evaluate() . '<br>'; // 12.258064516129
    
    // pass in any number of Operations to get Total
    $total = new Barebone\Math\Total($addition, $subtract, $divide, $multiply);
    echo $total->evaluate() . '<br>';
    
    // pass in any number of float to get Total
    $totalints = new Barebone\Math\Total(10.2, 10, 10, 10, 2.2); // 42.4
    echo $totalints->evaluate() . '<br>';
    
    // pass in any number of float to get Average
    $totalints = new Barebone\Math\Average(10.2, 10, 10, 10, 2.2); // 10.2+10+10+10+2.2 = 42.4 / 5 = 8.48
    echo $totalints->evaluate() . '<br>';
    
    // evaluate a formula
    $formula = new Barebone\Math\Formula('(%d  + %d ) / (%d  * %d )', [1,2,3,4]); // (1+2) / (3*4) = 0.25
    echo $formula->evaluate() . '<br>';
    

Result

4
8
5
20
21
12.258064516129
37
42.4
8.48
0.25
  • Barebone\Math\Addition

    Barebone\Math\Addition
    • [P] $left : mixed
    • [P] $right : mixed
    • [M] __construct( $left, $right ) : void
    • [M] evaluate() : void
  • Barebone\Math\Subtract

    Barebone\Math\Subtract
    • [P] $left : mixed
    • [P] $right : mixed
    • [M] __construct( $left, $right ) : void
    • [M] evaluate() : void
  • Barebone\Math\Divide

    Barebone\Math\Divide
    • [P] $left : mixed
    • [P] $right : mixed
    • [M] __construct( $left, $right ) : void
    • [M] evaluate() : void
  • Barebone\Math\Multiply

    Barebone\Math\Multiply
    • [P] $left : mixed
    • [P] $right : mixed
    • [M] __construct( $left, $right ) : void
    • [M] evaluate() : void