⍝ Mayan counting and dates:
deco←{20⊥+/'$↑⍞⍟'∘.=⍵~' '} ⍝ Early Meso-American counting.
deco'$ $ ↑ ⍞ ⍞ ⍞ ⍟ ⍟ ⍟ ⍟'
16464
long_count←{ ⍝ Mayan Long Count from Gregorian (⎕TS) date.
⍺←584283 ⍝ default GMT correlation: 0.0.0.0.0 ≡ JD:584283.
G←⌊days ⍵ ⍝ Gregorian day.
J←2415020+G ⍝ Julian day.
mayan J-⍺ ⍝ Mayan from Julian.
}
⍕long_count 2003 12 25 ⍝ 2003-12-25 ≡ 12.19.10.15.16
⍟ ⍟
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⍟⍟⍟⍟
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⍟
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
⌹⌹⌹⌹⌹
Months←'Pop' 'Wo' 'Sip' 'Sotz''' 'Tzek' 'Xul' 'Yaxk''in' 'Mol' 'Ch''en' 'Yax' 'Sak' 'Keh' 'Mak' 'K''ank''in' 'Muwan' 'Pax' 'K''ayab' 'Kumk''u' 'Wayeb'
haab←{⎕io←0 ⍝ Mayan day within month.
⍺←245 ⍝ align Gregorian and Maya cycles.
mon day←0 20⊤365|⍺+⌊days ⍵ ⍝ month index and day number.
name←mon⊃Months ⍝ name of month.
day name ⍝ day within month.
}
haab 2003 12 25 ⍝ Christmas day 2003 fell on the third day of K'ank'in.
┌─┬────────┐
│4│K'ank'in│
└─┴────────┘
Days←'Imix' 'Ik''' 'Ak''bal' 'K''an' 'Chikchan' 'Kimi' 'Manik''' 'Lamat' 'Muluk' 'Ok' 'Chuwen' 'Eb' 'Ben' 'Ix' 'Men' 'Kib' 'Kaban' 'Etz''nab' 'Kawak' 'Ahaw'
tzolkin←{⎕io←0 ⍝ Mayan Tzolkin number and day.
⍺←2 16 ⍝ align Gregorian and Maya cycles.
num day←13 20|⍺+⌊days ⍵ ⍝ day number and name index.
name←day⊃Days ⍝ day name.
(1+num)name ⍝ 1-origin day within cycle.
}
tzolkin 2003 12 25 ⍝ Christmas day 2003 fell on day 7, an Ix-day.
┌─┬───┐
│9│Kib│
└─┴───┘
time_units←'Kin' 'Uinal' 'Tun' 'Katun' 'Baktun' 'Piktun' 'Kalabtun' 'Kinchiltun' 'Alautun' 'Hablatun'
stela←{⎕ml←0 ⍝ Stela for date ⍵ (yyyy mm dd).
long←long_count ⍵ ⍝ Long Count days.
hnum hname←haab ⍵ ⍝ month and day.
tnum tname←tzolkin ⍵ ⍝ week and day.
digits←long⍪↑,∘mayan¨tnum hnum ⍝ maya-style digits.
lft←1 0∘↓¨digits ⍝ left-side column: numbers.
rgt←⌽7↑hname tname,time_units ⍝ right-side column: names.
disp lft,rgt ⍝ collected stela.
}
david←1974 04 17
victoria←1975 05 02
brooklyn←1999 03 04
romeo←2002 09 01
cruz←2005 02 20
harper7←2011 07 10
⍕stela¨¨(david victoria)(brooklyn romeo cruz harper7)
┌─────┬──────┐ ┌─────┬──────┐ ┌─────┬──────┐ ┌─────┬──────┐ ┌─────┬──────┐ ┌─────┬──────┐
│ ⍟ ⍟ │Baktun│ │ ⍟ ⍟ │Baktun│ │ ⍟ ⍟ │Baktun│ │ ⍟ ⍟ │Baktun│ │ ⍟ ⍟ │Baktun│ │ ⍟ ⍟ │Baktun│
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤
│ ⍟⍟⍟ │Katun │ │ ⍟⍟⍟ │Katun │ │⍟⍟⍟⍟ │Katun │ │⍟⍟⍟⍟ │Katun │ │⍟⍟⍟⍟ │Katun │ │⍟⍟⍟⍟ │Katun │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤
│ _@/ │Tun │ │ ⍟ │Tun │ │⌹⌹⌹⌹⌹│Tun │ │⍟⍟⍟⍟ │Tun │ │ ⍟ ⍟ │Tun │ │ ⍟⍟⍟ │Tun │
├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│ ⍟⍟⍟ │Uinal │ │⍟⍟⍟⍟ │Uinal │ │ ⍟ ⍟ │Uinal │ ├─────┼──────┤ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⍟⍟⍟⍟ │Uinal │ ├─────┼──────┤ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │ _@/ │Uinal │ ├─────┼──────┤
├─────┼──────┤ ├─────┼──────┤ │⌹⌹⌹⌹⌹│ │ ├─────┼──────┤ ├─────┼──────┤ │⍟⍟⍟⍟ │Uinal │
│ ⍟ ⍟ │Kin │ │ ⍟ ⍟ │Kin │ ├─────┼──────┤ │ ⍟ │Kin │ │⍟⍟⍟⍟ │Kin │ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⍟⍟⍟⍟ │Kin │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ ├─────┼──────┤
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│Kin │
├─────┼──────┤ ├─────┼──────┤ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│ ⍟ ⍟ │Eb │ │⌹⌹⌹⌹⌹│Eb │ │⌹⌹⌹⌹⌹│ │ ├─────┼──────┤ ├─────┼──────┤ ├─────┼──────┤
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │ ├─────┼──────┤ │⌹⌹⌹⌹⌹│Kib │ │ ⍟⍟⍟ │Kawak │ │ ⍟ ⍟ │Ok │
├─────┼──────┤ ├─────┼──────┤ │ ⍟ ⍟ │Kawak │ │⌹⌹⌹⌹⌹│ │ ├─────┼──────┤ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│Pop │ │ _@/ │Wo │ │⌹⌹⌹⌹⌹│ │ ├─────┼──────┤ │ ⍟ ⍟ │K'ayab│ ├─────┼──────┤
└─────┴──────┘ └─────┴──────┘ ├─────┼──────┤ │⍟⍟⍟⍟ │Mol │ └─────┴──────┘ │ ⍟⍟⍟ │Tzek │
│ ⍟ ⍟ │K'ayab│ │⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ └─────┴──────┘ │⌹⌹⌹⌹⌹│ │
│⌹⌹⌹⌹⌹│ │ │⌹⌹⌹⌹⌹│ │
└─────┴──────┘ └─────┴──────┘
⍝∇ mayan days
Back to: code
Back to: Workspaces