pub struct Args<Dec: DecoderFactory + ValueEnum = DecoderImplementation> {Show 16 fields
pub alist: PathBuf,
pub output_file: Option<PathBuf>,
pub output_file_ldpc: Option<PathBuf>,
pub decoder: Dec,
pub modulation: Modulation,
pub puncturing: Option<String>,
pub interleaving: Option<isize>,
pub min_ebn0: f64,
pub max_ebn0: f64,
pub step_ebn0: f64,
pub max_iter: usize,
pub frame_errors: u64,
pub min_time: Option<Duration>,
pub max_time: Option<Duration>,
pub bch_max_errors: u64,
pub num_threads: usize,
}Expand description
BER test CLI arguments.
Fields§
§alist: PathBufalist file for the code
output_file: Option<PathBuf>Output file for simulation results
output_file_ldpc: Option<PathBuf>Output file for LDPC-only results (only useful when using BCH)
decoder: DecDecoder implementation
modulation: ModulationModulation
puncturing: Option<String>Puncturing pattern (format “1,1,1,0”)
interleaving: Option<isize>Interleaving columns (negative for backwards read)
min_ebn0: f64Minimum Eb/N0 (dB)
max_ebn0: f64Maximum Eb/N0 (dB)
step_ebn0: f64Eb/N0 step (dB)
max_iter: usizeMaximum number of iterations
frame_errors: u64Number of frame errors to collect
min_time: Option<Duration>Minimum run time per Eb/N0 (if unset, the simulation finishes as soon as the frame errors are reached)
max_time: Option<Duration>Maximum run time per Eb/N0 (if unset, the simulation only finishes when the frame errors are reached)
bch_max_errors: u64Maximum number of bit errors that the BCH decoder can correct (0 means no BCH decoder)
num_threads: usizeNumber of worker threads (defaults to the number of CPUs)
Trait Implementations§
Source§impl<Dec: DecoderFactory + ValueEnum> Args for Args<Dec>
impl<Dec: DecoderFactory + ValueEnum> Args for Args<Dec>
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Append to
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl<Dec: DecoderFactory + ValueEnum> CommandFactory for Args<Dec>
impl<Dec: DecoderFactory + ValueEnum> CommandFactory for Args<Dec>
Source§impl<Dec: DecoderFactory + ValueEnum> FromArgMatches for Args<Dec>
impl<Dec: DecoderFactory + ValueEnum> FromArgMatches for Args<Dec>
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Source§impl<Dec: DecoderFactory + ValueEnum> Parser for Args<Dec>
impl<Dec: DecoderFactory + ValueEnum> Parser for Args<Dec>
Source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Parse from iterator, exit on error.
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Parse from iterator, return Err on error.
Source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl<Dec> Freeze for Args<Dec>where
Dec: Freeze,
impl<Dec> RefUnwindSafe for Args<Dec>where
Dec: RefUnwindSafe,
impl<Dec> Send for Args<Dec>
impl<Dec> Sync for Args<Dec>
impl<Dec> Unpin for Args<Dec>where
Dec: Unpin,
impl<Dec> UnwindSafe for Args<Dec>where
Dec: UnwindSafe,
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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