mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			27 lines
		
	
	
	
		
			309 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
	
		
			309 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/* hypot() replacement */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "config.h"
							 | 
						||
| 
								 | 
							
								#include "myproto.h"
							 | 
						||
| 
								 | 
							
								#include "mymath.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								double hypot(x, y)
							 | 
						||
| 
								 | 
							
									double x;
							 | 
						||
| 
								 | 
							
									double y;
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									double yx;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									x = fabs(x);
							 | 
						||
| 
								 | 
							
									y = fabs(y);
							 | 
						||
| 
								 | 
							
									if (x < y) {
							 | 
						||
| 
								 | 
							
										double temp = x;
							 | 
						||
| 
								 | 
							
										x = y;
							 | 
						||
| 
								 | 
							
										y = temp;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									if (x == 0.)
							 | 
						||
| 
								 | 
							
										return 0.;
							 | 
						||
| 
								 | 
							
									else {
							 | 
						||
| 
								 | 
							
										yx = y/x;
							 | 
						||
| 
								 | 
							
										return x*sqrt(1.+yx*yx);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |