Here are the summarized molad tables again, but here the new moon times are restated by using parts (along with positional day numbers, ranging from 0 to 6, within the week):
|TABLE 6a. Summarized molad table for regular years, using days and parts.|
|TABLE 6b. Summarized molad table for leap years, using days and parts.|
As before, the above times are shown in accordance with Western day format (e.g., 0 parts = midnight, not 6:00 p.m. or sunset).
Applying all these shortcuts to the year 7 example, we multiply the month's phase change amount, 1 day + 13,753 parts by 74, getting 113 days + 6,842 parts. We add this result to year 1's molad, 1 day + 25,044 parts. This gives us 115 days + 5,966 parts, and when we divide 7 days into this, we get a remainder of 3 days + 5,966 parts, i.e., Tuesday, 5,966 parts, the molad for the year 7. This occurrence is between Tuesday, 3,444 parts, and Thursday, 3,444 parts, in the non-leap year molad table, resulting in a Thursday Rosh Hashanah and a 354-day year. But does 5,966 parts really equal 5:31:26+2/3 a.m.? Yes. 5,966 divided by 1,080 (the number of parts in an hour) yields 5 as the integer quotient, meaning 5 a.m. The remainder is 566. Next we divide this 566 by 18 (the number of parts in a minute), and this gives us 31 as the integer quotient, meaning 31 minutes. The remainder is 8, i.e., 8 parts, which amounts to 8 × 3 1/3 seconds. That's 26 2/3 seconds. (Hey, it really does work!)
Let's go on and build an "ultimate molad" formula which combines Steps 1, 2 and 3. Step 1 yields the actual-based month offset for a given year, Step 2 provides the week-related phase shift for that offset, and Step3 adds this phase shift to the first year's molad to give us that of the given year. In other words:
Molad of given year =
remainder of ([actual-based month offset × week-related phase change of a lunar cycle] + first year's molad) divided by 7 days =
([INT (([235 × given year] - 234)/19) × (1 day + 13,753 parts)] + 1 day + 25,044 parts) MOD 7 days
For those who don't know, the "MOD" means "modulus", a notation for expressing a remainder, i.e., "first-operand MOD second-operand" means the remainder resulting from dividing first-operand by second-operand. Also keep in mind that the weekly range goes from 0 days + 0 parts (Saturday, 12:00 a.m., i.e., the beginning of Saturday, Western notation) up to 6 days + 25,919 parts (Friday, 11:59:56+2/3 p.m.). These are the only valid values when we want to determine the position within a week for the time of a molad.
The molad can also be expressed exclusively in parts. The days are simply converted to these smaller units (1 day = 25,920 parts, and 1 week = 181,440 parts):
Molad of given year =
remainder of ([actual-based month offset × week-related phase change of a lunar cycle] + first year's molad) divided by 181,440 parts =
([INT (([235 × given year] - 234)/19) × 39,673 parts] + 50,964 parts) MOD 181,440 parts
The valid molad range here is 0 to 181,439 parts. Of course, similarly expressed molad tables can come in handy here (but it would be useful to split the Friday, 3:11:20 a.m.-to-Saturday, 12:00 noon range into two, at the start of Saturday, in the regular year table—and the Friday, 2:27:16+2/3 p.m.-to-Saturday, 12:00 noon range into two, at the start of Saturday, in the leap year table). This is helpful if you want to develop a Jewish calendar program.
In fact, if you like to program, here is some useful "pseudo-code" for determining the leap year status for a given year, as well as those immediately before and after (notice the "modulus" approach to performing the "rotational addition/subtraction of 7" in order to get the remainders for the adjacent years):
- given-year-remainder = ((235 * given-year) - 234) MOD 19
- next-year-remainder = (given-year-remainder + 7) MOD 19
- previous-year-remainder = (given-year-remainder + 12) MOD 19
- /* COMMENT the "12" in the above line is a restatement of "- 7 + 19"
- END COMMENT */
- IF given-year-remainder GREATER THAN OR EQUAL TO 12
- THEN given-year-is-leap = TRUE
- ELSE given-year-is-leap = FALSE
- IF next-year-remainder GREATER THAN OR EQUAL TO 12
- THEN next-year-is-leap = TRUE
- ELSE next-year-is-leap = FALSE
- IF previous-year-remainder GREATER THAN OR EQUAL TO 12
- THEN previous-year-is-leap = TRUE
- ELSE previous-year-is-leap = FALSE
This code provides the leap status not only for the given year, but—just in case they're needed—for the adjacent ones as well.
CONTINUE ON TO NEXT SECTION
BACK TO PREVIOUS SECTION