original_string: private function _theta(PointInterface $a, PointInterface $b)
      {
          list($x1, $y1) = $a->getCoordinates();
          list($x2, $y2) = $b->getCoordinates();
          return atan2($y2-$y1, $x2 - $x1) + 2 * M_PI;
      }
code: private function _theta(PointInterface $a, PointInterface $b)
      {
          list($x1, $y1) = $a->getCoordinates();
          list($x2, $y2) = $b->getCoordinates();
          return atan2($y2-$y1, $x2 - $x1) + 2 * M_PI;
      }
code_tokens: private function _theta ( PointInterface $ a , PointInterface $ b ) { list ( $ x1 , $ y1 ) = $ a -> getCoordinates ( ) ; list ( $ x2 , $ y2 ) = $ b -> getCoordinates ( ) ; return atan2 ( $ y2 - $ y1 , $ x2 - $ x1 ) + 2 * M_PI ; }
docstring: Calculate the angle, and add 2pi to protect against underflow.
  
  @param PointInterface $a Base coordinate point.
  @param PointInterface $b Subject coordinate point.
  
  @return double None negative radian.
docstring_tokens: Calculate the angle and add 2pi to protect against underflow .