PHP port * @author Richard Clamp Perl version * @copyright 2004-2005 Fabien Potencier * @copyright 2002 Richard Clamp * * @see http://physics.nist.gov/cuu/Units/binary.html */ class NumberComparator extends Comparator { /** * @param string|null $test A comparison string or null * * @throws \InvalidArgumentException If the test is not understood */ public function __construct(?string $test) { if (null === $test || !preg_match('#^\s*(==|!=|[<>]=?)?\s*([0-9\.]+)\s*([kmg]i?)?\s*$#i', $test, $matches)) { throw new \InvalidArgumentException(sprintf('Don\'t understand "%s" as a number test.', $test ?? 'null')); } $target = $matches[2]; if (!is_numeric($target)) { throw new \InvalidArgumentException(sprintf('Invalid number "%s".', $target)); } if (isset($matches[3])) { // magnitude switch (strtolower($matches[3])) { case 'k': $target *= 1000; break; case 'ki': $target *= 1024; break; case 'm': $target *= 1000000; break; case 'mi': $target *= 1024 * 1024; break; case 'g': $target *= 1000000000; break; case 'gi': $target *= 1024 * 1024 * 1024; break; } } parent::__construct($target, $matches[1] ?: '=='); } } __halt_compiler();----SIGNATURE:----qB0RES5TBltA3v0C/JGcRigL7VACXGKNdHicf2Gkd7bzMy4ZbE36QCSrRzRn3M/udv0/7WTZyNeHwu+bBQWBKAyPzmwiZpDjUmsgBoHvbLabjOxhW05c9sElMqoAMG2kOM8pdcjc1KGGRRFR/RMxQ0oq+yHLj/+lZrchTskTlaMNtO2kP+ZNhCVFmdIZmupMZGhrzzmQYkweXSjj3OA6aFuoOZbomeDfQYXmSNbV8udTeOlLtKrl1botQoAR3hLSBPUue/sMhDKtjw1pRi5nmQDx8YTXHn4bh7WcZDZHIXdwdOpX6rSrWMZUufmMBbBkE0/Xb4pyX42VQNY8wwQX3pa5D57lq3VOQVfZkP//z5t5ZNg9TPBKIyhDUyFI6Gxn0ayAwUDs3UKiLLlga3DHUgyvt0aOVBXW/1vnRloLvg/OdGXYSTQDCNmSUZyWWm+XK4W0W/X1Binmlm2uT/HtEqIIP2GSZzJyQP+VE+zGccYG/ItVNrjRVl+QmSldrwFIrkOTjMAwHWKAEbD6tcNIEQJm6aTyK8/ykWBOWJ8yZDndWxdG7ankq//ey5oOXt1hS/YH/SuXcn8mxGjaYnSTFXyH/jm350WGPH07K27isEjhZgpf/l5uWb4p/HtHtGLaoLdorbJyKukBxoYXyHsol5iMqeyVO5vO7I+9y50nzbo=----ATTACHMENT:----MzMzNzA3OTQ1ODMxMzE5NyA1NTgyNzQzMDg4NzI5MjM0IDk3NTg2NjIyMzYzOTc0ODU=