diff options
Diffstat (limited to 'vendor/league/uri-interfaces/IPv4/NativeCalculator.php')
-rw-r--r-- | vendor/league/uri-interfaces/IPv4/NativeCalculator.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/league/uri-interfaces/IPv4/NativeCalculator.php b/vendor/league/uri-interfaces/IPv4/NativeCalculator.php new file mode 100644 index 000000000..7ac2c7671 --- /dev/null +++ b/vendor/league/uri-interfaces/IPv4/NativeCalculator.php @@ -0,0 +1,60 @@ +<?php + +/** + * League.Uri (https://uri.thephpleague.com) + * + * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace League\Uri\IPv4; + +use function floor; +use function intval; + +final class NativeCalculator implements Calculator +{ + public function baseConvert(mixed $value, int $base): int + { + return intval((string) $value, $base); + } + + public function pow(mixed $value, int $exponent) + { + return $value ** $exponent; + } + + public function compare(mixed $value1, mixed $value2): int + { + return $value1 <=> $value2; + } + + public function multiply(mixed $value1, mixed $value2): int + { + return $value1 * $value2; + } + + public function div(mixed $value, mixed $base): int + { + return (int) floor($value / $base); + } + + public function mod(mixed $value, mixed $base): int + { + return $value % $base; + } + + public function add(mixed $value1, mixed $value2): int + { + return $value1 + $value2; + } + + public function sub(mixed $value1, mixed $value2): int + { + return $value1 - $value2; + } +} |