23 lines
		
	
	
	
		
			408 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			408 B
		
	
	
	
		
			C
		
	
	
	
	
	
| double POWR(statlink, pow, num)
 | |
|   int *statlink ;
 | |
|   int pow ;
 | |
|   double num ;
 | |
|   {
 | |
|     int p ;
 | |
|     register double n, r;
 | |
|     if (pow < 0) {
 | |
|       p = -pow;
 | |
|       n = 1.0/num;
 | |
|     } else {
 | |
|       p = pow;
 | |
|       n = num;
 | |
|     }
 | |
|     if ( (p & 1) != 0 ) { r = n; } else { r = 1.0; }
 | |
|     p >>= 1;
 | |
|     while ( p != 0 ) {
 | |
|         n *= n;
 | |
|         if ( (p & 1) != 0 ) r *= n;
 | |
|         p >>= 1;
 | |
|       }
 | |
|     return(r) ;
 | |
|   }
 |