Struct creusot_contracts::num_rational::Real
source · pub struct Real(/* private fields */);
Implementations§
Trait Implementations§
source§impl OrdLogic for Real
impl OrdLogic for Real
source§fn cmp_log(self, o: Self) -> Ordering
fn cmp_log(self, o: Self) -> Ordering
logic
if self < o { Ordering::Less } else if self == o { Ordering::Equal } else { Ordering::Greater }
source§fn cmp_le_log(x: Self, y: Self)
fn cmp_le_log(x: Self, y: Self)
law
ensures
x.le_log(y) == (x.cmp_log(y) != Ordering::Greater)
source§fn cmp_lt_log(x: Self, y: Self)
fn cmp_lt_log(x: Self, y: Self)
law
ensures
x.lt_log(y) == (x.cmp_log(y) == Ordering::Less)
source§fn cmp_ge_log(x: Self, y: Self)
fn cmp_ge_log(x: Self, y: Self)
law
ensures
x.ge_log(y) == (x.cmp_log(y) != Ordering::Less)
source§fn cmp_gt_log(x: Self, y: Self)
fn cmp_gt_log(x: Self, y: Self)
law
ensures
x.gt_log(y) == (x.cmp_log(y) == Ordering::Greater)
source§fn trans(x: Self, y: Self, z: Self, o: Ordering)
fn trans(x: Self, y: Self, z: Self, o: Ordering)
law
requires
x.cmp_log(y) == o
requires
y.cmp_log(z) == o
ensures
x.cmp_log(z) == o
source§fn antisym1(x: Self, y: Self)
fn antisym1(x: Self, y: Self)
law
requires
x.cmp_log(y) == Ordering::Less
ensures
y.cmp_log(x) == Ordering::Greater
Auto Trait Implementations§
impl Freeze for Real
impl RefUnwindSafe for Real
impl !Send for Real
impl !Sync for Real
impl Unpin for Real
impl UnwindSafe for Real
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> MakeSized for Twhere
T: ?Sized,
impl<T> MakeSized for Twhere
T: ?Sized,
source§fn make_sized(&self) -> Box<T>
fn make_sized(&self) -> Box<T>
logic ⚠
ensures
*result == *self