1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
# APOWK -- Compute a ** b, where b is a constant of type INT (generic).
procedure apowki (a, b, c, npix)
int a[ARB], c[ARB]
int b
int npix, i
begin
# Optimize the code for the various special cases. We assume that the
# compiler is intelligent enough to recognize the special cases if the
# power is expressed as an integer constant.
switch (b) {
case 0:
call amovki (1, c, npix)
case 1:
call amovi (a, c, npix)
case 2:
do i = 1, npix
c[i] = a[i] ** 2
case 3:
do i = 1, npix
c[i] = a[i] ** 3
case 4:
do i = 1, npix
c[i] = a[i] ** 4
default:
do i = 1, npix
c[i] = a[i] ** b
}
end
|