tract_core/ops/matmul/
mod.rs1pub mod de_block_quant;
2pub mod optimized;
3pub mod pack;
4pub mod quant;
5
6use crate::internal::*;
7
8pub fn output_type(input: DatumType) -> DatumType {
9 if input.is_float() { input } else { i32::datum_type() }
10}
11
12#[derive(Clone, Debug, Hash, PartialEq, Eq)]
13pub enum ModePicker {
14 Single,
15 VecVsMat,
16}
17
18impl ModePicker {
19 #[inline]
20 pub fn pick(&self, n: usize) -> TractResult<usize> {
21 match self {
22 ModePicker::Single => Ok(0),
23 ModePicker::VecVsMat => Ok((n > 1) as usize),
24 }
25 }
26}