diff --git a/doc/docs.md b/doc/docs.md index 2647319bfb..8b03621d51 100644 --- a/doc/docs.md +++ b/doc/docs.md @@ -8293,6 +8293,9 @@ Assignment Operators &&= ||= ``` +Note: in V, `assert -10 % 7 == -3` passes. In programming, the sign of the remainder +depends upon the signs of divisor and dividend. + ## Other online resources ### [V contributing guide](https://github.com/vlang/v/blob/master/CONTRIBUTING.md) diff --git a/vlib/math/big/integer.v b/vlib/math/big/integer.v index a27b8296db..d369040e3c 100644 --- a/vlib/math/big/integer.v +++ b/vlib/math/big/integer.v @@ -470,6 +470,8 @@ pub fn (dividend Integer) / (divisor Integer) Integer { // // WARNING: this method will panic if `divisor == 0`. For a modular division method that // returns a Result refer to `mod_checked`. +// Note: in V, `assert big.integer_from_i64(-10) % big.integer_from_i64(7) == big.integer_from_i64(-3)` passes. +// In other words, the result is negative 3, and is NOT positive 4. @[inline] pub fn (dividend Integer) % (divisor Integer) Integer { if dividend.signum == -1 {