}
+double Whirl::score(const SortAction& sa, const GeneOrder& go){
+ const ReverseAction* ra = dynamic_cast<const ReverseAction*>(&sa.impl());
+
+ if (ra){
+ return 1;
+ }
+ return -1;
+}
+const char* Whirl::name(){
+ return "Whirl";
+}
double X::score(const SortAction& sa, const GeneOrder& go){
const ReverseAction* ra = dynamic_cast<const ReverseAction*>(&sa.impl());