use clap::Parser;
#[derive(Parser, Debug)]
#[clap(author, version, about, long_about = None)]
pub struct Cli {
#[clap(short, long, value_parser)]
pub mean: f64,
#[clap(short, long = "std", value_parser)]
pub std_dev: f64,
#[clap(short, long, value_parser)]
pub num: usize,
#[clap(short, long, value_parser, default_value_t = false)]
pub print: bool,
#[clap(long, value_parser)]
pub seed: Option<u64>,
#[clap(short, value_enum, long, default_value_t = Endianess::Native)]
pub endianess: Endianess,
#[clap(short, value_enum, long, default_value_t = Datatype::Float)]
pub datatype: Datatype,
}
#[derive(clap::ValueEnum, Clone, Debug)]
pub enum Endianess {
#[clap(alias = "be", alias = "b")]
Big,
#[clap(alias = "le", alias = "l")]
Little,
#[clap(alias = "ne", alias = "n")]
Native,
}
#[derive(clap::ValueEnum, Clone, Debug)]
pub enum Datatype {
#[clap(alias = "f32", alias = "f")]
Float,
#[clap(alias = "f64", alias = "d")]
Double,
}