#### Previous topic

numpy.promote_types

#### Next topic

numpy.result_type

# 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')