#include "genealgorithms.h"
#include <doublefann.h>
+#include "models.h"
+#include "model.h"
using namespace std;
fann_destroy(_ann);
}
-std::map<ModelIdentifier::Model,double> ModelIdentifier::identify(const GeneOrder& go){
+priority_queue<pair<double,Model> > ModelIdentifier::identify(const GeneOrder& go){
int pos = 0;
int neg = 0;
for (GeneOrder::iterator g = go.begin(); g != go.end(); ++g){
double *output = fann_run(_ann,&input[0]);
- map<Model,double> scores;
- scores[X] = output[0];
- scores[Zipper] = output[1];
- scores[Whirl] = output[2];
- scores[FatX] = output[3];
- scores[Cloud] = output[4];
+ priority_queue<pair<double,Model> > scores;
+ scores.push(pair<double,Model>(output[0],Model(new Models::X)));
+ scores.push(pair<double,Model>(output[1],Model(new Models::Zipper)));
+ scores.push(pair<double,Model>(output[2],Model(new Models::ModelImpl)));
+ scores.push(pair<double,Model>(output[3],Model(new Models::FatX)));
+ scores.push(pair<double,Model>(output[4],Model(new Models::Cloud)));
return scores;
}