mk_sunmoon 0.1.4 → 0.1.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f532be97f7daa9b02f0f92bf1e82a84100e382c8
4
- data.tar.gz: 597e55be37d3ec74bcbc74825f0d0d6736edfb35
3
+ metadata.gz: 19cec8129e3246029a62102aba27bbb861d016f5
4
+ data.tar.gz: 00cdb41bd0332d7ea1112e1e95adac51a05ac535
5
5
  SHA512:
6
- metadata.gz: aa75a86c7b76a3fe6ab678c09ad558df3d8cc9707eda2a19495eff1e1d0db4e1d4501ce63785e669bc671d7361fe46d194487b46021401973ccd5786310a2fe5
7
- data.tar.gz: 857382b8dbee44f06db66e08dacf8c596f35a4a25d71ef8bf5bd1afff67ad10aae68566d329adade60d22bd3dafdf417e6ae149eb60f027e6fe91ff8c6246999
6
+ metadata.gz: 470a6a67a38efd66b92d7aab6fdab356a84e7f297e603c3163594e88e54fd562840e75974aff02622ed21475e5ac2074df63f6ad08fee6bac053ea4d8abb8528
7
+ data.tar.gz: 215b9738db3aa50badc41c878c95b25c20843abbe3d5ac7063df6a6bf3ed86287ee43ded1152fd73181306cf8c3041e62310ab84dfdffc0a7e3135de704fe814
@@ -1,3 +1,5 @@
1
+ require 'mk_time'
2
+
1
3
  module MkSunmoon
2
4
  module Compute
3
5
  module_function
@@ -57,158 +59,9 @@ module MkSunmoon
57
59
  # @return: dt
58
60
  #=========================================================================
59
61
  def compute_dt(year, month, day)
