#![cfg_attr(not(feature = "std"), no_std)]
#![deny(missing_docs)]
#![allow(
clippy::needless_range_loop,
clippy::let_unit_value,
clippy::manual_div_ceil,
clippy::manual_is_multiple_of,
clippy::assign_op_pattern,
clippy::unit_arg
)]
extern crate alloc;
pub mod align;
pub mod arch;
pub mod bitboard;
pub mod compute;
pub mod cow;
pub mod execution;
pub mod iter;
pub mod kernel;
mod kernel_helpers;
pub mod mask;
pub mod numa;
pub mod ops;
pub mod scalar;
pub mod sparse;
pub mod tensor;
pub mod tiling;
pub mod vec;
pub mod view;
#[doc(hidden)]
pub mod private {
pub trait Sealed {}
}
pub use align::{Aligned, Alignment, Unaligned};
pub use arch::{IsaFamily, SimdArch};
pub use bitboard::{BitBoardKernel, BitBoardView};
pub use compute::ComputeView;
pub use cow::{ArchivedPacked4Cow, ArchivedSimdCow, Packed4CowResolver, SimdCow, SimdCowResolver};
pub use execution::{ExecutionMode, Masked, Unmasked};
pub use iter::{SimdChunks, SimdChunksMut, ZipChunks};
pub use kernel::SimdKernel;
pub use mask::BitMask;
pub use numa::{
current_numa_node, refresh_numa_node, verify_numa_locality, MnemosyneNumaAllocator,
NumaAllocator, NumaBinding,
};
pub use ops::{
Abs, AbsMax, AbsSum, Add, BitAnd, BitOr, BitXor, Clamp, Div, Dot, ElementOp, Exclusive, FmaAdd,
Inclusive, Max, Min, Mul, Neg, Popcount, Product, RecipSqrt, ReductionOp, ScanAdd, ScanMax,
ScanMin, ScanMode, ScanMul, ScanOp, Sqrt, Sub, Sum, UnaryOp,
};
pub use scalar::{FloatElement, NumericElement, Scalar};
pub use sparse::{
BlockedCoo, BlockedCooData, Csr, CsrData, DenseWithMask, DenseWithMaskData, SellP, SellPData,
SparseFormat, SparseShape, SparseView, Validated, ValidatedData,
};
pub use tensor::{ColMajor, RowMajor, TensorCow, TensorError, TensorView};
pub use tiling::{tiled_dot, tiled_gemm, tiled_gemv, TilingPolicy, TilingStrategy};
pub use vec::AlignedVec;
pub use view::{Mask, SimdError, SimdView, TileMatrixMultiply, TileView, Vector};