tract_core/ops/matmul/mod.rs
pub mod de_block_quant;
pub mod optimized;
pub mod pack;
pub mod quant;
use crate::internal::*;
pub fn output_type(input: DatumType) -> DatumType {
if input.is_float() {
input
} else {
i32::datum_type()
}
}
#[derive(Clone, Debug, Hash, PartialEq, Eq)]
pub enum ModePicker {
Single,
VecVsMat,
}
impl ModePicker {
#[inline]
pub fn pick(&self, n: usize) -> TractResult<usize> {
match self {
ModePicker::Single => Ok(0),
ModePicker::VecVsMat => Ok((n > 1) as usize),
}
}
}