pub struct LongCount {
pub baktun: u32,
pub katun: u32,
pub tun: u32,
pub uinal: u32,
pub kin: u32,
}Expand description
The Mayan Long Count calendar date.
Composed of five place-value positions:
- kin = 1 day
- uinal = 20 kin = 20 days
- tun = 18 uinal = 360 days
- katun = 20 tun = 7,200 days
- baktun = 20 katun = 144,000 days
Fields§
§baktun: u32Baktun (144,000 days each).
katun: u32Katun (7,200 days each).
tun: u32Tun (360 days each).
uinal: u32Uinal (20 days each).
kin: u32Kin (1 day each).
Implementations§
Source§impl LongCount
impl LongCount
Sourcepub fn new(
baktun: u32,
katun: u32,
tun: u32,
uinal: u32,
kin: u32,
) -> Result<Self>
pub fn new( baktun: u32, katun: u32, tun: u32, uinal: u32, kin: u32, ) -> Result<Self>
Create a Long Count from its component periods.
§Errors
Returns SankhyaError::InvalidDate if katun >= 20, tun >= 20,
uinal >= 18, or kin >= 20.
Sourcepub fn from_days(days: u64) -> Result<Self>
pub fn from_days(days: u64) -> Result<Self>
Convert a day count (days since the Mayan creation date) to Long Count.
§Errors
Returns SankhyaError::OverflowError if the day count produces a
baktun value that exceeds u32::MAX.
Sourcepub fn from_julian_day(jdn: u64) -> Result<Self>
pub fn from_julian_day(jdn: u64) -> Result<Self>
Convert a Julian Day Number to a Mayan Long Count.
§Errors
Returns SankhyaError::InvalidDate if jdn is before the Mayan epoch.
Sourcepub fn to_julian_day(self) -> u64
pub fn to_julian_day(self) -> u64
Convert this Long Count to a Julian Day Number.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LongCount
impl<'de> Deserialize<'de> for LongCount
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for LongCount
impl Eq for LongCount
impl StructuralPartialEq for LongCount
Auto Trait Implementations§
impl Freeze for LongCount
impl RefUnwindSafe for LongCount
impl Send for LongCount
impl Sync for LongCount
impl Unpin for LongCount
impl UnsafeUnpin for LongCount
impl UnwindSafe for LongCount
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more