pub struct ProvScanState {
pub core: EngineCore,
/* private fields */
}Expand description
Polydat evaluation engine using provenance bitmask scanning.
On set_inputs(), scans ALL nodes and checks each node’s
provenance bitmask against the changed-inputs mask.
O(all_nodes) per input change regardless of how many changed.
Fields§
§core: EngineCoreShared evaluation core.
Implementations§
Source§impl ProvScanState
impl ProvScanState
Sourcepub fn set_inputs(&mut self, coords: &[u64])
pub fn set_inputs(&mut self, coords: &[u64])
Set new input values and invalidate affected nodes.
Sourcepub fn pull(&mut self, program: &PolydatProgram, output_name: &str) -> &Value
pub fn pull(&mut self, program: &PolydatProgram, output_name: &str) -> &Value
Pull a named output variate from the program.
Auto Trait Implementations§
impl !RefUnwindSafe for ProvScanState
impl !UnwindSafe for ProvScanState
impl Freeze for ProvScanState
impl Send for ProvScanState
impl Sync for ProvScanState
impl Unpin for ProvScanState
impl UnsafeUnpin for ProvScanState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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