pub struct AppraisalOutput {
pub asset: AssetRef,
pub capacity: AssetCapacity,
pub activity: IndexMap<TimeSliceID, Activity>,
pub unmet_demand: IndexMap<TimeSliceID, Flow>,
pub metric: Box<dyn MetricTrait>,
pub coefficients: ObjectiveCoefficients,
pub demand: IndexMap<TimeSliceID, Flow>,
}Expand description
The output of investment appraisal required to compare potential investment decisions
Fields§
§asset: AssetRefThe asset being appraised
capacity: AssetCapacityThe hypothetical capacity to install
activity: IndexMap<TimeSliceID, Activity>Time slice level activity of the asset
unmet_demand: IndexMap<TimeSliceID, Flow>The hypothetical unmet demand following investment in this asset
metric: Box<dyn MetricTrait>The comparison metric to compare investment decisions
coefficients: ObjectiveCoefficientsCapacity and activity coefficients used in the appraisal
demand: IndexMap<TimeSliceID, Flow>Demand profile used in the appraisal
Implementations§
Source§impl AppraisalOutput
impl AppraisalOutput
Sourcepub fn compare_metric(&self, other: &Self) -> Ordering
pub fn compare_metric(&self, other: &Self) -> Ordering
Compare this appraisal to another on the basis of the comparison metric.
Note that if the metrics are approximately equal (as determined by the [approx_eq!] macro)
then Ordering::Equal is returned. The reason for this is because different CPU
architectures may lead to subtly different values for the comparison metrics and if the
value is very similar to another, then it can lead to different decisions being made,
depending on the user’s platform (e.g. macOS ARM vs. Windows). We want to avoid this, if
possible, which is why we use a more approximate comparison.
Auto Trait Implementations§
impl Freeze for AppraisalOutput
impl !RefUnwindSafe for AppraisalOutput
impl !Send for AppraisalOutput
impl !Sync for AppraisalOutput
impl Unpin for AppraisalOutput
impl !UnwindSafe for AppraisalOutput
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> 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