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] Annotation of /trunk/gadget/doublematrixptrvector.cc
[mareframe] / trunk / gadget / doublematrixptrvector.cc Repository:
ViewVC logotype

Annotation of /trunk/gadget/doublematrixptrvector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

1 : agomez 1 #include "doublematrixptrvector.h"
2 :     #include "gadget.h"
3 :    
4 :     DoubleMatrixPtrVector::DoubleMatrixPtrVector(int sz) {
5 :     size = (sz > 0 ? sz : 0);
6 :     if (size > 0)
7 :     v = new DoubleMatrix*[size];
8 :     else
9 :     v = 0;
10 :     }
11 :    
12 :     DoubleMatrixPtrVector::DoubleMatrixPtrVector(const DoubleMatrixPtrVector& initial) {
13 :     size = initial.size;
14 :     int i;
15 :     if (size > 0) {
16 :     v = new DoubleMatrix*[size];
17 :     for (i = 0; i < size; i++)
18 :     v[i] = initial.v[i];
19 :     } else
20 :     v = 0;
21 :     }
22 :    
23 :     DoubleMatrixPtrVector::~DoubleMatrixPtrVector() {
24 :     if (v != 0) {
25 :     delete[] v;
26 :     v = 0;
27 :     }
28 :     }
29 :    
30 :     void DoubleMatrixPtrVector::resize(DoubleMatrix* value) {
31 :     int i;
32 :     if (v == 0) {
33 :     v = new DoubleMatrix*[1];
34 :     } else {
35 :     DoubleMatrix** vnew = new DoubleMatrix*[size + 1];
36 :     for (i = 0; i < size; i++)
37 :     vnew[i] = v[i];
38 :     delete[] v;
39 :     v = vnew;
40 :     }
41 :     v[size] = value;
42 :     size++;
43 :     }
44 :    
45 :     void DoubleMatrixPtrVector::resizeBlank(int addsize) {
46 :     if (addsize <= 0)
47 :     return;
48 :     int i;
49 :     if (v == 0) {
50 :     size = addsize;
51 :     v = new DoubleMatrix*[size];
52 :     } else {
53 :     DoubleMatrix** vnew = new DoubleMatrix*[addsize + size];
54 :     for (i = 0; i < size; i++)
55 :     vnew[i] = v[i];
56 :     delete[] v;
57 :     v = vnew;
58 :     size += addsize;
59 :     }
60 :     }
61 :    
62 :     void DoubleMatrixPtrVector::Delete(int pos) {
63 :     int i;
64 :     if (size > 1) {
65 :     DoubleMatrix** vnew = new DoubleMatrix*[size - 1];
66 :     for (i = 0; i < pos; i++)
67 :     vnew[i] = v[i];
68 :     for (i = pos; i < size - 1; i++)
69 :     vnew[i] = v[i + 1];
70 :     delete[] v;
71 :     v = vnew;
72 :     size--;
73 :     } else {
74 :     delete[] v;
75 :     v = 0;
76 :     size = 0;
77 :     }
78 :     }

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

Powered By FusionForge