diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/kernel/computus.ml | 7 | ||||
| -rw-r--r-- | lib/kernel/computus.mli | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/lib/kernel/computus.ml b/lib/kernel/computus.ml index 1f60fb7..ba803d2 100644 --- a/lib/kernel/computus.ml +++ b/lib/kernel/computus.ml @@ -18,6 +18,13 @@ let gregorian_easter y = let day = ((h + l - (7 * m) + 114) mod 31) + 1 in mk y month day +let anchor y offset = Date.add_days (gregorian_easter y) offset +let ash_wednesday y = anchor y (-46) +let palm_sunday y = anchor y (-7) +let ascension y = anchor y 39 +let pentecost y = anchor y 49 +let corpus_christi y = anchor y 60 + (* Meeus Julian Easter: gives the JULIAN-calendar month/day; convert to the same physical day expressed in the proleptic Gregorian calendar by adding the Julian->Gregorian offset (days = y/100 - y/400 - 2). *) diff --git a/lib/kernel/computus.mli b/lib/kernel/computus.mli index dc8f215..0e227dc 100644 --- a/lib/kernel/computus.mli +++ b/lib/kernel/computus.mli @@ -4,6 +4,16 @@ (** Easter Sunday by the Gregorian reckoning (OF + EF). *) val gregorian_easter : int -> Date.t +(** Easter-relative movable-feast anchors (register section 0), Gregorian + reckoning: Ash Wednesday = Easter-46 (Wed), Palm Sunday = Easter-7, + Ascension = Easter+39 (Thu), Pentecost = Easter+49, Corpus Christi = + Easter+60 (Thu, EF). *) +val ash_wednesday : int -> Date.t +val palm_sunday : int -> Date.t +val ascension : int -> Date.t +val pentecost : int -> Date.t +val corpus_christi : int -> Date.t + (** Easter Sunday by the Julian reckoning, returned as the equivalent proleptic Gregorian date (for future eastern rites; EF/OF use {!gregorian_easter}). *) val julian_easter : int -> Date.t |
