1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<?php /** * @package JAMA * * Pythagorean Theorem: * * a = 3 * b = 4 * r = sqrt(square(a) + square(b)) * r = 5 * * r = sqrt(a^2 + b^2) without under/overflow. */ function hypo($a, $b) { if (abs($a) > abs($b)) { $r = $b / $a; $r = abs($a) * sqrt(1 + $r * $r); } elseif ($b != 0) { $r = $a / $b; $r = abs($b) * sqrt(1 + $r * $r); } else { $r = 0.0; } return $r; } // function hypo()
/** * Mike Bommarito's version. * Compute n-dimensional hyotheneuse. * function hypot() { $s = 0; foreach (func_get_args() as $d) { if (is_numeric($d)) { $s += pow($d, 2); } else { throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); } } return sqrt($s); } */
|