diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-05-11 14:59:59 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-05-11 14:59:59 +0200 |
| commit | fa3a4e440f6daf241772331eaac322f3e0447750 (patch) | |
| tree | ee47dce337a8eecb67da391d6b91768d09d22e6e /vendor/symfony/translation/Symfony/Component/Translation/Interval.php | |
| parent | 1bb6c3bc23d08851f6af786f516b3cbc73a6f391 (diff) | |
| download | Catalog-fa3a4e440f6daf241772331eaac322f3e0447750.tar.gz Catalog-fa3a4e440f6daf241772331eaac322f3e0447750.zip | |
Let composer manage the vendor and lock files
Diffstat (limited to 'vendor/symfony/translation/Symfony/Component/Translation/Interval.php')
| -rw-r--r-- | vendor/symfony/translation/Symfony/Component/Translation/Interval.php | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Interval.php b/vendor/symfony/translation/Symfony/Component/Translation/Interval.php deleted file mode 100644 index 2a51156..0000000 --- a/vendor/symfony/translation/Symfony/Component/Translation/Interval.php +++ /dev/null @@ -1,107 +0,0 @@ -<?php - -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier <fabien@symfony.com> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * Tests if a given number belongs to a given math interval. - * - * An interval can represent a finite set of numbers: - * - * {1,2,3,4} - * - * An interval can represent numbers between two numbers: - * - * [1, +Inf] - * ]-1,2[ - * - * The left delimiter can be [ (inclusive) or ] (exclusive). - * The right delimiter can be [ (exclusive) or ] (inclusive). - * Beside numbers, you can use -Inf and +Inf for the infinite. - * - * @author Fabien Potencier <fabien@symfony.com> - * - * @see http://en.wikipedia.org/wiki/Interval_%28mathematics%29#The_ISO_notation - */ -class Interval -{ - /** - * Tests if the given number is in the math interval. - * - * @param int $number A number - * @param string $interval An interval - * - * @return bool - * - * @throws \InvalidArgumentException - */ - public static function test($number, $interval) - { - $interval = trim($interval); - - if (!preg_match('/^'.self::getIntervalRegexp().'$/x', $interval, $matches)) { - throw new \InvalidArgumentException(sprintf('"%s" is not a valid interval.', $interval)); - } - - if ($matches[1]) { - foreach (explode(',', $matches[2]) as $n) { - if ($number == $n) { - return true; - } - } - } else { - $leftNumber = self::convertNumber($matches['left']); - $rightNumber = self::convertNumber($matches['right']); - - return - ('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) - && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) - ; - } - - return false; - } - - /** - * Returns a Regexp that matches valid intervals. - * - * @return string A Regexp (without the delimiters) - */ - public static function getIntervalRegexp() - { - return <<<EOF - ({\s* - (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*) - \s*}) - - | - - (?P<left_delimiter>[\[\]]) - \s* - (?P<left>-Inf|\-?\d+(\.\d+)?) - \s*,\s* - (?P<right>\+?Inf|\-?\d+(\.\d+)?) - \s* - (?P<right_delimiter>[\[\]]) -EOF; - } - - private static function convertNumber($number) - { - if ('-Inf' === $number) { - return log(0); - } elseif ('+Inf' === $number || 'Inf' === $number) { - return -log(0); - } - - return (float) $number; - } -} |
