repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
* stor-layout.c (place_field): Revert erroneous commit.
[official-gcc.git]
/
libf2c
/
libF77
/
pow_ii.c
blob
92347453fb09df52de65282d73861646708a0916
1
#include
"f2c.h"
2
3
integer
4
pow_ii
(
integer
*
ap
,
integer
*
bp
)
5
{
6
integer pow
,
x
,
n
;
7
unsigned long
u
;
8
9
x
= *
ap
;
10
n
= *
bp
;
11
12
if
(
n
<=
0
)
13
{
14
if
(
n
==
0
||
x
==
1
)
15
return
1
;
16
if
(
x
!= -
1
)
17
return
x
==
0
?
1
/
x
:
0
;
18
n
= -
n
;
19
}
20
u
=
n
;
21
for
(
pow
=
1
;;)
22
{
23
if
(
u
&
01
)
24
pow
*=
x
;
25
if
(
u
>>=
1
)
26
x
*=
x
;
27
else
28
break
;
29
}
30
return
(
pow
);
31
}