1pub use num_integer::{div_rem, div_floor, mod_floor, div_mod_floor};
11
12#[cfg(test)]
13mod tests {
14 use super::{mod_floor, div_mod_floor};
15
16 #[test]
17 fn test_mod_floor() {
18 assert_eq!(mod_floor( 8, 3), 2);
19 assert_eq!(mod_floor( 8, -3), -1);
20 assert_eq!(mod_floor(-8, 3), 1);
21 assert_eq!(mod_floor(-8, -3), -2);
22
23 assert_eq!(mod_floor( 1, 2), 1);
24 assert_eq!(mod_floor( 1, -2), -1);
25 assert_eq!(mod_floor(-1, 2), 1);
26 assert_eq!(mod_floor(-1, -2), -1);
27 }
28
29 #[test]
30 fn test_div_mod_floor() {
31 assert_eq!(div_mod_floor( 8, 3), ( 2, 2));
32 assert_eq!(div_mod_floor( 8, -3), (-3, -1));
33 assert_eq!(div_mod_floor(-8, 3), (-3, 1));
34 assert_eq!(div_mod_floor(-8, -3), ( 2, -2));
35
36 assert_eq!(div_mod_floor( 1, 2), ( 0, 1));
37 assert_eq!(div_mod_floor( 1, -2), (-1, -1));
38 assert_eq!(div_mod_floor(-1, 2), (-1, 1));
39 assert_eq!(div_mod_floor(-1, -2), ( 0, -1));
40 }
41}
42