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

Annotation of /trunk/gadget/popratiovector.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

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

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

Powered By FusionForge