mkl_random.MKLRandomState.randint

MKLRandomState.randint(low, high=None, size=None, dtype=int)

Return random integers from low (inclusive) to high (exclusive).

Return random integers from the “discrete uniform” distribution of the specified dtype in the “half-open” interval [low, high). If high is None (the default), then results are from [0, low).

Parameters:
lowint or array_like of ints

Lowest (signed) integer to be drawn from the distribution (unless high=None, in which case this parameter is the highest such integer). If an array is given, it must broadcast with high (and with size, if provided).

highint or array_like of ints, optional

If provided, one above the largest (signed) integer to be drawn from the distribution (see above for behavior if high=None). If an array is given, it must broadcast with low.

sizeint or tuple of ints, optional

Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. Default is None, in which case a single value is returned.

dtypedtype, optional

Desired dtype of the result. All dtypes are determined by their name, i.e., ‘int64’, ‘int’, etc, so byteorder is not available and a specific precision may have different C types depending on the platform. The default value is ‘np.int’.

Added in version 1.11.0.

Returns:
outint or ndarray of ints

size-shaped array of random integers from the appropriate distribution, or a single such random int if size not provided.

See also

random_integers

similar to randint, only for the closed interval [low, high], and 1 is the lowest value if high is omitted. In particular, this other one is the one to use to generate uniformly distributed discrete non-integers.

Examples

>>> mkl_random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0]) # random
>>> mkl_random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

Generate a 2 x 4 array of ints between 0 and 4, inclusive:

>>> mkl_random.randint(5, size=(2, 4))
array([[4, 0, 2, 1], # random
       [3, 2, 2, 0]])

Generate a 1 x 3 array with 3 different upper bounds

>>> mkl_random.randint(1, [3, 5, 10])
array([2, 4, 7]) # random

Generate a 1 by 3 array with 3 different lower bounds

>>> mkl_random.randint([1, 5, 7], 10)
array([6, 6, 9]) # random

Generate a 2 by 4 array using broadcasting with dtype of uint8

>>> mkl_random.randint([1, 3, 5, 7], [[10], [20]], dtype=np.uint8)
array([[ 8,  7,  7,  7], # random
       [18, 17, 19, 17]], dtype=uint8)