 
     /**
      *
-     * 秋分の日を判定する
-     * 参考：http://koyomi8.com/reki_doc/doc_0330.htm
-     *
-     */
-    private func getAutumnDay(year year: Int) -> Int {
-        
-        //秋分の日の計算値を返却する
-        let x1: Double = Double(year - 2000) * 0.242194
-        let x2: Int = Int(Double(year - 2000) / 4)
-        return Int(23.09000 + x1 - Double(x2))
-    }
-    
-    /**
-     *
      * シルバーウィークの振替休日を判定する
      * 敬老の日の2日後が秋分の日ならば間に挟まれた期間は国民の休日とする
      *
      */
     private func getAlterHolidaySliverWeek(year year: Int) -> Bool {
-        
-        if getAutumnDay(year: year) - oldPeopleDay(year: year) == 2 {
-            return true
-        } else {
-            return false
-        }
+        return oldPeopleDay(year: year) + 2 == SpringAutumn.Autumn.calcDay(year: year)
     }
     
     /**


struct CalculateCalendarLogic {
    
    /**
     *
     * 祝日になる日を判定する

                return true
            
            //9月22日 or 23日: 秋分の日(計算値によって算出)
            case (year, 9, day, _)
                where year > 1947 && day == SpringAutumn.Autumn.calcDay(year: year):
                
                return true
            
            //秋分の日の次が月曜日: 振替休日
            case (year, 9, day, .Mon)
                where year > 1947 && day == SpringAutumn.Autumn.calcDay(year: year) + 1:
                
                return true
            
            //シルバーウィークの振替休日である
            case (_, 9, _, _)
                where oldPeopleDay(year: year) < day
                    && day < SpringAutumn.Autumn.calcDay(year: year)
                    && getAlterHolidaySliverWeek(year: year):
                return true
            
