use crate::prelude::*;
pub mod array_weights;
pub mod contrasts;
pub mod ebayes;
pub mod lm_fit;
pub mod lowess;
pub mod marray;
pub mod remove_batch_effect;
pub mod scran_lowess;
pub mod smoothing;
pub mod squeeze_var;
pub mod toptable;
pub mod voom;
pub(crate) fn check_nonneg_weights(w: &[f64]) -> Result<(), EdgeErrors> {
if let Some(i) = w.iter().position(|v| *v < 0.0) {
return Err(EdgeErrors::InvalidArgument(format!(
"prior weights must be non-negative; weights[{i}] is {}",
w[i]
)));
}
Ok(())
}