#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod affine;
mod all_interval;
mod alphabet;
mod class;
mod combinatoriality;
mod derivation;
mod error;
mod family;
mod interval;
mod invariance;
mod label;
mod matrix;
mod mosaic;
mod multiply;
mod operation;
mod partition;
mod render;
mod reservoir;
mod row;
mod segment;
mod vertical;
pub use affine::{AffinePitchMap, PitchTransformOutput};
pub use all_interval::{AllIntervalMultiplicity, AllIntervalReport, analyze_all_interval};
pub use alphabet::PitchClassAlphabet;
pub use class::{FormEquivalence, RowClassAlias, RowClassReport, analyze_row_class};
pub use combinatoriality::{
CombinatorialBlockEvidence, CombinatorialPartition, CombinatorialPartner,
CombinatorialityReport, analyze_combinatoriality, analyze_combinatoriality_partition,
};
pub use derivation::{
DerivationCellRelation, DerivationKind, DerivationMatch, DerivationReport, analyze_derivation,
analyze_derivation_partition,
};
pub use error::RowError;
pub use family::{RowAlias, RowFamilySet};
pub use interval::OrderedIntervalString;
pub use invariance::{SegmentInvariant, analyze_invariance};
pub use label::{RowLabel, RowLabelConvention};
pub use matrix::{
MatrixCoordinate, ROW_MATRIX_SIZE, RowMatrix, RowMatrixCell, RowMatrixEdgeLabels,
};
pub use mosaic::{MosaicBlock, MosaicReport, analyze_mosaic};
pub use multiply::{BlockProductReservoir, multiply_partitions};
pub use operation::{RowFamily, RowOperation};
pub use partition::{
AggregateCoverageReport, BlockOrder, InterlockingPartitionReport, OrderKind,
PartitionBlockMatch, PartitionSimilarityReport, RowPartition, RowPartitionBlock,
analyze_aggregate_coverage, analyze_interlocking_partitions,
analyze_partition_aggregate_coverage, analyze_partition_similarity, try_partition,
};
pub use render::RowMatrixData;
pub use reservoir::{
BlockProjection, BlockProjectionSource, InvariantDelta, OrderedPitchBlock, PitchInvariant,
PitchReservoir,
};
pub use row::{RowForm, ToneRow};
pub use segment::{RowSegment, RowSegmentSource};
pub use vertical::{VerticalCollection, VerticalSlice, verticalize};
pub static RECIPES: sim_cookbook::EmbeddedDir =
include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));