pub struct AppraisalOutput {
pub asset: AssetRef,
pub activity: IndexMap<TimeSliceID, Activity>,
pub unmet_demand: DemandMap,
pub metric: Option<Box<dyn MetricTrait>>,
pub coefficients: Rc<ObjectiveCoefficients>,
}Expand description
The output of investment appraisal required to compare potential investment decisions
Fields§
§asset: AssetRefThe asset being appraised
activity: IndexMap<TimeSliceID, Activity>Time slice level activity of the asset
unmet_demand: DemandMapThe hypothetical unmet demand following investment in this asset
metric: Option<Box<dyn MetricTrait>>The comparison metric to compare investment decisions
coefficients: Rc<ObjectiveCoefficients>Activity coefficients and market costs used in the appraisal
Implementations§
Source§impl AppraisalOutput
impl AppraisalOutput
Sourcefn new<T: MetricTrait>(
asset: AssetRef,
results: ResultsMap,
metric: Option<T>,
coefficients: Rc<ObjectiveCoefficients>,
) -> Self
fn new<T: MetricTrait>( asset: AssetRef, results: ResultsMap, metric: Option<T>, coefficients: Rc<ObjectiveCoefficients>, ) -> Self
Create a new 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, 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 UnsafeUnpin 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