Go to the source code of this file.
Functions | |
_dgematrix | operator+ (const dgematrix &matA, const dgematrix &matB) |
_dgematrix | operator- (const dgematrix &matA, const dgematrix &matB) |
_dgematrix | operator * (const dgematrix &matA, const dgematrix &matB) |
|
dgematrix+dgematrix operator Definition at line 84 of file dgematrix-dgematrix.hpp. References dgematrix::Array, _dgematrix::Array, dgematrix::M, _dgematrix::Ml, dgematrix::N, and _dgematrix::Nl.
00085 { 00086 #ifdef CPPSL_DEBUG 00087 if(matA.N!=matB.N || matA.M!=matB.M){ 00088 std::cerr << "[ERROR] operator+(const dgematrix&, const dgematrix&)" 00089 << std::endl 00090 << "These two matrises can not make a summation." << std::endl 00091 << "Your input was (" << matA.M << "x" << matA.N << ") + (" 00092 << matB.M << "x" << matB.N << ")." << std::endl; 00093 exit(1); 00094 } 00095 #endif//CPPSL_DEBUG 00096 00097 _dgematrix newmat(matA.M,matA.N); 00098 for(long i=0; i<newmat.Ml*newmat.Nl; i++){ 00099 newmat.Array[i] =matA.Array[i]+matB.Array[i]; 00100 } 00101 00102 return newmat; 00103 } |
|
dgematrix-dgematrix operator Definition at line 107 of file dgematrix-dgematrix.hpp. References dgematrix::Array, _dgematrix::Array, dgematrix::M, _dgematrix::Ml, dgematrix::N, and _dgematrix::Nl.
00108 { 00109 #ifdef CPPSL_DEBUG 00110 if(matA.N!=matB.N || matA.M!=matB.M){ 00111 std::cerr << "[ERROR] operator-(const dgematrix&, const dgematrix&)" 00112 << std::endl 00113 << "These two matrises can not make a subtraction." << std::endl 00114 << "Your input was (" << matA.M << "x" << matA.N << ") - (" 00115 << matB.M << "x" << matB.N << ")." << std::endl; 00116 exit(1); 00117 } 00118 #endif//CPPSL_DEBUG 00119 00120 _dgematrix newmat(matA.M,matA.N); 00121 for(long i=0; i<newmat.Ml*newmat.Nl; i++){ 00122 newmat.Array[i] =matA.Array[i]-matB.Array[i]; 00123 } 00124 00125 return newmat; 00126 } |
|
dgematrix*dgematrix operator Definition at line 130 of file dgematrix-dgematrix.hpp. References _dgematrix::Array, dgematrix::Array, _dgematrix::Desc, dgematrix::Desc, dgematrix::M, and dgematrix::N.
00131 { 00132 #ifdef CPPSL_DEBUG 00133 if(matA.N!=matB.M){ 00134 std::cerr << "[ERROR] operator*(const dgematrix&, const dgematrix&)" 00135 << std::endl 00136 << "These two matrises can not make a product." << std::endl 00137 << "Your input was (" << matA.M << "x" << matA.N << ") * (" 00138 << matB.M << "x" << matB.N << ")." << std::endl; 00139 exit(1); 00140 } 00141 #endif//CPPSL_DEBUG 00142 00143 _dgematrix newmat( matA.M, matB.N ); 00144 pdgemm_( 'N', 'N', matA.M, matB.N, matA.N, 1.0, 00145 matA.Array, 1, 1, matA.Desc, 00146 matB.Array, 1, 1, matB.Desc, 0.0, 00147 newmat.Array, 1, 1, newmat.Desc ); 00148 00149 return newmat; 00150 } |