#![deny(missing_docs)]
#![forbid(unsafe_code)]
pub use faer::{Mat, MatRef};
mod orthogonal;
mod signed_permutation;
pub use orthogonal::{orthogonal, OrthogonalAlignment};
pub use signed_permutation::{signed_permutation, SignedPermutationAlignment};
#[non_exhaustive]
#[derive(Debug, thiserror::Error)]
pub enum ProcrustesError {
#[error("dimension mismatch: a is {a_rows}×{a_cols}, reference is {ref_rows}×{ref_cols}")]
DimensionMismatch {
a_rows: usize,
a_cols: usize,
ref_rows: usize,
ref_cols: usize,
},
#[error("non-finite value in input")]
NonFinite,
#[error("empty input: rows or columns is zero")]
EmptyInput,
}