use crate::error::FCError;
pub fn parse_numbers(args: &[String]) -> Result<Vec<f64>, FCError> {
let mut numbers = Vec::new();
if args.is_empty() {
return Err(FCError::InsufficientData("No numbers provided".to_string()));
}
for arg in args {
match arg.parse::<f64>() {
Ok(num) => numbers.push(num),
Err(_) => {
return Err(FCError::ParseError(format!("Invalid number format: {}", arg)));
}
}
}
Ok(numbers)
}