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
* libF77/*: Delete KR_headers cruft.
[pf3gnuchains/gcc-fork.git]
/
libf2c
/
libF77
/
pow_qq.c
1
#include "f2c.h"
2
3
longint pow_qq(longint *ap, longint *bp)
4
{
5
longint pow, x, n;
6
unsigned long long u; /* system-dependent */
7
8
x = *ap;
9
n = *bp;
10
11
if (n <= 0) {
12
if (n == 0 || x == 1)
13
return 1;
14
if (x != -1)
15
return x == 0 ? 1/x : 0;
16
n = -n;
17
}
18
u = n;
19
for(pow = 1; ; )
20
{
21
if(u & 01)
22
pow *= x;
23
if(u >>= 1)
24
x *= x;
25
else
26
break;
27
}
28
return(pow);
29
}