mod affine_grid;
mod meshgrid;
pub use meshgrid::*;
pub use affine_grid::*;
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq)]
pub enum GridIndexing {
#[default]
Matrix,
Cartesian,
}
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq)]
pub enum GridSparsity {
#[default]
Dense,
Sparse,
}
#[derive(new, Default, Debug, Copy, Clone)]
pub struct GridOptions {
pub indexing: GridIndexing,
pub sparsity: GridSparsity,
}
impl From<GridIndexing> for GridOptions {
fn from(value: GridIndexing) -> Self {
Self {
indexing: value,
..Default::default()
}
}
}
impl From<GridSparsity> for GridOptions {
fn from(value: GridSparsity) -> Self {
Self {
sparsity: value,
..Default::default()
}
}
}
#[derive(Default, Debug, Copy, Clone)]
pub enum IndexPos {
#[default]
First,
Last,
}