/*

This file is auto-generated by the leap second code generator (0.04). This
code generator comes with the DateTime.pm module distribution in the tools/
directory

Generated inc::LeapSecondsHeader.

Do not edit this file directly.

*/


/* utc_rd must be a simple variable */
#define SET_LEAP_SECONDS(utc_rd, leaps)  \
  (leaps) =                              \
    utc_rd >= 736330 ? 27 :              \
    utc_rd >= 735780 ? 26 :              \
    utc_rd >= 734685 ? 25 :              \
    utc_rd >= 733408 ? 24 :              \
    utc_rd >= 732312 ? 23 :              \
    utc_rd >= 729755 ? 22 :              \
    utc_rd >= 729206 ? 21 :              \
    utc_rd >= 728659 ? 20 :              \
    utc_rd >= 728110 ? 19 :              \
    utc_rd >= 727745 ? 18 :              \
    utc_rd >= 727380 ? 17 :              \
    utc_rd >= 726833 ? 16 :              \
    utc_rd >= 726468 ? 15 :              \
    utc_rd >= 725737 ? 14 :              \
    utc_rd >= 724823 ? 13 :              \
    utc_rd >= 724092 ? 12 :              \
    utc_rd >= 723727 ? 11 :              \
    utc_rd >= 723362 ? 10 :              \
    utc_rd >= 722815 ? 9 :               \
    utc_rd >= 722450 ? 8 :               \
    utc_rd >= 722085 ? 7 :               \
    utc_rd >= 721720 ? 6 :               \
    utc_rd >= 721354 ? 5 :               \
    utc_rd >= 720989 ? 4 :               \
    utc_rd >= 720624 ? 3 :               \
    utc_rd >= 720259 ? 2 :               \
    utc_rd >= 720075 ? 1 :               \
    0;                                   \

#define SET_EXTRA_SECONDS(utc_rd, es)    \
    switch (utc_rd +1) {                 \
    case 720075: es = +1; break;         \
    case 720259: es = +1; break;         \
    case 720624: es = +1; break;         \
    case 720989: es = +1; break;         \
    case 721354: es = +1; break;         \
    case 721720: es = +1; break;         \
    case 722085: es = +1; break;         \
    case 722450: es = +1; break;         \
    case 722815: es = +1; break;         \
    case 723362: es = +1; break;         \
    case 723727: es = +1; break;         \
    case 724092: es = +1; break;         \
    case 724823: es = +1; break;         \
    case 725737: es = +1; break;         \
    case 726468: es = +1; break;         \
    case 726833: es = +1; break;         \
    case 727380: es = +1; break;         \
    case 727745: es = +1; break;         \
    case 728110: es = +1; break;         \
    case 728659: es = +1; break;         \
    case 729206: es = +1; break;         \
    case 729755: es = +1; break;         \
    case 732312: es = +1; break;         \
    case 733408: es = +1; break;         \
    case 734685: es = +1; break;         \
    case 735780: es = +1; break;         \
    case 736330: es = +1; break;         \
    default: es = 0;                     \
    }

#define SET_DAY_LENGTH(utc_rd, dl)       \
    switch (utc_rd +1) {                 \
    case 720075: dl = 86400 + +1; break; \
    case 720259: dl = 86400 + +1; break; \
    case 720624: dl = 86400 + +1; break; \
    case 720989: dl = 86400 + +1; break; \
    case 721354: dl = 86400 + +1; break; \
    case 721720: dl = 86400 + +1; break; \
    case 722085: dl = 86400 + +1; break; \
    case 722450: dl = 86400 + +1; break; \
    case 722815: dl = 86400 + +1; break; \
    case 723362: dl = 86400 + +1; break; \
    case 723727: dl = 86400 + +1; break; \
    case 724092: dl = 86400 + +1; break; \
    case 724823: dl = 86400 + +1; break; \
    case 725737: dl = 86400 + +1; break; \
    case 726468: dl = 86400 + +1; break; \
    case 726833: dl = 86400 + +1; break; \
    case 727380: dl = 86400 + +1; break; \
    case 727745: dl = 86400 + +1; break; \
    case 728110: dl = 86400 + +1; break; \
    case 728659: dl = 86400 + +1; break; \
    case 729206: dl = 86400 + +1; break; \
    case 729755: dl = 86400 + +1; break; \
    case 732312: dl = 86400 + +1; break; \
    case 733408: dl = 86400 + +1; break; \
    case 734685: dl = 86400 + +1; break; \
    case 735780: dl = 86400 + +1; break; \
    case 736330: dl = 86400 + +1; break; \
    default: dl = 86400;                 \
    }