pub fn build_size_dict(
subscripts: &Subscripts,
shapes: &[&[usize]],
extra: Option<&HashMap<u32, usize>>,
) -> Result<HashMap<u32, usize>>Expand description
Build a label -> size mapping from subscripts and input shapes.
ยงExamples
use tenferro_einsum::{build_size_dict, Subscripts};
let subs = Subscripts::parse("ij,jk->ik").unwrap();
let shapes = [&[2, 3][..], &[3, 4][..]];
let sizes = build_size_dict(&subs, &shapes, None).unwrap();
assert_eq!(sizes.get(&(b'i' as u32)), Some(&2));
assert_eq!(sizes.get(&(b'j' as u32)), Some(&3));
assert_eq!(sizes.get(&(b'k' as u32)), Some(&4));