Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Differences Between: [Versions 400 and 401]

   1  <?php
   2  
   3  namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig;
   4  
   5  use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
   6  use PhpOffice\PhpSpreadsheet\Calculation\Exception;
   7  
   8  class Sqrt
   9  {
  10      use ArrayEnabled;
  11  
  12      /**
  13       * SQRT.
  14       *
  15       * Returns the result of builtin function sqrt after validating args.
  16       *
  17       * @param mixed $number Should be numeric, or can be an array of numbers
  18       *
  19       * @return array|float|string square root
  20       *         If an array of numbers is passed as the argument, then the returned result will also be an array
  21       *            with the same dimensions
  22       */
  23      public static function sqrt($number)
  24      {
  25          if (is_array($number)) {
  26              return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
  27          }
  28  
  29          try {
  30              $number = Helpers::validateNumericNullBool($number);
  31          } catch (Exception $e) {
  32              return $e->getMessage();
  33          }
  34  
  35          return Helpers::numberOrNan(sqrt($number));
  36      }
  37  
  38      /**
  39       * SQRTPI.
  40       *
  41       * Returns the square root of (number * pi).
  42       *
  43       * @param array|float $number Number, or can be an array of numbers
  44       *
  45       * @return array|float|string Square Root of Number * Pi, or a string containing an error
  46       *         If an array of numbers is passed as the argument, then the returned result will also be an array
  47       *            with the same dimensions
  48       */
  49      public static function pi($number)
  50      {
  51          if (is_array($number)) {
  52              return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
  53          }
  54  
  55          try {
  56              $number = Helpers::validateNumericNullSubstitution($number, 0);
  57              Helpers::validateNotNegative($number);
  58          } catch (Exception $e) {
  59              return $e->getMessage();
  60          }
  61  
  62          return sqrt($number * M_PI);
  63      }
  64  }