mini\Util\Math\Expr::evalNode() Method

private

Signature

private function evalNode(string $op, mini\Util\Math\NumberInterface|self|string|int|float $left, mini\Util\Math\NumberInterface|self|string|int|float|null $right, int $maxScale): mini\Util\Math\Decimal

Parameters

Name Type Default Description
$op string required Documentation missing
$left mini\Util\Math\NumberInterface|self|string|int|float required Documentation missing
$right mini\Util\Math\NumberInterface|self|string|int|float|null required Documentation missing
$maxScale int required Documentation missing

Returns

mini\Util\Math\Decimal

Documentation

Recursively evaluate an expression node

Using recursive evaluation (instead of RPN) preserves tree structure, allowing structural pattern matching for optimizations like x^(1/2) → sqrt(x).

Source

src/Util/Math/Expr.php:232-278