# 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, but rarely 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')

  An example of a non-associative case:

      >>> p = np.promote_types
      >>> p('S', p('i1', 'u1'))
      dtype('S6')
      >>> p(p('S', 'i1'), 'u1')
      dtype('S4')

previous

numpy.can_cast

next

numpy.min_scalar_type