pub struct CompressionStepResult {Show 13 fields
pub inv: Invention,
pub rewritten: Expr,
pub rewritten_dreamcoder: Vec<String>,
pub done: FinishedPattern,
pub expected_cost: i32,
pub final_cost: i32,
pub multiplier: f64,
pub multiplier_wrt_orig: f64,
pub uses: i32,
pub use_exprs: Vec<Expr>,
pub use_args: Vec<Vec<Expr>>,
pub dc_inv_str: String,
pub initial_cost: i32,
}
Expand description
the complete result of a single step of compression, this is a somewhat expensive data structure to create.
Fields§
§inv: Invention
§rewritten: Expr
§rewritten_dreamcoder: Vec<String>
§done: FinishedPattern
§expected_cost: i32
§final_cost: i32
§multiplier: f64
§multiplier_wrt_orig: f64
§uses: i32
§use_exprs: Vec<Expr>
§use_args: Vec<Vec<Expr>>
§dc_inv_str: String
§initial_cost: i32
Implementations§
Trait Implementations§
Source§impl Clone for CompressionStepResult
impl Clone for CompressionStepResult
Source§fn clone(&self) -> CompressionStepResult
fn clone(&self) -> CompressionStepResult
Returns a duplicate of the value. Read more
1.0.0 · 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 CompressionStepResult
impl Debug for CompressionStepResult
Auto Trait Implementations§
impl Freeze for CompressionStepResult
impl RefUnwindSafe for CompressionStepResult
impl Send for CompressionStepResult
impl Sync for CompressionStepResult
impl Unpin for CompressionStepResult
impl UnwindSafe for CompressionStepResult
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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