2
3
4
5
6
7
8
9 INTEGER INCX, INCY, N
10
11
12 INTEGER SX( * ), SY( * )
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 INTEGER I, IX, IY, M, MP1
43
44
45 INTRINSIC mod
46
47
48
49 IF( n.LE.0 )
50 $ RETURN
51 IF( incx.EQ.1 .AND. incy.EQ.1 )
52 $ GO TO 20
53
54
55
56 ix = 1
57 iy = 1
58 IF( incx.LT.0 )
59 $ ix = ( -n+1 )*incx + 1
60 IF( incy.LT.0 )
61 $ iy = ( -n+1 )*incy + 1
62 DO 10 i = 1, n
63 sy( iy ) = sx( ix )
64 ix = ix + incx
65 iy = iy + incy
66 10 CONTINUE
67 RETURN
68
69
70
71
72
73 20 CONTINUE
74 m = mod( n, 7 )
75 IF( m.EQ.0 )
76 $ GO TO 40
77 DO 30 i = 1, m
78 sy( i ) = sx( i )
79 30 CONTINUE
80 IF( n.LT.7 )
81 $ RETURN
82 40 CONTINUE
83 mp1 = m + 1
84 DO 50 i = mp1, n, 7
85 sy( i ) = sx( i )
86 sy( i+1 ) = sx( i+1 )
87 sy( i+2 ) = sx( i+2 )
88 sy( i+3 ) = sx( i+3 )
89 sy( i+4 ) = sx( i+4 )
90 sy( i+5 ) = sx( i+5 )
91 sy( i+6 ) = sx( i+6 )
92 50 CONTINUE
93 RETURN
94
95
96