Class: When::CalendarNote::SolarTermsRevised
- Inherits:
-
SolarTerms
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- When::CalendarNote
- LuniSolarPositions
- SolarTerms
- When::CalendarNote::SolarTermsRevised
- Defined in:
- lib/when_exe/ephemeris/notes.rb
Overview
冬至を定気で計算し、その他の二十四節気を前後の冬至の日時を時間で等分して求める
Constant Summary
Constants inherited from When::CalendarNote
Bahai, CalendarDepend, Chinese, CommonWithRokuyo, CommonWithSovietFiveDay, CommonWithSovietSixDay, Default, Javanese, JulianDay, Mayan, Tibetan, Yis
Constants included from Parts::Resource
Parts::Resource::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty
Instance Attribute Summary
Attributes inherited from LuniSolarPositions
#delta, #den, #formula, #margin, #num
Attributes inherited from When::CalendarNote
Attributes inherited from TM::ReferenceSystem
#domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Instance Method Summary collapse
-
#_the_date(date, num, den) ⇒ Object
the event date.
Methods inherited from LuniSolarPositions
#event_delta, #event_eval, #event_time, #position
Methods inherited from When::CalendarNote
#copy, #day, #duration, #enum_for, #include?, #month, #note?, #notes, #year
Methods inherited from TM::ReferenceSystem
Methods included from Parts::Resource
#[], #^, _abbreviation_to_iri, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir
Methods included from Parts::Resource::Pool
#[], #[]=, #_pool, #_setup_, #pool_keys
Methods included from Parts::Resource::Synchronize
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Instance Method Details
#_the_date(date, num, den) ⇒ Object
the event date
180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/when_exe/ephemeris/notes.rb', line 180 def _the_date(date, num, den) quot, mod = @formula.time_to_cn(date).divmod(12) quot += 1 if mod >= 9 range = [12*quot-3, 12*quot+9].map {|cn| [cn*30, @formula.cn_to_time(cn)]} time = @formula.is_dynamical ? +date : date.to_f now = [range[0][0] + (range[1][0] - range[0][0]) / (range[1][1] - range[0][1]) * (time - range[0][1]), time] quot, mod = now[0].divmod(den) cycle = quot * den + num cycle += den if mod > (num % den) range[0][1] + (range[1][1] - range[0][1]) / (range[1][0] - range[0][0]) * (cycle - range[0][0]) end |