44 lines
		
	
	
		
			711 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			711 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 PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException));
 | |
| 		}
 | |
| 	}
 | |
| 	return sqrt($s);
 | |
| }
 | |
| */
 | 
