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;