jagua_rs/probs/bpp/io/
export.rs1use crate::Instant;
2use crate::io::export::export_layout_snapshot;
3use crate::probs::bpp::entities::{BPInstance, BPSolution};
4use crate::probs::bpp::io::ext_repr::ExtBPSolution;
5
6#[must_use]
8pub fn export(instance: &BPInstance, solution: &BPSolution, epoch: Instant) -> ExtBPSolution {
9 ExtBPSolution {
10 cost: solution.cost(instance),
11 layouts: solution
12 .layout_snapshots
13 .iter()
14 .map(|(key, sl)| {
15 export_layout_snapshot(sl, instance.bins[solution.layout_bins[key]].external_id)
16 })
17 .collect(),
18 run_time_sec: solution.time_stamp.duration_since(epoch).as_secs(),
19 density: solution.density(),
20 }
21}