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, drovector::Array, _dgematrix::Array, _drovector::Desc, drovector::Desc, _dgematrix::Desc, _dgematrix::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 mat.destroy(); 00022 return newvec; 00023 } |