tract_core/ops/matmul/
mod.rs

1pub 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() {
10        input
11    } else {
12        i32::datum_type()
13    }
14}
15
16#[derive(Clone, Debug, Hash, PartialEq, Eq)]
17pub enum ModePicker {
18    Single,
19    VecVsMat,
20}
21
22impl ModePicker {
23    #[inline]
24    pub fn pick(&self, n: usize) -> TractResult<usize> {
25        match self {
26            ModePicker::Single => Ok(0),
27            ModePicker::VecVsMat => Ok((n > 1) as usize),
28        }
29    }
30}