#### Previous topic

numpy.can_cast

#### Next topic

numpy.min_scalar_type

# numpy.promote_types

`numpy.``promote_types`(type1, type2)

  Returns the data type with the smallest size and smallest scalar kind to which both `type1` and `type2` may be safely cast. The returned data type is always in native byte order.

  This function is symmetric and associative.

  Parameters: | type1 : dtype or dtype specifier First data type. type2 : dtype or dtype specifier Second data type.
  Returns: | out : dtype The promoted data type.

  See also

  `result_type`, `dtype`, `can_cast`

  Notes

  New in version 1.6.0.

  Starting in NumPy 1.9, promote_types function now returns a valid string length when given an integer or float dtype as one argument and a string dtype as another argument. Previously it always returned the input string dtype, even if it wasn’t long enough to store the max integer/float value converted to a string.

  Examples

      >>> np.promote_types('f4', 'f8')
      dtype('float64')

      >>> np.promote_types('i8', 'f4')
      dtype('float64')

      >>> np.promote_types('>i8', '<c8')
      dtype('complex128')

      >>> np.promote_types('i4', 'S8')
      dtype('S11')