pub struct AppraisalOutput {
pub asset: AssetRef,
pub capacity: Capacity,
pub unmet_demand: IndexMap<TimeSliceID, Flow>,
pub metric: f64,
}
Expand description
The output of investment appraisal required to compare potential investment decisions
Fields§
§asset: AssetRef
The asset being appraised
capacity: Capacity
The hypothetical capacity to install
unmet_demand: IndexMap<TimeSliceID, Flow>
The hypothetical unmet demand following investment in this asset
metric: f64
The comparison metric to compare investment decisions (lower is better)
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