[mareframe] View of /trunk/gadget/strstack.cc
View of /trunk/gadget/strstack.cc
Parent Directory
| Revision Log
Revision 20 -
( download)
( annotate)
Fri Apr 7 09:20:55 2017 UTC
(7 years, 5 months ago)
by agomez
File size: 826 byte(s)
OpenMP integrated in a single model and first version of PSO
#include "strstack.h"
#include "gadget.h"
#include "omp.h"
StrStack::~StrStack() {
int i;
for (i = 0; i < v.Size(); i++)
delete[] v[i];
}
void StrStack::clearString() {
#pragma omp critical
if (size > 0)
size--;
}
void StrStack::storeString(const char* str) {
#pragma omp critical
{
if (size == v.Size()) {
v.resize(new char[MaxStrLength]);
strncpy(v[size], "", MaxStrLength);
}
strcpy(v[size], str);
size++;
}
}
char* StrStack::sendAll() const {
int i, len;
len = size * MaxStrLength;
char* rstr = new char[len];
strncpy(rstr, "", len);
for (i = 0; i < size; i++)
strcat(rstr, v[i]);
return rstr;
}
char* StrStack::sendTop() const {
char* rstr = new char[MaxStrLength];
strncpy(rstr, "", MaxStrLength);
if (size != 0)
strcpy(rstr, v[size - 1]);
return rstr;
}
|