Remove unneeded dependencies, start work on csv parsing
This commit is contained in:
@@ -88,9 +88,8 @@ pub fn move_money_2(
|
||||
initial_totals: HashMap<Unit, f64>,
|
||||
rules: &Vec<MovementRule>,
|
||||
) -> HashMap<Unit, f64> {
|
||||
// TODO: Should probably validate that all the rules have departments that actually exist in initial_totals.
|
||||
// Note: It's potentially a bit more intensive to use cloned totals, but it's much simpler code and, and since we're only working line-by-line
|
||||
// it isn't really that much memory. in practice
|
||||
// Note: It's potentially a bit more intensive to use cloned totals (rather than just update temp_total per rule),
|
||||
// but it's much simpler code and, and since we're only working line-by-line, it isn't really that much memory in practice
|
||||
let mut running_total = HashMap::from(initial_totals);
|
||||
let mut temp_total = running_total.clone();
|
||||
for rule in rules {
|
||||
@@ -135,11 +134,9 @@ pub enum DepartmentType {
|
||||
Overhead,
|
||||
}
|
||||
|
||||
// TODO: Could also look at BigDecimal rather than f64 for higher precision (even i64 might be fine if we don't need to divide...)
|
||||
// Note: remember these are overhead departments only when calculating the lu decomposition or pseudoinverse, and for each department,
|
||||
// you either need -1 or rest negative for a row to subtract the initial amounts so we end up effectively 0 (simultaneous equations end
|
||||
// up with negative there so yes this is expected)
|
||||
// Also, we could potentially use this same struct for non-overhead departments when mapping from overhead to
|
||||
pub struct OverheadAllocationRule {
|
||||
from_overhead_department: String,
|
||||
to_department: String,
|
||||
|
||||
Reference in New Issue
Block a user