pub struct NetPresentValue<'a> {
pub cash_flows: &'a [f64],
pub discount_rate: f64,
}
Expand description
The discounted value of multiple cash flows received in the future
§Example
use com_croftsoft_core::math::finance_lib::NetPresentValue;
assert_eq!(
NetPresentValue {
cash_flows: &[1.0], // A dollar today
discount_rate: 0.10, // At a discount rate of 10% per time period
}.calculate(),
1.0); // Is worth a dollar today
assert_eq!(
NetPresentValue {
cash_flows: &[0.0, 1.0], // A dollar next year
discount_rate: 0.10, // At a discount rate of 10% per year
}.calculate(),
0.9090909090909091); // Is worth ~$0.91 today
assert_eq!(
NetPresentValue {
cash_flows: &[0.0, 0.0, 1.0], // A dollar received in two years
discount_rate: 0.10, // Discounted at 10% per year
}.calculate(),
0.8264462809917354); // Is worth ~$0.83 today
assert_eq!(
NetPresentValue {
cash_flows: &[1.0; 11], // $1 today plus $1 per year for 10 years
discount_rate: 0.10, // At a discount rate of 10% per year
}.calculate(),
7.144567105704681); // Is worth ~$7.14 today
Fields§
§cash_flows: &'a [f64]
§discount_rate: f64
The discount rate or cost of capital (use 0.01 for 1%)
Implementations§
Trait Implementations§
Source§impl<'a> Clone for NetPresentValue<'a>
impl<'a> Clone for NetPresentValue<'a>
Source§fn clone(&self) -> NetPresentValue<'a>
fn clone(&self) -> NetPresentValue<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl<'a> Freeze for NetPresentValue<'a>
impl<'a> RefUnwindSafe for NetPresentValue<'a>
impl<'a> Send for NetPresentValue<'a>
impl<'a> Sync for NetPresentValue<'a>
impl<'a> Unpin for NetPresentValue<'a>
impl<'a> UnwindSafe for NetPresentValue<'a>
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