#NEWLINE# def _int_bounds_promotion( ltype , rtype , op ) : #NEWLINE# #INDENT# ( lmin , lmax ) = ltype . bounds #NEWLINE# ( rmin , rmax ) = rtype . bounds #NEWLINE# values = [ op ( lmin , rmin ) , op ( lmin , rmax ) , op ( lmax , rmin ) , op ( rmin , rmax ) ] #NEWLINE# return _smallest_int_containing ( values , allow_overflow = True )