Skip to content

Commit

Permalink
working on removing pointers from chimera.slayer to eliminate pesky m…
Browse files Browse the repository at this point in the history
…emory leaks
  • Loading branch information
westcott committed May 31, 2011
1 parent 5a7b1d4 commit 2e28b53
Show file tree
Hide file tree
Showing 16 changed files with 321 additions and 277 deletions.
8 changes: 4 additions & 4 deletions ccode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Ccode::~Ccode() {
#endif
}
//***************************************************************************************************************
Sequence* Ccode::print(ostream& out, ostream& outAcc) {
Sequence Ccode::print(ostream& out, ostream& outAcc) {
try {

ofstream out2;
Expand Down Expand Up @@ -155,7 +155,7 @@ Sequence* Ccode::print(ostream& out, ostream& outAcc) {
//free memory
for (int i = 0; i < closest.size(); i++) { delete closest[i].seq; }

return NULL;
return *querySeq;
}
catch(exception& e) {
m->errorOut(e, "Ccode", "print");
Expand All @@ -164,7 +164,7 @@ Sequence* Ccode::print(ostream& out, ostream& outAcc) {
}
#ifdef USE_MPI
//***************************************************************************************************************
Sequence* Ccode::print(MPI_File& out, MPI_File& outAcc) {
Sequence Ccode::print(MPI_File& out, MPI_File& outAcc) {
try {

string outMapString = "";
Expand Down Expand Up @@ -263,7 +263,7 @@ Sequence* Ccode::print(MPI_File& out, MPI_File& outAcc) {
//free memory
for (int i = 0; i < closest.size(); i++) { delete closest[i].seq; }

return NULL;
return *querySeq;
}
catch(exception& e) {
m->errorOut(e, "Ccode", "print");
Expand Down
4 changes: 2 additions & 2 deletions ccode.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ class Ccode : public Chimera {
~Ccode();

int getChimeras(Sequence* query);
Sequence* print(ostream&, ostream&);
Sequence print(ostream&, ostream&);

#ifdef USE_MPI
Sequence* print(MPI_File&, MPI_File&);
Sequence print(MPI_File&, MPI_File&);
#endif
private:

Expand Down
20 changes: 15 additions & 5 deletions chimera.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,12 @@ struct SeqDist {
float dist;
int index;
};
/***********************************************************************/
struct SeqCompare {
Sequence seq;
float dist;
int index;
};
//********************************************************************************************************************
//sorts lowest to highest
inline bool compareRegionStart(results left, results right){
Expand All @@ -114,7 +120,11 @@ inline bool compareSeqDist(SeqDist left, SeqDist right){
return (left.dist < right.dist);
}
//********************************************************************************************************************

//sorts lowest to highest
inline bool compareSeqCompare(SeqCompare left, SeqCompare right){
return (left.dist < right.dist);
}
//********************************************************************************************************************
struct sim {
string leftParent;
string rightParent;
Expand Down Expand Up @@ -147,14 +157,14 @@ class Chimera {
virtual void printHeader(ostream&){};
virtual int getChimeras(Sequence*){ return 0; }
virtual int getChimeras(){ return 0; }
virtual Sequence* print(ostream&, ostream&){ return NULL; }
virtual Sequence* print(ostream&, ostream&, data_results, data_results) { return NULL; }
virtual Sequence print(ostream&, ostream&){ Sequence temp; return temp; }
virtual Sequence print(ostream&, ostream&, data_results, data_results) { Sequence temp; return temp; }
virtual int print(ostream&, ostream&, string){ return 0; }
virtual data_results getResults() { data_results results; return results; }

#ifdef USE_MPI
virtual Sequence* print(MPI_File&, MPI_File&){ return 0; }
virtual Sequence* print(MPI_File&, MPI_File&, data_results, data_results){ return NULL; }
virtual Sequence print(MPI_File&, MPI_File&){ Sequence temp; return temp; }
virtual Sequence print(MPI_File&, MPI_File&, data_results, data_results){ Sequence temp; return temp; }
virtual int print(MPI_File&, MPI_File&, string){ return 0; }
#endif

Expand Down
8 changes: 4 additions & 4 deletions chimeracheckrdp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ ChimeraCheckRDP::~ChimeraCheckRDP() {
}
}
//***************************************************************************************************************
Sequence* ChimeraCheckRDP::print(ostream& out, ostream& outAcc) {
Sequence ChimeraCheckRDP::print(ostream& out, ostream& outAcc) {
try {

m->mothurOut("Processing: " + querySeq->getName()); m->mothurOutEndLine();
Expand All @@ -72,7 +72,7 @@ Sequence* ChimeraCheckRDP::print(ostream& out, ostream& outAcc) {
}
}

return NULL;
return *querySeq;
}
catch(exception& e) {
m->errorOut(e, "ChimeraCheckRDP", "print");
Expand All @@ -81,7 +81,7 @@ Sequence* ChimeraCheckRDP::print(ostream& out, ostream& outAcc) {
}
#ifdef USE_MPI
//***************************************************************************************************************
Sequence* ChimeraCheckRDP::print(MPI_File& out, MPI_File& outAcc) {
Sequence ChimeraCheckRDP::print(MPI_File& out, MPI_File& outAcc) {
try {

cout << "Processing: " << querySeq->getName() << endl;
Expand Down Expand Up @@ -115,7 +115,7 @@ Sequence* ChimeraCheckRDP::print(MPI_File& out, MPI_File& outAcc) {
}
}

return NULL;
return *querySeq;
}
catch(exception& e) {
m->errorOut(e, "ChimeraCheckRDP", "print");
Expand Down
4 changes: 2 additions & 2 deletions chimeracheckrdp.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ class ChimeraCheckRDP : public Chimera {
~ChimeraCheckRDP();

int getChimeras(Sequence*);
Sequence* print(ostream&, ostream&);
Sequence print(ostream&, ostream&);

#ifdef USE_MPI
Sequence* print(MPI_File&, MPI_File&);
Sequence print(MPI_File&, MPI_File&);
#endif

private:
Expand Down
Loading

0 comments on commit 2e28b53

Please sign in to comment.