2
3
4
5
6
7
8
9 INTEGER INCX, N
10 REAL ALPHA
11
12
13 REAL X( * )
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
43
44
45
46 INTEGER I, INFO, IX, M, MP1
47
48
49 EXTERNAL xerbla
50
51
52 INTRINSIC mod
53
54
55
56
57
58 info = 0
59 IF( n.LT.0 ) THEN
60 info = 1
61 ELSE IF( incx.EQ.0 ) THEN
62 info = 4
63 END IF
64 IF( info.NE.0 ) THEN
65 CALL xerbla( 'SSET', info )
66 RETURN
67 END IF
68
69
70
71 IF( n.LE.0 )
72 $ RETURN
73
74
75
76 IF( incx.EQ.1 )
77 $ GO TO 20
78
79
80
81
82
83 IF( incx.GT.0 ) THEN
84 ix = 1
85 ELSE
86 ix = 1 - ( n - 1 ) * incx
87 END IF
88
89 DO 10 i = 1, n
90 x( ix ) = alpha
91 ix = ix + incx
92 10 CONTINUE
93
94 RETURN
95
96
97
98
99
100 20 m = mod( n, 4 )
101
102 IF( m.EQ.0 )
103 $ GO TO 40
104
105 DO 30 i = 1, m
106 x( i ) = alpha
107 30 CONTINUE
108 IF( n.LT.4 )
109 $ RETURN
110
111 40 mp1 = m + 1
112 DO 50 i = mp1, n, 4
113 x( i ) = alpha
114 x( i + 1 ) = alpha
115 x( i + 2 ) = alpha
116 x( i + 3 ) = alpha
117 50 CONTINUE
118
119 RETURN
120
121
122