| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |  *    @package JAMA | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |  *    Pythagorean Theorem: | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |  *    a = 3 | 
					
						
							|  |  |  |  *    b = 4 | 
					
						
							|  |  |  |  *    r = sqrt(square(a) + square(b)) | 
					
						
							|  |  |  |  *    r = 5 | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |  *    r = sqrt(a^2 + b^2) without under/overflow. | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | function hypo($a, $b) { | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     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()
 | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |  *    Mike Bommarito's version. | 
					
						
							|  |  |  |  *    Compute n-dimensional hyotheneuse. | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  |  * | 
					
						
							|  |  |  | function hypot() { | 
					
						
							| 
									
										
										
										
											2015-05-12 09:22:06 +00:00
										 |  |  |     $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); | 
					
						
							| 
									
										
										
										
											2010-08-26 19:14:53 +00:00
										 |  |  | } | 
					
						
							|  |  |  | */ |