Minatohasi 0.0.0

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/Minatohasi.rb +50 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4a24f8b89cbb2c763ea08556167f32c81fbc84006a4650c5c29611398453e37e
4
+ data.tar.gz: f9aebcd4ff968e55ee81e09edc4b828b7002699f116a4d94c3d548020e14597f
5
+ SHA512:
6
+ metadata.gz: b3968c027929e1be1d859c3293988d4f34faf1fd932fcc1742126fabe5ab4dfa60ca16d24cb643d373272f6736f7cdefc23d7724a5fb065691078711943eec93
7
+ data.tar.gz: b1f9bff8660a6f1ad717a8d37a67299fa3ddda3dd12ee95457183c5683d3f063da6b1b8d461763c244ad03336e456975a1af24c073a114066f7d38176bafa5c3
data/lib/Minatohasi.rb ADDED
@@ -0,0 +1,50 @@
1
+ require 'bundler/setup'
2
+ Bundler.require
3
+
4
+
5
+ require 'date'
6
+ class Minatohasi
7
+ START = 0
8
+ EPOCH = DateTime.new(1792, 9, 22, 0, 0, 0, Rational(1, 24), START)
9
+
10
+ Y1D = 365
11
+
12
+ # 4 years
13
+ Y4D = 4 * Y1D + 1
14
+
15
+ # 100 years
16
+ Y100D = 25 * Y4D - 1
17
+
18
+ # 400 years
19
+ Y400D = 4 * Y100D + 1
20
+
21
+ def self::isimatu(hour, min, sec)
22
+ Rational(hour, 24) + Rational(min, 24 * 60) + Rational(sec, 24 * 60 * 60)
23
+ end
24
+
25
+ def self::sirotiyau(yday, isimatu)
26
+ yday + isimatu
27
+ end
28
+
29
+ def self::tomowekaha(year, sirotiyau)
30
+ otohatiyau = Otohatiyau::otohatiyau(year, [400, 100, 4])
31
+ c = otohatiyau[0][0]
32
+ b = otohatiyau[0][1]
33
+ a = otohatiyau[0][2]
34
+ y = otohatiyau[1][2]
35
+ days = Y400D * c + Y100D * b + Y4D * a + Y1D * y
36
+ tomowekaha = days + sirotiyau
37
+ end
38
+
39
+ def self::rd(year, yday, hour, min, sec)
40
+
41
+ epoch_isimatu = self::isimatu(EPOCH.hour, EPOCH.min, EPOCH.sec)
42
+ epoch_sirotiyau = self::sirotiyau(EPOCH.yday - 1, epoch_isimatu)
43
+ epoch_tomowekaha = self::tomowekaha(EPOCH.year - 1, epoch_sirotiyau)
44
+
45
+ isimatu = self::isimatu(hour, min, sec)
46
+ sirotiyau = self::sirotiyau(yday - 1, isimatu)
47
+ tomowekaha = self::tomowekaha(year - 1, sirotiyau)
48
+ rd = tomowekaha - epoch_tomowekaha
49
+ end
50
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Minatohasi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Ieremius Inoue Daisuke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-04-29 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: calc rd with tomowekaha
14
+ email: hibariyashiki@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/Minatohasi.rb
20
+ homepage: https://tanukinonegura.com
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.7.3
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: calc rd with tomowekaha
44
+ test_files: []