60
- ym = sprintf("%04d-%02d", year, month)
61
- y = year + (month - 0.5) / 12
62
- case
63
- when year < -500
64
- t = (y - 1820) / 100.0
65
- dt = -20 + 32 * t ** 2
66
- when -500 <= year && year < 500
67
- t = y / 100.0
68
- dt = 10583.6
69
- (-1014.41 + \
70
- ( 33.78311 + \
71
- ( -5.952053 + \
72
- ( -0.1798452 + \
73
- ( 0.022174192 + \
74
- ( 0.0090316521) \
75
- * t) * t) * t) * t) * t) * t
76
- when 500 <= year && year < 1600
77
- t = (y - 1000) / 100.0
78
- dt = 1574.2 + \
79
- (-556.01 + \
80
- ( 71.23472 + \
81
- ( 0.319781 + \
82
- ( -0.8503463 + \
83
- ( -0.005050998 + \
84
- ( 0.0083572073) \
85
- * t) * t) * t) * t) * t) * t
86
- when 1600 <= year && year < 1700
87
- t = y - 1600
88
- dt = 120 + \
89
- ( -0.9808 + \
90
- ( -0.01532 + \
91
- ( 1.0 / 7129.0) \
92
- * t) * t) * t
93
- when 1700 <= year && year < 1800
94
- t = y - 1700
95
- dt = 8.83 + \
96
- ( 0.1603 + \
97
- (-0.0059285 + \
98
- ( 0.00013336 + \
99
- (-1.0 / 1174000.0) \
100
- * t) * t) * t) * t
101
- when 1800 <= year && year < 1860
102
- t = y - 1800
103
- dt = 13.72 + \
104
- (-0.332447 + \
105
- ( 0.0068612 + \
106
- ( 0.0041116 + \
107
- (-0.00037436 + \
108
- ( 0.0000121272 + \
109
- (-0.0000001699 + \
110
- ( 0.000000000875) \
111
- * t) * t) * t) * t) * t) * t) * t
112
- when 1860 <= year && year < 1900
113
- t = y - 1860
114
- dt = 7.62 + \
115
- ( 0.5737 + \
116
- (-0.251754 + \
117
- ( 0.01680668 + \
118
- (-0.0004473624 + \
119
- ( 1.0 / 233174.0) \
120
- * t) * t) * t) * t) * t
121
- when 1900 <= year && year < 1920
122
- t = y - 1900
123
- dt = -2.79 + \
124
- ( 1.494119 + \
125
- (-0.0598939 + \
126
- ( 0.0061966 + \
127
- (-0.000197 ) \
128
- * t) * t) * t) * t
129
- when 1920 <= year && year < 1941
130
- t = y - 1920
131
- dt = 21.20 + \
132
- ( 0.84493 + \
133
- (-0.076100 + \
134
- ( 0.0020936) \
135
- * t) * t) * t
136
- when 1941 <= year && year < 1961
137
- t = y - 1950
138
- dt = 29.07 + \
139
- ( 0.407 + \
140
- (-1 / 233.0 + \
141
- ( 1 / 2547.0) \
142
- * t) * t) * t
143
- when 1961 <= year && year < 1986
144
- case
145
- when ym < sprintf("%04d-%02d", 1972, 1)
146
- t = y - 1975
147
- dt = 45.45 + \
148
- ( 1.067 + \
149
- (-1 / 260.0 + \
150
- (-1 / 718.0) \
151
- * t) * t) * t
152
- when ym < sprintf("%04d-%02d", 1972, 7); dt = Const::TT_TAI + 10
153
- when ym < sprintf("%04d-%02d", 1973, 1); dt = Const::TT_TAI + 11
154
- when ym < sprintf("%04d-%02d", 1974, 1); dt = Const::TT_TAI + 12
155
- when ym < sprintf("%04d-%02d", 1975, 1); dt = Const::TT_TAI + 13
156
- when ym < sprintf("%04d-%02d", 1976, 1); dt = Const::TT_TAI + 14
157
- when ym < sprintf("%04d-%02d", 1977, 1); dt = Const::TT_TAI + 15
158
- when ym < sprintf("%04d-%02d", 1978, 1); dt = Const::TT_TAI + 16
159
- when ym < sprintf("%04d-%02d", 1979, 1); dt = Const::TT_TAI + 17
160
- when ym < sprintf("%04d-%02d", 1980, 1); dt = Const::TT_TAI + 18
161
- when ym < sprintf("%04d-%02d", 1981, 7); dt = Const::TT_TAI + 19
162
- when ym < sprintf("%04d-%02d", 1982, 7); dt = Const::TT_TAI + 20
163
- when ym < sprintf("%04d-%02d", 1983, 7); dt = Const::TT_TAI + 21
164
- when ym < sprintf("%04d-%02d", 1985, 7); dt = Const::TT_TAI + 22
165
- when ym < sprintf("%04d-%02d", 1988, 1); dt = Const::TT_TAI + 23
166
- end
167
- when 1986 <= year && year < 2005
168
- #t = y - 2000
169
- #dt = 63.86 + \
170
- # ( 0.3345 + \
171
- # (-0.060374 + \
172
- # ( 0.0017275 + \
173
- # ( 0.000651814 + \
174
- # ( 0.00002373599) \
175
- # * t) * t) * t) * t) * t
176
- case
177
- when ym < sprintf("%04d-%02d", 1988, 1); dt = Const::TT_TAI + 23
178
- when ym < sprintf("%04d-%02d", 1990, 1); dt = Const::TT_TAI + 24
179
- when ym < sprintf("%04d-%02d", 1991, 1); dt = Const::TT_TAI + 25
180
- when ym < sprintf("%04d-%02d", 1992, 7); dt = Const::TT_TAI + 26
181
- when ym < sprintf("%04d-%02d", 1993, 7); dt = Const::TT_TAI + 27
182
- when ym < sprintf("%04d-%02d", 1994, 7); dt = Const::TT_TAI + 28
183
- when ym < sprintf("%04d-%02d", 1996, 1); dt = Const::TT_TAI + 29
184
- when ym < sprintf("%04d-%02d", 1997, 7); dt = Const::TT_TAI + 30
185
- when ym < sprintf("%04d-%02d", 1999, 1); dt = Const::TT_TAI + 31
186
- when ym < sprintf("%04d-%02d", 2006, 1); dt = Const::TT_TAI + 32
187
- end
188
- when 2005 <= year && year < 2050
189
- case
190
- when ym < sprintf("%04d-%02d", 2006, 1); dt = Const::TT_TAI + 32
191
- when ym < sprintf("%04d-%02d", 2009, 1); dt = Const::TT_TAI + 33
192
- when ym < sprintf("%04d-%02d", 2012, 7); dt = Const::TT_TAI + 34
193
- when ym < sprintf("%04d-%02d", 2015, 7); dt = Const::TT_TAI + 35
194
- when ym < sprintf("%04d-%02d", 2017, 1); dt = Const::TT_TAI + 36
195
- when ym < sprintf("%04d-%02d", 2019, 1); dt = Const::TT_TAI + 37 # <= 第27回うるう秒実施までの暫定措置
196
- else
197
- t = y - 2000
198
- dt = 62.92 + \
199
- ( 0.32217 + \
200
- ( 0.005589) \
201
- * t) * t
202
- end
203
- when 2050 <= year && year <= 2150
204
- dt = -20 \
205
- + 32 * ((y - 1820) / 100.0) ** 2
206
- - 0.5628 * (2150 - y)
207
- when 2150 < year
208
- t = (y - 1820) / 100.0
209
- dt = -20 + 32 * t ** 2
210
- end
211
- return dt
62
+ ymd = sprintf("%04d%02d%02d", year, month, day)
63
+ tm = MkTime.new(ymd)
64
+ return tm.dt
212
65
  end
213
66
 
214
67
  #=========================================================================
@@ -1,3 +1,3 @@
1
1
  module MkSunmoon
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
data/mk_sunmoon.gemspec CHANGED
@@ -30,4 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "bundler", "~> 1.11"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
  spec.add_development_dependency "rspec", "~> 3.0"
33
+ spec.add_development_dependency "mk_time", "~> 0.1"
33
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mk_sunmoon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - komasaru
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-20 00:00:00.000000000 Z
11
+ date: 2016-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mk_time
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.1'
55
69
  description: MkSunmoon is a library of Sunrise, Sunset, Moonrise, Moonset.
56
70
  email:
57
71
  - masaru@mk-mode.com