20 bool mnlsame(
const char*,
const char*);
21 int mnxerbla(
const char*,
int);
23 int mndspr(
const char* uplo,
unsigned int n,
double alpha,
24 const double* x,
int incx,
double* ap) {
32 int kk, ix, jx, kx = 0;
126 if (! mnlsame(uplo,
"U") && ! mnlsame(uplo,
"L")) {
132 else if (incx == 0) {
136 mnxerbla(
"DSPR ", info);
142 if (n == 0 || alpha == 0.) {
149 kx = 1 - (n - 1) * incx;
150 }
else if (incx != 1) {
158 if (mnlsame(uplo,
"U")) {
164 for (j = 1; j <= i__1; ++j) {
169 for (i__ = 1; i__ <= i__2; ++i__) {
170 ap[k] += x[i__] * temp;
181 for (j = 1; j <= i__1; ++j) {
183 temp = alpha * x[jx];
186 for (k = kk; k <= i__2; ++k) {
187 ap[k] += x[ix] * temp;
203 for (j = 1; j <= i__1; ++j) {
208 for (i__ = j; i__ <= i__2; ++i__) {
209 ap[k] += x[i__] * temp;
220 for (j = 1; j <= i__1; ++j) {
222 temp = alpha * x[jx];
225 for (k = kk; k <= i__2; ++k) {
226 ap[k] += x[ix] * temp;