BUG: remove two sources of endless loop (self.a==self.b, and initial a,b are not integer valued)
TST: add test for .a == .b case