|
CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
|
Classes | |
| struct | Times |
| Modelled UT1 and TT at the same instant, in Julian days. More... | |
Enumerations | |
| enum class | Scale : uint8_t { UTC , UT1 } |
| The explicitly declared scale of a civil datetime. More... | |
Functions | |
| auto | ut1_to_jd (const calendar::Datetime &ut1_dt) -> double |
| Convert UT1 datetime to julian day number. | |
| auto | jd_to_ut1 (const double jd) -> calendar::Datetime |
| Convert julian day number to UT1 datetime. | |
| auto | tt_to_jde (const calendar::Datetime &tt_dt) -> double |
| Converts a TT datetime to julian ephemeris day number. | |
| auto | jde_to_tt (const double jde) -> calendar::Datetime |
| Converts a julian ephemeris day number to TT datetime. | |
| auto | civil_to_tt (const calendar::Datetime &civil_dt, const Scale scale, const astro::delta_t::Model model=astro::delta_t::DEFAULT_MODEL) -> calendar::Datetime |
| Convert one explicitly scaled civil datetime to TT, with strict modern UTC admission. | |
| auto | resolve_times (const calendar::Datetime &civil_dt, const Scale scale, const astro::delta_t::Model model=astro::delta_t::DEFAULT_MODEL) -> Times |
| Resolve UT1 and TT without additional civil-year or derived-TT admission policy. | |
| auto | jde_to_ut1 (const double jde) -> calendar::Datetime |
| Converts a julian ephemeris day number to UT1 datetime. | |
| auto | ut1_to_jde (const calendar::Datetime &ut1_dt) -> double |
| Converts a UT1 datetime to julian ephemeris day number. | |
| auto | jde_to_utc (const double jde) -> calendar::Datetime |
| Converts a julian ephemeris day number to UTC datetime. | |
| auto | utc_to_jde (const calendar::Datetime &utc_dt) -> double |
| Converts a UTC datetime to julian ephemeris day number. | |
| auto | utc_year_start_jde (const std::chrono::year year) -> double |
| Return the JDE(TT) of January 1 at 00:00 UTC in a calendar year. | |
| auto | validate_annual_year (const int32_t year) -> void |
| Validate a Gregorian year for an annual (whole-year) query. | |
| auto | utc_year_jde_window (const int32_t year) -> std::array< double, 2 > |
| Return the half-open UTC year window expressed as JDE(TT) bounds. | |
| constexpr auto | jde_to_jm (const double jde) -> double |
| Converts a julian ephemeris day number to julian millennium. | |
| constexpr auto | jm_to_jde (const double jm) -> double |
| Converts a julian millennium to julian ephemeris day number. | |
| constexpr auto | jde_to_jc (const double jde) -> double |
| Converts a julian ephemeris day number to julian century. | |
| constexpr auto | jc_to_jde (const double jc) -> double |
| Converts a julian century to julian ephemeris day number. | |
Variables | |
| constexpr double | J2000 |
| The julian day number of 2000-01-01, 12:00:00.0 (noon). | |
| constexpr double | DAYS_PER_JULIAN_CENTURY |
| The number of days in one Julian century (36525 days). | |
|
strong |
|
inlinenodiscard |
Convert one explicitly scaled civil datetime to TT, with strict modern UTC admission.
| civil_dt | A valid civil datetime, without an inserted leap second. |
| scale | UTC from 1972-01-01, or explicitly labelled UT1. |
| model | Delta T model for UT1 input; UTC-to-TT does not evaluate Delta T. |
| std::invalid_argument | For invalid input, model-domain rejection or an unrepresentable shift. |
|
nodiscardconstexpr |
Converts a julian century to julian ephemeris day number.
| jc | The julian century since J2000. |
|
inlinenodiscard |
Convert julian day number to UT1 datetime.
| jd | The julian day number. |
| std::invalid_argument | if jd is not finite, beyond the year_month_day-representable years, or the estimated gregorian year is < 401. |
|
nodiscardconstexpr |
Converts a julian ephemeris day number to julian century.
| jde | The julian ephemeris day number, which is based on TT. |
|
nodiscardconstexpr |
Converts a julian ephemeris day number to julian millennium.
| jde | The julian ephemeris day number, which is based on TT. |
|
inlinenodiscard |
Converts a julian ephemeris day number to TT datetime.
| jde | The julian ephemeris day number, which is based on TT (not UT1). |
|
inlinenodiscard |
Converts a julian ephemeris day number to UT1 datetime.
| jde | The julian ephemeris day number, which is based on TT. |
|
inlinenodiscard |
Converts a julian ephemeris day number to UTC datetime.
| jde | The julian ephemeris day number, which is based on TT. |
|
nodiscardconstexpr |
Converts a julian millennium to julian ephemeris day number.
| jm | The julian millennium since J2000. |
|
inlinenodiscard |
Resolve UT1 and TT without additional civil-year or derived-TT admission policy.
| civil_dt | A valid civil datetime on the declared scale. |
| scale | UTC from 1972-01-01, or explicitly labelled UT1. |
| model | The selected Delta T model. |
| std::invalid_argument | For invalid input, model-domain rejection or an unrepresentable shift. |
|
inlinenodiscard |
Converts a TT datetime to julian ephemeris day number.
| tt_dt | The date and time (TT). |
|
inlinenodiscard |
Convert UT1 datetime to julian day number.
| ut1_dt | The datetime in UT1. |
| std::invalid_argument | if the gregorian year is < 1. |
|
inlinenodiscard |
Converts a UT1 datetime to julian ephemeris day number.
| ut1_dt | The date and time, in UT1. |
| std::invalid_argument | If the datetime is invalid, the TT shift leaves the representable years, or the converted TT year is below 1; see ut1_to_jd. |
|
inlinenodiscard |
Converts a UTC datetime to julian ephemeris day number.
| utc_dt | The date and time, in UTC. |
| std::invalid_argument | If a pre-1972 datetime is invalid, the UTC-to-TT shift leaves the representable years, or the converted TT year is below 1; see astro::leap_second::utc_to_tt and ut1_to_jd. |
|
inlinenodiscard |
Return the half-open UTC year window expressed as JDE(TT) bounds.
| year | Gregorian year in [1, 32766], leaving the next January 1 representable. |
| std::invalid_argument | If the year leaves [1, 32766]. |
|
inlinenodiscard |
Return the JDE(TT) of January 1 at 00:00 UTC in a calendar year.
| year | Gregorian year in [1, 32767]. |
| std::invalid_argument | If the calendar year is invalid or below 1; see ut1_to_jd. |
|
inline |
Validate a Gregorian year for an annual (whole-year) query.
| year | The original integer year. |
| std::invalid_argument | If year leaves [1, 32766]. |
|
inlineconstexpr |
The number of days in one Julian century (36525 days).
|
inlineconstexpr |
The julian day number of 2000-01-01, 12:00:00.0 (noon).