rust-num / num-integer

Integer trait and functions for Rust
Apache License 2.0
180 stars 48 forks source link

is_multiple behaviour with 0 #48

Open WizardOfMenlo opened 2 years ago

WizardOfMenlo commented 2 years ago

Currently, running BigUint::zero().is_multiple_of(&BigUint::zero()) panics, since the implementation attemps to perform a modular division https://github.com/rust-num/num-integer/blob/d5267dc842ea730b87cb4610f7ff39adacd81a2f/src/lib.rs#L888 However, 0 is indeed a multiple of 0 and as such true should be returned. Since this is the only edge case, this can be fixed very easily, and I have opened a pull request (#47) accordingly.

cuviper commented 2 years ago

BigUint will have to be fixed in its own implementation in the num-bigint crate.