Module: Zakuro::Version::Senmyou::Lunar::Adjustment
- Defined in:
- lib/zakuro/version/senmyou/stella/lunar/adjustment.rb
Overview
Adjustment 補正値情報
Defined Under Namespace
Constant Summary collapse
- HALF_DAYS =
Returns 遠/近の地点での中間.
[7].freeze
- LIST =
Returns 月の補正値情報.
[ Row.new(forward: true, day: 1, range: Range.new, value: Value.new(per: +830, stack: 0)), Row.new(forward: true, day: 2, range: Range.new, value: Value.new(per: +726, stack: +830)), Row.new(forward: true, day: 3, range: Range.new, value: Value.new(per: +606, stack: +1556)), Row.new(forward: true, day: 4, range: Range.new, value: Value.new(per: +471, stack: +2162)), Row.new(forward: true, day: 5, range: Range.new, value: Value.new(per: +337, stack: +2633)), Row.new(forward: true, day: 6, range: Range.new, value: Value.new(per: +202, stack: +2970)), Row.new(forward: true, day: 7, range: Range.new(max: Range::HALF), value: Value.new(per: +53, stack: +3172)), Row.new(forward: true, day: 7, range: Range.new(min: Range::HALF), value: Value.new(per: -7, stack: +3225)), # +3172 + 53(初益) Row.new(forward: true, day: 8, range: Range.new, value: Value.new(per: -82, stack: +3218)), Row.new(forward: true, day: 9, range: Range.new, value: Value.new(per: -224, stack: +3136)), Row.new(forward: true, day: 10, range: Range.new, value: Value.new(per: -366, stack: +2912)), Row.new(forward: true, day: 11, range: Range.new, value: Value.new(per: -509, stack: +2546)), Row.new(forward: true, day: 12, range: Range.new, value: Value.new(per: -643, stack: +2037)), Row.new(forward: true, day: 13, range: Range.new, value: Value.new(per: -748, stack: +1394)), Row.new(forward: true, day: 14, range: Range.new(max: Range::LAST), value: Value.new(per: -646, stack: +646)), # 14日の小余は常に6529以下 Row.new(forward: false, day: 1, range: Range.new, value: Value.new(per: -830, stack: 0)), Row.new(forward: false, day: 2, range: Range.new, value: Value.new(per: -726, stack: -830)), Row.new(forward: false, day: 3, range: Range.new, value: Value.new(per: -598, stack: -1556)), Row.new(forward: false, day: 4, range: Range.new, value: Value.new(per: -464, stack: -2154)), Row.new(forward: false, day: 5, range: Range.new, value: Value.new(per: -329, stack: -2618)), Row.new(forward: false, day: 6, range: Range.new, value: Value.new(per: -195, stack: -2947)), Row.new(forward: false, day: 7, range: Range.new(max: Range::HALF), value: Value.new(per: -53, stack: -3142)), Row.new(forward: false, day: 7, range: Range.new(min: Range::HALF), value: Value.new(per: +7, stack: -3195)), # -3142 - 53(初益) Row.new(forward: false, day: 8, range: Range.new, value: Value.new(per: +82, stack: -3188)), Row.new(forward: false, day: 9, range: Range.new, value: Value.new(per: +225, stack: -3106)), Row.new(forward: false, day: 10, range: Range.new, value: Value.new(per: +366, stack: -2881)), Row.new(forward: false, day: 11, range: Range.new, value: Value.new(per: +501, stack: -2515)), Row.new(forward: false, day: 12, range: Range.new, value: Value.new(per: +628, stack: -2014)), Row.new(forward: false, day: 13, range: Range.new, value: Value.new(per: +740, stack: -1386)), Row.new(forward: false, day: 14, range: Range.new(max: Range::LAST), value: Value.new(per: +646, stack: -646)) # 14日の小余は常に6529以下 ].freeze
Class Method Summary collapse
-
.minus_minute(day:, minute:) ⇒ Integer
小余の下げ幅を求める.
-
.specify(forward:, day:, minute:) ⇒ Row
月軌道の補正に必要な基本値を引き当てる.
Class Method Details
.minus_minute(day:, minute:) ⇒ Integer
小余の下げ幅を求める
234 235 236 237 238 239 240 |
# File 'lib/zakuro/version/senmyou/stella/lunar/adjustment.rb', line 234 def minus_minute(day:, minute:) return minute unless HALF_DAYS.include?(day) return minute unless minute > Range::HALF minute - Range::HALF end |
.specify(forward:, day:, minute:) ⇒ Row
月軌道の補正に必要な基本値を引き当てる
215 216 217 218 219 220 221 222 |
# File 'lib/zakuro/version/senmyou/stella/lunar/adjustment.rb', line 215 def specify(forward:, day:, minute:) LIST.each do |row| # NOTE: 範囲が重複している場合、最初に引き当てたほうを優先する return row if row.match?(forward: forward, day: day, minute: minute) end raise ArgumentError.new, "invalid parameter: #{forward}/#{day}/#{minute}" end |