2
3
4
5
6
7
8
9 INTEGER LDA, LDB, M, N
10 INTEGER ALPHA, BETA
11
12
13 INTEGER A( LDA, * ), B( LDB, * )
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 INTEGER ONE, ZERO
69 parameter( one = 1, zero = 0 )
70
71
72 INTEGER I, J
73
74
75
76 IF( alpha.EQ.one ) THEN
77 IF( beta.EQ.zero ) THEN
78 DO 20 j = 1, n
79 DO 10 i = 1, m
80 b( i, j ) = a( i, j )
81 10 CONTINUE
82 20 CONTINUE
83 ELSE IF( beta.NE.one ) THEN
84 DO 40 j = 1, n
85 DO 30 i = 1, m
86 b( i, j ) = a( i, j ) + beta * b( i, j )
87 30 CONTINUE
88 40 CONTINUE
89 ELSE
90 DO 60 j = 1, n
91 DO 50 i = 1, m
92 b( i, j ) = a( i, j ) + b( i, j )
93 50 CONTINUE
94 60 CONTINUE
95 END IF
96 ELSE IF( alpha.NE.zero ) THEN
97 IF( beta.EQ.zero ) THEN
98 DO 80 j = 1, n
99 DO 70 i = 1, m
100 b( i, j ) = alpha * a( i, j )
101 70 CONTINUE
102 80 CONTINUE
103 ELSE IF( beta.NE.one ) THEN
104 DO 100 j = 1, n
105 DO 90 i = 1, m
106 b( i, j ) = alpha * a( i, j ) + beta * b( i, j )
107 90 CONTINUE
108 100 CONTINUE
109 ELSE
110 DO 120 j = 1, n
111 DO 110 i = 1, m
112 b( i, j ) = alpha * a( i, j ) + b( i, j )
113 110 CONTINUE
114 120 CONTINUE
115 END IF
116 ELSE
117 IF( beta.EQ.zero ) THEN
118 DO 140 j = 1, n
119 DO 130 i = 1, m
120 b( i, j ) = zero
121 130 CONTINUE
122 140 CONTINUE
123 ELSE IF( beta.NE.one ) THEN
124 DO 160 j = 1, n
125 DO 150 i = 1, m
126 b( i, j ) = beta * b( i, j )
127 150 CONTINUE
128 160 CONTINUE
129 END IF
130 END IF
131
132 RETURN
133
134
135