00001
00002
00003 inline dgematrix& dgematrix::operator*=(const double& d)
00004 {
00005 dscal_(Ml*Nl, d, Array, 1);
00006 return *this;
00007 }
00008
00009
00010
00011 inline dgematrix& dgematrix::operator/=(const double& d)
00012 {
00013 dscal_(Ml*Nl, 1./d, Array, 1);
00014 return *this;
00015 }
00016
00017
00018
00019
00020
00021
00022
00023 inline _dgematrix operator*(const dgematrix& mat, const double& d)
00024 {
00025 _dgematrix newmat(mat.M, mat.N);
00026 for(int i=0; i<mat.Ml*mat.Nl; i++){ newmat.Array[i] =mat.Array[i]*d; }
00027
00028 return newmat;
00029 }
00030
00031
00032
00033 inline _dgematrix operator/(const dgematrix& mat, const double& d)
00034 {
00035 double inv_d(1./d);
00036
00037 _dgematrix newmat(mat.M, mat.N);
00038 for(int i=0; i<mat.Ml*mat.Nl; i++){ newmat.Array[i] =mat.Array[i]*inv_d; }
00039
00040 return newmat;
00041 }