use serde::{Deserialize, Serialize};
use crate::collections::Feature;
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub enum FeatureSets {
Both(Vec<Feature>, Vec<Feature>),
None,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub enum OptimizationResult {
Debug(Vec<OptimizationResultRecord>), Best(OptimizationResultRecord), }
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct OptimizationResultRecord {
pub rank1: usize,
pub rank2: usize,
pub set1_len: usize,
pub set2_len: usize,
pub population_size: u64,
pub intersection_size: usize,
pub pvalue: f64,
pub permuted: bool,
pub feature_sets: FeatureSets,
}