79
80
81
82#include "implicit_f.inc"
83
84
85
86 INTEGER NINDX, INDX(*), ISKEW(*), ICODT(*)
87
89 . a(3,*), skew(lskew,*)
90
91
92
93#include "param_c.inc"
94
95
96
97 INTEGER N, K, L, ISK, LCOD
98
100 . aa
101
102#include "vectorize.inc"
103 DO k = 1, nindx
104 l = indx(k)
105 isk =iskew(l)
106 lcod=icodt(l)
107 IF(isk==1) THEN
108
109
110
111 IF(lcod==1)THEN
112 a(3,l)=zero
113 ELSEIF(lcod==2)THEN
114 a(2,l)=zero
115 ELSEIF(lcod==3)THEN
116 a(2,l)=zero
117 a(3,l)=zero
118 ELSEIF(lcod==4)THEN
119 a(1,l)=zero
120 ELSEIF(lcod==5)THEN
121 a(1,l)=zero
122 a(3,l)=zero
123 ELSEIF(lcod==6)THEN
124 a(1,l)=zero
125 a(2,l)=zero
126 ELSEIF(lcod==7)THEN
127 a(1,l)=zero
128 a(2,l)=zero
129 a(3,l)=zero
130 ENDIF
131
132 ELSE
133
134
135
136 IF(lcod==1)THEN
137 aa =skew(7,isk)*a(1,l)+skew(8,isk)*a(2,l)+skew(9,isk)*a(3,l)
138 a(1,l)=a(1,l)-skew(7,isk)*aa
139 a(2,l)=a(2,l)-skew(8,isk)*aa
140 a(3,l)=a(3,l)-skew(9,isk)*aa
141 ELSEIF(lcod==2)THEN
142 aa =skew(4,isk)*a(1,l)+skew(5,isk)*a(2,l)+skew(6,isk)*a(3,l)
143 a(1,l)=a(1,l)-skew(4,isk)*aa
144 a(2,l)=a(2,l)-skew(5,isk)*aa
145 a(3,l)=a(3,l)-skew(6,isk)*aa
146 ELSEIF(lcod==3)THEN
147 aa =skew(7,isk)*a(1,l)+skew(8,isk)*a(2,l)+skew(9,isk)*a(3,l)
148 a(1,l)=a(1,l)-skew(7,isk)*aa
149 a(2,l)=a(2,l)-skew(8,isk)*aa
150 a(3,l)=a(3,l)-skew(9,isk)*aa
151 aa =skew(4,isk)*a(1,l)+skew(5,isk)*a(2,l)+skew(6,isk)*a(3,l)
152 a(1,l)=a(1,l)-skew(4,isk)*aa
153 a(2,l)=a(2,l)-skew(5,isk)*aa
154 a(3,l)=a(3,l)-skew(6,isk)*aa
155 ELSEIF(lcod==4)THEN
156 aa =skew(1,isk)*a(1,l)+skew(2,isk)*a(2,l)+skew(3,isk)*a(3,l)
157 a(1,l)=a(1,l)-skew(1,isk)*aa
158 a(2,l)=a(2,l)-skew(2,isk)*aa
159 a(3,l)=a(3,l)-skew(3,isk)*aa
160 ELSEIF(lcod==5)THEN
161 aa =skew(7,isk)*a(1,l)+skew(8,isk)*a(2,l)+skew(9,isk)*a(3,l)
162 a(1,l)=a(1,l)-skew(7,isk)*aa
163 a(2,l)=a(2,l)-skew(8,isk)*aa
164 a(3,l)=a(3,l)-skew(9,isk)*aa
165 aa =skew(1,isk)*a(1,l)+skew(2,isk)*a(2,l)+skew(3,isk)*a(3,l)
166 a(1,l)=a(1,l)-skew(1,isk)*aa
167 a(2,l)=a(2,l)-skew(2,isk)*aa
168 a(3,l)=a(3,l)-skew(3,isk)*aa
169 ELSEIF(lcod==6)THEN
170 aa =skew(1,isk)*a(1,l)+skew(2,isk)*a(2,l)+skew(3,isk)*a(3,l)
171 a(1,l)=a(1,l)-skew(1,isk)*aa
172 a(2,l)=a(2,l)-skew(2,isk)*aa
173 a(3,l)=a(3,l)-skew(3,isk)*aa
174 aa =skew(4,isk)*a(1,l)+skew(5,isk)*a(2,l)+skew(6,isk)*a(3,l)
175 a(1,l)=a(1,l)-skew(4,isk)*aa
176 a(2,l)=a(2,l)-skew(5,isk)*aa
177 a(3,l)=a(3,l)-skew(6,isk)*aa
178 ELSEIF(lcod==7)THEN
179 a(1,l)=zero
180 a(2,l)=zero
181 a(3,l)=zero
182 ENDIF
183
184 END IF
185
186 ENDDO
187
188 RETURN