OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
2001-10-02 Toon Moene <toon@moene.indiv.nluug.nl>
[pf3gnuchains/gcc-fork.git]
/
libf2c
/
libF77
/
pow_qq.c
1
#include "f2c.h"
2
3
#ifdef KR_headers
4
longint pow_qq(ap, bp) longint *ap, *bp;
5
#else
6
longint pow_qq(longint *ap, longint *bp)
7
#endif
8
{
9
longint pow, x, n;
10
unsigned long long u; /* system-dependent */
11
12
x = *ap;
13
n = *bp;
14
15
if (n <= 0) {
16
if (n == 0 || x == 1)
17
return 1;
18
if (x != -1)
19
return x == 0 ? 1/x : 0;
20
n = -n;
21
}
22
u = n;
23
for(pow = 1; ; )
24
{
25
if(u & 01)
26
pow *= x;
27
if(u >>= 1)
28
x *= x;
29
else
30
break;
31
}
32
return(pow);
33
}