44 lines
		
	
	
		
			690 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			690 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?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); | ||
|  | } | ||
|  | */ |