]> ruin.nu Git - germs.git/blobdiff - src/genealgorithms.h
nicer with size_t for cycles, they can't be negative anyway
[germs.git] / src / genealgorithms.h
index 4c938e394bd42fa1ea3eb710239811dd32277e99..b5ed95d01ccb69af8797ec51aa820305e99db376 100644 (file)
@@ -27,6 +27,9 @@ class GeneOrder;
 
 struct Component{
        Component(int b,int e,int s):begin(b),end(e),sign(s){}
+       bool operator==(const Component& c){
+               return begin == c.begin && end == c.end && sign == c.sign;
+       }
        int begin;
        int end;
        int sign;
@@ -46,7 +49,7 @@ std::vector<std::vector<int> > robinsonSchensted(const GeneOrder& go);
 /**
  * Counts the number of cycles in the gene order.
  */
-int countCycles(const GeneOrder& go);
+size_t countCycles(const GeneOrder& go);
 
 /**
  * Finds the components in the gene order.
@@ -58,5 +61,10 @@ std::vector<Component> findComponents(const GeneOrder& go);
  */
 std::vector<Interval> findIntervals(const GeneOrder& go);
 
+/**
+ * Creates a list with the intervals at each point.
+ */
+std::vector<Interval> findIntervalsAtPoints(const std::vector<Interval>& intervals);
+
 #endif