module Zakuro::Senmyou::Lunar::Value
Value
月補正値
Public Class Methods
get(remainder:, forward:)
click to toggle source
月の運行による補正値を算出する
@param [Cycle::LunarRemainder] remainder 月の大余小余 @param [True, False] forward 進(遠地点より数える)/退(近地点より数える)
@return [Integer] 補正値
# File lib/zakuro/version/senmyou/stella/lunar/value.rb, line 29 def self.get(remainder:, forward:) valid?(remainder: remainder) day, minute = Calculation::Lunar::ChoukeiValue.remainder_without_second( remainder: remainder ) # 引き当て row = Adjustment.specify(forward: forward, day: day, minute: minute) value = row.value minus_minute = Adjustment.minus_minute(day: day, minute: minute) day = Calculation::Lunar::ChoukeiValue.rounded_day( per: value.per, denominator: row.denominator, minute: minus_minute ) value.stack + day end
Private Class Methods
valid?(remainder:)
click to toggle source
大余小余を検証する
@param [Cycle::LunarRemainder] remainder 大余小余
@return [True] 正しい(月の位相計算に使う大余小余) @return [True] 正しくない
# File lib/zakuro/version/senmyou/stella/lunar/value.rb, line 58 def self.valid?(remainder:) return if remainder.is_a?(Cycle::LunarRemainder) raise ArgumentError, "unmatch parameter type: #{remainder.class}" end