pub mod arithm;
pub mod error;
pub mod matrix;
pub mod rng;
pub(crate) mod simd;
pub mod structural;
pub mod types;
pub mod utils;
#[cfg(test)]
mod tests;
pub use self::arithm::{
absdiff, bitwise_and, bitwise_not, bitwise_or, bitwise_xor, cart_to_polar, check_range,
count_non_zero, cross, determinant, dot, gemm, invert, kmeans, magnitude, mean, mean_std_dev,
min_max_loc, norm, normalize, perspective_transform, phase, polar_to_cart, reduce,
set_identity, solve, solve_poly, sort, sort_idx, sum, trace, transform, DecompTypes, GEMM_1_T,
GEMM_2_T, GEMM_3_T,
};
pub use self::error::{PureCvError, Result};
pub use self::matrix::{
DataType, Depth, MatType, Matrix, CV_16S, CV_16SC1, CV_16SC2, CV_16SC3, CV_16SC4, CV_16U,
CV_16UC1, CV_16UC2, CV_16UC3, CV_16UC4, CV_32F, CV_32FC1, CV_32FC2, CV_32FC3, CV_32FC4, CV_32S,
CV_32SC1, CV_32SC2, CV_32SC3, CV_32SC4, CV_64F, CV_64FC1, CV_64FC2, CV_64FC3, CV_64FC4, CV_8S,
CV_8SC1, CV_8SC2, CV_8SC3, CV_8SC4, CV_8U, CV_8UC1, CV_8UC2, CV_8UC3, CV_8UC4,
};
pub use self::rng::{randn, randu, set_rng_seed};
pub use self::types::{
BorderTypes, NormTypes, Point, Point2d, Point2f, Point2i, Point2l, Point3, Point3d, Point3f,
Point3i, Rect, Rect2d, Rect2f, Rect2i, ReduceTypes, RotatedRect, Scalar, Size, Size2d, Size2f,
Size2i, TermCriteria, TermType, KMEANS_PP_CENTERS, KMEANS_RANDOM_CENTERS,
KMEANS_USE_INITIAL_LABELS, SORT_ASCENDING, SORT_DESCENDING, SORT_EVERY_COLUMN, SORT_EVERY_ROW,
};
#[cfg(not(feature = "parallel"))]
pub use self::utils::ParIterFallback;
pub use self::utils::{border_interpolate, get_tick_count, get_tick_frequency};