83
84 INTEGER NOUT
85 parameter(nout=6)
86
87 REAL SFAC
88
89 INTEGER ICASE, INCX, INCY, MODE, N
90 LOGICAL PASS
91
92 REAL SA, SB, SC, SS
93 INTEGER K
94
95 REAL DA1(8), DATRUE(8), DB1(8), DBTRUE(8), DC1(8),
96 + DS1(8)
97
99
100 COMMON /combla/icase, n, incx, incy, mode, pass
101
102 DATA da1/0.3e0, 0.4e0, -0.3e0, -0.4e0, -0.3e0, 0.0e0,
103 + 0.0e0, 1.0e0/
104 DATA db1/0.4e0, 0.3e0, 0.4e0, 0.3e0, -0.4e0, 0.0e0,
105 + 1.0e0, 0.0e0/
106 DATA dc1/0.6e0, 0.8e0, -0.6e0, 0.8e0, 0.6e0, 1.0e0,
107 + 0.0e0, 1.0e0/
108 DATA ds1/0.8e0, 0.6e0, 0.8e0, -0.6e0, 0.8e0, 0.0e0,
109 + 1.0e0, 0.0e0/
110 DATA datrue/0.5e0, 0.5e0, 0.5e0, -0.5e0, -0.5e0,
111 + 0.0e0, 1.0e0, 1.0e0/
112 DATA dbtrue/0.0e0, 0.6e0, 0.0e0, -0.6e0, 0.0e0,
113 + 0.0e0, 1.0e0, 0.0e0/
114
115
116
117
118
119 dbtrue(1) = 1.0e0/0.6e0
120 dbtrue(3) = -1.0e0/0.6e0
121 dbtrue(5) = 1.0e0/0.6e0
122
123 DO 20 k = 1, 8
124
125 n = k
126 IF (icase.EQ.3) THEN
127
128 IF (k.GT.8) GO TO 40
129 sa = da1(k)
130 sb = db1(k)
131 CALL srotgtest(sa,sb,sc,ss)
132 CALL stest1(sa,datrue(k),datrue(k),sfac)
133 CALL stest1(sb,dbtrue(k),dbtrue(k),sfac)
134 CALL stest1(sc,dc1(k),dc1(k),sfac)
135 CALL stest1(ss,ds1(k),ds1(k),sfac)
136 ELSE
137 WRITE (nout,*) ' Shouldn''t be here in CHECK0'
138 stop
139 END IF
140 20 CONTINUE
141 40 RETURN
subroutine stest1(scomp1, strue1, ssize, sfac)