def _to_jd_schematic(year, month, day, method):
y0, y1, y2, y3, y4, y5 = <NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:0><EOL>intercal_cycle_yrs, over_cycle_yrs, leap_suppression_yrs = None, None, None<EOL>if ((method in (<NUM_LIT:100>, '<STR_LIT>') and year < <NUM_LIT:15>) or<EOL>(method in (<NUM_LIT>, '<STR_LIT>') and year < <NUM_LIT>)):<EOL><INDENT>method = <NUM_LIT:4><EOL><DEDENT>if method in (<NUM_LIT:4>, '<STR_LIT>'):<EOL><INDENT>y5 = -<NUM_LIT><EOL><DEDENT>elif method in (<NUM_LIT:100>, '<STR_LIT>'):<EOL><INDENT>year = year - <NUM_LIT><EOL>y5 = DAYS_IN_YEAR * <NUM_LIT:12> + <NUM_LIT:3><EOL>leap_suppression_yrs = <NUM_LIT><EOL>leap_suppression_days = <NUM_LIT>  <EOL>intercal_cycle_yrs = <NUM_LIT><EOL>intercal_cycle_days = <NUM_LIT>  <EOL>over_cycle_yrs = <NUM_LIT><EOL>over_cycle_days = <NUM_LIT>  <EOL><DEDENT>elif method in (<NUM_LIT>, '<STR_LIT>'):<EOL><INDENT>year = year - <NUM_LIT><EOL>y5 = DAYS_IN_YEAR * <NUM_LIT:16> + <NUM_LIT:4><EOL>leap_suppression_days = <NUM_LIT>  <EOL>leap_suppression_yrs = <NUM_LIT><EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>if over_cycle_yrs:<EOL><INDENT>y0 = trunc(year / over_cycle_yrs) * over_cycle_days<EOL>year = year % over_cycle_yrs<EOL><DEDENT>if intercal_cycle_yrs:<EOL><INDENT>y1 = trunc(year / intercal_cycle_yrs) * intercal_cycle_days<EOL>year = year % intercal_cycle_yrs<EOL><DEDENT>if leap_suppression_yrs:<EOL><INDENT>y2 = trunc(year / leap_suppression_yrs) * leap_suppression_days<EOL>year = year % leap_suppression_yrs<EOL><DEDENT>y3 = trunc(year / LEAP_CYCLE_YEARS) * LEAP_CYCLE_DAYS<EOL>year = year % LEAP_CYCLE_YEARS<EOL>y4 = year * DAYS_IN_YEAR<EOL>yj = y0 + y1 + y2 + y3 + y4 + y5<EOL>mj = (month - <NUM_LIT:1>) * <NUM_LIT:30><EOL>return EPOCH + yj + mj + day - <NUM_LIT:1><EOL>
Calculate JD using various leap-year calculation methods