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):
- BEGIN
- 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
- ENDIF
- IF next-year-remainder GREATER THAN OR EQUAL TO 12
- THEN next-year-is-leap = TRUE
- ELSE next-year-is-leap = FALSE
- ENDIF
- IF previous-year-remainder GREATER THAN OR EQUAL TO 12
- THEN previous-year-is-leap = TRUE
- ELSE previous-year-is-leap = FALSE
- ENDIF
- END
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.