when_exe 0.4.1 → 0.4.2
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 +4 -4
- data/README.md +36 -33
- data/bin/locales.rb +1 -1
- data/bin/make_ttl.rb.config +1 -1
- data/lib/when_exe.rb +27 -16
- data/lib/when_exe/basictypes.rb +772 -771
- data/lib/when_exe/calendartypes.rb +1485 -1453
- data/lib/when_exe/coordinates.rb +5 -0
- data/lib/when_exe/core/compatibility.rb +1 -1
- data/lib/when_exe/core/duration.rb +147 -116
- data/lib/when_exe/core/extension.rb +499 -497
- data/lib/when_exe/ephemeris.rb +1952 -1951
- data/lib/when_exe/ephemeris/eclipse.rb +5 -4
- data/lib/when_exe/ephemeris/notes.rb +457 -421
- data/lib/when_exe/ephemeris/planets.rb +585 -585
- data/lib/when_exe/ephemeris/sun.rb +214 -214
- data/lib/when_exe/google_api.rb +153 -0
- data/lib/when_exe/icalendar.rb +1640 -1632
- data/lib/when_exe/inspect.rb +42 -20
- data/lib/when_exe/linkeddata.rb +28 -7
- data/lib/when_exe/locales/autoload.rb +2 -1
- data/lib/when_exe/locales/locale.rb +35 -15
- data/lib/when_exe/locales/zh.rb +77 -0
- data/lib/when_exe/mini_application.rb +3 -1
- data/lib/when_exe/{googlecalendar.rb → obsolete/googlecalendar.rb} +144 -144
- data/lib/when_exe/parts/enumerator.rb +498 -486
- data/lib/when_exe/parts/geometric_complex.rb +397 -397
- data/lib/when_exe/parts/timezone.rb +246 -241
- data/lib/when_exe/region/armenian.rb +55 -56
- data/lib/when_exe/region/babylonian.rb +406 -405
- data/lib/when_exe/region/bahai.rb +107 -106
- data/lib/when_exe/region/balinese.rb +624 -622
- data/lib/when_exe/region/chinese.rb +1071 -1026
- data/lib/when_exe/region/chinese/epochs.rb +28 -28
- data/lib/when_exe/region/chinese/notes.rb +219 -0
- data/lib/when_exe/region/chinese/twins.rb +803 -803
- data/lib/when_exe/region/christian.rb +21 -15
- data/lib/when_exe/region/coptic.rb +107 -106
- data/lib/when_exe/region/discordian.rb +218 -218
- data/lib/when_exe/region/east_asian.rb +1 -1
- data/lib/when_exe/region/french.rb +126 -56
- data/lib/when_exe/region/geologicalage.rb +639 -639
- data/lib/when_exe/region/goddess.rb +60 -58
- data/lib/when_exe/region/hanke_henry.rb +2 -2
- data/lib/when_exe/region/indian.rb +1225 -1222
- data/lib/when_exe/region/international_fixed.rb +96 -97
- data/lib/when_exe/region/iranian.rb +206 -203
- data/lib/when_exe/region/islamic.rb +102 -102
- data/lib/when_exe/region/japanese.rb +126 -71
- data/lib/when_exe/region/japanese/epochs.rb +426 -426
- data/lib/when_exe/region/japanese/notes.rb +101 -81
- data/lib/when_exe/region/japanese/residues.rb +1345 -1311
- data/lib/when_exe/region/japanese/twins.rb +225 -225
- data/lib/when_exe/region/japanese/weeks.rb +112 -112
- data/lib/when_exe/region/javanese.rb +230 -230
- data/lib/when_exe/region/jewish.rb +130 -131
- data/lib/when_exe/region/m17n.rb +114 -114
- data/lib/when_exe/region/martian.rb +258 -258
- data/lib/when_exe/region/mayan.rb +11 -8
- data/lib/when_exe/region/pax.rb +4 -5
- data/lib/when_exe/region/pope.rb +1 -1
- data/lib/when_exe/region/positivist.rb +100 -100
- data/lib/when_exe/region/residue.rb +162 -162
- data/lib/when_exe/region/roman.rb +333 -333
- data/lib/when_exe/region/{soviet.rb → russian.rb} +221 -209
- data/lib/when_exe/region/shire.rb +222 -223
- data/lib/when_exe/region/symmetry.rb +50 -50
- data/lib/when_exe/region/thai.rb +336 -336
- data/lib/when_exe/region/tibetan.rb +315 -316
- data/lib/when_exe/region/tranquility.rb +207 -208
- data/lib/when_exe/region/vanishing_leprechaun.rb +3 -1
- data/lib/when_exe/region/vietnamese.rb +449 -440
- data/lib/when_exe/region/weekdate.rb +80 -80
- data/lib/when_exe/region/world.rb +170 -171
- data/lib/when_exe/region/world_season.rb +89 -89
- data/lib/when_exe/region/yerm.rb +3 -3
- data/lib/when_exe/region/zoroastrian.rb +205 -205
- data/lib/when_exe/timestandard.rb +708 -707
- data/lib/when_exe/tmduration.rb +338 -338
- data/lib/when_exe/tmobjects.rb +1356 -1356
- data/lib/when_exe/tmposition.rb +66 -31
- data/lib/when_exe/version.rb +16 -2
- data/test/examples/Residue.m17n +83 -83
- data/test/examples/Terms.m17n +2 -2
- data/test/test.rb +2 -2
- data/test/test/google_api.rb +65 -0
- data/test/test/linkeddata.rb +1 -1
- data/test/test/{googlecalendar.rb → obsolete/googlecalendar.rb} +194 -194
- data/test/test/region/indian.rb +90 -85
- data/test/test/region/m17n.rb +7 -7
- data/test/test/region/mayan.rb +195 -195
- data/test/test/region/residue.rb +153 -153
- data/test/test/tmposition.rb +11 -1
- data/when_exe.gemspec +2 -2
- metadata +95 -8
- data/test/test.rb.config +0 -1
data/lib/when_exe/tmposition.rb
CHANGED
|
@@ -314,11 +314,11 @@ module When::TM
|
|
|
314
314
|
gsub(When::Parts::Resource::IRIDecode) {|c| When::Parts::Resource::IRIDecodeTable[c]}
|
|
315
315
|
|
|
316
316
|
# suffix - Frame specification
|
|
317
|
-
if iso8601form =~ /\A(.*[^\d])\((([-+*&%@!>=<?\dW.]|\{.+?\})+)\)\z/
|
|
317
|
+
if iso8601form =~ /\A(.*[^\d]|.+=[^:]+)\((([-+*&%@!>=<?\dW.T:]|\{.+?\})+)\)\z/
|
|
318
318
|
frame, iso8601form = $~[1..2]
|
|
319
319
|
frame.sub!(/_+\z/, '')
|
|
320
320
|
else
|
|
321
|
-
iso8601form, frame, *rest = iso8601form.split(
|
|
321
|
+
iso8601form, frame, *rest = iso8601form.split(/(?:\^|%5E){1,2}/i)
|
|
322
322
|
return rest.inject(_instance(iso8601form + '^' + frame, options)) {|p,c| When.Resource(c, '_c:').jul_trans(p)} unless rest.empty?
|
|
323
323
|
end
|
|
324
324
|
|
|
@@ -326,7 +326,7 @@ module When::TM
|
|
|
326
326
|
options = options.merge({:frame=>When.Resource(frame, '_c:')}) if frame
|
|
327
327
|
|
|
328
328
|
# indeterminateValue
|
|
329
|
-
if (iso8601form.sub!(/\/After
|
|
329
|
+
if (iso8601form.sub!(/\/After\z|\ABefore\/|\ANow\z|\AUnknown\z|\A[-+]Infinity\z/i, ''))
|
|
330
330
|
options[:indeterminated_position] = When::TimeValue::S[$&.sub(/\//,'')]
|
|
331
331
|
case options[:indeterminated_position]
|
|
332
332
|
when When::TimeValue::Now,
|
|
@@ -505,7 +505,7 @@ module When::TM
|
|
|
505
505
|
main[:clock] = clock if clock
|
|
506
506
|
[:indeterminated_position, :frame, :events, :precision,
|
|
507
507
|
:era_name, :era, :abbr, :extra_year_digits, :ordinal_date_digits, :wkst, :time_standard, :location].each do |key|
|
|
508
|
-
main[key] = query.delete(key) if
|
|
508
|
+
main[key] = query.delete(key) if query.key?(key)
|
|
509
509
|
end
|
|
510
510
|
long = query.delete(:long)
|
|
511
511
|
lat = query.delete(:lat)
|
|
@@ -538,7 +538,7 @@ module When::TM
|
|
|
538
538
|
|
|
539
539
|
# PeriodDuration
|
|
540
540
|
sign, *args = PeriodDuration._to_array(specification)
|
|
541
|
-
if
|
|
541
|
+
if sign
|
|
542
542
|
args << options
|
|
543
543
|
duration = PeriodDuration.new(*args)
|
|
544
544
|
return (sign >= 0) ? duration : -duration
|
|
@@ -548,14 +548,14 @@ module When::TM
|
|
|
548
548
|
specification =~ /(.+?)(?:\[([-+]?\d+)\])?\z/
|
|
549
549
|
options[:sdn] = $2.to_i if $2
|
|
550
550
|
f, d, t, z, e, r = When::BasicTypes::DateTime._to_array($1, options)
|
|
551
|
-
raise ArgumentError, "Timezone conflict: #{z} - #{options[:clock]}" if (z && options[:clock])
|
|
552
551
|
options.delete(:abbr)
|
|
552
|
+
z2 = When.Clock(options[:clock]) if z && options[:clock]
|
|
553
553
|
z ||= options[:clock]
|
|
554
|
-
z
|
|
554
|
+
z = When.Clock(z) if z =~ /\A[A-Z]+\z/
|
|
555
555
|
|
|
556
556
|
unless d
|
|
557
557
|
# ClockTime
|
|
558
|
-
raise ArgumentError, "Timezone conflict: #{z} - #{options[:clock]}" if
|
|
558
|
+
raise ArgumentError, "Timezone conflict: #{z} - #{options[:clock]}" if z && options[:frame]
|
|
559
559
|
options[:frame] ||= z
|
|
560
560
|
options.delete(:clock)
|
|
561
561
|
return ClockTime.new(t, options)
|
|
@@ -563,7 +563,7 @@ module When::TM
|
|
|
563
563
|
|
|
564
564
|
options[:era_name] = e if e
|
|
565
565
|
options[:_format ] = f if f
|
|
566
|
-
d, w = d[0..0], d[1..-1] if
|
|
566
|
+
d, w = d[0..0], d[1..-1] if f == :week || f == :day
|
|
567
567
|
position = z ? DateAndTime.new(d, t||[0], options.update({:clock => z})) :
|
|
568
568
|
t ? DateAndTime.new(d, t, options) :
|
|
569
569
|
CalDate.new(d, options)
|
|
@@ -586,7 +586,7 @@ module When::TM
|
|
|
586
586
|
position &= residue
|
|
587
587
|
end
|
|
588
588
|
end
|
|
589
|
-
|
|
589
|
+
z2 ? z2 ^ position : position
|
|
590
590
|
end
|
|
591
591
|
end
|
|
592
592
|
|
|
@@ -703,14 +703,13 @@ module When::TM
|
|
|
703
703
|
|
|
704
704
|
# 標準ライブラリの DateTime オブジェクトへの変換
|
|
705
705
|
#
|
|
706
|
+
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
|
706
707
|
# @param [Hash] option 時間の歩度が1.0でない場合のための option
|
|
707
708
|
# see {When::TM::TemporalPosition._instance}
|
|
708
709
|
#
|
|
709
|
-
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
|
710
|
-
#
|
|
711
710
|
# @return [::DateTime]
|
|
712
711
|
#
|
|
713
|
-
def to_datetime(option={:frame=>When::UTC}
|
|
712
|
+
def to_datetime(start=_default_start, option={:frame=>When::UTC})
|
|
714
713
|
return JulianDate.dynamical_time(dynamical_time, option).to_datetime unless time_standard.rate_of_clock == 1.0
|
|
715
714
|
raise TypeError, "Clock not assigned" unless clock
|
|
716
715
|
Rational
|
|
@@ -721,14 +720,13 @@ module When::TM
|
|
|
721
720
|
|
|
722
721
|
# 標準ライブラリの Date オブジェクトへの変換
|
|
723
722
|
#
|
|
723
|
+
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
|
724
724
|
# @param [Hash] option 時間の歩度が1.0でない場合のための option
|
|
725
725
|
# see {When::TM::TemporalPosition._instance}
|
|
726
726
|
#
|
|
727
|
-
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
|
728
|
-
#
|
|
729
727
|
# @return [::Date]
|
|
730
728
|
#
|
|
731
|
-
def to_date(option={}
|
|
729
|
+
def to_date(start=_default_start, option={})
|
|
732
730
|
return JulianDate.dynamical_time(dynamical_time, option).to_date unless time_standard.rate_of_clock == 1.0
|
|
733
731
|
::Date.jd(to_i, start)
|
|
734
732
|
end
|
|
@@ -1031,12 +1029,12 @@ module When::TM
|
|
|
1031
1029
|
# 属性のコピー
|
|
1032
1030
|
# @private
|
|
1033
1031
|
def _copy(options={})
|
|
1034
|
-
@frame = options[:frame] if
|
|
1035
|
-
@events = options[:events] if
|
|
1036
|
-
@precision = options[:precision] if
|
|
1037
|
-
@query = options[:query] if
|
|
1038
|
-
@location = options[:location] if
|
|
1039
|
-
@time_standard = options[:time_standard] if
|
|
1032
|
+
@frame = options[:frame] if options.key?(:frame)
|
|
1033
|
+
@events = options[:events] if options.key?(:events)
|
|
1034
|
+
@precision = options[:precision] if options.key?(:precision)
|
|
1035
|
+
@query = options[:query] if options.key?(:query)
|
|
1036
|
+
@location = options[:location] if options.key?(:location)
|
|
1037
|
+
@time_standard = options[:time_standard] if options.key?(:time_standard)
|
|
1040
1038
|
@sdn = @universal_time = @local_time = @dynamical_time = @period = nil
|
|
1041
1039
|
_normalize(options)
|
|
1042
1040
|
return self
|
|
@@ -1403,7 +1401,7 @@ module When::TM
|
|
|
1403
1401
|
#
|
|
1404
1402
|
def initialize(universal_time, options={})
|
|
1405
1403
|
@frame = options.delete(:frame)
|
|
1406
|
-
@frame = When.Clock(@frame) if
|
|
1404
|
+
@frame = When.Clock(@frame) if @frame.kind_of?(String)
|
|
1407
1405
|
@frame = @frame._daylight(universal_time) if @frame && @frame._need_validate
|
|
1408
1406
|
precision = options.delete(:precision)
|
|
1409
1407
|
precision ||= DAY unless @frame.kind_of?(Clock)
|
|
@@ -1517,9 +1515,12 @@ module When::TM
|
|
|
1517
1515
|
# 属性のコピー
|
|
1518
1516
|
# @private
|
|
1519
1517
|
def _copy(options={})
|
|
1520
|
-
@clk_time = options[:time]
|
|
1521
|
-
|
|
1522
|
-
|
|
1518
|
+
@clk_time = options[:time] if options.key?(:time)
|
|
1519
|
+
if options.key?(:clock)
|
|
1520
|
+
options.delete(:frame)
|
|
1521
|
+
@frame = options[:clock]
|
|
1522
|
+
end
|
|
1523
|
+
if options.key?(:tz_prop)
|
|
1523
1524
|
@frame = @frame.dup
|
|
1524
1525
|
@frame.tz_prop = options[:tz_prop]
|
|
1525
1526
|
end
|
|
@@ -1719,6 +1720,21 @@ module When::TM
|
|
|
1719
1720
|
'year' => most_significant_coordinate})
|
|
1720
1721
|
end
|
|
1721
1722
|
|
|
1723
|
+
# 暦年代の削除
|
|
1724
|
+
#
|
|
1725
|
+
# @return [When::TM::CalDate] 暦年代を削除した When::TM::CalDate
|
|
1726
|
+
#
|
|
1727
|
+
def without_era
|
|
1728
|
+
target = dup
|
|
1729
|
+
return target unless calendar_era
|
|
1730
|
+
options = _attr
|
|
1731
|
+
options[:era] = nil
|
|
1732
|
+
options[:era_name] = nil
|
|
1733
|
+
options[:date] = cal_date.dup
|
|
1734
|
+
options[:date][0] += calendar_era_epoch
|
|
1735
|
+
target._copy(options)
|
|
1736
|
+
end
|
|
1737
|
+
|
|
1722
1738
|
# 要素の参照
|
|
1723
1739
|
#
|
|
1724
1740
|
# @param [Integer, String] index 参照する要素の指定
|
|
@@ -1865,7 +1881,9 @@ module When::TM
|
|
|
1865
1881
|
# 属性のコピー
|
|
1866
1882
|
# @private
|
|
1867
1883
|
def _copy(options={})
|
|
1868
|
-
@cal_date
|
|
1884
|
+
@cal_date = options[:date] if options.key?(:date)
|
|
1885
|
+
@calendar_era = options[:era] if options.key?(:era)
|
|
1886
|
+
@calendar_era_props = options[:era_name] if options.key?(:era_name)
|
|
1869
1887
|
return super
|
|
1870
1888
|
end
|
|
1871
1889
|
|
|
@@ -1909,7 +1927,7 @@ module When::TM
|
|
|
1909
1927
|
era, date = _search_era(@calendar_era, trans_options)
|
|
1910
1928
|
else
|
|
1911
1929
|
eras = CalendarEra._instance(query_options)
|
|
1912
|
-
raise ArgumentError, "CalendarEraName doesn't exist: #{query_options[:label]}" if
|
|
1930
|
+
raise ArgumentError, "CalendarEraName doesn't exist: #{query_options[:label]}" if eras.empty?
|
|
1913
1931
|
eras.each do |e|
|
|
1914
1932
|
era, date = _search_era(e, trans_options)
|
|
1915
1933
|
next unless era
|
|
@@ -1965,7 +1983,7 @@ module When::TM
|
|
|
1965
1983
|
end
|
|
1966
1984
|
era = new_era
|
|
1967
1985
|
when TimeValue
|
|
1968
|
-
|
|
1986
|
+
return era, date
|
|
1969
1987
|
else
|
|
1970
1988
|
break
|
|
1971
1989
|
end
|
|
@@ -2105,7 +2123,18 @@ module When::TM
|
|
|
2105
2123
|
#
|
|
2106
2124
|
def floor(digit=DAY, precision=digit)
|
|
2107
2125
|
count = digit - clock.indices.length
|
|
2108
|
-
|
|
2126
|
+
|
|
2127
|
+
if digit>=DAY
|
|
2128
|
+
date = @cal_date.dup
|
|
2129
|
+
elsif @calendar_era_props
|
|
2130
|
+
date = @cal_date.dup
|
|
2131
|
+
date[0] += calendar_era_epoch
|
|
2132
|
+
date = @frame._validate(date[0..(digit-1)])
|
|
2133
|
+
date[0] -= calendar_era_epoch
|
|
2134
|
+
else
|
|
2135
|
+
date = @frame._validate(@cal_date[0..(digit-1)])
|
|
2136
|
+
end
|
|
2137
|
+
|
|
2109
2138
|
time = @clk_time.clk_time[0..((digit<=DAY) ? 0 : ((count>=0) ? -1 : digit))]
|
|
2110
2139
|
time[0] += to_i
|
|
2111
2140
|
time = clock._validate(time)
|
|
@@ -2179,7 +2208,13 @@ module When::TM
|
|
|
2179
2208
|
case options[:time]
|
|
2180
2209
|
when Array
|
|
2181
2210
|
if clock._need_validate
|
|
2182
|
-
|
|
2211
|
+
if @calendar_era_props
|
|
2212
|
+
date = options[:date].dup
|
|
2213
|
+
date[0] += calendar_era_epoch
|
|
2214
|
+
else
|
|
2215
|
+
date = options[:date]
|
|
2216
|
+
end
|
|
2217
|
+
new_clock = clock._daylight([@frame, date, options[:time]])
|
|
2183
2218
|
options[:time] = options[:time].map {|t| t * 1}
|
|
2184
2219
|
else
|
|
2185
2220
|
new_clock = clock
|
data/lib/when_exe/version.rb
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C)
|
|
3
|
+
Copyright (C) 2011-2015 Takashi SUGA
|
|
4
4
|
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
|
6
6
|
=end
|
|
7
7
|
|
|
8
8
|
module When
|
|
9
|
-
VERSION
|
|
9
|
+
VERSION = "0.4.2"
|
|
10
|
+
YEARS = "(C) 2011-2015"
|
|
11
|
+
AUTHOR = "Takashi SUGA"
|
|
12
|
+
COPYRIGHT = "#{YEARS} #{AUTHOR}"
|
|
13
|
+
|
|
14
|
+
class BasicTypes::M17n
|
|
15
|
+
Rights = [self, [
|
|
16
|
+
"locale:[=en:, ja=ja:, alias]",
|
|
17
|
+
"names:[Basic information=, 基本情報=, *alias:Rights=]",
|
|
18
|
+
"[#{YEARS}=, *alias:Years]",
|
|
19
|
+
"[#{AUTHOR}=http://hosi.org/TakashiSuga, 須賀 隆=, *alias:Author=]",
|
|
20
|
+
"[When.exe written in Ruby language=http://www2u.biglobe.ne.jp/~suchowan/when_exe_wiki.html, When.exe Ruby版=, *alias:Title=]",
|
|
21
|
+
"[Gem Ver. #{VERSION}=http://rubygems.org/gems/when_exe, *alias:Version=]"
|
|
22
|
+
]]
|
|
23
|
+
end
|
|
10
24
|
end
|
data/test/examples/Residue.m17n
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
BEGIN:B:M17N
|
|
2
|
-
# Copyright (C)
|
|
2
|
+
# Copyright (C) 2012-2015 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
@@ -34,16 +34,16 @@ BEGIN:B:M17N
|
|
|
34
34
|
DIVISOR:10
|
|
35
35
|
DAY:11
|
|
36
36
|
YEAR:4
|
|
37
|
-
CO:RESIDUE:0,10,0,[
|
|
38
|
-
CO:RESIDUE:1,10,0,[
|
|
39
|
-
CO:RESIDUE:2,10,0,[
|
|
40
|
-
CO:RESIDUE:3,10,0,[
|
|
41
|
-
CO:RESIDUE:4,10,0,[
|
|
42
|
-
CO:RESIDUE:5,10,0,[
|
|
43
|
-
CO:RESIDUE:6,10,0,[
|
|
44
|
-
CO:RESIDUE:7,10,0,[
|
|
45
|
-
CO:RESIDUE:8,10,0,[
|
|
46
|
-
CO:RESIDUE:9,10,0,[
|
|
37
|
+
CO:RESIDUE:0,10,0,[Wood-yang, *甲]
|
|
38
|
+
CO:RESIDUE:1,10,0,[Wood-yin, *乙]
|
|
39
|
+
CO:RESIDUE:2,10,0,[Fire-yang, *丙]
|
|
40
|
+
CO:RESIDUE:3,10,0,[Fire-yin, *丁]
|
|
41
|
+
CO:RESIDUE:4,10,0,[Erath-yang, *戊]
|
|
42
|
+
CO:RESIDUE:5,10,0,[Erath-yin, *己]
|
|
43
|
+
CO:RESIDUE:6,10,0,[Metal-yang, *庚]
|
|
44
|
+
CO:RESIDUE:7,10,0,[Metal-yin, *辛]
|
|
45
|
+
CO:RESIDUE:8,10,0,[Water-yang, *壬]
|
|
46
|
+
CO:RESIDUE:9,10,0,[Water-yin, *癸]
|
|
47
47
|
END:CO:RESIDUE
|
|
48
48
|
|
|
49
49
|
BEGIN:CO:RESIDUE
|
|
@@ -51,18 +51,18 @@ BEGIN:B:M17N
|
|
|
51
51
|
DIVISOR:12
|
|
52
52
|
DAY:11
|
|
53
53
|
YEAR:4
|
|
54
|
-
CO:RESIDUE: 0,12,0,[
|
|
55
|
-
CO:RESIDUE: 1,12,0,[
|
|
56
|
-
CO:RESIDUE: 2,12,0,[
|
|
57
|
-
CO:RESIDUE: 3,12,0,[
|
|
58
|
-
CO:RESIDUE: 4,12,0,[
|
|
59
|
-
CO:RESIDUE: 5,12,0,[
|
|
60
|
-
CO:RESIDUE: 6,12,0,[
|
|
61
|
-
CO:RESIDUE: 7,12,0,[
|
|
62
|
-
CO:RESIDUE: 8,12,0,[
|
|
63
|
-
CO:RESIDUE: 9,12,0,[
|
|
64
|
-
CO:RESIDUE:10,12,0,[
|
|
65
|
-
CO:RESIDUE:11,12,0,[
|
|
54
|
+
CO:RESIDUE: 0,12,0,[Rat, *子]
|
|
55
|
+
CO:RESIDUE: 1,12,0,[Ox, *丑]
|
|
56
|
+
CO:RESIDUE: 2,12,0,[Tiger, *寅]
|
|
57
|
+
CO:RESIDUE: 3,12,0,[Rabbit, *卯]
|
|
58
|
+
CO:RESIDUE: 4,12,0,[Dragon, *辰]
|
|
59
|
+
CO:RESIDUE: 5,12,0,[Snake, *巳]
|
|
60
|
+
CO:RESIDUE: 6,12,0,[Horse, *午]
|
|
61
|
+
CO:RESIDUE: 7,12,0,[Goat, *未]
|
|
62
|
+
CO:RESIDUE: 8,12,0,[Monkey, *申]
|
|
63
|
+
CO:RESIDUE: 9,12,0,[Rooster, *酉]
|
|
64
|
+
CO:RESIDUE:10,12,0,[Dog, *戌]
|
|
65
|
+
CO:RESIDUE:11,12,0,[Pig, *亥]
|
|
66
66
|
END:CO:RESIDUE
|
|
67
67
|
|
|
68
68
|
|
|
@@ -71,66 +71,66 @@ BEGIN:B:M17N
|
|
|
71
71
|
DIVISOR:60
|
|
72
72
|
DAY:11
|
|
73
73
|
YEAR:4
|
|
74
|
-
CO:RESIDUE: 0,60,0,[
|
|
75
|
-
CO:RESIDUE: 1,60,0,[
|
|
76
|
-
CO:RESIDUE: 2,60,0,[
|
|
77
|
-
CO:RESIDUE: 3,60,0,[
|
|
78
|
-
CO:RESIDUE: 4,60,0,[
|
|
79
|
-
CO:RESIDUE: 5,60,0,[
|
|
80
|
-
CO:RESIDUE: 6,60,0,[
|
|
81
|
-
CO:RESIDUE: 7,60,0,[
|
|
82
|
-
CO:RESIDUE: 8,60,0,[
|
|
83
|
-
CO:RESIDUE: 9,60,0,[
|
|
84
|
-
CO:RESIDUE:10,60,0,[
|
|
85
|
-
CO:RESIDUE:11,60,0,[
|
|
86
|
-
CO:RESIDUE:12,60,0,[
|
|
87
|
-
CO:RESIDUE:13,60,0,[
|
|
88
|
-
CO:RESIDUE:14,60,0,[
|
|
89
|
-
CO:RESIDUE:15,60,0,[
|
|
90
|
-
CO:RESIDUE:16,60,0,[
|
|
91
|
-
CO:RESIDUE:17,60,0,[
|
|
92
|
-
CO:RESIDUE:18,60,0,[
|
|
93
|
-
CO:RESIDUE:19,60,0,[
|
|
94
|
-
CO:RESIDUE:20,60,0,[
|
|
95
|
-
CO:RESIDUE:21,60,0,[
|
|
96
|
-
CO:RESIDUE:22,60,0,[
|
|
97
|
-
CO:RESIDUE:23,60,0,[
|
|
98
|
-
CO:RESIDUE:24,60,0,[
|
|
99
|
-
CO:RESIDUE:25,60,0,[
|
|
100
|
-
CO:RESIDUE:26,60,0,[
|
|
101
|
-
CO:RESIDUE:27,60,0,[
|
|
102
|
-
CO:RESIDUE:28,60,0,[
|
|
103
|
-
CO:RESIDUE:29,60,0,[
|
|
104
|
-
CO:RESIDUE:30,60,0,[
|
|
105
|
-
CO:RESIDUE:31,60,0,[
|
|
106
|
-
CO:RESIDUE:32,60,0,[
|
|
107
|
-
CO:RESIDUE:33,60,0,[
|
|
108
|
-
CO:RESIDUE:34,60,0,[
|
|
109
|
-
CO:RESIDUE:35,60,0,[
|
|
110
|
-
CO:RESIDUE:36,60,0,[
|
|
111
|
-
CO:RESIDUE:37,60,0,[
|
|
112
|
-
CO:RESIDUE:38,60,0,[
|
|
113
|
-
CO:RESIDUE:39,60,0,[
|
|
114
|
-
CO:RESIDUE:40,60,0,[
|
|
115
|
-
CO:RESIDUE:41,60,0,[
|
|
116
|
-
CO:RESIDUE:42,60,0,[
|
|
117
|
-
CO:RESIDUE:43,60,0,[
|
|
118
|
-
CO:RESIDUE:44,60,0,[
|
|
119
|
-
CO:RESIDUE:45,60,0,[
|
|
120
|
-
CO:RESIDUE:46,60,0,[
|
|
121
|
-
CO:RESIDUE:47,60,0,[
|
|
122
|
-
CO:RESIDUE:48,60,0,[
|
|
123
|
-
CO:RESIDUE:49,60,0,[
|
|
124
|
-
CO:RESIDUE:50,60,0,[
|
|
125
|
-
CO:RESIDUE:51,60,0,[
|
|
126
|
-
CO:RESIDUE:52,60,0,[
|
|
127
|
-
CO:RESIDUE:53,60,0,[
|
|
128
|
-
CO:RESIDUE:54,60,0,[
|
|
129
|
-
CO:RESIDUE:55,60,0,[
|
|
130
|
-
CO:RESIDUE:56,60,0,[
|
|
131
|
-
CO:RESIDUE:57,60,0,[
|
|
132
|
-
CO:RESIDUE:58,60,0,[
|
|
133
|
-
CO:RESIDUE:59,60,0,[
|
|
74
|
+
CO:RESIDUE: 0,60,0,[Wood-yang-Rat, *甲子]
|
|
75
|
+
CO:RESIDUE: 1,60,0,[Wood-yin-Ox, *乙丑]
|
|
76
|
+
CO:RESIDUE: 2,60,0,[Fire-yang-Tiger, *丙寅]
|
|
77
|
+
CO:RESIDUE: 3,60,0,[Fire-yin-Rabbit, *丁卯]
|
|
78
|
+
CO:RESIDUE: 4,60,0,[Erath-yang-Dragon, *戊辰]
|
|
79
|
+
CO:RESIDUE: 5,60,0,[Erath-yin-Snake, *己巳]
|
|
80
|
+
CO:RESIDUE: 6,60,0,[Metal-yang-Horse, *庚午]
|
|
81
|
+
CO:RESIDUE: 7,60,0,[Metal-yin-Goat, *辛未]
|
|
82
|
+
CO:RESIDUE: 8,60,0,[Water-yang-Monkey, *壬申]
|
|
83
|
+
CO:RESIDUE: 9,60,0,[Water-yin-Rooster, *癸酉]
|
|
84
|
+
CO:RESIDUE:10,60,0,[Wood-yang-Dog, *甲戌]
|
|
85
|
+
CO:RESIDUE:11,60,0,[Wood-yin-Pig, *乙亥]
|
|
86
|
+
CO:RESIDUE:12,60,0,[Fire-yang-Rat, *丙子]
|
|
87
|
+
CO:RESIDUE:13,60,0,[Fire-yin-Ox, *丁丑]
|
|
88
|
+
CO:RESIDUE:14,60,0,[Erath-yang-Tiger, *戊寅]
|
|
89
|
+
CO:RESIDUE:15,60,0,[Erath-yin-Rabbit, *己卯]
|
|
90
|
+
CO:RESIDUE:16,60,0,[Metal-yang-Dragon, *庚辰]
|
|
91
|
+
CO:RESIDUE:17,60,0,[Metal-yin-Snake, *辛巳]
|
|
92
|
+
CO:RESIDUE:18,60,0,[Water-yang-Horse, *壬午]
|
|
93
|
+
CO:RESIDUE:19,60,0,[Water-yin-Goat, *癸未]
|
|
94
|
+
CO:RESIDUE:20,60,0,[Wood-yang-Monkey, *甲申]
|
|
95
|
+
CO:RESIDUE:21,60,0,[Wood-yin-Rooster, *乙酉]
|
|
96
|
+
CO:RESIDUE:22,60,0,[Fire-yang-Dog, *丙戌]
|
|
97
|
+
CO:RESIDUE:23,60,0,[Fire-yin-Pig, *丁亥]
|
|
98
|
+
CO:RESIDUE:24,60,0,[Erath-yang-Rat, *戊子]
|
|
99
|
+
CO:RESIDUE:25,60,0,[Erath-yin-Ox, *己丑]
|
|
100
|
+
CO:RESIDUE:26,60,0,[Metal-yang-Tiger, *庚寅]
|
|
101
|
+
CO:RESIDUE:27,60,0,[Metal-yin-Rabbit, *辛卯]
|
|
102
|
+
CO:RESIDUE:28,60,0,[Water-yang-Dragon, *壬辰]
|
|
103
|
+
CO:RESIDUE:29,60,0,[Water-yin-Snake, *癸巳]
|
|
104
|
+
CO:RESIDUE:30,60,0,[Wood-yang-Horse, *甲午]
|
|
105
|
+
CO:RESIDUE:31,60,0,[Wood-yin-Goat, *乙未]
|
|
106
|
+
CO:RESIDUE:32,60,0,[Fire-yang-Monkey, *丙申]
|
|
107
|
+
CO:RESIDUE:33,60,0,[Fire-yin-Rooster, *丁酉]
|
|
108
|
+
CO:RESIDUE:34,60,0,[Erath-yang-Dog, *戊戌]
|
|
109
|
+
CO:RESIDUE:35,60,0,[Erath-yin-Pig, *己亥]
|
|
110
|
+
CO:RESIDUE:36,60,0,[Metal-yang-Rat, *庚子]
|
|
111
|
+
CO:RESIDUE:37,60,0,[Metal-yin-Ox, *辛丑]
|
|
112
|
+
CO:RESIDUE:38,60,0,[Water-yang-Tiger, *壬寅]
|
|
113
|
+
CO:RESIDUE:39,60,0,[Water-yin-Rabbit, *癸卯]
|
|
114
|
+
CO:RESIDUE:40,60,0,[Wood-yang-Dragon, *甲辰]
|
|
115
|
+
CO:RESIDUE:41,60,0,[Wood-yin-Snake, *乙巳]
|
|
116
|
+
CO:RESIDUE:42,60,0,[Fire-yang-Horse, *丙午]
|
|
117
|
+
CO:RESIDUE:43,60,0,[Fire-yin-Goat, *丁未]
|
|
118
|
+
CO:RESIDUE:44,60,0,[Erath-yang-Monkey, *戊申]
|
|
119
|
+
CO:RESIDUE:45,60,0,[Erath-yin-Rooster, *己酉]
|
|
120
|
+
CO:RESIDUE:46,60,0,[Metal-yang-Dog, *庚戌]
|
|
121
|
+
CO:RESIDUE:47,60,0,[Metal-yin-Pig, *辛亥]
|
|
122
|
+
CO:RESIDUE:48,60,0,[Water-yang-Rat, *壬子]
|
|
123
|
+
CO:RESIDUE:49,60,0,[Water-yin-Ox, *癸丑]
|
|
124
|
+
CO:RESIDUE:50,60,0,[Wood-yang-Tiger, *甲寅]
|
|
125
|
+
CO:RESIDUE:51,60,0,[Wood-yin-Rabbit, *乙卯]
|
|
126
|
+
CO:RESIDUE:52,60,0,[Fire-yang-Dragon, *丙辰]
|
|
127
|
+
CO:RESIDUE:53,60,0,[Fire-yin-Snake, *丁巳]
|
|
128
|
+
CO:RESIDUE:54,60,0,[Erath-yang-Horse, *戊午]
|
|
129
|
+
CO:RESIDUE:55,60,0,[Erath-yin-Goat, *己未]
|
|
130
|
+
CO:RESIDUE:56,60,0,[Metal-yang-Monkey, *庚申]
|
|
131
|
+
CO:RESIDUE:57,60,0,[Metal-yin-Rooster, *辛酉]
|
|
132
|
+
CO:RESIDUE:58,60,0,[Water-yang-Dog, *壬戌]
|
|
133
|
+
CO:RESIDUE:59,60,0,[Water-yin-Pig, *癸亥]
|
|
134
134
|
END:CO:RESIDUE
|
|
135
135
|
|
|
136
136
|
END:B:M17N
|