problemreductions/rules/
maximumsetpacking_casts.rs1use crate::impl_variant_reduction;
4use crate::models::set::MaximumSetPacking;
5use crate::types::One;
6use crate::variant::CastToParent;
7
8impl_variant_reduction!(
9 MaximumSetPacking,
10 <One> => <i32>,
11 fields: [num_sets, universe_size],
12 |src| MaximumSetPacking::with_weights(
13 src.sets().to_vec(),
14 src.weights_ref().iter().map(|w| w.cast_to_parent()).collect())
15);
16
17impl_variant_reduction!(
18 MaximumSetPacking,
19 <i32> => <f64>,
20 fields: [num_sets, universe_size],
21 |src| MaximumSetPacking::with_weights(
22 src.sets().to_vec(),
23 src.weights_ref().iter().map(|w| w.cast_to_parent()).collect())
24);
25
26#[cfg(test)]
27#[path = "../unit_tests/rules/maximumsetpacking_casts.rs"]
28mod tests;