vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/JAMA/Matrix.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace PhpOffice\PhpSpreadsheet\Shared\JAMA;
use PhpOffice\PhpSpreadsheet\Calculation\Exception as CalculationException;
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
/**
* Matrix class.
*
* @author Paul Meagher
* @author Michael Bommarito
* @author Lukasz Karapuda
* @author Bartek Matosiuk
*
* @version 1.8
*
* @see https://math.nist.gov/javanumerics/jama/
*/
class Matrix
{
const POLYMORPHIC_ARGUMENT_EXCEPTION = 'Invalid argument pattern for polymorphic function.';
const ARGUMENT_TYPE_EXCEPTION = 'Invalid argument type.';
const ARGUMENT_BOUNDS_EXCEPTION = 'Invalid argument range.';
const MATRIX_DIMENSION_EXCEPTION = 'Matrix dimensions are not equal.';
const ARRAY_LENGTH_EXCEPTION = 'Array length must be a multiple of m.';
const MATRIX_SPD_EXCEPTION = 'Can only perform operation on symmetric positive definite matrix.';
/**
* Matrix storage.
*
* @var array
*/
public $A = [];
/**
* Matrix row dimension.
*
* @var int
*/
private $m;
/**
* Matrix column dimension.
*
* @var int
*/
private $n;
/**
* Polymorphic constructor.
*
* As PHP has no support for polymorphic constructors, we use tricks to make our own sort of polymorphism using func_num_args, func_get_arg, and gettype. In essence, we're just implementing a simple RTTI filter and calling the appropriate constructor.
*/
public function __construct(...$args)
{
if (count($args) > 0) {
$match = implode(',', array_map('gettype', $args));
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
