From 75160b12821f7f4299cce7f0b69c83c1502ae071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Mon, 27 May 2024 13:08:29 +0200 Subject: 2024-02-19 upstream --- .../matrix/classes/src/Operations/subtract.php | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 vendor/markbaker/matrix/classes/src/Operations/subtract.php (limited to 'vendor/markbaker/matrix/classes/src/Operations/subtract.php') diff --git a/vendor/markbaker/matrix/classes/src/Operations/subtract.php b/vendor/markbaker/matrix/classes/src/Operations/subtract.php new file mode 100644 index 0000000..72759b7 --- /dev/null +++ b/vendor/markbaker/matrix/classes/src/Operations/subtract.php @@ -0,0 +1,46 @@ + $matrixValues The matrices to subtract + * @return Matrix + * @throws Exception + */ +if (!function_exists(__NAMESPACE__ . '\\subtract')) { + function subtract(...$matrixValues): Matrix + { + if (count($matrixValues) < 2) { + throw new Exception('Subtraction operation requires at least 2 arguments'); + } + + $matrix = array_shift($matrixValues); + + if (is_array($matrix)) { + $matrix = new Matrix($matrix); + } + if (!$matrix instanceof Matrix) { + throw new Exception('Subtraction arguments must be Matrix or array'); + } + + $result = new Subtraction($matrix); + + foreach ($matrixValues as $matrix) { + $result->execute($matrix); + } + + return $result->result(); + } +} -- cgit v1.2.3