parameters: (self, x)
return_statement: return end if (end * end <= x) else start
docstring: :type x: int
          :rtype: int
docstring_summary: :type x: int
          :rtype: int
docstring_tokens: : type x : int : rtype : int
function: def mySqrt(self, x):
          """
          :type x: int
          :rtype: int
          """
          start = 0
          end = x
  
          while (start + 1 < end):
              mid = start + (end - start) / 2
  
              if (mid * mid > x):
                  end = mid
              elif (mid * mid < x):
                  start = mid
              else:
                  return mid
  
          return end if (end * end <= x) else start
function_tokens: def mySqrt ( self , x ) : start = 0 end = x while ( start + 1 < end ) : mid = start + ( end - start ) / 2 if ( mid * mid > x ) : end = mid elif ( mid * mid < x ) : start = mid else : return mid return end if ( end * end <= x ) else start