MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / div

Function div

crates/virtual-machine/src/cpu/alu.rs:150–160  ·  view source on GitHub ↗

Signed division. Returns `u64::MAX` on divide-by-zero; `i64::MIN` (as u64) on overflow.

(a: u64, b: u64)

Source from the content-addressed store, hash-verified

148
149/// Signed division. Returns `u64::MAX` on divide-by-zero; `i64::MIN` (as u64) on overflow.
150pub fn div(a: u64, b: u64) -> u64 {
151 let dividend = a as i64;
152 let divisor = b as i64;
153 if divisor == 0 {
154 u64::MAX
155 } else if dividend == i64::MIN && divisor == -1 {
156 i64::MIN as u64
157 } else {
158 dividend.wrapping_div(divisor) as u64
159 }
160}
161
162/// Unsigned division. Returns `u64::MAX` on divide-by-zero.
163pub fn divu(a: u64, b: u64) -> u64 {

Callers 1

exec_aluFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected