use crate::Quantization;
pub(crate) mod cpu_features;
pub(crate) mod dequant;
#[allow(unused_imports)] pub(crate) use cpu_features::CpuFeatures;
#[allow(dead_code)]
pub(crate) trait DequantKernel<I, F> {
fn dequant_slice(input: &[I], q: Quantization, output: &mut [F]);
}
#[allow(dead_code)]
pub(crate) trait SoftmaxKernel<F> {
fn softmax_inplace(buf: &mut [F]);
}
pub(crate) mod softmax;
#[allow(dead_code)]
pub(crate) trait SigmoidKernel<F> {
fn sigmoid_slice(buf: &mut [F]);
}
pub(crate) mod sigmoid;
#[allow(dead_code)]
pub(crate) trait DflWeightedSumKernel<F> {
fn weighted_sum_4sides(probs: &[F], reg_max: usize) -> [F; 4];
}
#[allow(dead_code)]
pub(crate) trait Dist2BboxKernel<F> {
fn dist2bbox_anchor(ltrb: [F; 4], gx: F, gy: F, stride: F) -> [F; 4];
}
pub(crate) mod box_primitives;
pub(crate) mod grids;
pub(crate) mod dispatch;
pub(crate) mod level_box;
pub(crate) mod level_mc;
pub(crate) mod level_score;
pub(crate) mod transpose;
#[cfg(target_arch = "aarch64")]
pub(crate) mod neon_baseline;