The inclusive wrapping ranges used by rustc_abi::WrappingRange.
Range endpoints are machine-width u128 values (BitVec 128 in Lean). Values
are compared as unsigned integers except in noSignedWraparound, which applies
the source Size.sign_extend interpretation. Operations which call a panicking
Size helper propagate that failure explicitly.
Equations
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- sizeFailure (error : SizeError) : WrappingRangeError
- valueOutOfRange (value maxValue : U128) : WrappingRangeError
- zeroWidthRange : WrappingRangeError
Instances For
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
- Miri.ABI.instDecidableEqWrappingRangeError.decEq (Miri.ABI.WrappingRangeError.sizeFailure a) (Miri.ABI.WrappingRangeError.sizeFailure b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq (Miri.ABI.WrappingRangeError.sizeFailure error) (Miri.ABI.WrappingRangeError.valueOutOfRange value maxValue) = isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq (Miri.ABI.WrappingRangeError.sizeFailure error) Miri.ABI.WrappingRangeError.zeroWidthRange = isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq (Miri.ABI.WrappingRangeError.valueOutOfRange value maxValue) (Miri.ABI.WrappingRangeError.sizeFailure error) = isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq (Miri.ABI.WrappingRangeError.valueOutOfRange value maxValue) Miri.ABI.WrappingRangeError.zeroWidthRange = isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq Miri.ABI.WrappingRangeError.zeroWidthRange (Miri.ABI.WrappingRangeError.sizeFailure error) = isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq Miri.ABI.WrappingRangeError.zeroWidthRange (Miri.ABI.WrappingRangeError.valueOutOfRange value maxValue) = isFalse ⋯
- Miri.ABI.instDecidableEqWrappingRangeError.decEq Miri.ABI.WrappingRangeError.zeroWidthRange Miri.ABI.WrappingRangeError.zeroWidthRange = isTrue ⋯
Instances For
- nonWrapping : WrapStatus
- wrapping : WrapStatus
- full : WrapStatus
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
- Miri.ABI.instReprWrapStatus.repr Miri.ABI.WrapStatus.full prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Miri.ABI.WrapStatus.full")).group prec✝
Instances For
@[instance_reducible]
Equations
- Miri.ABI.instReprWrapStatus = { reprPrec := Miri.ABI.instReprWrapStatus.repr }
@[inline]
Equations
- Miri.ABI.WrappingRange.full size = do let __do_lift ← Miri.ABI.WrappingRange.unsignedMax✝ size pure { start := 0, «end» := __do_lift }
Instances For
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
Instances For
@[inline]
Instances For
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Match the upstream algorithm: use the obvious interval if it is no larger than any wraparound candidate; otherwise examine intervals between adjacent sorted values and keep the first minimum-width range.