pub struct PresentValue {
pub cash_flow: f64,
pub discount_rate: f64,
pub time_periods: f64,
}
Expand description
The discounted value of a single cash flow received in the future
§Example
use com_croftsoft_core::math::finance_lib::PresentValue;
assert_eq!(
PresentValue {
cash_flow: 1.0, // A dollar in the future
discount_rate: 0.10, // With inflation at 10% per year
time_periods: 1.0, // Received one year from now
}.calculate(),
0.9090909090909091); // Will have the spending power of ~$0.91 today
assert_eq!(
PresentValue {
cash_flow: 1.0, // A dollar in the future
discount_rate: 0.10, // If it could be invested today at 10% per year
time_periods: 2.0, // Received two years from now
}.calculate(),
0.8264462809917354); // Would be worth the same as ~$0.83 invested today
Fields§
§cash_flow: f64
§discount_rate: f64
The discount rate or inflation rate per time period (use 0.01 for 1%)
time_periods: f64
Number of time periods from today when the cash flow is received
Implementations§
Trait Implementations§
Source§impl Clone for PresentValue
impl Clone for PresentValue
Source§fn clone(&self) -> PresentValue
fn clone(&self) -> PresentValue
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 moreSource§impl Debug for PresentValue
impl Debug for PresentValue
impl Copy for PresentValue
Auto Trait Implementations§
impl Freeze for PresentValue
impl RefUnwindSafe for PresentValue
impl Send for PresentValue
impl Sync for PresentValue
impl Unpin for PresentValue
impl UnwindSafe for PresentValue
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