#![warn(missing_docs)]
mod array2;
mod array3;
mod arrayn;
mod error;
mod linalg;
mod numeric;
mod preprocessing;
mod rand;
mod sparse;
mod view2;
mod view3;
mod workspace;
pub use array2::Array2;
pub use array3::{Array3, Axis3, fold_view, unfold_view};
pub use arrayn::{ArrayN, ArrayViewMutN, ArrayViewN};
pub use error::{Error, Result};
pub use linalg::{
CenteredOperator, ColumnScaledOperator, EighResult, LinearOperator, QrResult,
RandomizedSvdOptions, RowScaledOperator, StandardizedOperator, SvdResult, Transpose,
approx_reconstruction_error, axpy, axpy_f32, axpy_f64, batch_randomized_svd,
batch_randomized_svd_parallel, dot, dot_f32, dot_f64, eigh_small, explained_variance_ratio,
gemm, gemm_with_workspace, matmul, norm_l2, norm_l2_f32, norm_l2_f64, pack_block, qr,
randomized_range_finder, randomized_svd, randomized_svd_with_error, reorthogonalize, svd_small,
thin_qr, unpack_block,
};
pub use numeric::Float;
pub use preprocessing::{
center_columns_inplace, center_rows_inplace, centered_columns, centered_rows, column_means,
column_variances, row_means, row_variances, scale_columns_inplace, scale_rows_inplace,
standardize_columns_inplace, standardize_rows_inplace,
};
pub use sparse::CsrMatrix;
pub use view2::{ArrayView2, ArrayViewMut2};
pub use view3::{ArrayView3, ArrayViewMut3};
pub use workspace::{ScratchBuffer, Workspace};