remainder¶
- remainder(x1: array, x2: array, /) array ¶
Returns the remainder of division for each element
x1_i
of the input arrayx1
and the respective elementx2_i
of the input arrayx2
.Note
This function is equivalent to the Python modulus operator
x1_i % x2_i
.Note
For input arrays which promote to an integer data type, the result of division by zero is unspecified and thus implementation-defined.
- Parameters:
x1 (array) – dividend input array. Should have a real-valued data type.
x2 (array) – divisor input array. Must be compatible with
x1
(see Broadcasting). Should have a real-valued data type.
- Returns:
out (array) – an array containing the element-wise results. Each element-wise result must have the same sign as the respective element
x2_i
. The returned array must have a data type determined by Type Promotion Rules.
Notes
Special cases
Note
In general, similar to Python’s
%
operator, this function is not recommended for floating-point operands as semantics do not follow IEEE 754. That this function is specified to accept floating-point operands is primarily for reasons of backward compatibility.For floating-point operands,
If either
x1_i
orx2_i
isNaN
, the result isNaN
.If
x1_i
is either+infinity
or-infinity
andx2_i
is either+infinity
or-infinity
, the result isNaN
.If
x1_i
is either+0
or-0
andx2_i
is either+0
or-0
, the result isNaN
.If
x1_i
is+0
andx2_i
is greater than0
, the result is+0
.If
x1_i
is-0
andx2_i
is greater than0
, the result is+0
.If
x1_i
is+0
andx2_i
is less than0
, the result is-0
.If
x1_i
is-0
andx2_i
is less than0
, the result is-0
.If
x1_i
is greater than0
andx2_i
is+0
, the result isNaN
.If
x1_i
is greater than0
andx2_i
is-0
, the result isNaN
.If
x1_i
is less than0
andx2_i
is+0
, the result isNaN
.If
x1_i
is less than0
andx2_i
is-0
, the result isNaN
.If
x1_i
is+infinity
andx2_i
is a positive (i.e., greater than0
) finite number, the result isNaN
.If
x1_i
is+infinity
andx2_i
is a negative (i.e., less than0
) finite number, the result isNaN
.If
x1_i
is-infinity
andx2_i
is a positive (i.e., greater than0
) finite number, the result isNaN
.If
x1_i
is-infinity
andx2_i
is a negative (i.e., less than0
) finite number, the result isNaN
.If
x1_i
is a positive (i.e., greater than0
) finite number andx2_i
is+infinity
, the result isx1_i
. (note: this result matches Python behavior.)If
x1_i
is a positive (i.e., greater than0
) finite number andx2_i
is-infinity
, the result isx2_i
. (note: this result matches Python behavior.)If
x1_i
is a negative (i.e., less than0
) finite number andx2_i
is+infinity
, the result isx2_i
. (note: this results matches Python behavior.)If
x1_i
is a negative (i.e., less than0
) finite number andx2_i
is-infinity
, the result isx1_i
. (note: this result matches Python behavior.)In the remaining cases, the result must match that of the Python
%
operator.