Expand description
Idiomatic Rust representations of commonly used primitives for Change Ringing compositions.
Re-exports§
pub use block::Block;pub use call::Call;pub use mask::Mask;pub use method::Method;pub use method_lib::MethodLib;pub use music::MusicType;pub use place_not::PlaceNot;pub use place_not::PnBlock;pub use row::same_stage_vec::SameStageVec;pub use row::InvalidRowError;pub use row::Row;pub use row::RowBuf;
Modules§
- block
- A representation of a
Blockof ringing; i.e. a sort of ‘multi-permutation’ which takes a startingRowand yields a sequence of permutedRows. - call
- mask
- method
- method_
lib - music
- place_
not - Module for parsing and handling place notation
- row
Structs§
- Bell
- A type-safe representation of a ‘bell’, which adds things like conversions to and from
commonly-used bell names. Each
Belltakes a single byte in memory. - Incompatible
Stages - An error created when a
Rowwas used to permute something with the wrong length - Stage
- A newtype over
u8that represents a stage. AllStages must contain at least oneBell; zero-bellStages cannot be created without using incorrectunsafecode.
Enums§
- Parity
- Data type representing the parity of a
Row. To generate these, you probably want to useRow::parity. Note thatRow::parityalways performs a heap allocation and is linear-time in theStageof theRow. If you are usingParitys as optimisations within hot code I would recommend computing them upfront on your inputRows and then tracking them by hand, probably using the*operator. - Stroke
- Stroke of a row, i.e. handstroke (
Stroke::Hand) or backstroke (Stroke::Back). - Stroke
Set - A set of at least one
Stroke - Truth
- Whether
Rows are repeated in some section of ringing.