Skip to main content

add

Function add 

Source
pub fn add(a: &EconomicsUsage, b: &EconomicsUsage) -> EconomicsUsage
Expand description

The field-wise sum of two totals. Reasoning and cost stay known only when both are: an unknown on either side makes the sum unknown, never a smaller number.

use majordomus_cli::economics::model::EconomicsUsage;
use majordomus_cli::economics::usage::add;
let a = EconomicsUsage { total: 10, output: 2, cost_microusd: Some(40), ..Default::default() };
let b = EconomicsUsage { total: 5, output: 1, cost_microusd: None, ..Default::default() };
let sum = add(&a, &b);
assert_eq!((sum.total, sum.output), (15, 3));
assert_eq!(sum.cost_microusd, None, "a cost one side lacks is unknown for the sum");
assert_eq!(add(&a, &a).cost_microusd, Some(80));