]> ruin.nu Git - germs.git/blobdiff - src/main.cpp
started a refactoring with Model class to score different sort actions
[germs.git] / src / main.cpp
index 1c6a85ecc85790716e6a8559e1ea86117d716922..153aff40e608bce08a91bfe77a4980f017379ca8 100644 (file)
@@ -12,15 +12,7 @@ using namespace std;
 #include "modelidentifier.h"
 #include "genesorter.h"
 #include "sortaction.h"
-
-typedef pair<ModelIdentifier::Model,double> modelpair;
-
-struct ScoreCmp {
-       template<typename T>
-       bool operator()(T s1, T s2){
-               return s1.first < s2.first;
-       }
-};
+#include "model.h"
 
 int main(int argc, char** argv){
 
@@ -67,16 +59,9 @@ int main(int argc, char** argv){
 
        //TODO: Identify
        ModelIdentifier mi(ann);
-       map<ModelIdentifier::Model,double> scores = mi.identify(go);
-       priority_queue<pair<double,ModelIdentifier::Model>,vector<pair<double,ModelIdentifier::Model> >, ScoreCmp > pq;
-       for (map<ModelIdentifier::Model,double>::iterator m = scores.begin();
-                       m != scores.end(); ++m){
-               if (m->second > 0){
-                       pq.push(pair<double,ModelIdentifier::Model>(m->second,m->first));
-               }
-       }
+       priority_queue<pair<double,Model> > pq = mi.identify(go);
        while (pq.size() > 0){
-               cout << "Model: " << mi.modelName(pq.top().second) << " score: " << pq.top().first << endl;
+               cout << "Model: " << pq.top().second.name() << " score: " << pq.top().first << endl;
                pq.pop();
        }