Download this file
    
      
        23 lines (19 with data), 698 Bytes
      
      
        |  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22 | //=============================================================================
 /*! zrovector*zgsmatrix operator */
 inline _zrovector operator*(const zrovector& vec, const zgsmatrix& mat)
 {CPPL_VERBOSE_REPORT;
 #ifdef  CPPL_DEBUG
   if(vec.l!=mat.m){
     ERROR_REPORT;
     std::cerr << "These vector and matrix can not make a product." << std::endl
               << "Your input was (" << vec.l << ") * (" << mat.m << "x" << mat.n << ")." << std::endl;
     exit(1);
   }
 #endif//CPPL_DEBUG
   
   zrovector newvec(mat.n);
   newvec.zero();
   
   for(std::vector<zcomponent>::const_iterator it=mat.data.begin(); it!=mat.data.end(); it++){
     newvec(it->j) += vec(it->i)*it->v;
   }
   
   return _(newvec);
 }
 | 
 
  
                     
                    
                    
                 
            
         
    
      
    
    
    
    
    
        
            ×
        
        Want the latest updates on software, tech news, and AI?
        
            
            Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.