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 3 of file _dgematrix-_dgematrix.hpp. References _dgematrix::Array, _dgematrix::destroy(), _dgematrix::M, _dgematrix::Ml, _dgematrix::N, and _dgematrix::Nl.
00004 {
00005 #ifdef CPPSL_DEBUG
00006 if(matA.N!=matB.N || matA.M!=matB.M){
00007 std::cerr << "[ERROR] operator+(const _dgematrix&, const _dgematrix&)"
00008 << std::endl
00009 << "These two matrises can not make a summation." << std::endl
00010 << "Your input was (" << matA.M << "x" << matA.N << ") + ("
00011 << matB.M << "x" << matB.N << ")." << std::endl;
00012 exit(1);
00013 }
00014 #endif//CPPSL_DEBUG
00015
00016 for(long i=0; i<matA.Ml*matA.Nl; i++){ matA.Array[i] +=matB.Array[i]; }
00017
00018 matB.destroy();
00019 return matA;
00020 }
|
|
||||||||||||
|
_dgematrix-_dgematrix operator Definition at line 24 of file _dgematrix-_dgematrix.hpp. References _dgematrix::Array, _dgematrix::destroy(), _dgematrix::M, _dgematrix::Ml, _dgematrix::N, and _dgematrix::Nl.
00025 {
00026 #ifdef CPPSL_DEBUG
00027 if(matA.N!=matB.N || matA.M!=matB.M){
00028 std::cerr << "[ERROR] operator-(const _dgematrix&, const _dgematrix&)"
00029 << std::endl
00030 << "These two matrises can not make a subtraction." << std::endl
00031 << "Your input was (" << matA.M << "x" << matA.N << ") - ("
00032 << matB.M << "x" << matB.N << ")." << std::endl;
00033 exit(1);
00034 }
00035 #endif//CPPSL_DEBUG
00036
00037 for(long i=0; i<matA.Ml*matA.Nl; i++){ matA.Array[i] -=matB.Array[i]; }
00038
00039 matB.destroy();
00040 return matA;
00041 }
|
|
||||||||||||
|
_dgematrix*_dgematrix operator Definition at line 45 of file _dgematrix-_dgematrix.hpp. References _dgematrix::Array, _dgematrix::Desc, _dgematrix::destroy(), _dgematrix::M, and _dgematrix::N.
00046 {
00047 #ifdef CPPSL_DEBUG
00048 if(matA.N!=matB.M){
00049 std::cerr << "[ERROR] operator*(const _dgematrix&, const _dgematrix&)"
00050 << std::endl
00051 << "These two matrises can not make a product." << std::endl
00052 << "Your input was (" << matA.M << "x" << matA.N << ") * ("
00053 << matB.M << "x" << matB.N << ")." << std::endl;
00054 exit(1);
00055 }
00056 #endif//CPPSL_DEBUG
00057
00058 _dgematrix newmat( matA.M, matB.N );
00059 pdgemm_( 'N', 'N', matA.M, matB.N, matA.N, 1.0,
00060 matA.Array, 1, 1, matA.Desc,
00061 matB.Array, 1, 1, matB.Desc, 0.0,
00062 newmat.Array, 1, 1, newmat.Desc );
00063
00064 matA.destroy();
00065 matB.destroy();
00066 return newmat;
00067 }
|
1.3.5