Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Mareframe
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[mareframe] Diff of /trunk/gadget/matrix.cc
[mareframe] / trunk / gadget / matrix.cc Repository:
ViewVC logotype

Diff of /trunk/gadget/matrix.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2, Wed Apr 29 12:55:30 2015 UTC revision 12, Fri Jul 24 18:36:24 2015 UTC
# Line 2  Line 2 
2  #include "mathfunc.h"  #include "mathfunc.h"
3  #include "gadget.h"  #include "gadget.h"
4    
 //TODO usar mallock  
5  Matrix::Matrix(int nr, int nc, double value) {  Matrix::Matrix(int nr, int nc, double value) {
6    
7          m = new double[nr * nc];          m = new double[nr * nc];
   
8          nrow = nr;          nrow = nr;
9          ncol = nc;          ncol = nc;
10          int i, j;          int i, j;
# Line 16  Line 14 
14          }          }
15  }  }
16    
 //Matrix::Matrix(const DoubleMatrix& initial) : nrow(initial.nrow) {  
 //  int i;  
 //  if (nrow >= 0) {  
 ////    v = new DoubleVector*[nrow];  
 ////    for (i = 0; i < nrow; i++)  
 ////      v[i] = new DoubleVector(initial[i]);  
 //        v = new double[nrow][initial.Ncol(0)];  
 //        int i,j;  
 //  
 //        for (i = 0; i < nrow; i++)  
 //                for (j = 0; j < initial.Ncol(0); j++)  
 //                        v[i][j] = initial[i][j];  
 //  } else {  
 //    v = 0;  
 //    nrow = 0;  
 //  }  
 //}  
   
17  Matrix::~Matrix() {  Matrix::~Matrix() {
18          int i;          int i;
19          if (m != 0) {          if (m != 0) {
# Line 74  Line 54 
54          }          }
55  }  }
56    
 //void Matrix::Delete(int pos) {  
 //  delete v[pos];  
 //  int i;  
 //  if (nrow > 1) {  
 //    DoubleVector** vnew = new DoubleVector*[nrow - 1];  
 //    for (i = 0; i < pos; i++)  
 //      vnew[i] = v[i];  
 //    for (i = pos; i < nrow - 1; i++)  
 //      vnew[i] = v[i + 1];  
 //    delete[] v;  
 //    v = vnew;  
 //    nrow--;  
 //  } else {  
 //    delete[] v;  
 //    v = 0;  
 //    nrow = 0;  
 //  }  
 //}  
   
 //Matrix& Matrix::operator = (const Matrix& d) {  
 //  int i;  
 //  if (v != 0) {  
 //    for (i = 0; i < nrow; i++)  
 //      delete v[i];  
 //    delete[] v;  
 //  }  
 //  
 //  nrow = d.nrow;  
 //  if (nrow > 0) {  
 //    v = new double*[nrow];  
 //    for (i = 0; i < nrow; i++)  
 //      v[i] = new double(*d[i]);  
 //  
 //  } else  
 //    v = 0;  
 //  
 //  return *this;  
 //}  
   
57  void Matrix::Reset() {  void Matrix::Reset() {
58          if (nrow > 0) {          if (nrow > 0) {
59                  int i;                  int i;
# Line 123  Line 64 
64          }          }
65  }  }
66    
67    void Matrix::Initialize(int nr, int nc, double initial) {
68            if (m != 0)
69                    delete[] m;
70    
71            m = new double[nr * nc];
72            nrow = nr;
73            ncol = nc;
74            int i, j;
75            for (i = 0; i < nr; i++) {
76                    for (j = 0; j < nc; j++)
77                            m[i*ncol+j] = initial;
78                    }
79    }
80    
81  void Matrix::Print(ofstream& outfile) const {  void Matrix::Print(ofstream& outfile) const {
82          int i, j;          int i, j;
83          for (i = 0; i < nrow; i++) {          for (i = 0; i < nrow; i++) {
# Line 136  Line 91 
91    
92  void Matrix::setToZero() {  void Matrix::setToZero() {
93          int i, j;          int i, j;
 //  **v = {0};  
94          for (i = 0; i < nrow; i++)          for (i = 0; i < nrow; i++)
95                  for (j = 0; j < ncol; j++)                  for (j = 0; j < ncol; j++)
96                          m[i*ncol+j] = 0;                          m[i*ncol+j] = 0.0;
 //    (*v[i]).setToZero();  
97  }  }

Legend:
Removed from v.2  
changed lines
  Added in v.12

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge