mk_sunmoon 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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