2 #include "../gmx_blas.h"
3 #include "../gmx_lapack.h"
7 F77_FUNC(slabrd
,SLABRD
)(int *m
,
21 int a_dim1
, a_offset
, x_dim1
, x_offset
, y_dim1
, y_offset
;
24 float minusone
= -1.0;
30 a_offset
= 1 + a_dim1
;
37 x_offset
= 1 + x_dim1
;
40 y_offset
= 1 + y_dim1
;
43 if (*m
<= 0 || *n
<= 0) {
50 for (i__
= 1; i__
<= i__1
; ++i__
) {
54 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &a
[i__
+ a_dim1
], lda
,
55 &y
[i__
+ y_dim1
], ldy
, &one
, &a
[i__
+ i__
* a_dim1
], &c__1
);
58 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &x
[i__
+ x_dim1
], ldx
,
59 &a
[i__
*a_dim1
+1],&c__1
,&one
,&a
[i__
+i__
*a_dim1
],&c__1
);
65 F77_FUNC(slarfg
,SLARFG
)(&i__2
, &a
[i__
+ i__
* a_dim1
], &a
[i__3
+ i__
* a_dim1
],
67 d__
[i__
] = a
[i__
+ i__
* a_dim1
];
69 a
[i__
+ i__
* a_dim1
] = 1.;
73 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &one
, &a
[i__
+ (i__
+ 1) *
74 a_dim1
], lda
, &a
[i__
+ i__
* a_dim1
], &c__1
, &zero
, &
75 y
[i__
+ 1 + i__
* y_dim1
], &c__1
);
78 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &one
, &a
[i__
+ a_dim1
],
79 lda
, &a
[i__
+ i__
* a_dim1
], &c__1
, &zero
, &y
[i__
*
83 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &y
[i__
+ 1 +
84 y_dim1
], ldy
, &y
[i__
* y_dim1
+ 1], &c__1
, &one
, &y
[
85 i__
+ 1 + i__
* y_dim1
], &c__1
);
88 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &one
, &x
[i__
+ x_dim1
],
89 ldx
, &a
[i__
+ i__
* a_dim1
], &c__1
, &zero
, &y
[i__
*
93 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &minusone
, &a
[(i__
+ 1) *
94 a_dim1
+ 1], lda
, &y
[i__
* y_dim1
+ 1], &c__1
, &one
,
95 &y
[i__
+ 1 + i__
* y_dim1
], &c__1
);
97 F77_FUNC(sscal
,SSCAL
)(&i__2
, &tauq
[i__
], &y
[i__
+ 1 + i__
* y_dim1
], &c__1
);
100 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__
, &minusone
, &y
[i__
+ 1 +
101 y_dim1
], ldy
, &a
[i__
+ a_dim1
], lda
, &one
, &a
[i__
+ (
102 i__
+ 1) * a_dim1
], lda
);
105 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &minusone
, &a
[(i__
+ 1) *
106 a_dim1
+ 1], lda
, &x
[i__
+ x_dim1
], ldx
, &one
, &a
[
107 i__
+ (i__
+ 1) * a_dim1
], lda
);
113 F77_FUNC(slarfg
,SLARFG
)(&i__2
, &a
[i__
+ (i__
+ 1) * a_dim1
],
114 &a
[i__
+ i__3
* a_dim1
], lda
, &taup
[i__
]);
115 e
[i__
] = a
[i__
+ (i__
+ 1) * a_dim1
];
116 a
[i__
+ (i__
+ 1) * a_dim1
] = 1.;
120 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &one
, &a
[i__
+ 1 + (i__
121 + 1) * a_dim1
], lda
, &a
[i__
+ (i__
+ 1) * a_dim1
],
122 lda
, &zero
, &x
[i__
+ 1 + i__
* x_dim1
], &c__1
);
124 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__
, &one
, &y
[i__
+ 1 + y_dim1
],
125 ldy
, &a
[i__
+ (i__
+ 1) * a_dim1
], lda
, &zero
, &x
[
126 i__
* x_dim1
+ 1], &c__1
);
128 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__
, &minusone
, &a
[i__
+ 1 +
129 a_dim1
], lda
, &x
[i__
* x_dim1
+ 1], &c__1
, &one
, &x
[
130 i__
+ 1 + i__
* x_dim1
], &c__1
);
133 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &one
, &a
[(i__
+ 1) *
134 a_dim1
+ 1], lda
, &a
[i__
+ (i__
+ 1) * a_dim1
], lda
, &
135 zero
, &x
[i__
* x_dim1
+ 1], &c__1
);
138 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &x
[i__
+ 1 +
139 x_dim1
], ldx
, &x
[i__
* x_dim1
+ 1], &c__1
, &one
, &x
[
140 i__
+ 1 + i__
* x_dim1
], &c__1
);
142 F77_FUNC(sscal
,SSCAL
)(&i__2
, &taup
[i__
], &x
[i__
+ 1 + i__
* x_dim1
], &c__1
);
148 for (i__
= 1; i__
<= i__1
; ++i__
) {
152 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &y
[i__
+ y_dim1
], ldy
,
153 &a
[i__
+ a_dim1
], lda
, &one
, &a
[i__
+ i__
* a_dim1
],lda
);
156 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &minusone
, &a
[i__
* a_dim1
+ 1],
157 lda
, &x
[i__
+ x_dim1
], ldx
, &one
,&a
[i__
+i__
*a_dim1
],lda
);
163 F77_FUNC(slarfg
,SLARFG
)(&i__2
, &a
[i__
+ i__
* a_dim1
],
164 &a
[i__
+ i__3
* a_dim1
], lda
, &taup
[i__
]);
165 d__
[i__
] = a
[i__
+ i__
* a_dim1
];
167 a
[i__
+ i__
* a_dim1
] = 1.;
171 F77_FUNC(sgemv
,SGEMV
)("No transpose",&i__2
,&i__3
,&one
,&a
[i__
+1+i__
*a_dim1
],
172 lda
, &a
[i__
+ i__
* a_dim1
], lda
, &zero
,
173 &x
[i__
+ 1 + i__
* x_dim1
], &c__1
);
176 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &one
, &y
[i__
+ y_dim1
],
177 ldy
, &a
[i__
+ i__
* a_dim1
], lda
, &zero
, &x
[i__
*
181 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &a
[i__
+ 1 +
182 a_dim1
], lda
, &x
[i__
* x_dim1
+ 1], &c__1
, &one
, &x
[
183 i__
+ 1 + i__
* x_dim1
], &c__1
);
186 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &one
, &a
[i__
* a_dim1
+
187 1], lda
, &a
[i__
+ i__
* a_dim1
], lda
, &zero
, &x
[i__
*
191 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &x
[i__
+ 1 +
192 x_dim1
], ldx
, &x
[i__
* x_dim1
+ 1], &c__1
, &one
, &x
[
193 i__
+ 1 + i__
* x_dim1
], &c__1
);
195 F77_FUNC(sscal
,SSCAL
)(&i__2
, &taup
[i__
], &x
[i__
+ 1 + i__
* x_dim1
], &c__1
);
199 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &a
[i__
+ 1 +
200 a_dim1
], lda
, &y
[i__
+ y_dim1
], ldy
, &one
, &a
[i__
+
201 1 + i__
* a_dim1
], &c__1
);
203 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__
, &minusone
, &x
[i__
+ 1 +
204 x_dim1
], ldx
, &a
[i__
* a_dim1
+ 1], &c__1
, &one
, &a
[
205 i__
+ 1 + i__
* a_dim1
], &c__1
);
211 F77_FUNC(slarfg
,SLARFG
)(&i__2
, &a
[i__
+ 1 + i__
* a_dim1
],
212 &a
[i__3
+ i__
* a_dim1
], &c__1
, &tauq
[i__
]);
213 e
[i__
] = a
[i__
+ 1 + i__
* a_dim1
];
214 a
[i__
+ 1 + i__
* a_dim1
] = 1.;
218 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &one
, &a
[i__
+ 1 + (i__
+
219 1) * a_dim1
], lda
, &a
[i__
+ 1 + i__
* a_dim1
], &c__1
,
220 &zero
, &y
[i__
+ 1 + i__
* y_dim1
], &c__1
);
223 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__3
, &one
, &a
[i__
+ 1 + a_dim1
],
224 lda
, &a
[i__
+ 1 + i__
* a_dim1
], &c__1
, &zero
, &y
[
225 i__
* y_dim1
+ 1], &c__1
);
228 F77_FUNC(sgemv
,SGEMV
)("No transpose", &i__2
, &i__3
, &minusone
, &y
[i__
+ 1 +
229 y_dim1
], ldy
, &y
[i__
* y_dim1
+ 1], &c__1
, &one
, &y
[
230 i__
+ 1 + i__
* y_dim1
], &c__1
);
232 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__2
, &i__
, &one
, &x
[i__
+ 1 + x_dim1
],
233 ldx
, &a
[i__
+ 1 + i__
* a_dim1
], &c__1
, &zero
, &y
[
234 i__
* y_dim1
+ 1], &c__1
);
236 F77_FUNC(sgemv
,SGEMV
)("Transpose", &i__
, &i__2
, &minusone
, &a
[(i__
+ 1) * a_dim1
237 + 1], lda
, &y
[i__
* y_dim1
+ 1], &c__1
, &one
, &y
[i__
238 + 1 + i__
* y_dim1
], &c__1
);
240 F77_FUNC(sscal
,SSCAL
)(&i__2
, &tauq
[i__
], &y
[i__
+ 1 + i__
* y_dim1
], &c__1
);