mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-02-11 06:28:40 +00:00
phpcs fixes
This commit is contained in:
parent
1746444975
commit
b35b7f1d7a
|
|
@ -22,28 +22,32 @@ namespace phpOMS\Algorithm\CoinMatching;
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
class MinimumCoinProblem
|
final class MinimumCoinProblem
|
||||||
{
|
{
|
||||||
private function __construct()
|
/**
|
||||||
{
|
* Constructure
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
}
|
/**
|
||||||
|
* Find the minimum amount of coins that are required to match a value
|
||||||
/**
|
*
|
||||||
* Find the minimum amount of coins that are required to match a value
|
* @param array $coins Types of coins available (every coin has infinite availablity)
|
||||||
*
|
* @param int $value Value to match with the coins
|
||||||
* @param array $coins Types of coins available (every coin has infinite availablity)
|
*
|
||||||
* @param int $value Value to match with the coins
|
* @return array
|
||||||
*
|
*
|
||||||
* @return array
|
* @since 1.0.0
|
||||||
*
|
*/
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public static function getMinimumCoinsForValueI(array $coins, int $value) : array
|
public static function getMinimumCoinsForValueI(array $coins, int $value) : array
|
||||||
{
|
{
|
||||||
// amount of required coins for different values
|
// amount of required coins for different values
|
||||||
$table = [0];
|
$table = [0];
|
||||||
$usedCoins = [];
|
$usedCoins = [];
|
||||||
|
|
||||||
for ($i = 1; $i <= $value; ++$i) {
|
for ($i = 1; $i <= $value; ++$i) {
|
||||||
$table[$i] = \PHP_INT_MAX;
|
$table[$i] = \PHP_INT_MAX;
|
||||||
|
|
@ -67,5 +71,5 @@ class MinimumCoinProblem
|
||||||
}
|
}
|
||||||
|
|
||||||
return $usedCoins[$value] ?? [];
|
return $usedCoins[$value] ?? [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ class JumpPointSearch implements PathFinderInterface
|
||||||
|
|
||||||
if (!$neighbor->isOpened() || $ng < $neighbor->getG()) {
|
if (!$neighbor->isOpened() || $ng < $neighbor->getG()) {
|
||||||
$neighbor->setG($ng);
|
$neighbor->setG($ng);
|
||||||
$neighbor->setH($neighbor->getG() ?? $neighbor->getWeight() * Heuristic::heuristic($neighbor->getCoordinates(), $endNode->getCoordinates(), $heuristic));
|
$neighbor->setH($neighbor->getG() ?? $neighbor->getWeight() * Heuristic::metric($neighbor->getCoordinates(), $endNode->getCoordinates(), $heuristic));
|
||||||
$neighbor->setF($neighbor->getG() + $neighbor->getH());
|
$neighbor->setF($neighbor->getG() + $neighbor->getH());
|
||||||
$neighbor->setParent($node);
|
$neighbor->setParent($node);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ use phpOMS\Math\Topology\Metrics2D;
|
||||||
*/
|
*/
|
||||||
class Heuristic
|
class Heuristic
|
||||||
{
|
{
|
||||||
public static function heuristic(array $node1, array $node2, int $heuristic) : float
|
public static function metric(array $node1, array $node2, int $heuristic) : float
|
||||||
{
|
{
|
||||||
if ($heuristic === HeuristicType::MANHATTAN) {
|
if ($heuristic === HeuristicType::MANHATTAN) {
|
||||||
return Metrics2D::manhattan($node1, $node2);
|
return Metrics2D::manhattan($node1, $node2);
|
||||||
|
|
|
||||||
|
|
@ -79,12 +79,12 @@ class JumpPointSearch implements PathFinderInterface
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$d = Heuristic::heuristic($node->getCoordinates(), $jumpPoint->getCoordinates(), HeuristicType::OCTILE);
|
$d = Heuristic::metric($node->getCoordinates(), $jumpPoint->getCoordinates(), HeuristicType::OCTILE);
|
||||||
$ng = $node->getG() + $d;
|
$ng = $node->getG() + $d;
|
||||||
|
|
||||||
if (!$jumpPoint->isOpened() || $ng < $jumpPoint->getG()) {
|
if (!$jumpPoint->isOpened() || $ng < $jumpPoint->getG()) {
|
||||||
$jumpPoint->setG($ng);
|
$jumpPoint->setG($ng);
|
||||||
$jumpPoint->setH($jumpPoint->getH() ?? Heuristic::heuristic($jumpPoint->getCoordinates(), $endNode->getCoordinates(), $heuristic));
|
$jumpPoint->setH($jumpPoint->getH() ?? Heuristic::metric($jumpPoint->getCoordinates(), $endNode->getCoordinates(), $metric));
|
||||||
$jumpPoint->setF($jumpPoint->getG() + $jumpPoint->getH());
|
$jumpPoint->setF($jumpPoint->getG() + $jumpPoint->getH());
|
||||||
$jumpPoint->setParent($node);
|
$jumpPoint->setParent($node);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class BitonicSort implements SortInterface
|
class BitonicSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$n = \count($list);
|
$n = \count($list);
|
||||||
|
|
@ -38,7 +41,7 @@ class BitonicSort implements SortInterface
|
||||||
return self::merge(\array_merge($first, $second), $order);
|
return self::merge(\array_merge($first, $second), $order);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function merge(array $list, int $order) : array
|
private static function merge(array $list, int $order) : array
|
||||||
{
|
{
|
||||||
$n = \count($list);
|
$n = \count($list);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class BubbleSort implements SortInterface
|
class BubbleSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$n = \count($list);
|
$n = \count($list);
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,18 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class BucketSort
|
class BucketSort
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Sort array
|
||||||
|
*
|
||||||
|
* @param array $list List of sortable elements
|
||||||
|
* @param int $bucketCount Buckets to divide the list into
|
||||||
|
* @param string $algo Algorithm to use for sort
|
||||||
|
* @param int $order Sort order
|
||||||
|
*
|
||||||
|
* @return array Sorted array
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $bucketCount, string $algo = InsertionSort::class, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $bucketCount, string $algo = InsertionSort::class, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$buckets = [];
|
$buckets = [];
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class CocktailShakerSort implements SortInterface
|
class CocktailShakerSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$start = 0;
|
$start = 0;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class CombSort implements SortInterface
|
class CombSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$sorted = false;
|
$sorted = false;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class CycleSort implements SortInterface
|
class CycleSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$writes = 0;
|
$writes = 0;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class FlashSort implements SortInterface
|
class FlashSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$n = \count($list);
|
$n = \count($list);
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class GnomeSort implements SortInterface
|
class GnomeSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$n = \count($list);
|
$n = \count($list);
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class OddEvenSort implements SortInterface
|
class OddEvenSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$sorted = false;
|
$sorted = false;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class QuickSort implements SortInterface
|
class QuickSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$copy = $list;
|
$copy = $list;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
class SelectionSort implements SortInterface
|
class SelectionSort implements SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
public static function sort(array $list, int $order = SortOrder::ASC) : array
|
||||||
{
|
{
|
||||||
$n = \count($list);
|
$n = \count($list);
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,15 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
interface SortInterface
|
interface SortInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Sort array
|
||||||
|
*
|
||||||
|
* @param array $list List of sortable elements
|
||||||
|
* @param int $order Sort order
|
||||||
|
*
|
||||||
|
* @return array Sorted array
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public static function sort(array $list, int $order = SortOrder::ASC) : array;
|
public static function sort(array $list, int $order = SortOrder::ASC) : array;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,46 @@ namespace phpOMS\Algorithm\Sort;
|
||||||
*/
|
*/
|
||||||
interface SortableInterface
|
interface SortableInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Compare current object with other object
|
||||||
|
*
|
||||||
|
* @param SortableInterface $obj Object to compare with
|
||||||
|
* @param int $order Sort order
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public function compare(self $obj, int $order = SortOrder::ASC) : bool;
|
public function compare(self $obj, int $order = SortOrder::ASC) : bool;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get element value
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public function getValue();
|
public function getValue();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get maximum element
|
||||||
|
*
|
||||||
|
* @param SortableInterface[] $list List to order
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public static function max(array $list);
|
public static function max(array $list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get minimum element
|
||||||
|
*
|
||||||
|
* @param SortableInterface[] $list List to order
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public static function min(array $list);
|
public static function min(array $list);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,15 @@ namespace phpOMS\Business\Marketing;
|
||||||
*/
|
*/
|
||||||
final class Metrics
|
final class Metrics
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Constructure
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate customer retention
|
* Calculate customer retention
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,15 @@ namespace phpOMS\Business\Programming;
|
||||||
*/
|
*/
|
||||||
final class Metrics
|
final class Metrics
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Constructure
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate ABC metric score
|
* Calculate ABC metric score
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,15 @@ namespace phpOMS\Business\Sales;
|
||||||
*/
|
*/
|
||||||
final class MarketShareEstimation
|
final class MarketShareEstimation
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Constructure
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate rank (r) based on market share (m)
|
* Calculate rank (r) based on market share (m)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,14 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace phpOMS\Dispatcher;
|
namespace phpOMS\Dispatcher;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dispatcher interface
|
||||||
|
*
|
||||||
|
* @package phpOMS\Dispatcher
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @link https://orange-management.org
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
interface DispatcherInterface
|
interface DispatcherInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,16 @@ final class NumericUtils
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unsigned right shift
|
||||||
|
*
|
||||||
|
* @param int $a Value to shift
|
||||||
|
* @param int $b Shift by
|
||||||
|
*
|
||||||
|
* @return int unsigned int
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public static function uRightShift(int $a, int $b) : int
|
public static function uRightShift(int $a, int $b) : int
|
||||||
{
|
{
|
||||||
if ($b === 0) {
|
if ($b === 0) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php declare(strict_types=1);
|
<?php
|
||||||
/**
|
/**
|
||||||
* Orange Management
|
* Orange Management
|
||||||
*
|
*
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
*/
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace phpOMS\Views;
|
namespace phpOMS\Views;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php declare(strict_types=1);
|
<?php
|
||||||
/**
|
/**
|
||||||
* Orange Management
|
* Orange Management
|
||||||
*
|
*
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
*/
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
namespace phpOMS\tests\phpOMS\Model\Message;
|
namespace phpOMS\tests\phpOMS\Model\Message;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php declare(strict_types=1);
|
<?php
|
||||||
/**
|
/**
|
||||||
* Orange Management
|
* Orange Management
|
||||||
*
|
*
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
*/
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
namespace phpOMS\tests\phpOMS\Model\Message;
|
namespace phpOMS\tests\phpOMS\Model\Message;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php declare(strict_types=1);
|
<?php
|
||||||
/**
|
/**
|
||||||
* Orange Management
|
* Orange Management
|
||||||
*
|
*
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
*/
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
namespace phpOMS\tests\phpOMS\Model\Message;
|
namespace phpOMS\tests\phpOMS\Model\Message;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php declare(strict_types=1);
|
<?php
|
||||||
/**
|
/**
|
||||||
* Orange Management
|
* Orange Management
|
||||||
*
|
*
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
*/
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
namespace phpOMS\tests\phpOMS\Model\Message;
|
namespace phpOMS\tests\phpOMS\Model\Message;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php declare(strict_types=1);
|
<?php
|
||||||
/**
|
/**
|
||||||
* Orange Management
|
* Orange Management
|
||||||
*
|
*
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
*/
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
namespace phpOMS\tests\phpOMS\Model\Message;
|
namespace phpOMS\tests\phpOMS\Model\Message;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user