conspire 0.7.7

The Rust interface to conspire.
Documentation
use crate::geometry::ntree::node::cell::Cell;
use crate::geometry::ntree::node::slot::Slot;
#[cfg(test)]
pub(crate) mod test;

mod transition_1;
mod transition_2;
mod transition_3;
mod transition_4;
mod transition_5;

use super::{D, N};
use crate::geometry::{
    Coordinates,
    ntree::{Octree, balance::Balancing, dual::NodeMap},
};

#[allow(clippy::too_many_arguments)]
pub(super) fn edge_transitions<T, U>(
    tree: &Octree<T, U>,
    center_nodes: &[usize],
    coordinates: &mut Coordinates<D>,
    connectivity: &mut Vec<[usize; N]>,
    node_index: &mut usize,
    nodes_map: &mut NodeMap<D>,
    balancing: Balancing,
) where
    T: Cell,
    U: Slot,
{
    transition_1::template(
        tree,
        center_nodes,
        coordinates,
        connectivity,
        node_index,
        nodes_map,
    );
    transition_3::template(
        tree,
        center_nodes,
        coordinates,
        connectivity,
        node_index,
        nodes_map,
    );
    transition_2::template(tree, center_nodes, coordinates, connectivity, nodes_map);
    transition_4::template(tree, center_nodes, coordinates, connectivity, nodes_map);
    if matches!(balancing, Balancing::Weak(_)) {
        transition_5::template(
            tree,
            center_nodes,
            coordinates,
            connectivity,
            node_index,
            nodes_map,
        );
    }
}