for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace FinanCalc\Utils {
use FinanCalc\Constants\Defaults;
/**
* Class MathFuncs
* @package FinanCalc\Utils
*/
class MathFuncs
{
* @param $leftOperand
* @param $rightOperand
* @return string
public static function add($leftOperand, $rightOperand)
return bcadd($leftOperand, $rightOperand, Defaults::MONEY_DECIMAL_PLACES_PRECISION);
}
public static function sub($leftOperand, $rightOperand)
return bcsub($leftOperand, $rightOperand, Defaults::MONEY_DECIMAL_PLACES_PRECISION);
public static function mul($leftOperand, $rightOperand)
return bcmul($leftOperand, $rightOperand, Defaults::MONEY_DECIMAL_PLACES_PRECISION);
public static function div($leftOperand, $rightOperand)
return bcdiv($leftOperand, $rightOperand, Defaults::MONEY_DECIMAL_PLACES_PRECISION);
public static function pow($leftOperand, $rightOperand)
return bcpow($leftOperand, $rightOperand, Defaults::MONEY_DECIMAL_PLACES_PRECISION);
* @return int
public static function comp($leftOperand, $rightOperand)
return bccomp($leftOperand, $rightOperand, Defaults::MONEY_DECIMAL_PLACES_PRECISION);
* @param $roundedNumber
* @param $precision
public static function round($roundedNumber, $precision = 2)
return (string)number_format((float)$roundedNumber, $precision);