Module calendrica-astronomical-lunar
Astronomical lunar calendar conversions (Babylonian, Observational Islamic/Hebrew, Samaritan).
Ported from “Calendrical Calculations” (4th edition) by Nachum Dershowitz and Edward M. Reingold. Original Lisp code (CALENDRICA 4.0) is Apache 2.0 licensed.
This module also includes the Turkish (Diyanet) Islamic calendar, which is not from the book; it is marked, with its source, at its definition.
Info:
- Release: 0.2 2026-09-21
Functions
| fixed_from_babylonian (b_date) | Fixed date equivalent to Babylonian date b_date. |
| babylonian_from_fixed (date) | Babylonian date {year, month, leap, day} corresponding to fixed date. |
| fixed_from_observational_islamic (i_date) | Fixed date equivalent to Observational Islamic date i_date. |
| observational_islamic_from_fixed (date) | Observational Islamic date {year, month, day} corresponding to fixed date. |
| fixed_from_saudi_islamic (s_date) | Fixed date equivalent to Saudi Islamic date s_date. |
| saudi_islamic_from_fixed (date) | Saudi Islamic date {year, month, day} corresponding to fixed date. |
| fixed_from_turkish_islamic (i_date) | Fixed date equivalent to Turkish Islamic date i_date. |
| turkish_islamic_from_fixed (date) | Turkish Islamic date {year, month, day} corresponding to fixed date. |
| astronomical_easter (g_year) | Date of (proposed) astronomical Easter in Gregorian year g_year. |
| fixed_from_observational_hebrew (h_date) | Fixed date equivalent to Observational Hebrew date h_date. |
| observational_hebrew_from_fixed (date) | Observational Hebrew date {year, month, day} corresponding to fixed date. |
| samaritan_from_fixed (date) | Samaritan date {year, month, day} corresponding to fixed date. |
| fixed_from_samaritan (s_date) | Fixed date of Samaritan date s_date. |
| babylonian_leap_year (b_year) | True if Babylonian year b_year is a leap year. |
| phasis_on_or_before (date, location) | Closest fixed date on or before date when crescent moon first became visible at location. |
| phasis_on_or_after (date, location) | Closest fixed date on or after date when crescent moon first became visible at location. |
| shaukat_criterion (date, location) | True if crescent moon is likely visible on the eve of date at location (Shaukat criterion). |
| yallop_criterion (date, location) | True if crescent moon is possibly visible on the eve of date at location (Yallop criterion). |
Functions
- fixed_from_babylonian (b_date)
-
Fixed date equivalent to Babylonian date
b_date.Parameters:
- b_date table Babylonian date {year, month, leap, day}.
Returns:
-
number
Fixed date.
- babylonian_from_fixed (date)
-
Babylonian date {year, month, leap, day} corresponding to fixed
date.Parameters:
- date number Fixed date.
Returns:
-
table
{year, month, leap, day}
- fixed_from_observational_islamic (i_date)
-
Fixed date equivalent to Observational Islamic date
i_date.Parameters:
- i_date table Islamic date {year, month, day}.
Returns:
-
number
Fixed date.
- observational_islamic_from_fixed (date)
-
Observational Islamic date {year, month, day} corresponding to fixed
date.Parameters:
- date number Fixed date.
Returns:
-
table
{year, month, day}
- fixed_from_saudi_islamic (s_date)
-
Fixed date equivalent to Saudi Islamic date
s_date.Parameters:
- s_date table Islamic date {year, month, day}.
Returns:
-
number
Fixed date.
- saudi_islamic_from_fixed (date)
-
Saudi Islamic date {year, month, day} corresponding to fixed
date.Parameters:
- date number Fixed date.
Returns:
-
table
{year, month, day}
- fixed_from_turkish_islamic (i_date)
-
Fixed date equivalent to Turkish Islamic date
i_date.Parameters:
- i_date table Islamic date {year, month, day}.
Returns:
-
number
Fixed date.
- turkish_islamic_from_fixed (date)
-
Turkish Islamic date {year, month, day} corresponding to fixed
date.Parameters:
- date number Fixed date.
Returns:
-
table
{year, month, day}
- astronomical_easter (g_year)
-
Date of (proposed) astronomical Easter in Gregorian year
g_year.Parameters:
- g_year number Gregorian year.
Returns:
-
number
Fixed date.
- fixed_from_observational_hebrew (h_date)
-
Fixed date equivalent to Observational Hebrew date
h_date.Parameters:
- h_date table Hebrew date {year, month, day}.
Returns:
-
number
Fixed date.
- observational_hebrew_from_fixed (date)
-
Observational Hebrew date {year, month, day} corresponding to fixed
date.Parameters:
- date number Fixed date.
Returns:
-
table
{year, month, day}
- samaritan_from_fixed (date)
-
Samaritan date {year, month, day} corresponding to fixed
date.Parameters:
- date number Fixed date.
Returns:
-
table
{year, month, day}
- fixed_from_samaritan (s_date)
-
Fixed date of Samaritan date
s_date.Parameters:
- s_date table Samaritan date {year, month, day}.
Returns:
-
number
Fixed date.
- babylonian_leap_year (b_year)
-
True if Babylonian year
b_yearis a leap year.Parameters:
- b_year number Babylonian year.
Returns:
-
boolean
- phasis_on_or_before (date, location)
-
Closest fixed date on or before
datewhen crescent moon first became visible atlocation.Parameters:
- date
number
Fixed date. - location table Location table.
Returns:
-
number
Fixed date.
- date
number
- phasis_on_or_after (date, location)
-
Closest fixed date on or after
datewhen crescent moon first became visible atlocation.Parameters:
- date
number
Fixed date. - location table Location table.
Returns:
-
number
Fixed date.
- date
number
- shaukat_criterion (date, location)
-
True if crescent moon is likely visible on the eve of
dateatlocation(Shaukat criterion).Parameters:
- date
number
Fixed date. - location table Location table.
Returns:
-
boolean
- date
number
- yallop_criterion (date, location)
-
True if crescent moon is possibly visible on the eve of
dateatlocation(Yallop criterion).Parameters:
- date
number
Fixed date. - location table Location table.
Returns:
-
boolean
- date
number