The old Hindu Lunisolar calendar as given in CC.UE describes the South Indian version where months begin at New Moon (amanta scheme).
More...
|
|
virtual void | retranslate () Q_DECL_OVERRIDE |
| |
|
virtual void | setJD (double JD) Q_DECL_OVERRIDE |
| | Set a calendar date from the Julian day number.
|
| |
| virtual void | setDate (QVector< int > parts) Q_DECL_OVERRIDE |
| | set date from a vector of calendar date elements sorted from the largest to the smallest. More...
|
| |
| virtual QStringList | getDateStrings () const Q_DECL_OVERRIDE |
| | get a stringlist of calendar date elements sorted from the largest to the smallest. More...
|
| |
|
virtual QString | getFormattedDateString () const Q_DECL_OVERRIDE |
| | get a formatted complete string for a date
|
| |
|
virtual void | retranslate () Q_DECL_OVERRIDE |
| |
|
virtual void | setJD (double JD) Q_DECL_OVERRIDE |
| | Set a calendar date from the Julian day number.
|
| |
| virtual void | setDate (QVector< int > parts) Q_DECL_OVERRIDE |
| | set date from a vector of calendar date elements sorted from the largest to the smallest. More...
|
| |
| virtual QStringList | getDateStrings () const Q_DECL_OVERRIDE |
| | get a stringlist of calendar date elements sorted from the largest to the smallest. More...
|
| |
|
virtual QString | getFormattedDateString () const Q_DECL_OVERRIDE |
| | get a formatted complete string for a date
|
| |
|
virtual void | retranslate ()=0 |
| | Translate e.g. stringlists of part names.
|
| |
|
virtual void | setJD (double JD)=0 |
| | Set a calendar date from the Julian day number Subclasses set JD and compute the parts and possibly other data This triggers the partsChanged() signal.
|
| |
|
virtual double | getJD () const |
| | Get Julian day number from a calendar date.
|
| |
| virtual void | setDate (QVector< int > parts)=0 |
| | set date from a vector of calendar date elements sorted from the largest to the smallest. More...
|
| |
| virtual QVector< int > | getDate () const |
| | get a vector of calendar date elements sorted from the largest to the smallest. More...
|
| |
| virtual QStringList | getDateStrings () const =0 |
| | get a stringlist of calendar date elements sorted from the largest to the smallest. More...
|
| |
|
virtual QString | getFormattedDateString () const |
| | get a formatted complete string for a date. The default implementation just concatenates all strings from getDateStrings() with a space in between.
|
| |
|
|
static int | fixedFromOldHinduLunar (QVector< int > parts) |
| | compute RD date from an Old Hindu Lunisolar date parts={ year, month, leap, day}
|
| |
|
static QVector< int > | oldHinduLunarFromFixed (int rd) |
| | return { year, month, leap, day}
|
| |
|
static bool | isLeap (int lYear) |
| | called old-hindu-lunar-leap-year?() in the CC.UE book.
|
| |
|
static int | hinduDayCount (int rd) |
| | Return Hindu day count from RD.
|
| |
|
static int | jovianYear (int rd) |
| |
|
static int | fixedFromOldHinduSolar (QVector< int > parts) |
| | year index in Jovian cycle [1..60]
|
| |
|
static QVector< int > | oldHinduSolarFromFixed (int rd) |
| |
| static double | momentFromJD (double jd, bool respectUTCoffset=true) |
| | Interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a "moment" in RD that represents JD. More...
|
| |
|
static int | fixedFromMoment (double rd) |
| |
|
static double | timeFromMoment (double rd) |
| |
| static int | fixedFromJD (double jd, bool respectUTCoffset=true) |
| | Interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a fixed date in RD that represents noon of JD. More...
|
| |
|
static double | momentFromMJD (double mjd) |
| |
| static double | jdFromMoment (double rd, bool respectUTCoffset=true) |
| | interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a JD from an RD "moment" (including fractions of day) Stellarium extension: optionally includes local time zone offset. More...
|
| |
| static double | jdFromFixed (double rd, bool respectUTCoffset=true) |
| | interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a JD from an RD "moment" (including fractions of day) Stellarium extension: optionally includes local time zone offset. More...
|
| |
|
static double | mjdFromFixed (double rd) |
| |
|
static int | dayOfWeekFromFixed (int rd) |
| | weekday from RD date. CC.UE(1.60).
|
| |
|
static int | kdayOnOrBefore (const Calendar::Day k, const int rd) |
| | @Returns the R.D. of the nearest weekday k on or before rd
|
| |
|
static int | kdayOnOrAfter (const Calendar::Day k, const int rd) |
| | @Returns the R.D. of the nearest weekday k on or after rd
|
| |
|
static int | kdayNearest (const Calendar::Day k, const int rd) |
| | @Returns the R.D. of the nearest weekday k around rd
|
| |
|
static int | kdayBefore (const Calendar::Day k, const int rd) |
| | @Returns the R.D. of the nearest weekday k before rd
|
| |
|
static int | kdayAfter (const Calendar::Day k, const int rd) |
| | @Returns the R.D. of the nearest weekday k after rd
|
| |
| static double | modInterval (double x, double a, double b) |
| | Interval modulus, CC.UE 1.24. More...
|
| |
|
static int | modInterval (int x, int a, int b) |
| | Interval modulus, CC.UE 1.24: This EXCLUDES the upper limit! Use StelUtils::amod(x, b) for CC's (x)mod[1..b].
|
| |
|
static int | rdCorrSum (QVector< int >parts, QVector< int >factors, int corr) |
| | Reingold-Dershowitz CC.UE 1.48.
|
| |
|
static QVector< int > | toRadix (int num, QVector< int >radix) |
| | Split integer to mixed-radix vector. Reingold-Dershowitz CC.UE 1.42.
|
| |
|
|
constexpr static const double | aryaLunarMonth = 1577917500./53433336.0 |
| |
|
constexpr static const double | aryaLunarDay = aryaLunarMonth/30.0 |
| |
|
static QMap< int, QString > | monthNames |
| |
|
static const int | hinduEpoch |
| |
|
constexpr static const double | aryaSolarYear = 1577917500./4320000.0 |
| |
|
constexpr static const double | aryaSolarMonth = aryaSolarYear/12.0 |
| |
|
constexpr static const double | aryaJovianPeriod = 1577917500./364224.0 |
| |
|
static QMap< int, QString > | weekDayNames |
| |
|
static QMap< int, QString > | monthNames |
| |
|
static QMap< int, QString > | jovianNames |
| |
|
| enum | Day {
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday,
saturday
} |
| | enum from CC.UE-ch1.12.
|
| |
| enum | Season { spring = 0,
summer = 90,
autumn = 180,
winter = 270
} |
| |
|
void | partsChanged (QVector< int > parts) |
| |
|
void | jdChanged (double jd) |
| |
|
constexpr static const double | J2000 =2451545.0 |
| |
|
constexpr static const double | jdEpoch =-1721424.5 |
| |
|
constexpr static const double | mjdEpoch =678576.0 |
| |
|
constexpr static const int | bogus =-1000000 |
| |
|
double | JD |
| |
|
QVector< int > | parts |
| | date expressed as JD(UT), including day fraction (ready to interact with the main application)
|
| |
The name of a lunar month depends on the solar month that begins during that lunar month. A month is leap and takes the following month’s name when no solar month begins within it. The calendar repeats after 180.000 years.