conspire 0.7.1

The Rust interface to conspire.
Documentation
pub mod orthants;
pub mod split;
pub mod subdivide;

pub enum Kind<const N: usize, U> {
    Leaf,
    Tree(Orthants<N, U>),
}

pub struct Node<const D: usize, const M: usize, const N: usize, T, U, V = ()> {
    pub(crate) corner: [T; D],
    pub(crate) length: T,
    pub(crate) facets: [Option<U>; M],
    pub(crate) kind: Kind<N, U>,
    pub(crate) value: Option<V>,
}

pub type Nodes<const D: usize, const M: usize, const N: usize, T, U, V = ()> =
    Vec<Node<D, M, N, T, U, V>>;

pub type Orthants<const N: usize, U> = [U; N];