#![deny(missing_docs)]
#![deny(clippy::all)]
#![warn(clippy::pedantic)]
#![forbid(unsafe_code)]
#![allow(clippy::cast_precision_loss)]
pub mod error;
pub mod find_k;
pub mod fit;
pub mod linalg;
pub mod perm_null;
pub mod predict;
pub mod preprocess;
pub mod resample;
pub mod rng;
pub mod rotate;
pub mod rotation_stability;
pub(crate) mod sequential;
pub mod signal_test;
pub(crate) mod subsample;
pub use error::{PlsKitError, PlsKitResult};
pub use find_k::{
pls1_find_k_optimal, pls1_find_k_sequence, FindKOptimalOpts, FindKOptimalOutput,
FindKSequenceOpts, FindKSequenceOutput, Selector,
};
pub use fit::{pls1_fit, FitOpts, KSpec, Pls1Model};
pub use perm_null::{pls1_perm_null, PermNullOpts, PermNullOutput};
pub use predict::pls1_predict;
pub use preprocess::{preprocess, PreprocessInput, PreprocessResult};
pub use rotate::{rotate, RotateOutput, RotationMethod, VarimaxArgs};
pub use rotation_stability::{
pls1_rotation_stability, RotationStabilityMethod, RotationStabilityOpts,
RotationStabilityOutput,
};
pub use signal_test::{
pls1_confirmatory_test, CIOpts, ConfirmatoryArgs, ConfirmatoryMethod, ConfirmatoryTestInput,
ConfirmatoryTestOpts, ConfirmatoryTestOutput,
};
pub use subsample::{CIScalar, ConfirmatoryCI};
#[must_use]
pub fn version() -> &'static str {
env!("CARGO_PKG_VERSION")
}