use ndarray::{ArrayBase, RawData};
use crate::{DisplayArray, display_method::DisplayMethod};
pub trait DisplayExt<T: RawData, D> {
fn display<M: DisplayMethod>(&self) -> DisplayArray<'_, T, D, M>;
}
impl<T: RawData, D> DisplayExt<T, D> for ArrayBase<T, D> {
#[inline]
fn display<M: DisplayMethod>(&self) -> DisplayArray<'_, T, D, M> {
DisplayArray::new(vec![&self])
}
}
impl<T: RawData, D, const N: usize> DisplayExt<T, D> for [&ArrayBase<T, D>; N] {
#[inline]
fn display<M: DisplayMethod>(&self) -> DisplayArray<'_, T, D, M> {
DisplayArray::new(self.to_vec())
}
}
impl<T: RawData, D> DisplayExt<T, D> for &[&ArrayBase<T, D>] {
#[inline]
fn display<M: DisplayMethod>(&self) -> DisplayArray<'_, T, D, M> {
DisplayArray::new(self.to_vec())
}
}