# numpy.min_scalar_type

numpy.min_scalar_type(a, /)

  For scalar `a`, returns the data type with the smallest size and smallest scalar kind which can hold its value. For non-scalar array `a`, returns the vector’s dtype unmodified.

  Floating point values are not demoted to integers, and complex values are not demoted to floats.

  Parameters:
    a scalar or array_like

      The value whose minimal data type is to be found.

  Returns:
    out dtype

      The minimal data type.

  See also

  `result_type`, `promote_types`, `dtype`, `can_cast`

  Notes

  New in version 1.6.0.

  Examples

      >>> np.min_scalar_type(10)
      dtype('uint8')

      >>> np.min_scalar_type(-260)
      dtype('int16')

      >>> np.min_scalar_type(3.1)
      dtype('float16')

      >>> np.min_scalar_type(1e50)
      dtype('float64')

      >>> np.min_scalar_type(np.arange(4,dtype='f8'))
      dtype('float64')