Skip to main content

build_size_dict

Function build_size_dict 

Source
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));