/// get broadcast shape of 2 different shapes
///
/// # Example
///
/// ```
/// use flashlight_tensor::cpu::broadcasting::helpers::{get_broadcast_shape};
///
/// let shape_a = vec!{2, 1, 2};
/// let shape_b = vec!{2, 2, 1};
///
/// let broadcast = get_broadcast_shape(&shape_a, &shape_b).unwrap();
///
/// assert_eq!(broadcast, vec!{2, 2, 2});
/// ```