Changeset 9f675bb in tol


Ignore:
Timestamp:
Feb 1, 2013, 9:41:44 AM (14 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
f8c0837
Parents:
1f41e156
Message:

Refs #1636
BDat version of dtrsm must call to double version

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@5545 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/bmath/blinalg/tol_blas.cpp

    r1f41e156 r9f675bb  
    118118//Multiplies two generic matrices
    119119// C = A*B
    120 //http://www.netlib.org/blas/dtrsm.f
     120//http://www.netlib.org/blas/dgemm.f
    121121/////////////////////////////////////////////////////////////////////////////
    122122{
    … …  
    298298  int ldb = N;
    299299  if(N&&M&&(
    300     (Side==CblasLeft  && TransA==CblasNoTrans && A.Columns()==M) ||
    301     (Side==CblasRight && TransA==CblasNoTrans && A.Rows   ()==N) ||
    302     (Side==CblasLeft  && TransA==CblasTrans   && A.Rows   ()==M) ||
    303     (Side==CblasRight && TransA==CblasTrans   && A.Columns()==N) ))
     300     //(Side==CblasLeft  && TransA==CblasNoTrans && A.Columns()==M) ||
     301     (Side==CblasLeft  && TransA==CblasNoTrans && A.Rows()==M) ||
     302     //(Side==CblasRight && TransA==CblasNoTrans && A.Rows   ()==N) ||
     303     (Side==CblasRight && TransA==CblasNoTrans && A.Columns   ()==N) ||
     304     //(Side==CblasLeft  && TransA==CblasTrans   && A.Rows   ()==M) ||
     305     (Side==CblasLeft  && TransA==CblasTrans   && A.Columns   ()==M) ||
     306     //(Side==CblasRight && TransA==CblasTrans   && A.Columns()==N) ))
     307     (Side==CblasRight && TransA==CblasTrans   && A.Rows()==N) ))
    304308  {
    305309    cblas_dtrsm(CblasRowMajor,Side,Uplo,TransA,Diag,M,N,alpha,
    … …  
    343347/////////////////////////////////////////////////////////////////////////////
    344348{
    345   int M   = B.Rows   ();
    346   int N   = B.Columns();
    347   if(N&&M&&(
    348      //(Side==CblasLeft  && TransA==CblasNoTrans && A.Columns()==M) ||
    349      (Side==CblasLeft  && TransA==CblasNoTrans && A.Rows()==M) ||
    350      //(Side==CblasRight && TransA==CblasNoTrans && A.Rows   ()==N) ||
    351      (Side==CblasRight && TransA==CblasNoTrans && A.Columns   ()==N) ||
    352      //(Side==CblasLeft  && TransA==CblasTrans   && A.Rows   ()==M) ||
    353      (Side==CblasLeft  && TransA==CblasTrans   && A.Columns   ()==M) ||
    354      //(Side==CblasRight && TransA==CblasTrans   && A.Columns()==N) ))
    355      (Side==CblasRight && TransA==CblasTrans   && A.Rows()==N) ))
    356   {
    357     return(dtrsm(Side,Uplo,TransA,Diag,alpha.Value(),
    358                  cb2dMat(A),cb2dMat(B),b2dMat(X)));
    359   }
    360   else
    361   {
    362     if(Side==CblasLeft)
    363     {
    364       Error(BText("[dtrmm] Cannot multiply matrices with dimensions ")+
    365       "("+(TransA==CblasNoTrans?A.Rows():A.Columns())+"x"+(TransA==CblasNoTrans?A.Columns():A.Rows())+") * "
    366       "("+B.Rows()+"x"+B.Columns()+")\n");
    367     }
    368     else
    369     {
    370       Error(BText("[dtrmm] Cannot multiply matrices with dimensions ")+
    371       "("+B.Rows()+"x"+B.Columns()+") * "
    372       "("+(TransA==CblasNoTrans?A.Rows():A.Columns())+"x"+(TransA==CblasNoTrans?A.Columns():A.Rows())+")\n");
    373     }
    374     return(-1);
    375   }
    376 };
    377 
    378 };
    379 
    380 
     349  return(dtrsm(Side,Uplo,TransA,Diag,alpha.Value(),
     350               cb2dMat(A),cb2dMat(B),b2dMat(X)));
     351};
     352
     353};
     354
     355
Note: See TracChangeset for help on using the changeset viewer.