21 lines
		
	
	
	
		
			309 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			309 B
		
	
	
	
		
			C
		
	
	
	
	
	
| double cabs(real, imag)
 | |
| double real, imag;
 | |
| {
 | |
| double temp, sqrt();
 | |
| 
 | |
| if(real < 0)
 | |
| 	real = -real;
 | |
| if(imag < 0)
 | |
| 	imag = -imag;
 | |
| if(imag > real){
 | |
| 	temp = real;
 | |
| 	real = imag;
 | |
| 	imag = temp;
 | |
| }
 | |
| if((real+imag) == real)
 | |
| 	return(real);
 | |
| 
 | |
| temp = imag/real;
 | |
| temp = real*sqrt(1.0 + temp*temp);  /*overflow!!*/
 | |
| return(temp);
 | |
| }
 |