#![warn(missing_docs)]
pub mod address;
pub mod alphabet;
pub mod cabalistic;
pub mod chart;
pub mod compatibility;
pub mod cycles;
pub mod date;
pub mod error;
pub mod name;
pub mod pyramid;
pub mod pythagorean;
pub mod reduction;
pub mod signature;
use alphabet::DecodedChar;
pub use date::{BirthDate, ReferenceDate};
pub use error::NumerologyError;
pub use reduction::CalculatedNumber;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum System {
Pythagorean,
Cabalistic,
}
impl System {
#[must_use]
pub fn letter_value(self, decoded: &DecodedChar) -> u8 {
match self {
System::Pythagorean => alphabet::pythagorean_value(decoded),
System::Cabalistic => alphabet::cabalistic_value(decoded),
}
}
#[must_use]
pub fn masters(self) -> &'static [u32] {
match self {
System::Pythagorean => reduction::PYTHAGOREAN_MASTERS,
System::Cabalistic => reduction::CABALISTIC_MASTERS,
}
}
}