Trait BasicExprBuilderExt

Source
pub trait BasicExprBuilderExt: BasicExprBuilder {
Show 15 methods // Provided methods fn bit_or_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... } fn bit_and_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... } fn bit_xor_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... } fn neg_else_err(&mut self, a: Expr) -> Result<Expr, Error> { ... } fn add_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... } fn mul_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... } fn add_many( &mut self, iter: impl IntoIterator<Item = Expr>, ) -> Option<Value> { ... } fn add_many_else_err( &mut self, iter: impl IntoIterator<Item = Expr>, ) -> Result<Value, Error> { ... } fn mask_shift_or( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Option<Expr> { ... } fn mask_shift_or_else_err( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error> { ... } fn mask_shift_inverted_and( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Option<Expr> { ... } fn mask_shift_inverted_and_else_err( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error> { ... } fn log2_else_err(&mut self, a: Expr) -> Result<Expr, Error> { ... } fn dynscale(&mut self, _: Expr, _: Value) -> Result<(Expr, Expr), Error> { ... } fn mask_shift_else_err( &mut self, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error> { ... }
}

Provided Methods§

Source

fn bit_or_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>

Source

fn bit_and_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>

Source

fn bit_xor_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>

Source

fn neg_else_err(&mut self, a: Expr) -> Result<Expr, Error>

Source

fn add_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>

Source

fn mul_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>

Source

fn add_many(&mut self, iter: impl IntoIterator<Item = Expr>) -> Option<Value>

Source

fn add_many_else_err( &mut self, iter: impl IntoIterator<Item = Expr>, ) -> Result<Value, Error>

Source

fn mask_shift_or( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Option<Expr>

reg | ((val & mask) << shift) val is not a Value since then the lib could already constant fold until |.

Source

fn mask_shift_or_else_err( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error>

reg | ((val & mask) << shift)

Source

fn mask_shift_inverted_and( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Option<Expr>

reg & !((val & mask) << shift) val is not a Value since then the lib could already constant fold until |.

Source

fn mask_shift_inverted_and_else_err( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error>

reg | ((val & mask) << shift)

Source

fn log2_else_err(&mut self, a: Expr) -> Result<Expr, Error>

Source

fn dynscale(&mut self, _: Expr, _: Value) -> Result<(Expr, Expr), Error>

Source

fn mask_shift_else_err( &mut self, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§