1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #include "f2c.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef KR_headers
- double pow_di(ap, bp) doublereal *ap; integer *bp;
- #else
- double pow_di(doublereal *ap, integer *bp)
- #endif
- {
- double pow, x;
- integer n;
- unsigned long u;
- pow = 1;
- x = *ap;
- n = *bp;
- if(n != 0)
- {
- if(n < 0)
- {
- n = -n;
- x = 1/x;
- }
- for(u = n; ; )
- {
- if(u & 01)
- pow *= x;
- if(u >>= 1)
- x *= x;
- else
- break;
- }
- }
- return(pow);
- }
- #ifdef __cplusplus
- }
- #endif
|