133 INTEGER icase, incx, incy, n
136 REAL d12, sa, sb, sc, ss
139 REAL da1(8), datrue(8), db1(8), dbtrue(8), dc1(8),
140 + ds1(8), dab(4,9), dtemp(9), dtrue(9,9)
144 COMMON /combla/icase, n, incx, incy, pass
146 DATA da1/0.3e0, 0.4e0, -0.3e0, -0.4e0, -0.3e0, 0.0e0,
148 DATA db1/0.4e0, 0.3e0, 0.4e0, 0.3e0, -0.4e0, 0.0e0,
150 DATA dc1/0.6e0, 0.8e0, -0.6e0, 0.8e0, 0.6e0, 1.0e0,
152 DATA ds1/0.8e0, 0.6e0, 0.8e0, -0.6e0, 0.8e0, 0.0e0,
154 DATA datrue/0.5e0, 0.5e0, 0.5e0, -0.5e0, -0.5e0,
155 + 0.0e0, 1.0e0, 1.0e0/
156 DATA dbtrue/0.0e0, 0.6e0, 0.0e0, -0.6e0, 0.0e0,
157 + 0.0e0, 1.0e0, 0.0e0/
159 DATA dab/ .1e0,.3e0,1.2e0,.2e0,
160 a .7e0, .2e0, .6e0, 4.2e0,
161 b 0.e0,0.e0,0.e0,0.e0,
162 c 4.e0, -1.e0, 2.e0, 4.e0,
163 d 6.e-10, 2.e-2, 1.e5, 10.e0,
164 e 4.e10, 2.e-2, 1.e-5, 10.e0,
165 f 2.e-10, 4.e-2, 1.e5, 10.e0,
166 g 2.e10, 4.e-2, 1.e-5, 10.e0,
167 h 4.e0, -2.e0, 8.e0, 4.e0 /
169 DATA dtrue/0.e0,0.e0, 1.3e0, .2e0, 0.e0,0.e0,0.e0, .5e0, 0.e0,
170 a 0.e0,0.e0, 4.5e0, 4.2e0, 1.e0, .5e0, 0.e0,0.e0,0.e0,
171 b 0.e0,0.e0,0.e0,0.e0, -2.e0, 0.e0,0.e0,0.e0,0.e0,
172 c 0.e0,0.e0,0.e0, 4.e0, -1.e0, 0.e0,0.e0,0.e0,0.e0,
173 d 0.e0, 15.e-3, 0.e0, 10.e0, -1.e0, 0.e0, -1.e-4,
175 f 0.e0,0.e0, 6144.e-5, 10.e0, -1.e0, 4096.e0, -1.e6,
177 h 0.e0,0.e0,15.e0,10.e0,-1.e0, 5.e-5, 0.e0,1.e0,0.e0,
178 i 0.e0,0.e0, 15.e0, 10.e0, -1. e0, 5.e5, -4096.e0,
180 k 0.e0,0.e0, 7.e0, 4.e0, 0.e0,0.e0, -.5e0, -.25e0, 0.e0/
183 dtrue(1,1) = 12.e0 / 130.e0
184 dtrue(2,1) = 36.e0 / 130.e0
185 dtrue(7,1) = -1.e0 / 6.e0
186 dtrue(1,2) = 14.e0 / 75.e0
187 dtrue(2,2) = 49.e0 / 75.e0
188 dtrue(9,2) = 1.e0 / 7.e0
189 dtrue(1,5) = 45.e-11 * (d12 * d12)
190 dtrue(3,5) = 4.e5 / (3.e0 * d12)
191 dtrue(6,5) = 1.e0 / d12
192 dtrue(8,5) = 1.e4 / (3.e0 * d12)
193 dtrue(1,6) = 4.e10 / (1.5e0 * d12 * d12)
194 dtrue(2,6) = 2.e-2 / 1.5e0
195 dtrue(8,6) = 5.e-7 * d12
196 dtrue(1,7) = 4.e0 / 150.e0
197 dtrue(2,7) = (2.e-10 / 1.5e0) * (d12 * d12)
198 dtrue(7,7) = -dtrue(6,5)
199 dtrue(9,7) = 1.e4 / d12
200 dtrue(1,8) = dtrue(1,7)
201 dtrue(2,8) = 2.e10 / (1.5e0 * d12 * d12)
202 dtrue(1,9) = 32.e0 / 7.e0
203 dtrue(2,9) = -16.e0 / 7.e0
209 dbtrue(1) = 1.0e0/0.6e0
210 dbtrue(3) = -1.0e0/0.6e0
211 dbtrue(5) = 1.0e0/0.6e0
221 CALL srotg(sa,sb,sc,ss)
222 CALL stest1(sa,datrue(k),datrue(k),sfac)
223 CALL stest1(sb,dbtrue(k),dbtrue(k),sfac)
224 CALL stest1(sc,dc1(k),dc1(k),sfac)
225 CALL stest1(ss,ds1(k),ds1(k),sfac)
226 ELSEIF (icase.EQ.11)
THEN
233 CALL srotmg(dtemp(1),dtemp(2),dtemp(3),dtemp(4),dtemp(5))
234 CALL stest(9,dtemp,dtrue(1,k),dtrue(1,k),sfac)
236 WRITE (nout,*)
' Shouldn''t be here in CHECK0'
subroutine srotg(SA, SB, C, S)
SROTG
subroutine stest1(SCOMP1, STRUE1, SSIZE, SFAC)
subroutine stest(LEN, SCOMP, STRUE, SSIZE, SFAC)
subroutine srotmg(SD1, SD2, SX1, SY1, SPARAM)
SROTMG