Module: Zakuro::Calculation::Solar::ChoukeiValue

Defined in:
lib/zakuro/calculation/stella/solar/choukei_value.rb

Overview

ChoukeiValue 再考長慶宣明暦算法

Constant Summary collapse

LOGGER =

Returns ロガー.

Returns:

Output::Logger.new(location: 'solar_choukei')

Class Method Summary collapse

Class Method Details

.get(remainder:, row:) ⇒ Integer

補正値を返す

Parameters:

  • remainder (Cycle::AbstractRemainder)

    大余小余

  • row (Adjustment::Row)

    24気損益眺朒(ちょうじく)数

Returns:

  • (Integer)

    補正値



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/zakuro/calculation/stella/solar/choukei_value.rb', line 27

def get(remainder:, row:)
  # 損益率/眺朒(ちょうじく)数
  # パラメータ:
  #  a: 眺朒(ちょうじく)数の初日の値
  #  b: 損益率初日の値
  #  c: 損益率の毎日の差
  #  n: 定気の日から数えた日数

  # LOGGER.debug("row.per_day: #{row.per_day}")
  # LOGGER.debug("row.stack: #{row.stack}")

  day_stack = calc_day_stack(remainder: remainder, row: row)

  # LOGGER.debug("day_stack: #{day_stack}")

  month_stack = calc_month_stack(row: row, day: remainder.day)

  # LOGGER.debug("month_stack: #{month_stack}")

  # 冬至であれば眺朒数がプラスになり続けて損益率が「益」で、小雪であればマイナスの眺朒数がプラスされ続けて「損」
  month_stack + day_stack
end