Go to the source code of this file.
Functions | |
_drovector | operator * (const _drovector &vec, const dgematrix &mat) |
|
_drovector*dgematrix operator Definition at line 3 of file _drovector-dgematrix.hpp. References _drovector::Array, dgematrix::Array, _drovector::Desc, dgematrix::Desc, _drovector::destroy(), _drovector::L, dgematrix::M, and dgematrix::N.
00004 { 00005 #ifdef CPPSL_DEBUG 00006 if( vec.L!=mat.M ){ 00007 std::cerr << "[ERROR] operator*(const _drovector&, const dgematrix&)" 00008 << std::endl 00009 << "These vector and matrix can not make a product." << std::endl 00010 << "Your input was (" << vec.L << ") * (" 00011 << mat.M << "x" << mat.N << ")." << std::endl; 00012 exit(1); 00013 } 00014 #endif//CPPSL_DEBUG 00015 00016 _drovector newvec(mat.N); 00017 pdgemv_( 'T', mat.M, mat.N, 1.0, mat.Array, 1, 1, mat.Desc, 00018 vec.Array, 1, 1, vec.Desc, 1, 0.0, 00019 newvec.Array, 1, 1, newvec.Desc, 1 ); 00020 00021 vec.destroy(); 00022 return newvec; 00023 } |