problemreductions/rules/
spinglass_casts.rs1use crate::impl_variant_reduction;
4use crate::models::graph::SpinGlass;
5use crate::topology::SimpleGraph;
6use crate::variant::CastToParent;
7
8impl_variant_reduction!(
9 SpinGlass,
10 <SimpleGraph, i32> => <SimpleGraph, f64>,
11 fields: [num_spins, num_interactions],
12 |src| SpinGlass::from_graph(
13 src.graph().clone(),
14 src.couplings().iter().map(|w| w.cast_to_parent()).collect(),
15 src.fields().iter().map(|w| w.cast_to_parent()).collect())
16);