Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 310 and 311] [Versions 39 and 311]

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