;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Tue May 2 20:15:27 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/cal-mayan.el ;;; emacs version 19.28.90.69. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/cal-mayan.el' was compiled for Emacs 19")) (require (quote calendar)) #@52 Non-negative remainder of M/N with N instead of 0. (defalias 'mayan-adjusted-mod #[(m n) " S\n\"T" [mod m n] 3 (#$ . 514)]) #@332 Number of days of the Mayan calendar epoch before absolute day 0. According to the Goodman-Martinez-Thompson correlation. This correlation is not universally accepted, as it still a subject of astro-archeological research. Using 1232041 will give you Spinden's correlation; using 1142840 will give you Hochleitner's correlation. (defconst calendar-mayan-days-before-absolute-zero 1137140 (#$ . 647)) #@31 Mayan haab date at the epoch. (defconst calendar-mayan-haab-at-epoch (quote (8 . 18)) (#$ . 1055)) (byte-code "\nB" [["Pop" "Uo" "Zip" "Zotz" "Tzec" "Xul" "Yaxkin" "Mol" "Chen" "Yax" "Zac" "Ceh" "Mac" "Kankin" "Muan" "Pax" "Kayab" "Cumku"] calendar-mayan-haab-month-name-array current-load-list] 2) #@34 Mayan tzolkin date at the epoch. (defconst calendar-mayan-tzolkin-at-epoch (quote (4 . 20)) (#$ . 1366)) (byte-code "\nB" [["Imix" "Ik" "Akbal" "Kan" "Chicchan" "Cimi" "Manik" "Lamat" "Muluc" "Oc" "Chuen" "Eb" "Ben" "Ix" "Men" "Cib" "Caban" "Etznab" "Cauac" "Ahau"] calendar-mayan-tzolkin-names-array current-load-list] 2) #@66 Compute the Mayan long count corresponding to the absolute DATE. (defalias 'calendar-mayan-long-count-from-absolute #[(date) " \\å\næƥ Ʀȥ Ȧʥ ʦ\f\f  \f. " [date calendar-mayan-days-before-absolute-zero long-count 144000 baktun remainder 7200 katun 360 tun 20 uinal kin] 6 (#$ . 1701)]) #@57 Convert MAYAN-LONG-COUNT into traditional written form. (defalias 'calendar-mayan-long-count-to-string #[(mayan-long-count) " B\"" [apply format "%s.%s.%s.%s.%s" mayan-long-count] 4 (#$ . 2025)]) #@70 Given STR, a string of format "%d.%d.%d.%d.%d", return list of nums. (defalias 'calendar-string-to-mayan-long-count #[(str) " Gȏ !+" [nil str 0 cc c rlc condition (byte-code " W)\f#ƕ \f O!  B + GU6\"ȇ" [cc c string-match "[0-9]+" str start 0 end nil datum read rlc 5 signal invalid-read-syntax] 5) ((invalid-read-syntax)) reverse] 3 (#$ . 2231)]) #@56 Convert absolute DATE into a Mayan haab date (a pair). (defalias 'calendar-mayan-haab-from-absolute #[(date) " \\ @ AS_\\\\ŦĦĥT,B" [date calendar-mayan-days-before-absolute-zero long-count calendar-mayan-haab-at-epoch 20 365 day-of-haab day month] 5 (#$ . 2629)]) #@77 Number of days from Mayan haab DATE1 to next occurrence of haab date DATE2. (defalias 'calendar-mayan-haab-difference #[(date1 date2) " A\nAZ_ @\n@Z\\\"" [mod date2 date1 20 365] 4 (#$ . 2920)]) #@63 Absolute date of latest HAAB-DATE on or before absolute DATE. (defalias 'calendar-mayan-haab-on-or-before #[(haab-date date) "!\f\"ZŦZ" [date calendar-mayan-haab-difference calendar-mayan-haab-from-absolute 0 haab-date 365] 5 (#$ . 3125)]) #@83 Move cursor to next instance of Mayan HAAB-DATE. Echo Mayan date if NOECHO is t. (defalias 'calendar-next-haab-date #[(haab-date &optional noecho) " AA@)S @) A@) AA@) S_\\ Vn _\\ϥZ   ͦUe ѦU?e ҦU)n T  -_ͥѥ[ҥ\\\\\\\\*\\\"!! " [calendar-goto-date calendar-gregorian-from-absolute calendar-mayan-haab-on-or-before haab-date calendar-cursor-to-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 noecho calendar-print-mayan-date] 12 (#$ . 3378) (list (calendar-read-mayan-haab-date))]) #@87 Move cursor to previous instance of Mayan HAAB-DATE. Echo Mayan date if NOECHO is t. (defalias 'calendar-previous-haab-date #[(haab-date &optional noecho) " AA@)S @) A@) AA@) S_\\ Vn _\\ϥZ   ͦUe ѦU?e ҦU)n T  -_ͥѥ[ҥ\\\\\\\\*S\"!! " [calendar-goto-date calendar-gregorian-from-absolute calendar-mayan-haab-on-or-before haab-date calendar-cursor-to-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 noecho calendar-print-mayan-date] 12 (#$ . 3973) (list (calendar-read-mayan-haab-date))]) #@69 Convert Mayan haab date (a pair) into its traditional written form. (defalias 'calendar-mayan-haab-to-string #[(haab) "A@U \" \nSH#*" [haab day month 19 format "%d Uayeb" "%d %s" calendar-mayan-haab-month-name-array] 6 (#$ . 4574)]) #@59 Convert absolute DATE into a Mayan tzolkin date (a pair). (defalias 'calendar-mayan-tzolkin-from-absolute #[(date) " \\\n\f@\\\"\n\fA\\\"+B" [date calendar-mayan-days-before-absolute-zero long-count mayan-adjusted-mod calendar-mayan-tzolkin-at-epoch 13 day 20 name] 3 (#$ . 4832)]) #@78 Number of days from Mayan tzolkin DATE1 to next occurrence of tzolkin DATE2. (defalias 'calendar-mayan-tzolkin-difference #[(date1 date2) "@ @ZA AZ \nZ_\"_\\\"*" [date2 date1 name-difference number-difference mod 3 20 13 260] 5 (#$ . 5135)]) #@66 Absolute date of latest TZOLKIN-DATE on or before absolute DATE. (defalias 'calendar-mayan-tzolkin-on-or-before #[(tzolkin-date date) "!\f\"ZŦZ" [date calendar-mayan-tzolkin-difference calendar-mayan-tzolkin-from-absolute 0 tzolkin-date 260] 5 (#$ . 5395)]) #@86 Move cursor to next instance of Mayan TZOLKIN-DATE. Echo Mayan date if NOECHO is t. (defalias 'calendar-next-tzolkin-date #[(tzolkin-date &optional noecho) " AA@)S @) A@) AA@) S_\\ Vn _\\ϥZ   ͦUe ѦU?e ҦU)n T  -_ͥѥ[ҥ\\\\\\\\*\\\"!! " [calendar-goto-date calendar-gregorian-from-absolute calendar-mayan-tzolkin-on-or-before tzolkin-date calendar-cursor-to-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 260 noecho calendar-print-mayan-date] 12 (#$ . 5666) (list (calendar-read-mayan-tzolkin-date))]) #@90 Move cursor to previous instance of Mayan TZOLKIN-DATE. Echo Mayan date if NOECHO is t. (defalias 'calendar-previous-tzolkin-date #[(tzolkin-date &optional noecho) " AA@)S @) A@) AA@) S_\\ Vn _\\ϥZ   ͦUe ѦU?e ҦU)n T  -_ͥѥ[ҥ\\\\\\\\*S\"!! " [calendar-goto-date calendar-gregorian-from-absolute calendar-mayan-tzolkin-on-or-before tzolkin-date calendar-cursor-to-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 noecho calendar-print-mayan-date] 12 (#$ . 6283) (list (calendar-read-mayan-tzolkin-date))]) #@72 Convert Mayan tzolkin date (a pair) into its traditional written form. (defalias 'calendar-mayan-tzolkin-to-string #[(tzolkin) "\n@ \nASH#" [format "%d %s" tzolkin calendar-mayan-tzolkin-names-array] 5 (#$ . 6902)]) #@155 Absolute date that is Mayan TZOLKIN-DATE and HAAB-DATE. Latest such date on or before DATE. Returns nil if such a tzolkin-haab combination is impossible. (defalias 'calendar-mayan-tzolkin-haab-on-or-before #[(tzolkin-date haab-date date) "! \"!\"\fZ ʦU,  \f _\\Z\"Z+" [calendar-mayan-haab-difference calendar-mayan-haab-from-absolute 0 haab-date haab-difference calendar-mayan-tzolkin-difference calendar-mayan-tzolkin-from-absolute tzolkin-date tzolkin-difference difference 5 date mod 365 18980] 7 (#$ . 7128)]) #@30 Prompt for a Mayan haab date (defalias 'calendar-read-mayan-haab-date #[nil "\" W\"\n\n\"$!\n#\"A ,B" [t completion-ignore-case calendar-read "Haab kin (0-19): " (lambda (x) (and (>= x 0) (< x 20))) haab-day append calendar-mayan-haab-month-name-array 5 ("Uayeb") haab-month-list assoc capitalize completing-read "Haab uinal: " mapcar list nil calendar-make-alist 1 haab-month] 7 (#$ . 7673)]) #@33 Prompt for a Mayan tzolkin date (defalias 'calendar-read-mayan-tzolkin-date #[nil "\"\"  \"$! #\"A ,B" [t completion-ignore-case calendar-read "Tzolkin kin (1-13): " (lambda (x) (and (> x 0) (< x 14))) tzolkin-count append calendar-mayan-tzolkin-names-array nil tzolkin-name-list assoc capitalize completing-read "Tzolkin uinal: " mapcar list calendar-make-alist 1 tzolkin-name] 7 (#$ . 8106)]) #@107 Move cursor to next instance of Mayan HAAB-DATE TZOKLIN-DATE combination. Echo Mayan date if NOECHO is t. (defalias 'calendar-next-calendar-round-date #[(tzolkin-date haab-date &optional noecho) " \n AA@)S\f@)\fA@)\fAA@)S_\\\nVl\n_\\ΥZ\n̦UcЦU?cѦU)l\nT\n\n- _ ̥ Х[ ѥ\\\\\\\\*\\# !\n!#\f!! )" [calendar-mayan-tzolkin-haab-on-or-before tzolkin-date haab-date calendar-cursor-to-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 18980 error "%s, %s does not exist in the Mayan calendar round" calendar-mayan-tzolkin-to-string calendar-mayan-haab-to-string calendar-goto-date calendar-gregorian-from-absolute noecho calendar-print-mayan-date] 11 (#$ . 8537) (list (calendar-read-mayan-tzolkin-date) (calendar-read-mayan-haab-date))]) #@104 Move to previous instance of Mayan TZOKLIN-DATE HAAB-DATE combination. Echo Mayan date if NOECHO is t. (defalias 'calendar-previous-calendar-round-date #[(tzolkin-date haab-date &optional noecho) " \n AA@)S\f@)\fA@)\fAA@)S_\\\nVl\n_\\ΥZ\n̦UcЦU?cѦU)l\nT\n\n- _ ̥ Х[ ѥ\\\\\\\\*S# !\n!#\f!! )" [calendar-mayan-tzolkin-haab-on-or-before tzolkin-date haab-date calendar-cursor-to-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 error "%s, %s does not exist in the Mayan calendar round" calendar-mayan-tzolkin-to-string calendar-mayan-haab-to-string calendar-goto-date calendar-gregorian-from-absolute noecho calendar-print-mayan-date] 11 (#$ . 9389) (list (calendar-read-mayan-tzolkin-date) (calendar-read-mayan-haab-date))]) #@118 Compute the absolute date corresponding to the Mayan Long Count C. Long count is a list (baktun katun tun uinal kin) (defalias 'calendar-absolute-from-mayan-long-count #[(c) "@_A@_8_8_8[\\\\\\\\\\" [c 144000 7200 2 360 3 20 4 calendar-mayan-days-before-absolute-zero] 6 (#$ . 10234)]) #@88 String of Mayan date of Gregorian DATE. Defaults to today's date if DATE is not given. (defalias 'calendar-mayan-date-string #[(&optional date) " AA@)S@)A@)AA@)\f S_\\ Vb _\\˥Z ɦUY ͦU?Y ΦU)bT-\n_\nɥ\nͥ[\nΥ\\\\\\\\*!!!!!!$," [date calendar-current-date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 d calendar-mayan-tzolkin-from-absolute tzolkin calendar-mayan-haab-from-absolute haab calendar-mayan-long-count-from-absolute long-count format "Long count = %s; tzolkin = %s; haab = %s" calendar-mayan-long-count-to-string calendar-mayan-tzolkin-to-string calendar-mayan-haab-to-string] 8 (#$ . 10540)]) #@67 Show the Mayan long count, tzolkin, and haab equivalents of date. (defalias 'calendar-print-mayan-date #[nil "!!\"" [message "Mayan date: %s" calendar-mayan-date-string calendar-cursor-to-date t] 5 (#$ . 11258) nil]) #@76 Move cursor to Mayan long count DATE. Echo Mayan date unless NOECHO is t. (defalias 'calendar-goto-mayan-long-count-date #[(date &optional noecho) " !!!\f " [calendar-goto-date calendar-gregorian-from-absolute calendar-absolute-from-mayan-long-count date noecho calendar-print-mayan-date] 4 (#$ . 11487) (byte-code " AA@)S @)\nA@) AA@)\f \nS_\\\nV~\n_\\ҥZ\f\fЦUu\fԦU?u\fզU)~T- _ Х ԥ[ ե\\\\\\\\*!!\"!!) )C" [nil lc calendar-string-to-mayan-long-count read-string "Mayan long count (baktun.katun.tun.uinal.kin): " calendar-mayan-long-count-to-string calendar-mayan-long-count-from-absolute calendar-current-date date prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 datum calendar-mayan-long-count-common-era] 13)]) #@52 T if long count represents date in the Common Era. (defalias 'calendar-mayan-long-count-common-era #[(lc) "! @\n@U A\nA ?$ @\n@V)" [calendar-mayan-long-count-from-absolute 1 base lc] 3 (#$ . 12337)]) #@70 Show the Mayan long count, haab, and tzolkin dates as a diary entry. (defalias 'diary-mayan-date #[nil " !\"" [format "Mayan date: %s" calendar-mayan-date-string date] 4 (#$ . 12562)]) (provide (quote cal-mayan))