parameters: (self, prec)
docstring: Round 5 to even, rest to nearest.
docstring_summary: Round 5 to even, rest to nearest.
docstring_tokens: Round 5 to even rest to nearest .
function: def _round_half_even(self, prec):
          """Round 5 to even, rest to nearest."""
          if _exact_half(self._int, prec) and \
                  (prec == 0 or self._int[prec-1] in '02468'):
              return -1
          else:
              return self._round_half_up(prec)
function_tokens: def _round_half_even ( self , prec ) : if _exact_half ( self . _int , prec ) and ( prec == 0 or self . _int [ prec - 1 ] in '02468' ) : return - 1 else : return self . _round_half_up ( prec )