Пример #1
0
inline void gbmv( const Order, const Trans, const int m, const int n,
        const int kl, const int ku, const float alpha, const float* a,
        const int lda, const float* x, const int incx, const float beta,
        float* y, const int incy ) {
    cblas_sgbmv( cblas_option< Order >::value, cblas_option< Trans >::value,
            m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy );
}
Пример #2
0
Файл: dist.c Проект: ecashin/low
int main(void)
{
	const int p = 10;
	float *x = malloc(p * sizeof *x);
	float *y = malloc(p * sizeof *y);
	float *z = malloc(p * sizeof *y);
	float *orig = malloc(p * sizeof *orig);
	int i;

	if (!(x && y && orig && z)) {
		perror("malloc");
		exit(1);
	}

	for (i = 0; i < p; ++i) {
		y[i] = i;
		x[i] = 2 * i;
		z[i] = 0;
	}
	cblas_scopy(p, y, 1, orig, 1);
	cblas_saxpy(p, -1, x, 1, y, 1);

	/* There's GEMV, but you have to put one vector into the
	 * diagonal of a matrix because... uh...
	 * Somethin'?
	 *
	 * But WAIT!  It's not stupid because there are compact
	 * ways to represent banded matrices, and a diagonal matrix
	 * can be represented by a single row, kind of like it
	 * was a ... VECTOR!?!?!?
	 *
	 * <neo>Whoa.</neo>
	 */
	cblas_sgbmv(CblasRowMajor,
		    CblasNoTrans, /* Don't transpose A */
		    p, p,
		    0,		/* bands below the diagonal */
		    0,		/* bands above the diagonal */
		    1,		/* alpha */
		    y,		/* some data, at last! */
		    1,		/* LDA is 1st dim of A */
		    y,
		    1,
		    1,
		    z,
		    1);
	for (i = 0; i < p; ++i) {
		printf("y(%f) - x(%f) = %f\n", orig[i], x[i], y[i]);
		printf("(y-x)^2 = %f\n", z[i]);
	}
	return 0;
}
Пример #3
0
void F77_sgbmv(int *order, char *transp, int *m, int *n, int *kl, int *ku,
	       float *alpha, float *a, int *lda, float *x, int *incx, 
	       float *beta, float *y, int *incy ) {

  float *A;
  int i,irow,j,jcol,LDA;
  enum CBLAS_TRANSPOSE trans;

  get_transpose_type(transp, &trans);

  if (*order == TEST_ROW_MJR) {
     LDA = *ku+*kl+2;
     A   = ( float* )malloc( (*n+*kl)*LDA*sizeof( float ) );
     for( i=0; i<*ku; i++ ){
        irow=*ku+*kl-i;
        jcol=(*ku)-i;
        for( j=jcol; j<*n; j++ )
           A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
     }
     i=*ku;
     irow=*ku+*kl-i;
     for( j=0; j<*n; j++ )
        A[ LDA*j+irow ]=a[ (*lda)*j+i ];
     for( i=*ku+1; i<*ku+*kl+1; i++ ){
        irow=*ku+*kl-i;
        jcol=i-(*ku);
        for( j=jcol; j<(*n+*kl); j++ )
           A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
     }
     cblas_sgbmv( CblasRowMajor, trans, *m, *n, *kl, *ku, *alpha, 
		  A, LDA, x, *incx, *beta, y, *incy );
     free(A);
  }
  else
     cblas_sgbmv( CblasColMajor, trans, *m, *n, *kl, *ku, *alpha,
		  a, *lda, x, *incx, *beta, y, *incy );
}
Пример #4
0
JNIEXPORT void JNICALL Java_uncomplicate_neanderthal_CBLAS_sgbmv
(JNIEnv *env, jclass clazz,
 jint Order, jint TransA,
 jint M, jint N,
 jint KL, jint KU,
 jfloat alpha,
 jobject A, jint offsetA, jint lda,
 jobject X, jint offsetX, jint incX,
 jfloat beta,
 jobject Y, jint offsetY, jint incY) {

    float *cA = (float *) (*env)->GetDirectBufferAddress(env, A);
    float *cX = (float *) (*env)->GetDirectBufferAddress(env, X);
    float *cY = (float *) (*env)->GetDirectBufferAddress(env, Y);
    cblas_sgbmv(Order, TransA, M, N, KL, KU, alpha, cA + offsetA, lda,
                cX + offsetX, incX, beta, cY + offsetY, incY);
};
Пример #5
0
void F77_s2chke(char *rout) {
   char *sf = ( rout ) ;
   float  A[2] = {0.0,0.0}, 
          X[2] = {0.0,0.0}, 
          Y[2] = {0.0,0.0}, 
          ALPHA=0.0, BETA=0.0;
   extern int cblas_info, cblas_lerr, cblas_ok;
   extern int RowMajorStrg;
   extern char *cblas_rout;

   if (link_xerbla) /* call these first to link */
   {
      cblas_xerbla(cblas_info,cblas_rout,"");
      F77_xerbla(cblas_rout,&cblas_info);
   }

   cblas_ok = TRUE ;
   cblas_lerr = PASSED ;

   if (strncmp( sf,"cblas_sgemv",11)==0) {
      cblas_rout = "cblas_sgemv";
      cblas_info = 1;
      cblas_sgemv(INVALID, CblasNoTrans, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sgemv(CblasColMajor, INVALID, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sgemv(CblasColMajor, CblasNoTrans, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_sgemv(CblasColMajor, CblasNoTrans, 0, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = FALSE;
      cblas_sgemv(CblasColMajor, CblasNoTrans, 2, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = FALSE;
      cblas_sgemv(CblasColMajor, CblasNoTrans, 0, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 12; RowMajorStrg = FALSE;
      cblas_sgemv(CblasColMajor, CblasNoTrans, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();

      cblas_info = 2; RowMajorStrg = TRUE; RowMajorStrg = TRUE;
      cblas_sgemv(CblasRowMajor, INVALID, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_sgemv(CblasRowMajor, CblasNoTrans, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = TRUE;
      cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, 2, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = TRUE;
      cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 12; RowMajorStrg = TRUE;
      cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_sgbmv",11)==0) {
      cblas_rout = "cblas_sgbmv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_sgbmv(INVALID, CblasNoTrans, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, INVALID, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, INVALID, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, INVALID, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, 2, 0, 0, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, 1, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 11; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 14; RowMajorStrg = FALSE;
      cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, INVALID, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, INVALID, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, INVALID, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, 2, 0, 0, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 1, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 11; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 14; RowMajorStrg = TRUE;
      cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_ssymv",11)==0) {
      cblas_rout = "cblas_ssymv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_ssymv(INVALID, CblasUpper, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_ssymv(CblasColMajor, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_ssymv(CblasColMajor, CblasUpper, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_ssymv(CblasColMajor, CblasUpper, 2, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_ssymv(CblasColMajor, CblasUpper, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 11; RowMajorStrg = FALSE;
      cblas_ssymv(CblasColMajor, CblasUpper, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_ssymv(CblasRowMajor, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_ssymv(CblasRowMajor, CblasUpper, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_ssymv(CblasRowMajor, CblasUpper, 2, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_ssymv(CblasRowMajor, CblasUpper, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 11; RowMajorStrg = TRUE;
      cblas_ssymv(CblasRowMajor, CblasUpper, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_ssbmv",11)==0) {
      cblas_rout = "cblas_ssbmv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_ssbmv(INVALID, CblasUpper, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_ssbmv(CblasColMajor, INVALID, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_ssbmv(CblasColMajor, CblasUpper, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_ssbmv(CblasColMajor, CblasUpper, 0, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = FALSE;
      cblas_ssbmv(CblasColMajor, CblasUpper, 0, 1, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = FALSE;
      cblas_ssbmv(CblasColMajor, CblasUpper, 0, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 12; RowMajorStrg = FALSE;
      cblas_ssbmv(CblasColMajor, CblasUpper, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_ssbmv(CblasRowMajor, INVALID, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_ssbmv(CblasRowMajor, CblasUpper, INVALID, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_ssbmv(CblasRowMajor, CblasUpper, 0, INVALID, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = TRUE;
      cblas_ssbmv(CblasRowMajor, CblasUpper, 0, 1, 
                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = TRUE;
      cblas_ssbmv(CblasRowMajor, CblasUpper, 0, 0, 
                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 12; RowMajorStrg = TRUE;
      cblas_ssbmv(CblasRowMajor, CblasUpper, 0, 0, 
                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_sspmv",11)==0) {
      cblas_rout = "cblas_sspmv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_sspmv(INVALID, CblasUpper, 0, 
                  ALPHA, A, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sspmv(CblasColMajor, INVALID, 0, 
                  ALPHA, A, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sspmv(CblasColMajor, CblasUpper, INVALID, 
                  ALPHA, A, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = FALSE;
      cblas_sspmv(CblasColMajor, CblasUpper, 0, 
                  ALPHA, A, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = FALSE;
      cblas_sspmv(CblasColMajor, CblasUpper, 0, 
                  ALPHA, A, X, 1, BETA, Y, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_sspmv(CblasRowMajor, INVALID, 0, 
                  ALPHA, A, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_sspmv(CblasRowMajor, CblasUpper, INVALID, 
                  ALPHA, A, X, 1, BETA, Y, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = TRUE;
      cblas_sspmv(CblasRowMajor, CblasUpper, 0, 
                  ALPHA, A, X, 0, BETA, Y, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = TRUE;
      cblas_sspmv(CblasRowMajor, CblasUpper, 0, 
                  ALPHA, A, X, 1, BETA, Y, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_strmv",11)==0) {
      cblas_rout = "cblas_strmv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_strmv(INVALID, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_strmv(CblasColMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_strmv(CblasColMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = FALSE;
      cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 2, A, 1, X, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = FALSE;
      cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_strmv(CblasRowMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_strmv(CblasRowMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = TRUE;
      cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 2, A, 1, X, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = TRUE;
      cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_stbmv",11)==0) {
      cblas_rout = "cblas_stbmv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_stbmv(INVALID, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 1, A, 1, X, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = FALSE;
      cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 1, A, 1, X, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = TRUE;
      cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_stpmv",11)==0) {
      cblas_rout = "cblas_stpmv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_stpmv(INVALID, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_stpmv(CblasColMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_stpmv(CblasColMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_stpmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_stpmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_stpmv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_stpmv(CblasRowMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_stpmv(CblasRowMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_stpmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_stpmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_stpmv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_strsv",11)==0) {
      cblas_rout = "cblas_strsv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_strsv(INVALID, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_strsv(CblasColMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_strsv(CblasColMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = FALSE;
      cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 2, A, 1, X, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = FALSE;
      cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_strsv(CblasRowMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_strsv(CblasRowMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 7; RowMajorStrg = TRUE;
      cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 2, A, 1, X, 1 );
      chkxer();
      cblas_info = 9; RowMajorStrg = TRUE;
      cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, 1, X, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_stbsv",11)==0) {
      cblas_rout = "cblas_stbsv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_stbsv(INVALID, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 1, A, 1, X, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = FALSE;
      cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 1, A, 1, X, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = TRUE;
      cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, 0, A, 1, X, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_stpsv",11)==0) {
      cblas_rout = "cblas_stpsv";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_stpsv(INVALID, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_stpsv(CblasColMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_stpsv(CblasColMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = FALSE;
      cblas_stpsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = FALSE;
      cblas_stpsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_stpsv(CblasColMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 0 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_stpsv(CblasRowMajor, INVALID, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_stpsv(CblasRowMajor, CblasUpper, INVALID, 
                  CblasNonUnit, 0, A, X, 1 );
      chkxer();
      cblas_info = 4; RowMajorStrg = TRUE;
      cblas_stpsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  INVALID, 0, A, X, 1 );
      chkxer();
      cblas_info = 5; RowMajorStrg = TRUE;
      cblas_stpsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, INVALID, A, X, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_stpsv(CblasRowMajor, CblasUpper, CblasNoTrans, 
                  CblasNonUnit, 0, A, X, 0 );
      chkxer();
   } else if (strncmp( sf,"cblas_sger",10)==0) {
      cblas_rout = "cblas_sger";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_sger(INVALID, 0, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sger(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sger(CblasColMajor, 0, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_sger(CblasColMajor, 0, 0, ALPHA, X, 0, Y, 1, A, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_sger(CblasColMajor, 0, 0, ALPHA, X, 1, Y, 0, A, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = FALSE;
      cblas_sger(CblasColMajor, 2, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_sger(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_sger(CblasRowMajor, 0, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_sger(CblasRowMajor, 0, 0, ALPHA, X, 0, Y, 1, A, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_sger(CblasRowMajor, 0, 0, ALPHA, X, 1, Y, 0, A, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = TRUE;
      cblas_sger(CblasRowMajor, 0, 2, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
   } else if (strncmp( sf,"cblas_ssyr2",11)==0) {
      cblas_rout = "cblas_ssyr2";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_ssyr2(INVALID, CblasUpper, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_ssyr2(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_ssyr2(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_ssyr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_ssyr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = FALSE;
      cblas_ssyr2(CblasColMajor, CblasUpper, 2, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_ssyr2(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_ssyr2(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_ssyr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_ssyr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A, 1 );
      chkxer();
      cblas_info = 10; RowMajorStrg = TRUE;
      cblas_ssyr2(CblasRowMajor, CblasUpper, 2, ALPHA, X, 1, Y, 1, A, 1 );
      chkxer();
   } else if (strncmp( sf,"cblas_sspr2",11)==0) {
      cblas_rout = "cblas_sspr2";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_sspr2(INVALID, CblasUpper, 0, ALPHA, X, 1, Y, 1, A );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sspr2(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sspr2(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_sspr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_sspr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_sspr2(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_sspr2(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_sspr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_sspr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A );
      chkxer();
   } else if (strncmp( sf,"cblas_ssyr",10)==0) {
      cblas_rout = "cblas_ssyr";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_ssyr(INVALID, CblasUpper, 0, ALPHA, X, 1, A, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_ssyr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_ssyr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_ssyr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = FALSE;
      cblas_ssyr(CblasColMajor, CblasUpper, 2, ALPHA, X, 1, A, 1 );
      chkxer();
      cblas_info = 2; RowMajorStrg = TRUE;
      cblas_ssyr(CblasRowMajor, INVALID, 0, ALPHA, X, 1, A, 1 );
      chkxer();
      cblas_info = 3; RowMajorStrg = TRUE;
      cblas_ssyr(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, A, 1 );
      chkxer();
      cblas_info = 6; RowMajorStrg = TRUE;
      cblas_ssyr(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, A, 1 );
      chkxer();
      cblas_info = 8; RowMajorStrg = TRUE;
      cblas_ssyr(CblasRowMajor, CblasUpper, 2, ALPHA, X, 1, A, 1 );
      chkxer();
   } else if (strncmp( sf,"cblas_sspr",10)==0) {
      cblas_rout = "cblas_sspr";
      cblas_info = 1; RowMajorStrg = FALSE;
      cblas_sspr(INVALID, CblasUpper, 0, ALPHA, X, 1, A );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sspr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sspr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_sspr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A );
      chkxer();
      cblas_info = 2; RowMajorStrg = FALSE;
      cblas_sspr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A );
      chkxer();
      cblas_info = 3; RowMajorStrg = FALSE;
      cblas_sspr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A );
      chkxer();
      cblas_info = 6; RowMajorStrg = FALSE;
      cblas_sspr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A );
      chkxer();
   } 
   if (cblas_ok == TRUE)
       printf(" %-12s PASSED THE TESTS OF ERROR-EXITS\n", cblas_rout);
   else
       printf("******* %s FAILED THE TESTS OF ERROR-EXITS *******\n",cblas_rout);
}