Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
<?php

namespace Matrix\Operators;

> use Matrix\Div0Exception; use \Matrix\Matrix; > use Matrix\Exception;
use \Matrix\Functions;
< use Matrix\Exception;
class Division extends Multiplication { /** * Execute the division * * @param mixed $value The matrix or numeric value to divide the current base value by * @throws Exception If the provided argument is not appropriate for the operation * @return $this The operation object, allowing multiple divisions to be chained **/
< public function execute($value)
> public function execute($value, string $type = 'division'): Operator
{ if (is_array($value)) { $value = new Matrix($value); } if (is_object($value) && ($value instanceof Matrix)) {
< try { < $value = Functions::inverse($value); < } catch (Exception $e) { < throw new Exception('Division can only be calculated using a matrix with a non-zero determinant'); < }
> $value = Functions::inverse($value, $type);
< return $this->multiplyMatrix($value);
> return $this->multiplyMatrix($value, $type);
} elseif (is_numeric($value)) {
< return $this->multiplyScalar(1 / $value);
> return $this->multiplyScalar(1 / $value, $type);
} throw new Exception('Invalid argument for division'); } }