Struct Output
pub struct Output<'a, A: Arch> {
pub output_index: usize,
pub num_inputs: usize,
pub fixed_instantiation_choices: Vec<Option<u64>>,
pub encoding: &'a Encoding<A, ()>,
}Expand description
A synthesis output. Corresponds to a dataflow output in an Encoding.
Fields§
§output_index: usize§num_inputs: usize§fixed_instantiation_choices: Vec<Option<u64>>§encoding: &'a Encoding<A, ()>Implementations§
§impl<'a, A: Arch> Output<'a, A>
impl<'a, A: Arch> Output<'a, A>
pub fn extract_from_encoding(encoding: &'a Encoding<A, ()>) -> Vec<Self>
§impl<'a, A: Arch> Output<'a, A>
impl<'a, A: Arch> Output<'a, A>
pub fn evaluate_once_internal<const DEBUG: bool, V: AsValue, O: Oracle<A>>( &self, oracle: &mut O, inputs: &[V], ) -> Result<OwnedValue, EvaluationError>
pub fn evaluate_once<V: AsValue, O: Oracle<A>>( &self, oracle: &mut O, inputs: &[V], ) -> Result<OwnedValue, EvaluationError>
pub fn evaluate_debug<V: AsValue, O: Oracle<A>>( &self, oracle: &mut O, inputs: &[V], ) -> Result<OwnedValue, EvaluationError>
pub fn evaluate<V: AsValue, O: Oracle<A>>(
&self,
oracle: &mut O,
inputs: &[V],
) -> Result<OwnedValue, EvaluationError>
pub fn evaluate<V: AsValue, O: Oracle<A>>( &self, oracle: &mut O, inputs: &[V], ) -> Result<OwnedValue, EvaluationError>
Runs evaluate_once multiple times, to hopefully filter out the occasional error because of (for example) remapping.
pub fn extract_io<'i, 'o>( &self, instance: &Dataflows<A, ()>, state_in: &'i SystemState<A>, part_values: &[u64], state_out: &'o SystemState<A>, ) -> (ArrayVec<Value<'i>, 32>, Value<'o>)
pub fn input_types(&self) -> Vec<IoType>
pub fn output_type(&self) -> IoType
pub fn dest(&self) -> Dest<A>
Trait Implementations§
Auto Trait Implementations§
impl<'a, A> Freeze for Output<'a, A>
impl<'a, A> RefUnwindSafe for Output<'a, A>
impl<'a, A> Send for Output<'a, A>
impl<'a, A> Sync for Output<'a, A>
impl<'a, A> Unpin for Output<'a, A>
impl<'a, A> UnwindSafe for Output<'a, A>
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, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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