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\Trig;
   4  
   5  use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
   6  use PhpOffice\PhpSpreadsheet\Calculation\Exception;
   7  use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
   8  
   9  class Cosecant
  10  {
  11      use ArrayEnabled;
  12  
  13      /**
  14       * CSC.
  15       *
  16       * Returns the cosecant of an angle.
  17       *
  18       * @param array|float $angle Number, or can be an array of numbers
  19       *
  20       * @return array|float|string The cosecant of the angle
  21       *         If an array of numbers is passed as the argument, then the returned result will also be an array
  22       *            with the same dimensions
  23       */
  24      public static function csc($angle)
  25      {
  26          if (is_array($angle)) {
  27              return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
  28          }
  29  
  30          try {
  31              $angle = Helpers::validateNumericNullBool($angle);
  32          } catch (Exception $e) {
  33              return $e->getMessage();
  34          }
  35  
  36          return Helpers::verySmallDenominator(1.0, sin($angle));
  37      }
  38  
  39      /**
  40       * CSCH.
  41       *
  42       * Returns the hyperbolic cosecant of an angle.
  43       *
  44       * @param array|float $angle Number, or can be an array of numbers
  45       *
  46       * @return array|float|string The hyperbolic cosecant of the angle
  47       *         If an array of numbers is passed as the argument, then the returned result will also be an array
  48       *            with the same dimensions
  49       */
  50      public static function csch($angle)
  51      {
  52          if (is_array($angle)) {
  53              return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
  54          }
  55  
  56          try {
  57              $angle = Helpers::validateNumericNullBool($angle);
  58          } catch (Exception $e) {
  59              return $e->getMessage();
  60          }
  61  
  62          return Helpers::verySmallDenominator(1.0, sinh($angle));
  63      }
  64  }