use super::*;
use crate::partition::PartitionExponentBase;
#[derive(Default)]
#[cfg_attr(feature = "cli", derive(clap::Args))]
pub struct DebugCommand {
#[cfg_attr(feature = "cli", arg(short, long))]
pub base: Option<PartitionExponentBase>,
pub partition_count: usize,
}
pub fn debug_partitions(base: PartitionExponentBase, count: usize) -> Vec<u64> {
(0..count)
.map(|i| PartitionSize::exponential(base, PartitionIndex(i as u32)))
.fold((vec![0u64], 0u64), |(mut result, mut cumulated), size| {
cumulated += size.0.get();
result.push(cumulated);
(result, cumulated)
})
.0
}