<?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 Exception(JAMAError(ArgumentTypeException)); 
        } 
    } 
    return sqrt($s); 
} 
*/ 
 
 |