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

Annotation of /trunk/gadget/formulavector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

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

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

Powered By FusionForge