pub struct SeBatchSolver { /* private fields */ }Expand description
Estimates many scenarios over one shared topology and measurement structure.
Implementations§
Source§impl SeBatchSolver
impl SeBatchSolver
Sourcepub fn new(options: SeOptions) -> Self
pub fn new(options: SeOptions) -> Self
Uses rayon’s global thread pool (honors RAYON_NUM_THREADS).
Sourcepub fn with_threads(
options: SeOptions,
threads: usize,
) -> Result<Self, SeBatchError>
pub fn with_threads( options: SeOptions, threads: usize, ) -> Result<Self, SeBatchError>
Uses a dedicated pool of exactly threads workers.
Sourcepub fn estimate(
&self,
buses_template: &[Bus],
net: &SeNetwork,
measurements_template: &[Measurement],
scenarios: &[SeScenario],
) -> Result<Vec<SeBatchResult>, SeBatchError>
pub fn estimate( &self, buses_template: &[Bus], net: &SeNetwork, measurements_template: &[Measurement], scenarios: &[SeScenario], ) -> Result<Vec<SeBatchResult>, SeBatchError>
Estimates every scenario, returning one result each in scenario order regardless of thread count.
Each scenario starts from buses_template with a fresh
linear_start, so scenarios never influence each other’s starting
point — results are identical to a sequential loop over
PersistentEstimator::estimate, which tests/se_batch_test.rs
asserts bit-for-bit.
A scenario that fails to converge is not an error: its report carries
the status and the rest of the batch is unaffected, matching
BatchSolver::solve.
Auto Trait Implementations§
impl !RefUnwindSafe for SeBatchSolver
impl !UnwindSafe for SeBatchSolver
impl Freeze for SeBatchSolver
impl Send for SeBatchSolver
impl Sync for SeBatchSolver
impl Unpin for SeBatchSolver
impl UnsafeUnpin for SeBatchSolver
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> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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