mod constants {
pub const GREEK_ACROPHONIC_ATTIC_ONE_QUARTER: char = '𐅀';
pub const GREEK_ACROPHONIC_ATTIC_ONE_HALF: char = '𐅁';
pub const GREEK_ACROPHONIC_ATTIC_ONE_DRACHMA: char = '𐅂';
pub const GREEK_ACROPHONIC_ATTIC_FIVE: char = '𐅃';
pub const GREEK_ACROPHONIC_ATTIC_FIFTY: char = '𐅄';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED: char = '𐅅';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_THOUSAND: char = '𐅆';
pub const GREEK_ACROPHONIC_ATTIC_FIFTY_THOUSAND: char = '𐅇';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_TALENTS: char = '𐅈';
pub const GREEK_ACROPHONIC_ATTIC_TEN_TALENTS: char = '𐅉';
pub const GREEK_ACROPHONIC_ATTIC_FIFTY_TALENTS: char = '𐅊';
pub const GREEK_ACROPHONIC_ATTIC_ONE_HUNDRED_TALENTS: char = '𐅋';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED_TALENTS: char = '𐅌';
pub const GREEK_ACROPHONIC_ATTIC_ONE_THOUSAND_TALENTS: char = '𐅍';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_THOUSAND_TALENTS: char = '𐅎';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_STATERS: char = '𐅏';
pub const GREEK_ACROPHONIC_ATTIC_TEN_STATERS: char = '𐅐';
pub const GREEK_ACROPHONIC_ATTIC_FIFTY_STATERS: char = '𐅑';
pub const GREEK_ACROPHONIC_ATTIC_ONE_HUNDRED_STATERS: char = '𐅒';
pub const GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED_STATERS: char = '𐅓';
pub const GREEK_ACROPHONIC_ATTIC_ONE_THOUSAND_STATERS: char = '𐅔';
pub const GREEK_ACROPHONIC_ATTIC_TEN_THOUSAND_STATERS: char = '𐅕';
pub const GREEK_ACROPHONIC_ATTIC_FIFTY_THOUSAND_STATERS: char = '𐅖';
pub const GREEK_ACROPHONIC_ATTIC_TEN_MNAS: char = '𐅗';
pub const GREEK_ACROPHONIC_HERAEUM_ONE_PLETHRON: char = '𐅘';
pub const GREEK_ACROPHONIC_THESPIAN_ONE: char = '𐅙';
pub const GREEK_ACROPHONIC_HERMIONIAN_ONE: char = '𐅚';
pub const GREEK_ACROPHONIC_EPIDAUREAN_TWO: char = '𐅛';
pub const GREEK_ACROPHONIC_THESPIAN_TWO: char = '𐅜';
pub const GREEK_ACROPHONIC_CYRENAIC_TWO_DRACHMAS: char = '𐅝';
pub const GREEK_ACROPHONIC_EPIDAUREAN_TWO_DRACHMAS: char = '𐅞';
pub const GREEK_ACROPHONIC_TROEZENIAN_FIVE: char = '𐅟';
pub const GREEK_ACROPHONIC_TROEZENIAN_TEN: char = '𐅠';
pub const GREEK_ACROPHONIC_TROEZENIAN_TEN_ALTERNATE_FORM: char = '𐅡';
pub const GREEK_ACROPHONIC_HERMIONIAN_TEN: char = '𐅢';
pub const GREEK_ACROPHONIC_MESSENIAN_TEN: char = '𐅣';
pub const GREEK_ACROPHONIC_THESPIAN_TEN: char = '𐅤';
pub const GREEK_ACROPHONIC_THESPIAN_THIRTY: char = '𐅥';
pub const GREEK_ACROPHONIC_TROEZENIAN_FIFTY: char = '𐅦';
pub const GREEK_ACROPHONIC_TROEZENIAN_FIFTY_ALTERNATE_FORM: char = '𐅧';
pub const GREEK_ACROPHONIC_HERMIONIAN_FIFTY: char = '𐅨';
pub const GREEK_ACROPHONIC_THESPIAN_FIFTY: char = '𐅩';
pub const GREEK_ACROPHONIC_THESPIAN_ONE_HUNDRED: char = '𐅪';
pub const GREEK_ACROPHONIC_THESPIAN_THREE_HUNDRED: char = '𐅫';
pub const GREEK_ACROPHONIC_EPIDAUREAN_FIVE_HUNDRED: char = '𐅬';
pub const GREEK_ACROPHONIC_TROEZENIAN_FIVE_HUNDRED: char = '𐅭';
pub const GREEK_ACROPHONIC_THESPIAN_FIVE_HUNDRED: char = '𐅮';
pub const GREEK_ACROPHONIC_CARYSTIAN_FIVE_HUNDRED: char = '𐅯';
pub const GREEK_ACROPHONIC_NAXIAN_FIVE_HUNDRED: char = '𐅰';
pub const GREEK_ACROPHONIC_THESPIAN_ONE_THOUSAND: char = '𐅱';
pub const GREEK_ACROPHONIC_THESPIAN_FIVE_THOUSAND: char = '𐅲';
pub const GREEK_ACROPHONIC_DELPHIC_FIVE_MNAS: char = '𐅳';
pub const GREEK_ACROPHONIC_STRATIAN_FIFTY_MNAS: char = '𐅴';
pub const GREEK_ONE_HALF_SIGN: char = '𐅵';
pub const GREEK_ONE_HALF_SIGN_ALTERNATE_FORM: char = '𐅶';
pub const GREEK_TWO_THIRDS_SIGN: char = '𐅷';
pub const GREEK_THREE_QUARTERS_SIGN: char = '𐅸';
pub const GREEK_YEAR_SIGN: char = '𐅹';
pub const GREEK_TALENT_SIGN: char = '𐅺';
pub const GREEK_DRACHMA_SIGN: char = '𐅻';
pub const GREEK_OBOL_SIGN: char = '𐅼';
pub const GREEK_TWO_OBOLS_SIGN: char = '𐅽';
pub const GREEK_THREE_OBOLS_SIGN: char = '𐅾';
pub const GREEK_FOUR_OBOLS_SIGN: char = '𐅿';
pub const GREEK_FIVE_OBOLS_SIGN: char = '𐆀';
pub const GREEK_METRETES_SIGN: char = '𐆁';
pub const GREEK_KYATHOS_BASE_SIGN: char = '𐆂';
pub const GREEK_LITRA_SIGN: char = '𐆃';
pub const GREEK_OUNKIA_SIGN: char = '𐆄';
pub const GREEK_XESTES_SIGN: char = '𐆅';
pub const GREEK_ARTABE_SIGN: char = '𐆆';
pub const GREEK_AROURA_SIGN: char = '𐆇';
pub const GREEK_GRAMMA_SIGN: char = '𐆈';
pub const GREEK_TRYBLION_BASE_SIGN: char = '𐆉';
pub const GREEK_ZERO_SIGN: char = '𐆊';
pub const GREEK_ONE_QUARTER_SIGN: char = '𐆋';
pub const GREEK_SINUSOID_SIGN: char = '𐆌';
pub const GREEK_INDICTION_SIGN: char = '𐆍';
pub const NOMISMA_SIGN: char = '𐆎';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum AncientGreekNumbers {
GreekAcrophonicAtticOneQuarter,
GreekAcrophonicAtticOneHalf,
GreekAcrophonicAtticOneDrachma,
GreekAcrophonicAtticFive,
GreekAcrophonicAtticFifty,
GreekAcrophonicAtticFiveHundred,
GreekAcrophonicAtticFiveThousand,
GreekAcrophonicAtticFiftyThousand,
GreekAcrophonicAtticFiveTalents,
GreekAcrophonicAtticTenTalents,
GreekAcrophonicAtticFiftyTalents,
GreekAcrophonicAtticOneHundredTalents,
GreekAcrophonicAtticFiveHundredTalents,
GreekAcrophonicAtticOneThousandTalents,
GreekAcrophonicAtticFiveThousandTalents,
GreekAcrophonicAtticFiveStaters,
GreekAcrophonicAtticTenStaters,
GreekAcrophonicAtticFiftyStaters,
GreekAcrophonicAtticOneHundredStaters,
GreekAcrophonicAtticFiveHundredStaters,
GreekAcrophonicAtticOneThousandStaters,
GreekAcrophonicAtticTenThousandStaters,
GreekAcrophonicAtticFiftyThousandStaters,
GreekAcrophonicAtticTenMnas,
GreekAcrophonicHeraeumOnePlethron,
GreekAcrophonicThespianOne,
GreekAcrophonicHermionianOne,
GreekAcrophonicEpidaureanTwo,
GreekAcrophonicThespianTwo,
GreekAcrophonicCyrenaicTwoDrachmas,
GreekAcrophonicEpidaureanTwoDrachmas,
GreekAcrophonicTroezenianFive,
GreekAcrophonicTroezenianTen,
GreekAcrophonicTroezenianTenAlternateForm,
GreekAcrophonicHermionianTen,
GreekAcrophonicMessenianTen,
GreekAcrophonicThespianTen,
GreekAcrophonicThespianThirty,
GreekAcrophonicTroezenianFifty,
GreekAcrophonicTroezenianFiftyAlternateForm,
GreekAcrophonicHermionianFifty,
GreekAcrophonicThespianFifty,
GreekAcrophonicThespianOneHundred,
GreekAcrophonicThespianThreeHundred,
GreekAcrophonicEpidaureanFiveHundred,
GreekAcrophonicTroezenianFiveHundred,
GreekAcrophonicThespianFiveHundred,
GreekAcrophonicCarystianFiveHundred,
GreekAcrophonicNaxianFiveHundred,
GreekAcrophonicThespianOneThousand,
GreekAcrophonicThespianFiveThousand,
GreekAcrophonicDelphicFiveMnas,
GreekAcrophonicStratianFiftyMnas,
GreekOneHalfSign,
GreekOneHalfSignAlternateForm,
GreekTwoThirdsSign,
GreekThreeQuartersSign,
GreekYearSign,
GreekTalentSign,
GreekDrachmaSign,
GreekObolSign,
GreekTwoObolsSign,
GreekThreeObolsSign,
GreekFourObolsSign,
GreekFiveObolsSign,
GreekMetretesSign,
GreekKyathosBaseSign,
GreekLitraSign,
GreekOunkiaSign,
GreekXestesSign,
GreekArtabeSign,
GreekArouraSign,
GreekGrammaSign,
GreekTryblionBaseSign,
GreekZeroSign,
GreekOneQuarterSign,
GreekSinusoidSign,
GreekIndictionSign,
NomismaSign,
}
impl Into<char> for AncientGreekNumbers {
fn into(self) -> char {
use constants::*;
match self {
AncientGreekNumbers::GreekAcrophonicAtticOneQuarter => GREEK_ACROPHONIC_ATTIC_ONE_QUARTER,
AncientGreekNumbers::GreekAcrophonicAtticOneHalf => GREEK_ACROPHONIC_ATTIC_ONE_HALF,
AncientGreekNumbers::GreekAcrophonicAtticOneDrachma => GREEK_ACROPHONIC_ATTIC_ONE_DRACHMA,
AncientGreekNumbers::GreekAcrophonicAtticFive => GREEK_ACROPHONIC_ATTIC_FIVE,
AncientGreekNumbers::GreekAcrophonicAtticFifty => GREEK_ACROPHONIC_ATTIC_FIFTY,
AncientGreekNumbers::GreekAcrophonicAtticFiveHundred => GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicAtticFiveThousand => GREEK_ACROPHONIC_ATTIC_FIVE_THOUSAND,
AncientGreekNumbers::GreekAcrophonicAtticFiftyThousand => GREEK_ACROPHONIC_ATTIC_FIFTY_THOUSAND,
AncientGreekNumbers::GreekAcrophonicAtticFiveTalents => GREEK_ACROPHONIC_ATTIC_FIVE_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticTenTalents => GREEK_ACROPHONIC_ATTIC_TEN_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticFiftyTalents => GREEK_ACROPHONIC_ATTIC_FIFTY_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticOneHundredTalents => GREEK_ACROPHONIC_ATTIC_ONE_HUNDRED_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticFiveHundredTalents => GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticOneThousandTalents => GREEK_ACROPHONIC_ATTIC_ONE_THOUSAND_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticFiveThousandTalents => GREEK_ACROPHONIC_ATTIC_FIVE_THOUSAND_TALENTS,
AncientGreekNumbers::GreekAcrophonicAtticFiveStaters => GREEK_ACROPHONIC_ATTIC_FIVE_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticTenStaters => GREEK_ACROPHONIC_ATTIC_TEN_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticFiftyStaters => GREEK_ACROPHONIC_ATTIC_FIFTY_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticOneHundredStaters => GREEK_ACROPHONIC_ATTIC_ONE_HUNDRED_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticFiveHundredStaters => GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticOneThousandStaters => GREEK_ACROPHONIC_ATTIC_ONE_THOUSAND_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticTenThousandStaters => GREEK_ACROPHONIC_ATTIC_TEN_THOUSAND_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticFiftyThousandStaters => GREEK_ACROPHONIC_ATTIC_FIFTY_THOUSAND_STATERS,
AncientGreekNumbers::GreekAcrophonicAtticTenMnas => GREEK_ACROPHONIC_ATTIC_TEN_MNAS,
AncientGreekNumbers::GreekAcrophonicHeraeumOnePlethron => GREEK_ACROPHONIC_HERAEUM_ONE_PLETHRON,
AncientGreekNumbers::GreekAcrophonicThespianOne => GREEK_ACROPHONIC_THESPIAN_ONE,
AncientGreekNumbers::GreekAcrophonicHermionianOne => GREEK_ACROPHONIC_HERMIONIAN_ONE,
AncientGreekNumbers::GreekAcrophonicEpidaureanTwo => GREEK_ACROPHONIC_EPIDAUREAN_TWO,
AncientGreekNumbers::GreekAcrophonicThespianTwo => GREEK_ACROPHONIC_THESPIAN_TWO,
AncientGreekNumbers::GreekAcrophonicCyrenaicTwoDrachmas => GREEK_ACROPHONIC_CYRENAIC_TWO_DRACHMAS,
AncientGreekNumbers::GreekAcrophonicEpidaureanTwoDrachmas => GREEK_ACROPHONIC_EPIDAUREAN_TWO_DRACHMAS,
AncientGreekNumbers::GreekAcrophonicTroezenianFive => GREEK_ACROPHONIC_TROEZENIAN_FIVE,
AncientGreekNumbers::GreekAcrophonicTroezenianTen => GREEK_ACROPHONIC_TROEZENIAN_TEN,
AncientGreekNumbers::GreekAcrophonicTroezenianTenAlternateForm => GREEK_ACROPHONIC_TROEZENIAN_TEN_ALTERNATE_FORM,
AncientGreekNumbers::GreekAcrophonicHermionianTen => GREEK_ACROPHONIC_HERMIONIAN_TEN,
AncientGreekNumbers::GreekAcrophonicMessenianTen => GREEK_ACROPHONIC_MESSENIAN_TEN,
AncientGreekNumbers::GreekAcrophonicThespianTen => GREEK_ACROPHONIC_THESPIAN_TEN,
AncientGreekNumbers::GreekAcrophonicThespianThirty => GREEK_ACROPHONIC_THESPIAN_THIRTY,
AncientGreekNumbers::GreekAcrophonicTroezenianFifty => GREEK_ACROPHONIC_TROEZENIAN_FIFTY,
AncientGreekNumbers::GreekAcrophonicTroezenianFiftyAlternateForm => GREEK_ACROPHONIC_TROEZENIAN_FIFTY_ALTERNATE_FORM,
AncientGreekNumbers::GreekAcrophonicHermionianFifty => GREEK_ACROPHONIC_HERMIONIAN_FIFTY,
AncientGreekNumbers::GreekAcrophonicThespianFifty => GREEK_ACROPHONIC_THESPIAN_FIFTY,
AncientGreekNumbers::GreekAcrophonicThespianOneHundred => GREEK_ACROPHONIC_THESPIAN_ONE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicThespianThreeHundred => GREEK_ACROPHONIC_THESPIAN_THREE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicEpidaureanFiveHundred => GREEK_ACROPHONIC_EPIDAUREAN_FIVE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicTroezenianFiveHundred => GREEK_ACROPHONIC_TROEZENIAN_FIVE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicThespianFiveHundred => GREEK_ACROPHONIC_THESPIAN_FIVE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicCarystianFiveHundred => GREEK_ACROPHONIC_CARYSTIAN_FIVE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicNaxianFiveHundred => GREEK_ACROPHONIC_NAXIAN_FIVE_HUNDRED,
AncientGreekNumbers::GreekAcrophonicThespianOneThousand => GREEK_ACROPHONIC_THESPIAN_ONE_THOUSAND,
AncientGreekNumbers::GreekAcrophonicThespianFiveThousand => GREEK_ACROPHONIC_THESPIAN_FIVE_THOUSAND,
AncientGreekNumbers::GreekAcrophonicDelphicFiveMnas => GREEK_ACROPHONIC_DELPHIC_FIVE_MNAS,
AncientGreekNumbers::GreekAcrophonicStratianFiftyMnas => GREEK_ACROPHONIC_STRATIAN_FIFTY_MNAS,
AncientGreekNumbers::GreekOneHalfSign => GREEK_ONE_HALF_SIGN,
AncientGreekNumbers::GreekOneHalfSignAlternateForm => GREEK_ONE_HALF_SIGN_ALTERNATE_FORM,
AncientGreekNumbers::GreekTwoThirdsSign => GREEK_TWO_THIRDS_SIGN,
AncientGreekNumbers::GreekThreeQuartersSign => GREEK_THREE_QUARTERS_SIGN,
AncientGreekNumbers::GreekYearSign => GREEK_YEAR_SIGN,
AncientGreekNumbers::GreekTalentSign => GREEK_TALENT_SIGN,
AncientGreekNumbers::GreekDrachmaSign => GREEK_DRACHMA_SIGN,
AncientGreekNumbers::GreekObolSign => GREEK_OBOL_SIGN,
AncientGreekNumbers::GreekTwoObolsSign => GREEK_TWO_OBOLS_SIGN,
AncientGreekNumbers::GreekThreeObolsSign => GREEK_THREE_OBOLS_SIGN,
AncientGreekNumbers::GreekFourObolsSign => GREEK_FOUR_OBOLS_SIGN,
AncientGreekNumbers::GreekFiveObolsSign => GREEK_FIVE_OBOLS_SIGN,
AncientGreekNumbers::GreekMetretesSign => GREEK_METRETES_SIGN,
AncientGreekNumbers::GreekKyathosBaseSign => GREEK_KYATHOS_BASE_SIGN,
AncientGreekNumbers::GreekLitraSign => GREEK_LITRA_SIGN,
AncientGreekNumbers::GreekOunkiaSign => GREEK_OUNKIA_SIGN,
AncientGreekNumbers::GreekXestesSign => GREEK_XESTES_SIGN,
AncientGreekNumbers::GreekArtabeSign => GREEK_ARTABE_SIGN,
AncientGreekNumbers::GreekArouraSign => GREEK_AROURA_SIGN,
AncientGreekNumbers::GreekGrammaSign => GREEK_GRAMMA_SIGN,
AncientGreekNumbers::GreekTryblionBaseSign => GREEK_TRYBLION_BASE_SIGN,
AncientGreekNumbers::GreekZeroSign => GREEK_ZERO_SIGN,
AncientGreekNumbers::GreekOneQuarterSign => GREEK_ONE_QUARTER_SIGN,
AncientGreekNumbers::GreekSinusoidSign => GREEK_SINUSOID_SIGN,
AncientGreekNumbers::GreekIndictionSign => GREEK_INDICTION_SIGN,
AncientGreekNumbers::NomismaSign => NOMISMA_SIGN,
}
}
}
impl std::convert::TryFrom<char> for AncientGreekNumbers {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
GREEK_ACROPHONIC_ATTIC_ONE_QUARTER => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneQuarter),
GREEK_ACROPHONIC_ATTIC_ONE_HALF => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneHalf),
GREEK_ACROPHONIC_ATTIC_ONE_DRACHMA => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneDrachma),
GREEK_ACROPHONIC_ATTIC_FIVE => Ok(AncientGreekNumbers::GreekAcrophonicAtticFive),
GREEK_ACROPHONIC_ATTIC_FIFTY => Ok(AncientGreekNumbers::GreekAcrophonicAtticFifty),
GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveHundred),
GREEK_ACROPHONIC_ATTIC_FIVE_THOUSAND => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveThousand),
GREEK_ACROPHONIC_ATTIC_FIFTY_THOUSAND => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiftyThousand),
GREEK_ACROPHONIC_ATTIC_FIVE_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveTalents),
GREEK_ACROPHONIC_ATTIC_TEN_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticTenTalents),
GREEK_ACROPHONIC_ATTIC_FIFTY_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiftyTalents),
GREEK_ACROPHONIC_ATTIC_ONE_HUNDRED_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneHundredTalents),
GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveHundredTalents),
GREEK_ACROPHONIC_ATTIC_ONE_THOUSAND_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneThousandTalents),
GREEK_ACROPHONIC_ATTIC_FIVE_THOUSAND_TALENTS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveThousandTalents),
GREEK_ACROPHONIC_ATTIC_FIVE_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveStaters),
GREEK_ACROPHONIC_ATTIC_TEN_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticTenStaters),
GREEK_ACROPHONIC_ATTIC_FIFTY_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiftyStaters),
GREEK_ACROPHONIC_ATTIC_ONE_HUNDRED_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneHundredStaters),
GREEK_ACROPHONIC_ATTIC_FIVE_HUNDRED_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiveHundredStaters),
GREEK_ACROPHONIC_ATTIC_ONE_THOUSAND_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticOneThousandStaters),
GREEK_ACROPHONIC_ATTIC_TEN_THOUSAND_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticTenThousandStaters),
GREEK_ACROPHONIC_ATTIC_FIFTY_THOUSAND_STATERS => Ok(AncientGreekNumbers::GreekAcrophonicAtticFiftyThousandStaters),
GREEK_ACROPHONIC_ATTIC_TEN_MNAS => Ok(AncientGreekNumbers::GreekAcrophonicAtticTenMnas),
GREEK_ACROPHONIC_HERAEUM_ONE_PLETHRON => Ok(AncientGreekNumbers::GreekAcrophonicHeraeumOnePlethron),
GREEK_ACROPHONIC_THESPIAN_ONE => Ok(AncientGreekNumbers::GreekAcrophonicThespianOne),
GREEK_ACROPHONIC_HERMIONIAN_ONE => Ok(AncientGreekNumbers::GreekAcrophonicHermionianOne),
GREEK_ACROPHONIC_EPIDAUREAN_TWO => Ok(AncientGreekNumbers::GreekAcrophonicEpidaureanTwo),
GREEK_ACROPHONIC_THESPIAN_TWO => Ok(AncientGreekNumbers::GreekAcrophonicThespianTwo),
GREEK_ACROPHONIC_CYRENAIC_TWO_DRACHMAS => Ok(AncientGreekNumbers::GreekAcrophonicCyrenaicTwoDrachmas),
GREEK_ACROPHONIC_EPIDAUREAN_TWO_DRACHMAS => Ok(AncientGreekNumbers::GreekAcrophonicEpidaureanTwoDrachmas),
GREEK_ACROPHONIC_TROEZENIAN_FIVE => Ok(AncientGreekNumbers::GreekAcrophonicTroezenianFive),
GREEK_ACROPHONIC_TROEZENIAN_TEN => Ok(AncientGreekNumbers::GreekAcrophonicTroezenianTen),
GREEK_ACROPHONIC_TROEZENIAN_TEN_ALTERNATE_FORM => Ok(AncientGreekNumbers::GreekAcrophonicTroezenianTenAlternateForm),
GREEK_ACROPHONIC_HERMIONIAN_TEN => Ok(AncientGreekNumbers::GreekAcrophonicHermionianTen),
GREEK_ACROPHONIC_MESSENIAN_TEN => Ok(AncientGreekNumbers::GreekAcrophonicMessenianTen),
GREEK_ACROPHONIC_THESPIAN_TEN => Ok(AncientGreekNumbers::GreekAcrophonicThespianTen),
GREEK_ACROPHONIC_THESPIAN_THIRTY => Ok(AncientGreekNumbers::GreekAcrophonicThespianThirty),
GREEK_ACROPHONIC_TROEZENIAN_FIFTY => Ok(AncientGreekNumbers::GreekAcrophonicTroezenianFifty),
GREEK_ACROPHONIC_TROEZENIAN_FIFTY_ALTERNATE_FORM => Ok(AncientGreekNumbers::GreekAcrophonicTroezenianFiftyAlternateForm),
GREEK_ACROPHONIC_HERMIONIAN_FIFTY => Ok(AncientGreekNumbers::GreekAcrophonicHermionianFifty),
GREEK_ACROPHONIC_THESPIAN_FIFTY => Ok(AncientGreekNumbers::GreekAcrophonicThespianFifty),
GREEK_ACROPHONIC_THESPIAN_ONE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicThespianOneHundred),
GREEK_ACROPHONIC_THESPIAN_THREE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicThespianThreeHundred),
GREEK_ACROPHONIC_EPIDAUREAN_FIVE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicEpidaureanFiveHundred),
GREEK_ACROPHONIC_TROEZENIAN_FIVE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicTroezenianFiveHundred),
GREEK_ACROPHONIC_THESPIAN_FIVE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicThespianFiveHundred),
GREEK_ACROPHONIC_CARYSTIAN_FIVE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicCarystianFiveHundred),
GREEK_ACROPHONIC_NAXIAN_FIVE_HUNDRED => Ok(AncientGreekNumbers::GreekAcrophonicNaxianFiveHundred),
GREEK_ACROPHONIC_THESPIAN_ONE_THOUSAND => Ok(AncientGreekNumbers::GreekAcrophonicThespianOneThousand),
GREEK_ACROPHONIC_THESPIAN_FIVE_THOUSAND => Ok(AncientGreekNumbers::GreekAcrophonicThespianFiveThousand),
GREEK_ACROPHONIC_DELPHIC_FIVE_MNAS => Ok(AncientGreekNumbers::GreekAcrophonicDelphicFiveMnas),
GREEK_ACROPHONIC_STRATIAN_FIFTY_MNAS => Ok(AncientGreekNumbers::GreekAcrophonicStratianFiftyMnas),
GREEK_ONE_HALF_SIGN => Ok(AncientGreekNumbers::GreekOneHalfSign),
GREEK_ONE_HALF_SIGN_ALTERNATE_FORM => Ok(AncientGreekNumbers::GreekOneHalfSignAlternateForm),
GREEK_TWO_THIRDS_SIGN => Ok(AncientGreekNumbers::GreekTwoThirdsSign),
GREEK_THREE_QUARTERS_SIGN => Ok(AncientGreekNumbers::GreekThreeQuartersSign),
GREEK_YEAR_SIGN => Ok(AncientGreekNumbers::GreekYearSign),
GREEK_TALENT_SIGN => Ok(AncientGreekNumbers::GreekTalentSign),
GREEK_DRACHMA_SIGN => Ok(AncientGreekNumbers::GreekDrachmaSign),
GREEK_OBOL_SIGN => Ok(AncientGreekNumbers::GreekObolSign),
GREEK_TWO_OBOLS_SIGN => Ok(AncientGreekNumbers::GreekTwoObolsSign),
GREEK_THREE_OBOLS_SIGN => Ok(AncientGreekNumbers::GreekThreeObolsSign),
GREEK_FOUR_OBOLS_SIGN => Ok(AncientGreekNumbers::GreekFourObolsSign),
GREEK_FIVE_OBOLS_SIGN => Ok(AncientGreekNumbers::GreekFiveObolsSign),
GREEK_METRETES_SIGN => Ok(AncientGreekNumbers::GreekMetretesSign),
GREEK_KYATHOS_BASE_SIGN => Ok(AncientGreekNumbers::GreekKyathosBaseSign),
GREEK_LITRA_SIGN => Ok(AncientGreekNumbers::GreekLitraSign),
GREEK_OUNKIA_SIGN => Ok(AncientGreekNumbers::GreekOunkiaSign),
GREEK_XESTES_SIGN => Ok(AncientGreekNumbers::GreekXestesSign),
GREEK_ARTABE_SIGN => Ok(AncientGreekNumbers::GreekArtabeSign),
GREEK_AROURA_SIGN => Ok(AncientGreekNumbers::GreekArouraSign),
GREEK_GRAMMA_SIGN => Ok(AncientGreekNumbers::GreekGrammaSign),
GREEK_TRYBLION_BASE_SIGN => Ok(AncientGreekNumbers::GreekTryblionBaseSign),
GREEK_ZERO_SIGN => Ok(AncientGreekNumbers::GreekZeroSign),
GREEK_ONE_QUARTER_SIGN => Ok(AncientGreekNumbers::GreekOneQuarterSign),
GREEK_SINUSOID_SIGN => Ok(AncientGreekNumbers::GreekSinusoidSign),
GREEK_INDICTION_SIGN => Ok(AncientGreekNumbers::GreekIndictionSign),
NOMISMA_SIGN => Ok(AncientGreekNumbers::NomismaSign),
_ => Err(()),
}
}
}
impl Into<u32> for AncientGreekNumbers {
fn into(self) -> u32 {
let c: char = self.into();
let hex = c
.escape_unicode()
.to_string()
.replace("\\u{", "")
.replace("}", "");
u32::from_str_radix(&hex, 16).unwrap()
}
}
impl std::convert::TryFrom<u32> for AncientGreekNumbers {
type Error = ();
fn try_from(u: u32) -> Result<Self, Self::Error> {
if let Ok(c) = char::try_from(u) {
Self::try_from(c)
} else {
Err(())
}
}
}
impl Iterator for AncientGreekNumbers {
type Item = Self;
fn next(&mut self) -> Option<Self> {
let index: u32 = (*self).into();
use std::convert::TryFrom;
Self::try_from(index + 1).ok()
}
}
impl AncientGreekNumbers {
pub fn new() -> Self {
AncientGreekNumbers::GreekAcrophonicAtticOneQuarter
}
pub fn name(&self) -> &str {
match self {
AncientGreekNumbers::GreekAcrophonicAtticOneQuarter => "greek acrophonic attic one quarter",
AncientGreekNumbers::GreekAcrophonicAtticOneHalf => "greek acrophonic attic one half",
AncientGreekNumbers::GreekAcrophonicAtticOneDrachma => "greek acrophonic attic one drachma",
AncientGreekNumbers::GreekAcrophonicAtticFive => "greek acrophonic attic five",
AncientGreekNumbers::GreekAcrophonicAtticFifty => "greek acrophonic attic fifty",
AncientGreekNumbers::GreekAcrophonicAtticFiveHundred => "greek acrophonic attic five hundred",
AncientGreekNumbers::GreekAcrophonicAtticFiveThousand => "greek acrophonic attic five thousand",
AncientGreekNumbers::GreekAcrophonicAtticFiftyThousand => "greek acrophonic attic fifty thousand",
AncientGreekNumbers::GreekAcrophonicAtticFiveTalents => "greek acrophonic attic five talents",
AncientGreekNumbers::GreekAcrophonicAtticTenTalents => "greek acrophonic attic ten talents",
AncientGreekNumbers::GreekAcrophonicAtticFiftyTalents => "greek acrophonic attic fifty talents",
AncientGreekNumbers::GreekAcrophonicAtticOneHundredTalents => "greek acrophonic attic one hundred talents",
AncientGreekNumbers::GreekAcrophonicAtticFiveHundredTalents => "greek acrophonic attic five hundred talents",
AncientGreekNumbers::GreekAcrophonicAtticOneThousandTalents => "greek acrophonic attic one thousand talents",
AncientGreekNumbers::GreekAcrophonicAtticFiveThousandTalents => "greek acrophonic attic five thousand talents",
AncientGreekNumbers::GreekAcrophonicAtticFiveStaters => "greek acrophonic attic five staters",
AncientGreekNumbers::GreekAcrophonicAtticTenStaters => "greek acrophonic attic ten staters",
AncientGreekNumbers::GreekAcrophonicAtticFiftyStaters => "greek acrophonic attic fifty staters",
AncientGreekNumbers::GreekAcrophonicAtticOneHundredStaters => "greek acrophonic attic one hundred staters",
AncientGreekNumbers::GreekAcrophonicAtticFiveHundredStaters => "greek acrophonic attic five hundred staters",
AncientGreekNumbers::GreekAcrophonicAtticOneThousandStaters => "greek acrophonic attic one thousand staters",
AncientGreekNumbers::GreekAcrophonicAtticTenThousandStaters => "greek acrophonic attic ten thousand staters",
AncientGreekNumbers::GreekAcrophonicAtticFiftyThousandStaters => "greek acrophonic attic fifty thousand staters",
AncientGreekNumbers::GreekAcrophonicAtticTenMnas => "greek acrophonic attic ten mnas",
AncientGreekNumbers::GreekAcrophonicHeraeumOnePlethron => "greek acrophonic heraeum one plethron",
AncientGreekNumbers::GreekAcrophonicThespianOne => "greek acrophonic thespian one",
AncientGreekNumbers::GreekAcrophonicHermionianOne => "greek acrophonic hermionian one",
AncientGreekNumbers::GreekAcrophonicEpidaureanTwo => "greek acrophonic epidaurean two",
AncientGreekNumbers::GreekAcrophonicThespianTwo => "greek acrophonic thespian two",
AncientGreekNumbers::GreekAcrophonicCyrenaicTwoDrachmas => "greek acrophonic cyrenaic two drachmas",
AncientGreekNumbers::GreekAcrophonicEpidaureanTwoDrachmas => "greek acrophonic epidaurean two drachmas",
AncientGreekNumbers::GreekAcrophonicTroezenianFive => "greek acrophonic troezenian five",
AncientGreekNumbers::GreekAcrophonicTroezenianTen => "greek acrophonic troezenian ten",
AncientGreekNumbers::GreekAcrophonicTroezenianTenAlternateForm => "greek acrophonic troezenian ten alternate form",
AncientGreekNumbers::GreekAcrophonicHermionianTen => "greek acrophonic hermionian ten",
AncientGreekNumbers::GreekAcrophonicMessenianTen => "greek acrophonic messenian ten",
AncientGreekNumbers::GreekAcrophonicThespianTen => "greek acrophonic thespian ten",
AncientGreekNumbers::GreekAcrophonicThespianThirty => "greek acrophonic thespian thirty",
AncientGreekNumbers::GreekAcrophonicTroezenianFifty => "greek acrophonic troezenian fifty",
AncientGreekNumbers::GreekAcrophonicTroezenianFiftyAlternateForm => "greek acrophonic troezenian fifty alternate form",
AncientGreekNumbers::GreekAcrophonicHermionianFifty => "greek acrophonic hermionian fifty",
AncientGreekNumbers::GreekAcrophonicThespianFifty => "greek acrophonic thespian fifty",
AncientGreekNumbers::GreekAcrophonicThespianOneHundred => "greek acrophonic thespian one hundred",
AncientGreekNumbers::GreekAcrophonicThespianThreeHundred => "greek acrophonic thespian three hundred",
AncientGreekNumbers::GreekAcrophonicEpidaureanFiveHundred => "greek acrophonic epidaurean five hundred",
AncientGreekNumbers::GreekAcrophonicTroezenianFiveHundred => "greek acrophonic troezenian five hundred",
AncientGreekNumbers::GreekAcrophonicThespianFiveHundred => "greek acrophonic thespian five hundred",
AncientGreekNumbers::GreekAcrophonicCarystianFiveHundred => "greek acrophonic carystian five hundred",
AncientGreekNumbers::GreekAcrophonicNaxianFiveHundred => "greek acrophonic naxian five hundred",
AncientGreekNumbers::GreekAcrophonicThespianOneThousand => "greek acrophonic thespian one thousand",
AncientGreekNumbers::GreekAcrophonicThespianFiveThousand => "greek acrophonic thespian five thousand",
AncientGreekNumbers::GreekAcrophonicDelphicFiveMnas => "greek acrophonic delphic five mnas",
AncientGreekNumbers::GreekAcrophonicStratianFiftyMnas => "greek acrophonic stratian fifty mnas",
AncientGreekNumbers::GreekOneHalfSign => "greek one half sign",
AncientGreekNumbers::GreekOneHalfSignAlternateForm => "greek one half sign alternate form",
AncientGreekNumbers::GreekTwoThirdsSign => "greek two thirds sign",
AncientGreekNumbers::GreekThreeQuartersSign => "greek three quarters sign",
AncientGreekNumbers::GreekYearSign => "greek year sign",
AncientGreekNumbers::GreekTalentSign => "greek talent sign",
AncientGreekNumbers::GreekDrachmaSign => "greek drachma sign",
AncientGreekNumbers::GreekObolSign => "greek obol sign",
AncientGreekNumbers::GreekTwoObolsSign => "greek two obols sign",
AncientGreekNumbers::GreekThreeObolsSign => "greek three obols sign",
AncientGreekNumbers::GreekFourObolsSign => "greek four obols sign",
AncientGreekNumbers::GreekFiveObolsSign => "greek five obols sign",
AncientGreekNumbers::GreekMetretesSign => "greek metretes sign",
AncientGreekNumbers::GreekKyathosBaseSign => "greek kyathos base sign",
AncientGreekNumbers::GreekLitraSign => "greek litra sign",
AncientGreekNumbers::GreekOunkiaSign => "greek ounkia sign",
AncientGreekNumbers::GreekXestesSign => "greek xestes sign",
AncientGreekNumbers::GreekArtabeSign => "greek artabe sign",
AncientGreekNumbers::GreekArouraSign => "greek aroura sign",
AncientGreekNumbers::GreekGrammaSign => "greek gramma sign",
AncientGreekNumbers::GreekTryblionBaseSign => "greek tryblion base sign",
AncientGreekNumbers::GreekZeroSign => "greek zero sign",
AncientGreekNumbers::GreekOneQuarterSign => "greek one quarter sign",
AncientGreekNumbers::GreekSinusoidSign => "greek sinusoid sign",
AncientGreekNumbers::GreekIndictionSign => "greek indiction sign",
AncientGreekNumbers::NomismaSign => "nomisma sign",
}
}
}