if (oriA == 1 && (b.getEnd() < a.getBegin() || a.getEnd() > b.getBegin())) {   m.status = MP_OUTIE; return 0; }  if (oriA == -1 && (a.getEnd() < b.getBegin() || b.getEnd() > a.getBegin())) {   m.status = MP_OUTIE; return 0; }
int mateLen (AnnotatedMatePair & m, Range_t & a, Range_t & b, int Len, int End){  int oriA;  int oriB;  if (a.getBegin() < a.getEnd())     oriA = 1;  else     oriA = -1;  if (b.getBegin() < b.getEnd())    oriB = 1;  else    oriB = -1;  if (oriA == oriB){ // A --> B -->    m.status = MP_NORMAL;    return 0;  }  if (oriA == 1 && a.getBegin() > b.getBegin()){ // B <--  --> A    m.status = MP_OUTIE;    return 0;  }  if (oriA == -1 && a.getBegin() < b.getBegin()){ // A <-- --> B    m.status = MP_OUTIE;    return 0;  }  // now everything is kosher A --> <-- B or B --> <-- A  if ((oriA == 1 && (Len - a.getBegin() < End))||      (oriA == -1 && (a.getBegin() < End)) ||      (oriB == 1 && (Len - b.getBegin() < End)) ||      (oriB == -1 && (b.getBegin() < End))){    return 0; // mate-pair too close to end to count  }  return abs(a.getBegin() - b.getBegin());}// mateLen