extern_spec_u16_overflowing_mul

Function extern_spec_u16_overflowing_mul 

Source
pub fn extern_spec_u16_overflowing_mul(self_: u16, rhs: u16) -> (u16, bool)
Expand description

extern spec for u16::overflowing_mul

This is not a real function: its only use is for documentation.

terminates

ghost

ensures

(self@ $op rhs@) >= $type::MIN@ && (self@ $op rhs@) <= $type::MAX@
                    ==> result.0@ == (self@ $op rhs@)

ensures

exists<k: Int> result.0@ == (self@ $op rhs@) + k * ($type::MAX@ - $type::MIN@ + 1)

ensures

result.1 == ((self@ $op rhs@) < $type::MIN@ || (self@ $op rhs@) > $type::MAX@)