Struct com_croftsoft_core::math::finance_lib::PresentValueCashFlows
source · [−]Expand description
The discounted value of varying periodic cash flows
Example
use com_croftsoft_core::math::finance_lib::PresentValueCashFlows;
assert_eq!(
PresentValueCashFlows {
cash_flows: &[1.0], // A dollar received one year in the future
discount_rate: 0.10, // With inflation at 10% per year
}.calculate(),
0.9090909090909091); // Will have the spending power of ~$0.91 today
assert_eq!(
PresentValueCashFlows {
cash_flows: &[0.0, 1.0], // A dollar received in two years
discount_rate: 0.10, // With interest at 10% per year
}.calculate(),
0.8264462809917354); // Would be worth the same as ~$0.83 invested today
assert_eq!(
PresentValueCashFlows {
cash_flows: &[1.0, 2.0, 3.0], // $1, $2, and $3 over 3 years
discount_rate: 0.0, // With no inflation
}.calculate(),
6.0); // Would be worth $6 today
assert_eq!(
PresentValueCashFlows {
cash_flows: &[1.0, 2.0, 3.0], // $1, $2, and $3 over 3 years
discount_rate: 0.10, // With inflation at 10% per year
}.calculate(),
4.8159278737791125); // Would be worth ~$4.82 today
Fields
cash_flows: &'a [f64]
discount_rate: f64
The discount rate or inflation rate per time period (use 0.01 for 1%)
Implementations
sourceimpl<'a> PresentValueCashFlows<'a>
impl<'a> PresentValueCashFlows<'a>
Trait Implementations
sourceimpl<'a> Clone for PresentValueCashFlows<'a>
impl<'a> Clone for PresentValueCashFlows<'a>
sourcefn clone(&self) -> PresentValueCashFlows<'a>
fn clone(&self) -> PresentValueCashFlows<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations
impl<'a> RefUnwindSafe for PresentValueCashFlows<'a>
impl<'a> Send for PresentValueCashFlows<'a>
impl<'a> Sync for PresentValueCashFlows<'a>
impl<'a> Unpin for PresentValueCashFlows<'a>
impl<'a> UnwindSafe for PresentValueCashFlows<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more