Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 2f3e20e5 authored by hhakim's avatar hhakim
Browse files

Handle adjoint case in MatDiag::multiply.

parent a09027b7
Branches
Tags
No related merge requests found
......@@ -43,23 +43,19 @@ Faust::Vect<FPP,Cpu> Faust::MatDiag<FPP>::multiply(const Vect<FPP,Cpu> &v) const
template<typename FPP>
void Faust::MatDiag<FPP>::multiply(Faust::Vect<FPP,Cpu> & vec, char opThis) const
{
if(opThis == 'T')
{
Faust::MatDiag<FPP> tmat(this->getNbCol(), this->getNbRow(), this->getData());
vec.vec = tmat.mat * vec.vec;
}
else vec.vec = mat * vec.vec;
if(opThis = 'H')
vec.vec = mat.conjugate() * vec.vec;
else //if (opThis == 'N' || opThis == 'T')
vec.vec = mat * vec.vec;
}
template<typename FPP>
void Faust::MatDiag<FPP>::multiply(MatDense<FPP,Cpu> & M, char opThis) const
{
if (opThis == 'N')
M.mat = this->mat * M.mat;
else {
Faust::MatDiag<FPP> tmat(this->getNbCol(), this->getNbRow(), this->getData());
M.mat = tmat.mat * M.mat;
}
if(opThis = 'H')
M.mat = mat.conjugate() * M.mat;
else //if (opThis == 'N' || opThis == 'T')
M.mat = mat * M.mat;
}
template<typename FPP>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment