test_class.file: jtstoolkit/src/test/java/ec/tstoolkit/timeseries/calendars/UtilitiesTest.java
test_class.identifier: UtilitiesTest
test_case.body: @Test
      public void testEaster2() {
          for (int i = 1900; i < 4100; ++i) {
              Day easter = Utilities.easter(i);
              Day easter2 = Utilities.easter2(i);
  //            System.out.print(easter);
  //            System.out.print("  ");
  //            System.out.println(easter2);
              Assert.assertEquals(easter, easter2);
          }
      }
test_case.class_method_signature: UtilitiesTest.testEaster2()
test_case.full_signature: @Test public void testEaster2()
test_case.identifier: testEaster2
test_case.invocations: easter easter2 assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEaster2()
focal_class.declarator: LUNARY = 29.53059
focal_class.modifier: public static final
focal_class.original_string: public static final double LUNARY = 29.53059, DEC_LUNARY = .53059;
focal_class.type: double
focal_class.var_name: LUNARY
focal_class.declarator: CYCLE = 532
focal_class.modifier: static final
focal_class.original_string: static final int CYCLE = 532, TWOCYCLE=CYCLE<<1;
focal_class.type: int
focal_class.var_name: CYCLE
focal_class.declarator: PROB = new int[]{
          4, 8, 8, 12, 16, 16, 20, 16, 16, 20, 16, 16, 20, 16, 20, 20, 16, 20, 16, 16, 20, 16, 16, 20, 16, 20, 16, 16, 20, 16, 12, 12, 8, 8, 4
      }
focal_class.modifier: static final
focal_class.original_string: static final int[] PROB = new int[]{
          4, 8, 8, 12, 16, 16, 20, 16, 16, 20, 16, 16, 20, 16, 20, 20, 16, 20, 16, 16, 20, 16, 16, 20, 16, 20, 16, 16, 20, 16, 12, 12, 8, 8, 4
      };
focal_class.type: int[]
focal_class.var_name: PROB
focal_class.declarator: JD={
          1,1,3,9,15,11,14,27,36,28,24,32,40,39,33,31,
          34,36,42,39,33,31,33,42,38,33,30,32,39,40,
          33,29,26,31,33,22,7,15,12,7,1,1,1
      }
focal_class.modifier: private static final
focal_class.original_string: private static final int[] JD={
          1,1,3,9,15,11,14,27,36,28,24,32,40,39,33,31,
          34,36,42,39,33,31,33,42,38,33,30,32,39,40,
          33,29,26,31,33,22,7,15,12,7,1,1,1
      };
focal_class.type: int[]
focal_class.var_name: JD
focal_class.file: jtstoolkit/src/main/java/ec/tstoolkit/timeseries/calendars/Utilities.java
focal_class.identifier: Utilities
focal_class.class_method_signature: Utilities.daysCount(TsDomain domain)
focal_class.full_signature: public static int[] daysCount(TsDomain domain)
focal_class.identifier: daysCount
focal_class.modifiers: public static
focal_class.parameters: (TsDomain domain)
focal_class.return: int[]
focal_class.signature: int[] daysCount(TsDomain domain)
focal_class.class_method_signature: Utilities.daysCount(TsDomain domain, DayOfWeek day)
focal_class.full_signature: public static int[] daysCount(TsDomain domain, DayOfWeek day)
focal_class.identifier: daysCount
focal_class.modifiers: public static
focal_class.parameters: (TsDomain domain, DayOfWeek day)
focal_class.return: int[]
focal_class.signature: int[] daysCount(TsDomain domain, DayOfWeek day)
focal_class.class_method_signature: Utilities.easter(int y)
focal_class.full_signature: public static Day easter(int y)
focal_class.identifier: easter
focal_class.modifiers: public static
focal_class.parameters: (int y)
focal_class.return: Day
focal_class.signature: Day easter(int y)
focal_class.class_method_signature: Utilities.easter2(int y)
focal_class.full_signature: public static Day easter2(int y)
focal_class.identifier: easter2
focal_class.modifiers: public static
focal_class.parameters: (int y)
focal_class.return: Day
focal_class.signature: Day easter2(int y)
focal_class.class_method_signature: Utilities.julianEaster(int year, boolean gregorian)
focal_class.full_signature: @Deprecated public static Day julianEaster(int year, boolean gregorian)
focal_class.identifier: julianEaster
focal_class.modifiers: @Deprecated public static
focal_class.parameters: (int year, boolean gregorian)
focal_class.return: Day
focal_class.signature: Day julianEaster(int year, boolean gregorian)
focal_class.class_method_signature: Utilities.julianEaster2(int year, boolean gregorian)
focal_class.full_signature: @Deprecated public static Day julianEaster2(int year, boolean gregorian)
focal_class.identifier: julianEaster2
focal_class.modifiers: @Deprecated public static
focal_class.parameters: (int year, boolean gregorian)
focal_class.return: Day
focal_class.signature: Day julianEaster2(int year, boolean gregorian)
focal_class.class_method_signature: Utilities.julianDate2JDN(int year, int month, int day)
focal_class.full_signature: public static int julianDate2JDN(int year, int month, int day)
focal_class.identifier: julianDate2JDN
focal_class.modifiers: public static
focal_class.parameters: (int year, int month, int day)
focal_class.return: int
focal_class.signature: int julianDate2JDN(int year, int month, int day)
focal_class.class_method_signature: Utilities.gregorianDate2JDN(int year, int month, int day)
focal_class.full_signature: public static int gregorianDate2JDN(int year, int month, int day)
focal_class.identifier: gregorianDate2JDN
focal_class.modifiers: public static
focal_class.parameters: (int year, int month, int day)
focal_class.return: int
focal_class.signature: int gregorianDate2JDN(int year, int month, int day)
focal_class.class_method_signature: Utilities.JDN2GregorianDate(int jdn)
focal_class.full_signature: public static Day JDN2GregorianDate(int jdn)
focal_class.identifier: JDN2GregorianDate
focal_class.modifiers: public static
focal_class.parameters: (int jdn)
focal_class.return: Day
focal_class.signature: Day JDN2GregorianDate(int jdn)
focal_class.class_method_signature: Utilities.julianEaster3(int year, boolean gregorian)
focal_class.full_signature: public static Day julianEaster3(int year, boolean gregorian)
focal_class.identifier: julianEaster3
focal_class.modifiers: public static
focal_class.parameters: (int year, boolean gregorian)
focal_class.return: Day
focal_class.signature: Day julianEaster3(int year, boolean gregorian)
focal_class.class_method_signature: Utilities.firstWeekDay(DayOfWeek day, int year, Month month)
focal_class.full_signature: public static Day firstWeekDay(DayOfWeek day, int year, Month month)
focal_class.identifier: firstWeekDay
focal_class.modifiers: public static
focal_class.parameters: (DayOfWeek day, int year, Month month)
focal_class.return: Day
focal_class.signature: Day firstWeekDay(DayOfWeek day, int year, Month month)
focal_class.class_method_signature: Utilities.lastDay(TsDomain domain)
focal_class.full_signature: public static int[] lastDay(TsDomain domain)
focal_class.identifier: lastDay
focal_class.modifiers: public static
focal_class.parameters: (TsDomain domain)
focal_class.return: int[]
focal_class.signature: int[] lastDay(TsDomain domain)
focal_class.class_method_signature: Utilities.leapYear(TsPeriod start, DataBlock buffer)
focal_class.full_signature: public static void leapYear(TsPeriod start, DataBlock buffer)
focal_class.identifier: leapYear
focal_class.modifiers: public static
focal_class.parameters: (TsPeriod start, DataBlock buffer)
focal_class.return: void
focal_class.signature: void leapYear(TsPeriod start, DataBlock buffer)
focal_class.class_method_signature: Utilities.lengthofPeriod(TsPeriod start, DataBlock buffer)
focal_class.full_signature: public static void lengthofPeriod(TsPeriod start, DataBlock buffer)
focal_class.identifier: lengthofPeriod
focal_class.modifiers: public static
focal_class.parameters: (TsPeriod start, DataBlock buffer)
focal_class.return: void
focal_class.signature: void lengthofPeriod(TsPeriod start, DataBlock buffer)
focal_class.class_method_signature: Utilities.logJacobian(LengthOfPeriodType kind, TsDomain domain,
              boolean back)
focal_class.full_signature: public static double logJacobian(LengthOfPeriodType kind, TsDomain domain,
              boolean back)
focal_class.identifier: logJacobian
focal_class.modifiers: public static
focal_class.parameters: (LengthOfPeriodType kind, TsDomain domain,
              boolean back)
focal_class.return: double
focal_class.signature: double logJacobian(LengthOfPeriodType kind, TsDomain domain,
              boolean back)
focal_class.class_method_signature: Utilities.tradingDays(TsDomain domain)
focal_class.full_signature: @Deprecated public static int[][] tradingDays(TsDomain domain)
focal_class.identifier: tradingDays
focal_class.modifiers: @Deprecated public static
focal_class.parameters: (TsDomain domain)
focal_class.return: int[][]
focal_class.signature: int[][] tradingDays(TsDomain domain)
focal_class.class_method_signature: Utilities.tdCount(TsDomain domain)
focal_class.full_signature: public static int[][] tdCount(TsDomain domain)
focal_class.identifier: tdCount
focal_class.modifiers: public static
focal_class.parameters: (TsDomain domain)
focal_class.return: int[][]
focal_class.signature: int[][] tdCount(TsDomain domain)
focal_class.class_method_signature: Utilities.transform(LengthOfPeriodType kind, TsData tsdata,
              boolean back)
focal_class.full_signature: public static void transform(LengthOfPeriodType kind, TsData tsdata,
              boolean back)
focal_class.identifier: transform
focal_class.modifiers: public static
focal_class.parameters: (LengthOfPeriodType kind, TsData tsdata,
              boolean back)
focal_class.return: void
focal_class.signature: void transform(LengthOfPeriodType kind, TsData tsdata,
              boolean back)
focal_class.class_method_signature: Utilities.probJulianEaster(int pos)
focal_class.full_signature: public static double probJulianEaster(int pos)
focal_class.identifier: probJulianEaster
focal_class.modifiers: public static
focal_class.parameters: (int pos)
focal_class.return: double
focal_class.signature: double probJulianEaster(int pos)
focal_class.class_method_signature: Utilities.probEaster(int pos)
focal_class.full_signature: public static double probEaster(int pos)
focal_class.identifier: probEaster
focal_class.modifiers: public static
focal_class.parameters: (int pos)
focal_class.return: double
focal_class.signature: double probEaster(int pos)
focal_method.body: public static Day easter2(int y) {
          int firstdig = y / 100;
          int remain19 = y % 19;
          // calculate PFM date (Paschal Full Moon)
          int temp = (firstdig - 15) / 2 + 202 - 11 * remain19;
          if (firstdig == 21 || firstdig == 24 || firstdig == 25
                  || (firstdig >= 27 && firstdig <= 32) || firstdig == 34
                  || firstdig == 35 || firstdig == 38) {
              --temp;
          } else if (firstdig == 33 || firstdig == 36 || firstdig == 37
                  || firstdig == 39 || firstdig == 40) {
              temp -= 2;
          }
          temp = temp % 30;
          int ta = temp + 21;
          if (temp == 29) {
              --ta;
          }
          if (temp == 28 && remain19 > 10) {
              --ta;
          }
          // find the next sunday
          int tb = (ta - 19) % 7;
          int tc = (40 - firstdig) % 4;
          if (tc == 3) {
              ++tc;
          }
          if (tc > 1) {
              ++tc;
          }
          temp = y % 100;
          int td = (temp + temp / 4) % 7;
          int te = ((20 - tb - tc - td) % 7) + 1;
          int d = ta + te;
          // return the date
          if (d > 31) {
              return new Day(y, Month.April, d - 32);
          } else {
              return new Day(y, Month.March, d - 1);
          }
      }
focal_method.class_method_signature: Utilities.easter2(int y)
focal_method.full_signature: public static Day easter2(int y)
focal_method.identifier: easter2
focal_method.modifiers: public static
focal_method.parameters: (int y)
focal_method.return: Day
focal_method.signature: Day easter2(int y)