CPPLapack
 All Classes Files Functions Variables Friends
_dssmatrix-calc.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 /*! return transposed _dssmatrix */
00003 inline _dssmatrix t(const _dssmatrix& mat)
00004 {VERBOSE_REPORT;
00005   return mat;
00006 }
00007 
00008 ///////////////////////////////////////////////////////////////////////////////
00009 ///////////////////////////////////////////////////////////////////////////////
00010 ///////////////////////////////////////////////////////////////////////////////
00011 
00012 //=============================================================================
00013 /*! search the index of element having the largest absolute value
00014   in 0-based numbering system */
00015 inline void idamax(long& i, long& j, const _dssmatrix& mat)
00016 {VERBOSE_REPORT;
00017   std::vector<dcomponent>::const_iterator itx(mat.data.begin());
00018   double vmax(0);
00019   for(std::vector<dcomponent>::const_iterator it=mat.data.begin(); it!=mat.data.end(); it++){
00020     if(vmax < it->v){
00021       vmax=fabs(it->v);
00022       itx=it;
00023     }
00024   }
00025   i=itx->i;
00026   j=itx->j;
00027   mat.destroy();
00028 }
00029 
00030 //=============================================================================
00031 /*! return its largest absolute value */
00032 inline double damax(const _dssmatrix& mat)
00033 {VERBOSE_REPORT;
00034   std::vector<dcomponent>::const_iterator itx(mat.data.begin());
00035   double vmax(0);
00036   for(std::vector<dcomponent>::const_iterator it=mat.data.begin(); it!=mat.data.end(); it++){
00037     if(vmax < it->v){
00038       vmax=fabs(it->v);
00039       itx=it;
00040     }
00041   }
00042   
00043   double val(itx->v);
00044   mat.destroy();
00045   return val;
00046 }
 All Classes Files Functions Variables Friends