zakuro 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/zakuro/calculation/monthly/abstract_lunar_phase.rb +169 -0
- data/lib/zakuro/calculation/range/medieval_annual_range.rb +105 -0
- data/lib/zakuro/calculation/stella/lunar/abstract_location.rb +76 -0
- data/lib/zakuro/calculation/stella/lunar/choukei_value.rb +52 -0
- data/lib/zakuro/calculation/stella/solar/abstract_average.rb +117 -0
- data/lib/zakuro/calculation/stella/solar/abstract_location.rb +187 -0
- data/lib/zakuro/calculation/stella/solar/choukei_value.rb +136 -0
- data/lib/zakuro/calculation/type/old_float.rb +69 -0
- data/lib/zakuro/version.rb +1 -1
- data/lib/zakuro/version/gihou/const/number.rb +55 -0
- data/lib/zakuro/version/gihou/const/remainder.rb +56 -0
- data/lib/zakuro/version/gihou/cycle/remainder.rb +61 -0
- data/lib/zakuro/version/gihou/cycle/solar_term.rb +34 -0
- data/lib/zakuro/version/gihou/gihou.rb +23 -2
- data/lib/zakuro/version/gihou/monthly/lunar_phase.rb +106 -0
- data/lib/zakuro/version/gihou/range/annual_range.rb +39 -0
- data/lib/zakuro/version/gihou/stella/lunar/adjustment.rb +250 -0
- data/lib/zakuro/version/gihou/stella/lunar/localization.rb +44 -0
- data/lib/zakuro/version/gihou/stella/lunar/location.rb +86 -0
- data/lib/zakuro/version/gihou/stella/lunar/value.rb +74 -0
- data/lib/zakuro/version/gihou/stella/origin/average_november.rb +34 -0
- data/lib/zakuro/version/gihou/stella/origin/lunar_age.rb +62 -0
- data/lib/zakuro/version/gihou/stella/origin/winter_solstice.rb +55 -0
- data/lib/zakuro/version/gihou/stella/solar/adjustment.rb +93 -0
- data/lib/zakuro/version/gihou/stella/solar/average.rb +97 -0
- data/lib/zakuro/version/gihou/stella/solar/interval.rb +108 -0
- data/lib/zakuro/version/gihou/stella/solar/location.rb +61 -0
- data/lib/zakuro/version/gihou/stella/solar/value.rb +36 -0
- data/lib/zakuro/version/senmyou/const/number.rb +1 -1
- data/lib/zakuro/version/senmyou/const/remainder.rb +7 -1
- data/lib/zakuro/version/senmyou/cycle/solar_term.rb +4 -1
- data/lib/zakuro/version/senmyou/monthly/lunar_phase.rb +11 -111
- data/lib/zakuro/version/senmyou/range/annual_range.rb +5 -77
- data/lib/zakuro/version/senmyou/stella/lunar/localization.rb +2 -3
- data/lib/zakuro/version/senmyou/stella/lunar/location.rb +13 -28
- data/lib/zakuro/version/senmyou/stella/lunar/value.rb +5 -28
- data/lib/zakuro/version/senmyou/stella/solar/adjustment.rb +29 -29
- data/lib/zakuro/version/senmyou/stella/solar/average.rb +11 -89
- data/lib/zakuro/version/senmyou/stella/solar/location.rb +18 -121
- data/lib/zakuro/version/senmyou/stella/solar/value.rb +4 -103
- data/lib/zakuro/version/version_class_resolver.rb +4 -0
- metadata +28 -2
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../const/number'
|
4
|
+
|
5
|
+
# :nodoc:
|
6
|
+
module Zakuro
|
7
|
+
# :nodoc:
|
8
|
+
module Gihou
|
9
|
+
# :nodoc:
|
10
|
+
module Lunar
|
11
|
+
#
|
12
|
+
# Localization 入暦特定
|
13
|
+
#
|
14
|
+
module Localization
|
15
|
+
# @return [Integer] 1近点月
|
16
|
+
ANOMALISTIC_MONTH = Const::Number::Cycle::ANOMALISTIC_MONTH
|
17
|
+
# @return [Integer] 積年
|
18
|
+
TOTAL_YEAR = Const::Number::Stack::TOTAL_YEAR
|
19
|
+
# @return [Integer] 開始年
|
20
|
+
BEGIN_YEAR = Const::Number::Stack::BEGIN_YEAR
|
21
|
+
# @return [Integer] 年
|
22
|
+
YEAR = Const::Number::Cycle::YEAR
|
23
|
+
|
24
|
+
#
|
25
|
+
# 対象年の最初の入暦を求める
|
26
|
+
#
|
27
|
+
# @param [Remainder] lunar_age 天正閏余
|
28
|
+
# @param [Integer] western_year 西暦年
|
29
|
+
#
|
30
|
+
# @return [Cycle::LunarRemainder] 入暦
|
31
|
+
#
|
32
|
+
def self.first_remainder(lunar_age:, western_year:)
|
33
|
+
# 積年の開始から対象年までの年数
|
34
|
+
total_year = TOTAL_YEAR + western_year - BEGIN_YEAR
|
35
|
+
|
36
|
+
# 通積分 - 天正閏余
|
37
|
+
total_day = total_year * YEAR - lunar_age.to_minute
|
38
|
+
|
39
|
+
Cycle::LunarRemainder.new(total: (total_day % ANOMALISTIC_MONTH))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../../calculation/stella/lunar/abstract_location'
|
4
|
+
|
5
|
+
require_relative '../../const/remainder'
|
6
|
+
|
7
|
+
require_relative './localization'
|
8
|
+
|
9
|
+
# :nodoc:
|
10
|
+
module Zakuro
|
11
|
+
# :nodoc:
|
12
|
+
module Gihou
|
13
|
+
# :nodoc:
|
14
|
+
module Lunar
|
15
|
+
#
|
16
|
+
# Location 入暦
|
17
|
+
#
|
18
|
+
class Location < Calculation::Lunar::AbstractLocation
|
19
|
+
# @return [Cycle::LunarRemainder] 1近点月
|
20
|
+
ANOMALISTIC_MONTH = Const::Remainder::Lunar::ANOMALISTIC_MONTH
|
21
|
+
# @return [Cycle::LunarRemainder] 入暦上限
|
22
|
+
LIMIT = Const::Remainder::Lunar::LIMIT
|
23
|
+
# @return [Cycle::LunarRemainder] 弦
|
24
|
+
QUARTER = Const::Remainder::Lunar::QUARTER
|
25
|
+
|
26
|
+
#
|
27
|
+
# 初期化
|
28
|
+
#
|
29
|
+
# @param [Cycle::LunarRemainder] lunar_age 天正閏余(大余小余)
|
30
|
+
# @param [Integer] western_year 西暦年
|
31
|
+
#
|
32
|
+
def initialize(lunar_age:, western_year:)
|
33
|
+
super(lunar_age: lunar_age, western_year: western_year)
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# 入暦を計算する
|
38
|
+
#
|
39
|
+
def run
|
40
|
+
if calculated
|
41
|
+
# 1始まりで計算しているので、入暦上限を用いる
|
42
|
+
decrease(limit: LIMIT)
|
43
|
+
return
|
44
|
+
end
|
45
|
+
|
46
|
+
first
|
47
|
+
end
|
48
|
+
|
49
|
+
#
|
50
|
+
# 弦の分だけ月地点を進める
|
51
|
+
#
|
52
|
+
def add_quarter
|
53
|
+
remainder.add!(QUARTER)
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
#
|
59
|
+
# 初回計算
|
60
|
+
#
|
61
|
+
def first
|
62
|
+
@remainder = Localization.first_remainder(
|
63
|
+
lunar_age: remainder, western_year: western_year
|
64
|
+
)
|
65
|
+
# 初回は0始まりで計算しているので、入暦上限ではなく1近点月を用いる
|
66
|
+
decrease(limit: ANOMALISTIC_MONTH)
|
67
|
+
# 1始まりに改める
|
68
|
+
one_based
|
69
|
+
|
70
|
+
@calculated = true
|
71
|
+
end
|
72
|
+
|
73
|
+
#
|
74
|
+
# 大余小余に合わせて減算する(折り返す)
|
75
|
+
#
|
76
|
+
# @param [Cycle::LunarRemainder] limit 上限
|
77
|
+
#
|
78
|
+
def decrease(limit:)
|
79
|
+
return if remainder < limit
|
80
|
+
|
81
|
+
remainder.sub!(ANOMALISTIC_MONTH)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../../calculation/stella/lunar/choukei_value'
|
4
|
+
|
5
|
+
require_relative '../../cycle/remainder'
|
6
|
+
|
7
|
+
require_relative './adjustment'
|
8
|
+
|
9
|
+
# :nodoc:
|
10
|
+
module Zakuro
|
11
|
+
# :nodoc:
|
12
|
+
module Gihou
|
13
|
+
# :nodoc:
|
14
|
+
module Lunar
|
15
|
+
#
|
16
|
+
# Value 月補正値
|
17
|
+
#
|
18
|
+
module Value
|
19
|
+
# @return [Output::Logger] ロガー
|
20
|
+
LOGGER = Output::Logger.new(location: 'lunar_value')
|
21
|
+
|
22
|
+
# :reek:TooManyStatements { max_statements: 9 }
|
23
|
+
|
24
|
+
#
|
25
|
+
# 月の運行による補正値を算出する
|
26
|
+
#
|
27
|
+
# @param [Cycle::LunarRemainder] remainder 月の大余小余
|
28
|
+
#
|
29
|
+
# @return [Integer] 補正値
|
30
|
+
#
|
31
|
+
def self.get(remainder:)
|
32
|
+
valid?(remainder: remainder)
|
33
|
+
|
34
|
+
day = remainder.day
|
35
|
+
minute = remainder.floor_minute
|
36
|
+
|
37
|
+
# 引き当て
|
38
|
+
row = Adjustment.specify(day: day, minute: minute)
|
39
|
+
|
40
|
+
value = row.value
|
41
|
+
|
42
|
+
# LOGGER.debug("value.per: #{value.per}")
|
43
|
+
# LOGGER.debug("row.denominator: #{row.denominator}")
|
44
|
+
# LOGGER.debug("value.stack: #{value.stack}")
|
45
|
+
|
46
|
+
minus_minute = Adjustment.minus_minute(day: day, minute: minute)
|
47
|
+
|
48
|
+
day = Calculation::Lunar::ChoukeiValue.rounded_day(
|
49
|
+
per: value.per, denominator: row.denominator, minute: minus_minute
|
50
|
+
)
|
51
|
+
|
52
|
+
# LOGGER.debug("day: #{day}")
|
53
|
+
|
54
|
+
value.stack + day
|
55
|
+
end
|
56
|
+
|
57
|
+
#
|
58
|
+
# 大余小余を検証する
|
59
|
+
#
|
60
|
+
# @param [Cycle::LunarRemainder] remainder 大余小余
|
61
|
+
#
|
62
|
+
# @return [True] 正しい(月の位相計算に使う大余小余)
|
63
|
+
# @return [True] 正しくない
|
64
|
+
#
|
65
|
+
def self.valid?(remainder:)
|
66
|
+
return if remainder.is_a?(Cycle::LunarRemainder)
|
67
|
+
|
68
|
+
raise ArgumentError, "unmatch parameter type: #{remainder.class}"
|
69
|
+
end
|
70
|
+
private_class_method :valid?
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative './lunar_age'
|
4
|
+
require_relative './winter_solstice'
|
5
|
+
|
6
|
+
# :nodoc:
|
7
|
+
module Zakuro
|
8
|
+
# :nodoc:
|
9
|
+
module Gihou
|
10
|
+
# :nodoc:
|
11
|
+
module Origin
|
12
|
+
#
|
13
|
+
# AverageNovember 11月経
|
14
|
+
#
|
15
|
+
module AverageNovember
|
16
|
+
#
|
17
|
+
# 11月経朔(冬至が含まれる月の1日)を求める
|
18
|
+
#
|
19
|
+
# @param [Integer] western_year 西暦年
|
20
|
+
#
|
21
|
+
# @return [Remainder] 11月経朔
|
22
|
+
#
|
23
|
+
def self.get(western_year:)
|
24
|
+
# 冬至
|
25
|
+
winter_solstice = WinterSolstice.get(western_year: western_year)
|
26
|
+
# 天正閏余
|
27
|
+
lunar_age = LunarAge.get(western_year: western_year)
|
28
|
+
|
29
|
+
winter_solstice.sub(lunar_age)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../../output/logger'
|
4
|
+
|
5
|
+
require_relative '../../const/number'
|
6
|
+
|
7
|
+
# :nodoc:
|
8
|
+
module Zakuro
|
9
|
+
# :nodoc:
|
10
|
+
module Gihou
|
11
|
+
# :nodoc:
|
12
|
+
module Origin
|
13
|
+
#
|
14
|
+
# LunarAge 天正閏余
|
15
|
+
#
|
16
|
+
module LunarAge
|
17
|
+
# @return [Integer] 朔望月
|
18
|
+
SYNODIC_MONTH = Const::Number::Cycle::SYNODIC_MONTH
|
19
|
+
# @return [Integer] 一年
|
20
|
+
YEAR = Const::Number::Cycle::YEAR
|
21
|
+
# @return [Integer] 積年
|
22
|
+
TOTAL_YEAR = Const::Number::Stack::TOTAL_YEAR
|
23
|
+
# @return [Integer] 暦の開始年
|
24
|
+
BEGIN_YEAR = Const::Number::Stack::BEGIN_YEAR
|
25
|
+
|
26
|
+
# @return [Output::Logger] ロガー
|
27
|
+
LOGGER = Output::Logger.new(location: 'lunar_age')
|
28
|
+
|
29
|
+
# :reek:TooManyStatements { max_statements: 7 }
|
30
|
+
|
31
|
+
#
|
32
|
+
# 対象年の天正閏余(冬至より前にある11月経朔との差 = 月齢)を算出する
|
33
|
+
# 太陽と月の運動による補正値を算出し、その補正結果を返す
|
34
|
+
#
|
35
|
+
# @param [Integer] western_year 西暦年
|
36
|
+
#
|
37
|
+
# @return [Remainder] 天正閏余
|
38
|
+
#
|
39
|
+
def self.get(western_year:)
|
40
|
+
# 積年の開始から対象年までの年数
|
41
|
+
total = TOTAL_YEAR + western_year - BEGIN_YEAR
|
42
|
+
|
43
|
+
# 12朔望月に対する1年の余り(単位:分)
|
44
|
+
remainder_minute = YEAR - (SYNODIC_MONTH * 12)
|
45
|
+
|
46
|
+
# 朔望月に含まれなかった余り(単位:年)
|
47
|
+
remainder_year = total % SYNODIC_MONTH
|
48
|
+
|
49
|
+
LOGGER.debug("[01]: #{remainder_year}")
|
50
|
+
|
51
|
+
# 天正閏余
|
52
|
+
lunar_age = remainder_minute * remainder_year % SYNODIC_MONTH
|
53
|
+
|
54
|
+
LOGGER.debug("[02]: #{lunar_age}")
|
55
|
+
|
56
|
+
# 大余・小余に変換する
|
57
|
+
Cycle::Remainder.new(total: lunar_age)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../../output/logger'
|
4
|
+
|
5
|
+
require_relative '../../const/number'
|
6
|
+
|
7
|
+
# :nodoc:
|
8
|
+
module Zakuro
|
9
|
+
# :nodoc:
|
10
|
+
module Gihou
|
11
|
+
# :nodoc:
|
12
|
+
module Origin
|
13
|
+
#
|
14
|
+
# WinterSolstice 冬至
|
15
|
+
#
|
16
|
+
module WinterSolstice
|
17
|
+
# @return [Integer] 通余
|
18
|
+
REMAINDER_ALL_YEAR = Const::Number::Derivation::REMAINDER_ALL_YEAR
|
19
|
+
# @return [Integer] 60日
|
20
|
+
SIXTY_DAYS = Const::Number::Derivation::SIXTY_DAYS
|
21
|
+
# @return [Integer] 積年
|
22
|
+
TOTAL_YEAR = Const::Number::Stack::TOTAL_YEAR
|
23
|
+
# @return [Integer] 暦の開始年
|
24
|
+
BEGIN_YEAR = Const::Number::Stack::BEGIN_YEAR
|
25
|
+
|
26
|
+
# @return [Output::Logger] ロガー
|
27
|
+
LOGGER = Output::Logger.new(location: 'winter_solstice')
|
28
|
+
|
29
|
+
# :reek:TooManyStatements { max_statements: 6 }
|
30
|
+
|
31
|
+
#
|
32
|
+
# 対象年の前年の冬至を求める
|
33
|
+
#
|
34
|
+
# @param [Integer] western_year 西暦年
|
35
|
+
#
|
36
|
+
# @return [Remainder] 前年の冬至
|
37
|
+
#
|
38
|
+
def self.get(western_year:)
|
39
|
+
# 積年の開始から対象年までの年数
|
40
|
+
total = TOTAL_YEAR + western_year - BEGIN_YEAR
|
41
|
+
remainder_year = total % SIXTY_DAYS
|
42
|
+
|
43
|
+
LOGGER.debug("[01]:#{remainder_year}")
|
44
|
+
|
45
|
+
# 通余を使う
|
46
|
+
winter_solstice_minute = (remainder_year * REMAINDER_ALL_YEAR) % SIXTY_DAYS
|
47
|
+
|
48
|
+
LOGGER.debug("[02]:#{winter_solstice_minute}")
|
49
|
+
|
50
|
+
Cycle::Remainder.new(total: winter_solstice_minute)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../cycle/solar_term'
|
4
|
+
|
5
|
+
require_relative '../../const/number'
|
6
|
+
|
7
|
+
# :nodoc:
|
8
|
+
module Zakuro
|
9
|
+
# :nodoc:
|
10
|
+
module Gihou
|
11
|
+
# :nodoc:
|
12
|
+
module Solar
|
13
|
+
#
|
14
|
+
# Adjustment 24気損益眺朒(ちょうじく)数
|
15
|
+
#
|
16
|
+
module Adjustment
|
17
|
+
#
|
18
|
+
# Row 行データ
|
19
|
+
#
|
20
|
+
class Row
|
21
|
+
# @return [Integer] 眺朒(ちょうじく)積
|
22
|
+
attr_reader :stack
|
23
|
+
# @return [Integer] 眺朒(ちょうじく)数
|
24
|
+
attr_reader :per_term
|
25
|
+
# @return [Integer] 毎日差
|
26
|
+
attr_reader :per_day
|
27
|
+
|
28
|
+
#
|
29
|
+
# 初期化
|
30
|
+
#
|
31
|
+
# @param [Integer] stack 眺朒(ちょうじく)積
|
32
|
+
# @param [Integer] per_term 眺朒(ちょうじく)数
|
33
|
+
# @param [Integer] per_day 毎日差
|
34
|
+
#
|
35
|
+
def initialize(stack:, per_term:, per_day:)
|
36
|
+
@stack = stack
|
37
|
+
@per_term = per_term
|
38
|
+
@per_day = per_day
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# 文字化
|
43
|
+
#
|
44
|
+
# @return [String] 文字
|
45
|
+
#
|
46
|
+
def to_s
|
47
|
+
"stack:#{@stack}, per_term:#{@per_term}, per_day:#{@per_day}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# @return [Array<Row>] 24気損益眺朒(ちょうじく)数
|
52
|
+
MAP = {
|
53
|
+
touji: Row.new(stack: 0.0, per_term: +3.9546, per_day: -0.0372), # 冬至(とうじ)
|
54
|
+
shoukan: Row.new(stack: +54.0, per_term: +3.4091, per_day: -0.0372), # 小寒(しょうかん)
|
55
|
+
daikan: Row.new(stack: +100.0, per_term: +2.8636, per_day: -0.0372), # 大寒(だいかん)
|
56
|
+
risshun: Row.new(stack: +138.0, per_term: +2.3181, per_day: +0.0372), # 立春(りっしゅん)
|
57
|
+
usui: Row.new(stack: +176.0, per_term: +2.8636, per_day: +0.0372), # 雨水(うすい)
|
58
|
+
keichitsu: Row.new(stack: +222.0, per_term: +3.4091, per_day: +0.0372), # 啓蟄(けいちつ)
|
59
|
+
shunbun: Row.new(stack: +276.0, per_term: -3.7220, per_day: +0.0329), # 春分(しゅんぶん)
|
60
|
+
seimei: Row.new(stack: +222.0, per_term: -3.2086, per_day: +0.0329), # 清明(せいめい)
|
61
|
+
kokuu: Row.new(stack: +176.0, per_term: -2.6952, per_day: +0.0329), # 穀雨(こくう)
|
62
|
+
rikka: Row.new(stack: +138.0, per_term: -2.1818, per_day: -0.0329), # 立夏(りっか)
|
63
|
+
shouman: Row.new(stack: +100.0, per_term: -2.6952, per_day: -0.0329), # 小満(しょうまん)
|
64
|
+
boushu: Row.new(stack: +54.0, per_term: -3.2086, per_day: -0.0329), # 芒種(ぼうしゅ)
|
65
|
+
geshi: Row.new(stack: 0.0, per_term: -3.7220, per_day: +0.0329), # 夏至(げし)
|
66
|
+
shousho: Row.new(stack: -54.0, per_term: -3.2086, per_day: +0.0329), # 小暑(しょうしょ)
|
67
|
+
taisho: Row.new(stack: -100.0, per_term: -2.6952, per_day: +0.0329), # 大暑(たいしょ)
|
68
|
+
risshuu: Row.new(stack: -138.0, per_term: -2.1818, per_day: -0.0329), # 立秋(りっしゅう)
|
69
|
+
shosho: Row.new(stack: -176.0, per_term: -2.6952, per_day: -0.0329), # 処暑(しょしょ)
|
70
|
+
hakuro: Row.new(stack: -222.0, per_term: -3.2086, per_day: -0.0329), # 白露(はくろ)
|
71
|
+
shuubun: Row.new(stack: -276.0, per_term: +3.9546, per_day: -0.0372), # 秋分(しゅうぶん)
|
72
|
+
kanro: Row.new(stack: -222.0, per_term: +3.4091, per_day: -0.0372), # 寒露(かんろ)
|
73
|
+
soukou: Row.new(stack: -176.0, per_term: +2.8636, per_day: -0.0372), # 霜降(そうこう)
|
74
|
+
rittou: Row.new(stack: -138.0, per_term: +2.3181, per_day: +0.0372), # 立冬(りっとう)
|
75
|
+
shousetsu: Row.new(stack: -100.0, per_term: +2.8636, per_day: +0.0372), # 小雪(しょうせつ)
|
76
|
+
taisetsu: Row.new(stack: -54.0, per_term: +3.4091, per_day: +0.0372) # 大雪(たいせつ)
|
77
|
+
}.freeze
|
78
|
+
|
79
|
+
#
|
80
|
+
# 24気損益眺朒(ちょうじく)数の行データを特定する
|
81
|
+
#
|
82
|
+
# @param [Integer] index 連番(二十四節気)
|
83
|
+
#
|
84
|
+
# @return [Row] 行データ
|
85
|
+
#
|
86
|
+
def self.specify(index:)
|
87
|
+
key = Cycle::SolarTerm::ORDER[index]
|
88
|
+
Adjustment::MAP[key].clone
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|