opensrdk_symbolic_computation/expression/tensor_expression/
size.rs

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