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);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								*/
							 |