pub struct RunSetup { /* private fields */ }Expand description
Values, seed and schedule for one build of an entry, each checked against its descriptors when set.
ModelEntry::setup returns one at the declared defaults, the default seed and no actions.
Implementations§
Source§impl RunSetup
impl RunSetup
Sourcepub fn set(
self,
id: &str,
value: impl Into<ParamValue>,
) -> Result<Self, SetupError>
pub fn set( self, id: &str, value: impl Into<ParamValue>, ) -> Result<Self, SetupError>
Returns the setup with parameter id set to value.
value is an f32, a u32, a bool, or a ParamValue itself, as ParamValue::Choice(index) is for a
choice parameter. A u32 is never accepted as a choice index.
§Errors
Returns SetupError::Param for an unknown id, a value of another kind, or a value out of bounds.
Sourcepub fn set_text(self, id: &str, text: &str) -> Result<Self, SetupError>
pub fn set_text(self, id: &str, text: &str) -> Result<Self, SetupError>
Returns the setup with parameter id read from text, as --set reads it. A choice parameter accepts an
option name.
§Errors
Returns SetupError::Param for an unknown id, text that cannot be parsed as the parameter’s kind, or a value
out of bounds.
Sourcepub fn with_seed(self, seed: u64) -> Self
pub fn with_seed(self, seed: u64) -> Self
Returns the setup with seed instead of the model’s default seed.
Sourcepub fn act_at(self, action_id: &str, tick: u64) -> Result<Self, SetupError>
pub fn act_at(self, action_id: &str, tick: u64) -> Result<Self, SetupError>
Returns the setup with action action_id scheduled at tick. Two actions due at one tick fire in the order
they were scheduled.
§Errors
Returns SetupError::UnknownAction for an id the model does not declare.
Sourcepub fn from_replay(
entry: &ModelEntry,
replay: &Replay,
) -> Result<Self, SetupError>
pub fn from_replay( entry: &ModelEntry, replay: &Replay, ) -> Result<Self, SetupError>
Returns the setup a recorded run was built from.
§Errors
Returns SetupError::WrongModel for a run of another model, and the errors of Self::from_parts for
values or actions the entry rejects.
Sourcepub fn from_parts(
entry: &ModelEntry,
values: &[ParamValue],
seed: Option<u64>,
schedule: Schedule,
) -> Result<Self, SetupError>
pub fn from_parts( entry: &ModelEntry, values: &[ParamValue], seed: Option<u64>, schedule: Schedule, ) -> Result<Self, SetupError>
Returns a setup holding values, seed and schedule, each checked as Self::set and Self::act_at
check them.
values holds one value per parameter, in the order of ModelEntry::param_descriptors, as
Self::values returns them.
§Errors
Returns a SetupError for a value count other than the entry’s parameter count, a value of another kind or
out of bounds, or a schedule entry for an action that the entry does not declare.
Sourcepub fn entry(&self) -> &ModelEntry
pub fn entry(&self) -> &ModelEntry
Entry the setup builds.
Sourcepub fn values(&self) -> &[ParamValue]
pub fn values(&self) -> &[ParamValue]
One value per parameter, in the order of ModelEntry::param_descriptors.
Sourcepub fn seed(&self) -> Option<u64>
pub fn seed(&self) -> Option<u64>
Seed of the build. None is the model’s default seed, and no Some value reproduces it.
Sourcepub fn build(&self, gpu: Option<&GpuContext>) -> Result<Simulation, Fault>
pub fn build(&self, gpu: Option<&GpuContext>) -> Result<Simulation, Fault>
Builds the model, on gpu for a GPU entry, then fires the schedule’s tick-0 entries.
The returned simulation already holds tick 0’s actions, and records tick 0 as fired. On native targets a CPU
model’s init runs outside the rayon pool, and the build enters the pool only to fire tick 0’s actions.
§Errors
Returns a Fault when the build or a tick-0 action panics, the device rejects the build or the action, a GPU
entry has no device, or a GPU entry is built on wasm32.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for RunSetup
impl !UnwindSafe for RunSetup
impl Freeze for RunSetup
impl Send for RunSetup
impl Sync for RunSetup
impl Unpin for RunSetup
impl UnsafeUnpin for RunSetup
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
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> ⓘ
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> ⓘ
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