Test Failed
Push — develop ( 90366f...812a46 )
by Adrien
28:16
created

hypo()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 9
nc 3
nop 2
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
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
function hypo($a, $b)
16
{
17
    if (abs($a) > abs($b)) {
18
        $r = $b / $a;
19
        $r = abs($a) * sqrt(1 + $r * $r);
20
    } elseif ($b != 0) {
21
        $r = $a / $b;
22
        $r = abs($b) * sqrt(1 + $r * $r);
23
    } else {
24
        $r = 0.0;
25
    }
26
27
    return $r;
28
}
29