use num_traits::Zero;
mod convert;
mod dim2;
mod projection;
#[cfg(feature = "rand")]
mod random;
#[cfg(feature = "wolfram-expr")]
mod wolfram;
/// A trait for checking if a shape is empty
pub trait ValidShape<T>
where
T: Zero,
{
fn is_empty(&self) -> bool {
self.is_empty_under_thousand(T::zero())
}
fn is_empty_under_thousand(&self, thousand: T) -> bool;
}
pub trait EqualThousand<T> {
fn eq_under_thousand(&self, thousand: T) -> bool;
}