operator % method
Euclidean modulo of this number by other
.
Returns the remainder of the Euclidean division.
The Euclidean division of two integers a
and b
yields two integers q
and r
such that
a == b * q + r
and 0 <= r < b.abs()
.
The Euclidean division is only defined for integers, but can be easily
extended to work with doubles. In that case, q
is still an integer,
but r
may have a non-integer value that still satisfies 0 <= r < |b|
.
The sign of the returned value r
is always positive.
See remainder for the remainder of the truncating division.
The result is an Obj of double, as described by double.%,
if both this
and other
are Obj of double,
otherwise the result is a Obj of int.
Example:
print(Obj(5) % Obj(3)); // Obj(2)
print(Obj(-5) % Obj(3)); // Obj(1)
print(Obj(5) % Obj(-3)); // Obj(2)
print(Obj(-5) % Obj(-3)); // Obj(1)
Implementation
Obj<num> operator %(Obj<num> other) => (value % other.value).obj;