static unsigned int super(unsigned int res) { for (int y = 1917; y < 2299; y++) { for (int m = 1; m <= 12; m++) { for (int d = 0; d < 32; d++) { unsigned int yd; yd = __md_get_yday(y, m, d); res += y * m * yd + d; } } } return res; }
static dt_daisy_t __ymcw_to_daisy(dt_ymcw_t d) { dt_daisy_t res; unsigned int sy = d.y; unsigned int sm = d.m; unsigned int sd; if (UNLIKELY((signed int)TO_BASE(sy) < 0)) { return 0; } sd = __ymcw_get_mday(d); res = __jan00_daisy(sy); res += __md_get_yday(sy, sm, sd); return res; }
static dt_yd_t __ymcw_to_yd(dt_ymcw_t d) { unsigned int sd = __ymcw_get_mday(d); unsigned int sm = d.m; unsigned int sy = d.y; #if defined HAVE_ANON_STRUCTS_INIT return (dt_yd_t){.y = sy, .d = __md_get_yday(sy, sm, sd)}; #else dt_yd_t res; res.y = sy; res.d = __md_get_yday(sy, sm, sd); return res; #endif } #endif /* ASPECT_CONV */ #if defined ASPECT_ADD && !defined YMCW_ASPECT_ADD_ #define YMCW_ASPECT_ADD_ static dt_ymcw_t __ymcw_fixup_c(unsigned int y, signed int m, signed int c, dt_dow_t w) { dt_ymcw_t res = {0}; /* fixup q */ if (LIKELY(c >= 1 && c <= 4)) { /* all months in our design range have 4 occurrences of * any weekday, so YAAAY*/ ; } else if (c < 1) { int mc; do { if (UNLIKELY(--m < 1)) { --y; m = GREG_MONTHS_P_YEAR; } mc = __get_mcnt(y, m, w); c += mc; } while (c < 1); } else { int mc; while (c > (mc = __get_mcnt(y, m, w))) { c -= mc; if (UNLIKELY(++m > (signed int)GREG_MONTHS_P_YEAR)) { ++y; m = 1; } } } /* final assignment */ res.y = y; res.m = m; res.c = c; res.w = w; return res; }