summaryrefslogtreecommitdiff
path: root/vendor/phpunit/php-timer/src/Duration.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phpunit/php-timer/src/Duration.php')
-rw-r--r--vendor/phpunit/php-timer/src/Duration.php109
1 files changed, 0 insertions, 109 deletions
diff --git a/vendor/phpunit/php-timer/src/Duration.php b/vendor/phpunit/php-timer/src/Duration.php
deleted file mode 100644
index e52bf018f..000000000
--- a/vendor/phpunit/php-timer/src/Duration.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php declare(strict_types=1);
-/*
- * This file is part of phpunit/php-timer.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\Timer;
-
-use function floor;
-use function sprintf;
-
-/**
- * @psalm-immutable
- */
-final class Duration
-{
- /**
- * @var float
- */
- private $nanoseconds;
-
- /**
- * @var int
- */
- private $hours;
-
- /**
- * @var int
- */
- private $minutes;
-
- /**
- * @var int
- */
- private $seconds;
-
- /**
- * @var int
- */
- private $milliseconds;
-
- public static function fromMicroseconds(float $microseconds): self
- {
- return new self($microseconds * 1000);
- }
-
- public static function fromNanoseconds(float $nanoseconds): self
- {
- return new self($nanoseconds);
- }
-
- private function __construct(float $nanoseconds)
- {
- $this->nanoseconds = $nanoseconds;
- $timeInMilliseconds = $nanoseconds / 1000000;
- $hours = floor($timeInMilliseconds / 60 / 60 / 1000);
- $hoursInMilliseconds = $hours * 60 * 60 * 1000;
- $minutes = floor($timeInMilliseconds / 60 / 1000) % 60;
- $minutesInMilliseconds = $minutes * 60 * 1000;
- $seconds = floor(($timeInMilliseconds - $hoursInMilliseconds - $minutesInMilliseconds) / 1000);
- $secondsInMilliseconds = $seconds * 1000;
- $milliseconds = $timeInMilliseconds - $hoursInMilliseconds - $minutesInMilliseconds - $secondsInMilliseconds;
- $this->hours = (int) $hours;
- $this->minutes = $minutes;
- $this->seconds = (int) $seconds;
- $this->milliseconds = (int) $milliseconds;
- }
-
- public function asNanoseconds(): float
- {
- return $this->nanoseconds;
- }
-
- public function asMicroseconds(): float
- {
- return $this->nanoseconds / 1000;
- }
-
- public function asMilliseconds(): float
- {
- return $this->nanoseconds / 1000000;
- }
-
- public function asSeconds(): float
- {
- return $this->nanoseconds / 1000000000;
- }
-
- public function asString(): string
- {
- $result = '';
-
- if ($this->hours > 0) {
- $result = sprintf('%02d', $this->hours) . ':';
- }
-
- $result .= sprintf('%02d', $this->minutes) . ':';
- $result .= sprintf('%02d', $this->seconds);
-
- if ($this->milliseconds > 0) {
- $result .= '.' . sprintf('%03d', $this->milliseconds);
- }
-
- return $result;
- }
-}