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.

Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401]

   1  <?php
   2  /**
   3   *    Pythagorean Theorem:.
   4   *
   5   *    a = 3
   6   *    b = 4
   7   *    r = sqrt(square(a) + square(b))
   8   *    r = 5
   9   *
  10   *    r = sqrt(a^2 + b^2) without under/overflow.
  11   *
  12   * @param mixed $a
  13   * @param mixed $b
  14   *
  15   * @return float
  16   */
  17  function hypo($a, $b)
  18  {
  19      if (abs($a) > abs($b)) {
  20          $r = $b / $a;
  21          $r = abs($a) * sqrt(1 + $r * $r);
  22      } elseif ($b != 0) {
  23          $r = $a / $b;
  24          $r = abs($b) * sqrt(1 + $r * $r);
  25      } else {
  26          $r = 0.0;
  27      }
  28  
  29      return $r;
  30  }