The following parameter specification is passed to the utility:
calendar1 * calendar2 = calendar3
Assuming the following calendars
S ----------- S ----------- S -------
1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 calendar1
Y Y Y Y Y Y Y Y Y Y Y Y
S ----------- S ----------- S -------
and
S ----------- S ----------- S -------
1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 calendar2
Y Y + - + + -
S ----------- S ----------- S -------
the resulting new calendar is
S ----------- S ----------- S -------
1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 calendar3
Y Y Y Y Y Y Y
S ----------- S ----------- S -------
Note the following points in this example:
Since the operation is *, days 1 and 2, that are marked for execution in both calendar1 and calendar2, is marked for execution in calendar3.
Day 3 is marked + in calendar2 and is marked for execution in calendar1. Therefore, it is marked for execution in calendar3.
Day 4 is marked - in calendar2 and is marked for execution in calendar1. Therefore, it is marked for execution in calendar3.
Day 5 is not marked in calendar2. Therefore, even though it is scheduled in calendar1, it is not marked for execution in calendar3. This same reasoning applies to days 8, 9, 10, and 11. However, days 7, 12, and 18 are marked for execution for other reasons described below.
Day 6 is marked + in calendar2 and is not marked for execution in calendar1. The closest following day marked for execution in calendar1 is day 7. Therefore, day 7 is marked for execution in calendar3.
Day 13 is marked + in calendar2 and is not marked for execution in calendar1. The closest following day marked for execution in calendar1 is day 18. Therefore, day 18 is marked for execution in calendar3.
Day 15 is marked - in calendar2 and is not marked for execution in calendar1. The closest preceding day marked for execution in calendar1 is day 12. Therefore, day 12 is marked for execution in calendar3.