pub struct EarnedValueGenerator { /* private fields */ }Expand description
Generates EarnedValueMetric records for projects.
Implementations§
Source§impl EarnedValueGenerator
impl EarnedValueGenerator
Sourcepub fn new(config: EarnedValueSchemaConfig, seed: u64) -> Self
pub fn new(config: EarnedValueSchemaConfig, seed: u64) -> Self
Create a new earned value generator.
Sourcepub fn generate(
&mut self,
projects: &[Project],
cost_lines: &[ProjectCostLine],
start_date: NaiveDate,
end_date: NaiveDate,
) -> Vec<EarnedValueMetric>
pub fn generate( &mut self, projects: &[Project], cost_lines: &[ProjectCostLine], start_date: NaiveDate, end_date: NaiveDate, ) -> Vec<EarnedValueMetric>
Generate EVM metrics for a set of projects.
Produces one metric per project per measurement period (monthly by default). Planned Value (PV) is computed as a linear schedule baseline from the project budget. Earned Value (EV) reflects the budget value of work actually performed (with a small random efficiency factor to create realistic SPI/CPI variations). Actual Cost (AC) comes directly from the cost lines.
Auto Trait Implementations§
impl Freeze for EarnedValueGenerator
impl RefUnwindSafe for EarnedValueGenerator
impl Send for EarnedValueGenerator
impl Sync for EarnedValueGenerator
impl Unpin for EarnedValueGenerator
impl UnsafeUnpin for EarnedValueGenerator
impl UnwindSafe for EarnedValueGenerator
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