pub struct ConfigurationState {
pub array_size: u32,
pub distribution: DistributionType,
pub fairness_mode: FairnessMode,
pub budget: Option<u32>,
pub alpha: Option<f32>,
pub beta: Option<f32>,
pub learning_rate: Option<f32>,
}
Expand description
Represents current user selections for interactive configuration
Fields§
§array_size: u32
Number of elements to sort (10-1000)
distribution: DistributionType
Data pattern selection
fairness_mode: FairnessMode
Algorithm fairness strategy
budget: Option<u32>
Budget parameter for comparison fairness
alpha: Option<f32>
Alpha parameter for weighted fairness
beta: Option<f32>
Beta parameter for weighted fairness
learning_rate: Option<f32>
Learning rate for adaptive fairness
Implementations§
Source§impl ConfigurationState
impl ConfigurationState
Sourcepub fn default_valid() -> Self
pub fn default_valid() -> Self
Create a default valid configuration for testing
Sourcepub fn from_run_config(config: &RunConfiguration) -> Self
pub fn from_run_config(config: &RunConfiguration) -> Self
Create ConfigurationState from RunConfiguration for backwards compatibility
Sourcepub fn get_available_array_sizes() -> Vec<u32>
pub fn get_available_array_sizes() -> Vec<u32>
Get available array sizes for interactive selection
Sourcepub fn get_available_distributions() -> Vec<DistributionType>
pub fn get_available_distributions() -> Vec<DistributionType>
Get available distribution types
Sourcepub fn get_available_fairness_modes() -> Vec<FairnessMode>
pub fn get_available_fairness_modes() -> Vec<FairnessMode>
Get available fairness modes
Sourcepub fn requires_budget_parameter(&self) -> bool
pub fn requires_budget_parameter(&self) -> bool
Check if current fairness mode requires budget parameter
Sourcepub fn requires_weighted_parameters(&self) -> bool
pub fn requires_weighted_parameters(&self) -> bool
Check if current fairness mode requires weighted parameters (alpha/beta)
Sourcepub fn requires_learning_rate_parameter(&self) -> bool
pub fn requires_learning_rate_parameter(&self) -> bool
Check if current fairness mode requires learning rate parameter
Sourcepub fn is_invalid(&self) -> bool
pub fn is_invalid(&self) -> bool
Check if the configuration is invalid
Sourcepub fn set_array_size(&mut self, size: u32) -> Result<()>
pub fn set_array_size(&mut self, size: u32) -> Result<()>
Set array size with validation
Sourcepub fn set_fairness_mode(&mut self, mode: FairnessMode)
pub fn set_fairness_mode(&mut self, mode: FairnessMode)
Set fairness mode and clear incompatible parameters
Sourcepub fn to_legacy_distribution(&self) -> Distribution
pub fn to_legacy_distribution(&self) -> Distribution
Convert to the legacy Distribution enum for compatibility
Trait Implementations§
Source§impl Clone for ConfigurationState
impl Clone for ConfigurationState
Source§fn clone(&self) -> ConfigurationState
fn clone(&self) -> ConfigurationState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ConfigurationState
impl Debug for ConfigurationState
Source§impl Default for ConfigurationState
impl Default for ConfigurationState
Source§impl PartialEq for ConfigurationState
impl PartialEq for ConfigurationState
impl StructuralPartialEq for ConfigurationState
Auto Trait Implementations§
impl Freeze for ConfigurationState
impl RefUnwindSafe for ConfigurationState
impl Send for ConfigurationState
impl Sync for ConfigurationState
impl Unpin for ConfigurationState
impl UnwindSafe for ConfigurationState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more