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
* config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian bug.
[official-gcc.git]
/
libf2c
/
libF77
/
pow_hh.c
blob
3379d8a7f7cea056602f3a6b81e9b13ccd7a27e0
1
#include
"f2c.h"
2
3
shortint
4
pow_hh
(
shortint
*
ap
,
shortint
*
bp
)
5
{
6
shortint pow
,
x
,
n
;
7
unsigned
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
}