use crate::error::Error;
use crate::neural_network::Tensor;
pub(super) fn validate_dimension_greater_than_zero(value: usize, name: &str) -> Result<(), Error> {
if value == 0 {
return Err(Error::invalid_parameter(name, "must be greater than 0"));
}
Ok(())
}
pub(super) fn validate_recurrent_dimensions(input_dim: usize, units: usize) -> Result<(), Error> {
validate_dimension_greater_than_zero(input_dim, "input_dim")?;
validate_dimension_greater_than_zero(units, "units")?;
Ok(())
}
pub(super) fn validate_input_3d(input: &Tensor) -> Result<(), Error> {
if input.ndim() != 3 {
return Err(Error::invalid_input("input tensor is not 3D"));
}
Ok(())
}