(a: u64, b: u64)
| 190 | } |
| 191 | |
| 192 | pub fn divw(a: u64, b: u64) -> u64 { |
| 193 | let dividend = a as i32; |
| 194 | let divisor = b as i32; |
| 195 | if divisor == 0 { |
| 196 | u64::MAX |
| 197 | } else if dividend == i32::MIN && divisor == -1 { |
| 198 | i32::MIN as i64 as u64 |
| 199 | } else { |
| 200 | dividend.wrapping_div(divisor) as i64 as u64 |
| 201 | } |
| 202 | } |
| 203 | |
| 204 | pub fn divuw(a: u64, b: u64) -> u64 { |
| 205 | let dividend = a as u32; |