dpnp.fmod

dpnp.fmod(x1, x2, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)

Calculates the remainder of division for each element \(x1_i\) of the input array x1 with the respective element \(x2_i\) of the input array x2.

This function is equivalent to the Matlab(TM) rem function and should not be confused with the Python modulus operator x1 % x2.

For full documentation refer to numpy.fmod.

Parameters:
  • x1 ({dpnp.ndarray, usm_ndarray, scalar}) -- First input array, expected to have a boolean or real-valued data type.

  • x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have a boolean or real-valued data type.

  • out ({None, dpnp.ndarray, usm_ndarray}, optional) --

    Output array to populate. Array must have the correct shape and the expected data type.

    Default: None.

  • order ({None, "C", "F", "A", "K"}, optional) --

    Memory layout of the newly output array, if parameter out is None.

    Default: "K".

Returns:

out -- An array containing the element-wise remainders. The data type of the returned array is determined by the Type Promotion Rules.

Return type:

dpnp.ndarray

Limitations

Parameters where and subok are supported with their default values. Keyword argument kwargs is currently unsupported. Otherwise NotImplementedError exception will be raised.

See also

dpnp.remainder

Equivalent to the Python % operator.

dpnp.divide

Standard division.

Notes

At least one of x1 or x2 must be an array.

If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

Examples

>>> import dpnp as np
>>> a = np.array([-3, -2, -1, 1, 2, 3])
>>> np.fmod(a, 2)
array([-1,  0, -1,  1,  0,  1])
>>> np.remainder(a, 2)
array([1, 0, 1, 1, 0, 1])
>>> np.fmod(np.array([5, 3]), np.array([2, 2.]))
array([1., 1.])
>>> a = np.arange(-3, 3).reshape(3, 2)
>>> a
array([[-3, -2],
       [-1,  0],
       [ 1,  2]])
>>> np.fmod(a, np.array([2, 2]))
array([[-1,  0],
       [-1,  0],
       [ 1,  0]])