1 2 3 4 5 6 7 8 9 10 11 12 13 14
use crate::{Size, TensorExpression};
impl TensorExpression {
pub fn sizes(&self) -> Vec<Size> {
match self {
TensorExpression::KroneckerDeltas(_) => vec![],
TensorExpression::DotProduct {
terms,
rank_combinations,
} => TensorExpression::size_dot_product(terms, rank_combinations),
TensorExpression::DirectProduct(terms) => TensorExpression::size_direct_product(terms),
}
}
}