torch.fmod¶
-
torch.
fmod
(input, other, *, out=None) → Tensor¶ Applies C++’s std::fmod for floating point tensors, and the modulus operation for integer tensors. The result has the same sign as the dividend
input
and its absolute value is less than that ofother
.Supports broadcasting to a common shape, type promotion, and integer and float inputs.
Note
When the divisor is zero, returns
NaN
for floating point dtypes on both CPU and GPU; raisesRuntimeError
for integer division by zero on CPU; Integer division by zero on GPU may return any value.Note
Complex inputs are not supported. In some cases, it is not mathematically possible to satisfy the definition of a modulo operation with complex numbers.
- Parameters
- Keyword Arguments
out (Tensor, optional) – the output tensor.
Example:
>>> torch.fmod(torch.tensor([-3., -2, -1, 1, 2, 3]), 2) tensor([-1., -0., -1., 1., 0., 1.]) >>> torch.fmod(torch.tensor([1, 2, 3, 4, 5]), -1.5) tensor([1.0000, 0.5000, 0.0000, 1.0000, 0.5000])
See also
torch.remainder()
which is similar totorch.fmod()
except that if the sign of the modulus is different than the sign of the divisorother
then the divisor is added to the modulus.