]> ruin.nu Git - germs.git/commitdiff
scoring function for Zipper model
authorMichael Andreen <harv@ruin.nu>
Tue, 14 Aug 2007 10:43:51 +0000 (10:43 +0000)
committerMichael Andreen <harv@ruin.nu>
Tue, 14 Aug 2007 10:43:51 +0000 (10:43 +0000)
src/models.cpp

index 9e6c2c36e9750245738d3604ff3e0aaf2a5e5196..a8289c7b3f9a5056dc2dc8fb9a3caefbf885c8d3 100644 (file)
@@ -53,7 +53,12 @@ const char* X::name(){
 }
 
 double Zipper::score(const SortAction& sa, const GeneOrder& go){
-       return 1;
+       const ReverseAction* ra = dynamic_cast<const ReverseAction*>(&sa.impl());
+
+       if (ra){
+               return 1.0/(((ra->j()-ra->i())/static_cast<double>(go.size()))+1.0);
+       }
+       return -1;
 }
 const char* Zipper::name(){
        return "Zipper";