int end;
int sign;
};
-typedef std::pair<size_t,size_t> Interval;
+
+struct Interval{
+ Interval(size_t f,size_t s,bool o = false):first(f),second(s),oriented(o){}
+ bool operator==(const Interval& i){
+ return first == i.first && second == i.second && oriented == i.oriented;
+ }
+ size_t first;
+ size_t second;
+ bool oriented;
+};
/**
* Returns the length of the longest increasing sequence and the longest
*/
size_t countCycles(const GeneOrder& go);
+/**
+ * Calculates the inversion distance for this gene order
+ */
+size_t inversionDistance(const GeneOrder& go);
+
/**
* Finds the components in the gene order.
*/