pub struct Assumptions { /* private fields */ }Expand description
A set of per-variable sign assumptions used to license otherwise-unsound rewrites.
Implementations§
Source§impl Assumptions
impl Assumptions
pub fn new() -> Self
Sourcepub fn assume(self, var: &str, sign: Sign) -> Self
pub fn assume(self, var: &str, sign: Sign) -> Self
Assert a sign for var. Builder-style (chainable).
Sourcepub fn is_nonnegative(&self, e: &Expr) -> bool
pub fn is_nonnegative(&self, e: &Expr) -> bool
Provable expr ≥ 0 under these assumptions (a sufficient test — None-of-proof
means “unknown”, never “negative”).
Sourcepub fn is_positive(&self, e: &Expr) -> bool
pub fn is_positive(&self, e: &Expr) -> bool
Provable expr > 0 under these assumptions.
Sourcepub fn is_nonpositive(&self, e: &Expr) -> bool
pub fn is_nonpositive(&self, e: &Expr) -> bool
Provable expr ≤ 0.
Sourcepub fn is_negative(&self, e: &Expr) -> bool
pub fn is_negative(&self, e: &Expr) -> bool
Provable expr < 0.
Sourcepub fn is_nonzero(&self, e: &Expr) -> bool
pub fn is_nonzero(&self, e: &Expr) -> bool
Provable expr ≠ 0.
Trait Implementations§
Source§impl Clone for Assumptions
impl Clone for Assumptions
Source§fn clone(&self) -> Assumptions
fn clone(&self) -> Assumptions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Assumptions
impl Debug for Assumptions
Source§impl Default for Assumptions
impl Default for Assumptions
Source§fn default() -> Assumptions
fn default() -> Assumptions
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for Assumptions
impl RefUnwindSafe for Assumptions
impl Send for Assumptions
impl Sync for Assumptions
impl Unpin for Assumptions
impl UnsafeUnpin for Assumptions
impl UnwindSafe for Assumptions
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.