equationoftime 3.0.0 → 4.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 (251) hide show
  1. checksums.yaml +4 -4
  2. data/.buildpath +5 -0
  3. data/.project +17 -0
  4. data/.rvmrc +1 -0
  5. data/.settings/org.eclipse.ltk.core.refactoring.prefs +2 -0
  6. data/Makefile +238 -0
  7. data/Rakefile +40 -3
  8. data/analemma_data.yml +2925 -0
  9. data/equationoftime.gemspec +6 -3
  10. data/examples/analemma_data_generator.rb +12 -12
  11. data/examples/celes_parts/.RUBYARCHDIR.time +0 -0
  12. data/examples/celes_parts/.cproject +56 -0
  13. data/examples/celes_parts/.project +78 -0
  14. data/examples/celes_parts/a2af.c +120 -0
  15. data/examples/celes_parts/a2tf.c +116 -0
  16. data/examples/celes_parts/af2a.c +107 -0
  17. data/examples/celes_parts/anp.c +82 -0
  18. data/examples/celes_parts/anpm.c +82 -0
  19. data/examples/celes_parts/bi00.c +116 -0
  20. data/examples/celes_parts/bp00.c +173 -0
  21. data/examples/celes_parts/bp06.c +136 -0
  22. data/examples/celes_parts/bpn2xy.c +100 -0
  23. data/examples/celes_parts/c2i00a.c +139 -0
  24. data/examples/celes_parts/c2i00b.c +139 -0
  25. data/examples/celes_parts/c2i06a.c +136 -0
  26. data/examples/celes_parts/c2ibpn.c +142 -0
  27. data/examples/celes_parts/c2ixy.c +131 -0
  28. data/examples/celes_parts/c2ixys.c +123 -0
  29. data/examples/celes_parts/c2s.c +96 -0
  30. data/examples/celes_parts/c2t00a.c +154 -0
  31. data/examples/celes_parts/c2t00b.c +150 -0
  32. data/examples/celes_parts/c2t06a.c +152 -0
  33. data/examples/celes_parts/c2tcio.c +122 -0
  34. data/examples/celes_parts/c2teqx.c +122 -0
  35. data/examples/celes_parts/c2tpe.c +167 -0
  36. data/examples/celes_parts/c2txy.c +159 -0
  37. data/examples/celes_parts/cal2jd.c +139 -0
  38. data/examples/celes_parts/celes_core.c +2522 -0
  39. data/examples/celes_parts/cp.c +80 -0
  40. data/examples/celes_parts/cpv.c +82 -0
  41. data/examples/celes_parts/cr.c +83 -0
  42. data/examples/celes_parts/d2dtf.c +206 -0
  43. data/examples/celes_parts/d2tf.c +160 -0
  44. data/examples/celes_parts/dat.c +289 -0
  45. data/examples/celes_parts/depend +25 -0
  46. data/examples/celes_parts/dtdb.c +1213 -0
  47. data/examples/celes_parts/dtf2d.c +196 -0
  48. data/examples/celes_parts/ee00.c +128 -0
  49. data/examples/celes_parts/ee00a.c +135 -0
  50. data/examples/celes_parts/ee00b.c +141 -0
  51. data/examples/celes_parts/ee06a.c +122 -0
  52. data/examples/celes_parts/eect00.c +282 -0
  53. data/examples/celes_parts/eform.c +147 -0
  54. data/examples/celes_parts/eo06a.c +131 -0
  55. data/examples/celes_parts/eors.c +108 -0
  56. data/examples/celes_parts/epb.c +96 -0
  57. data/examples/celes_parts/epb2jd.c +91 -0
  58. data/examples/celes_parts/epj.c +93 -0
  59. data/examples/celes_parts/epj2jd.c +91 -0
  60. data/examples/celes_parts/epv00.c +2589 -0
  61. data/examples/celes_parts/eqeq94.c +131 -0
  62. data/examples/celes_parts/era00.c +136 -0
  63. data/examples/celes_parts/extconf.rb +4 -0
  64. data/examples/celes_parts/fad03.c +103 -0
  65. data/examples/celes_parts/fae03.c +102 -0
  66. data/examples/celes_parts/faf03.c +106 -0
  67. data/examples/celes_parts/faju03.c +102 -0
  68. data/examples/celes_parts/fal03.c +103 -0
  69. data/examples/celes_parts/falp03.c +103 -0
  70. data/examples/celes_parts/fama03.c +102 -0
  71. data/examples/celes_parts/fame03.c +102 -0
  72. data/examples/celes_parts/fane03.c +99 -0
  73. data/examples/celes_parts/faom03.c +104 -0
  74. data/examples/celes_parts/fapa03.c +103 -0
  75. data/examples/celes_parts/fasa03.c +102 -0
  76. data/examples/celes_parts/faur03.c +99 -0
  77. data/examples/celes_parts/fave03.c +102 -0
  78. data/examples/celes_parts/fk52h.c +143 -0
  79. data/examples/celes_parts/fk5hip.c +126 -0
  80. data/examples/celes_parts/fk5hz.c +160 -0
  81. data/examples/celes_parts/fw2m.c +134 -0
  82. data/examples/celes_parts/fw2xy.c +120 -0
  83. data/examples/celes_parts/gc2gd.c +134 -0
  84. data/examples/celes_parts/gc2gde.c +200 -0
  85. data/examples/celes_parts/gd2gc.c +134 -0
  86. data/examples/celes_parts/gd2gce.c +138 -0
  87. data/examples/celes_parts/gmst00.c +145 -0
  88. data/examples/celes_parts/gmst06.c +136 -0
  89. data/examples/celes_parts/gmst82.c +151 -0
  90. data/examples/celes_parts/gst00a.c +138 -0
  91. data/examples/celes_parts/gst00b.c +146 -0
  92. data/examples/celes_parts/gst06.c +140 -0
  93. data/examples/celes_parts/gst06a.c +131 -0
  94. data/examples/celes_parts/gst94.c +131 -0
  95. data/examples/celes_parts/h2fk5.c +148 -0
  96. data/examples/celes_parts/hfk5z.c +175 -0
  97. data/examples/celes_parts/ir.c +83 -0
  98. data/examples/celes_parts/jd2cal.c +155 -0
  99. data/examples/celes_parts/jdcalf.c +161 -0
  100. data/examples/celes_parts/num00a.c +121 -0
  101. data/examples/celes_parts/num00b.c +121 -0
  102. data/examples/celes_parts/num06a.c +125 -0
  103. data/examples/celes_parts/numat.c +109 -0
  104. data/examples/celes_parts/nut00a.c +2047 -0
  105. data/examples/celes_parts/nut00b.c +372 -0
  106. data/examples/celes_parts/nut06a.c +153 -0
  107. data/examples/celes_parts/nut80.c +325 -0
  108. data/examples/celes_parts/nutm80.c +117 -0
  109. data/examples/celes_parts/obl06.c +118 -0
  110. data/examples/celes_parts/obl80.c +118 -0
  111. data/examples/celes_parts/p06e.c +321 -0
  112. data/examples/celes_parts/p2pv.c +83 -0
  113. data/examples/celes_parts/p2s.c +91 -0
  114. data/examples/celes_parts/pap.c +139 -0
  115. data/examples/celes_parts/pas.c +96 -0
  116. data/examples/celes_parts/pb06.c +144 -0
  117. data/examples/celes_parts/pdp.c +84 -0
  118. data/examples/celes_parts/pfw06.c +165 -0
  119. data/examples/celes_parts/plan94.c +514 -0
  120. data/examples/celes_parts/pm.c +83 -0
  121. data/examples/celes_parts/pmat00.c +118 -0
  122. data/examples/celes_parts/pmat06.c +122 -0
  123. data/examples/celes_parts/pmat76.c +141 -0
  124. data/examples/celes_parts/pmp.c +85 -0
  125. data/examples/celes_parts/pn.c +109 -0
  126. data/examples/celes_parts/pn00.c +177 -0
  127. data/examples/celes_parts/pn00a.c +162 -0
  128. data/examples/celes_parts/pn00b.c +162 -0
  129. data/examples/celes_parts/pn06.c +187 -0
  130. data/examples/celes_parts/pn06a.c +152 -0
  131. data/examples/celes_parts/pnm00a.c +121 -0
  132. data/examples/celes_parts/pnm00b.c +121 -0
  133. data/examples/celes_parts/pnm06a.c +124 -0
  134. data/examples/celes_parts/pnm80.c +126 -0
  135. data/examples/celes_parts/pom00.c +115 -0
  136. data/examples/celes_parts/ppp.c +85 -0
  137. data/examples/celes_parts/ppsp.c +94 -0
  138. data/examples/celes_parts/pr00.c +142 -0
  139. data/examples/celes_parts/prec76.c +148 -0
  140. data/examples/celes_parts/pv2p.c +81 -0
  141. data/examples/celes_parts/pv2s.c +144 -0
  142. data/examples/celes_parts/pvdpv.c +102 -0
  143. data/examples/celes_parts/pvm.c +86 -0
  144. data/examples/celes_parts/pvmpv.c +87 -0
  145. data/examples/celes_parts/pvppv.c +87 -0
  146. data/examples/celes_parts/pvstar.c +207 -0
  147. data/examples/celes_parts/pvu.c +93 -0
  148. data/examples/celes_parts/pvup.c +88 -0
  149. data/examples/celes_parts/pvxpv.c +107 -0
  150. data/examples/celes_parts/pxp.c +94 -0
  151. data/examples/celes_parts/rm2v.c +111 -0
  152. data/examples/celes_parts/rv2m.c +118 -0
  153. data/examples/celes_parts/rx.c +110 -0
  154. data/examples/celes_parts/rxp.c +99 -0
  155. data/examples/celes_parts/rxpv.c +86 -0
  156. data/examples/celes_parts/rxr.c +99 -0
  157. data/examples/celes_parts/ry.c +110 -0
  158. data/examples/celes_parts/rz.c +110 -0
  159. data/examples/celes_parts/s00.c +371 -0
  160. data/examples/celes_parts/s00a.c +143 -0
  161. data/examples/celes_parts/s00b.c +143 -0
  162. data/examples/celes_parts/s06.c +368 -0
  163. data/examples/celes_parts/s06a.c +145 -0
  164. data/examples/celes_parts/s2c.c +85 -0
  165. data/examples/celes_parts/s2p.c +88 -0
  166. data/examples/celes_parts/s2pv.c +103 -0
  167. data/examples/celes_parts/s2xpv.c +87 -0
  168. data/examples/celes_parts/sepp.c +105 -0
  169. data/examples/celes_parts/seps.c +93 -0
  170. data/examples/celes_parts/sofa.h +379 -0
  171. data/examples/celes_parts/sofam.h +155 -0
  172. data/examples/celes_parts/sp00.c +118 -0
  173. data/examples/celes_parts/starpm.c +205 -0
  174. data/examples/celes_parts/starpv.c +264 -0
  175. data/examples/celes_parts/sxp.c +84 -0
  176. data/examples/celes_parts/sxpv.c +85 -0
  177. data/examples/celes_parts/taitt.c +110 -0
  178. data/examples/celes_parts/taiut1.c +112 -0
  179. data/examples/celes_parts/taiutc.c +182 -0
  180. data/examples/celes_parts/tcbtdb.c +132 -0
  181. data/examples/celes_parts/tcgtt.c +109 -0
  182. data/examples/celes_parts/tdbtcb.c +137 -0
  183. data/examples/celes_parts/tdbtt.c +122 -0
  184. data/examples/celes_parts/test_celes.rb +48 -0
  185. data/examples/celes_parts/tf2a.c +107 -0
  186. data/examples/celes_parts/tf2d.c +107 -0
  187. data/examples/celes_parts/tr.c +93 -0
  188. data/examples/celes_parts/trxp.c +93 -0
  189. data/examples/celes_parts/trxpv.c +93 -0
  190. data/examples/celes_parts/tttai.c +110 -0
  191. data/examples/celes_parts/tttcg.c +112 -0
  192. data/examples/celes_parts/tttdb.c +121 -0
  193. data/examples/celes_parts/ttut1.c +110 -0
  194. data/examples/celes_parts/ut1tai.c +111 -0
  195. data/examples/celes_parts/ut1tt.c +110 -0
  196. data/examples/celes_parts/ut1utc.c +193 -0
  197. data/examples/celes_parts/utctai.c +163 -0
  198. data/examples/celes_parts/utcut1.c +151 -0
  199. data/examples/celes_parts/xy06.c +2758 -0
  200. data/examples/celes_parts/xys00a.c +133 -0
  201. data/examples/celes_parts/xys00b.c +133 -0
  202. data/examples/celes_parts/xys06a.c +133 -0
  203. data/examples/celes_parts/zp.c +77 -0
  204. data/examples/celes_parts/zpv.c +79 -0
  205. data/examples/celes_parts/zr.c +83 -0
  206. data/examples/check_date_type.rb +2 -4
  207. data/examples/compare_geoc_long_ra.rb +19 -11
  208. data/examples/data_table_for_astro_dog.rb +40 -0
  209. data/examples/earth_rotation.rb +28 -3
  210. data/examples/eot.c +15 -0
  211. data/examples/eot.h +2 -0
  212. data/examples/eot_methods_list.rb +30 -3
  213. data/examples/eot_suntimes.rb +99 -95
  214. data/examples/extconf.rb +2 -0
  215. data/examples/{read_nutation_data.rb → gmst_gast_non_sofa.rb} +103 -98
  216. data/examples/nutation_table5_3a.yaml +1658 -1658
  217. data/examples/rbeot.c +24 -0
  218. data/examples/test_eot.rb +17 -0
  219. data/examples/test_poly_eval.rb +6 -17
  220. data/examples/time_scales.rb +4 -7
  221. data/examples/times_year.rb +50 -0
  222. data/examples/usage_example.rb +15 -5
  223. data/examples/use_angles.rb +151 -87
  224. data/lib/eot/angles.rb +130 -177
  225. data/lib/eot/constants.rb +41 -44
  226. data/lib/eot/displays.rb +40 -37
  227. data/lib/eot/geo_lat_lng_smt.rb +7 -6
  228. data/lib/eot/init.rb +62 -39
  229. data/lib/eot/nutation.rb +53 -45
  230. data/lib/eot/times.rb +32 -41
  231. data/lib/eot/utilities.rb +11 -90
  232. data/lib/eot/version.rb +3 -2
  233. data/rise_set_data.yml +1461 -0
  234. data/run_tests_eclipse.rb +1 -0
  235. data/tests/minitest/aliased_angles_spec.rb +119 -165
  236. data/tests/minitest/aliased_displays_spec.rb +41 -39
  237. data/tests/minitest/aliased_utilities_spec.rb +11 -22
  238. data/tests/minitest/angles_spec.rb +134 -181
  239. data/tests/minitest/constants_spec.rb +4 -10
  240. data/tests/minitest/delta_epsilon_spec.rb +13 -16
  241. data/tests/minitest/displays_spec.rb +39 -37
  242. data/tests/minitest/geo_spec.rb +15 -11
  243. data/tests/minitest/init_spec.rb +30 -16
  244. data/tests/minitest/nutation_spec.rb +19 -13
  245. data/tests/minitest/times_spec.rb +77 -75
  246. data/tests/minitest/utilities_spec.rb +10 -94
  247. data/wiki.md +7 -9
  248. metadata +218 -26
  249. data/examples/data_table.rb +0 -26
  250. data/lib/eot/nutation_table5_3a.yaml +0 -9532
  251. data/tests/minitest/aliased_times_spec.rb +0 -36
@@ -13,6 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.description = %q{Calculate Sunrise and Sunset, GMST, and GAST for just about any date and location.
14
14
  Lots of examples to play with included.}
15
15
  spec.homepage = "http://equationoftime.herokuapp.com"
16
+ #spec.source = "https://github.com/DouglasAllen/equationoftime-3.0.0"
16
17
  spec.license = "MIT"
17
18
 
18
19
 
@@ -26,10 +27,12 @@ Gem::Specification.new do |spec|
26
27
  spec.add_development_dependency "bundler", "~> 1.5"
27
28
  spec.add_development_dependency "rake"
28
29
  spec.add_development_dependency "minitest"
29
- spec.add_development_dependency "rspec"
30
- spec.add_runtime_dependency "astro-algo"
30
+ spec.add_development_dependency "rspec"
31
+ spec.add_development_dependency "yard"
32
+ spec.add_runtime_dependency "celes"
33
+ #spec.add_runtime_dependency "astro-algo"
31
34
  spec.add_runtime_dependency "multi_xml"
32
35
  spec.add_runtime_dependency "rest-client"
33
- spec.add_runtime_dependency "safe_yaml"
36
+ #spec.add_runtime_dependency "safe_yaml"
34
37
 
35
38
  end
@@ -21,25 +21,25 @@ finish_jd = finish_time.to_datetime.jd
21
21
 
22
22
  fstr = "%b %d"
23
23
 
24
- @data, @group, @group_id = [], {}, 0
24
+ @data, @group, @group_id = ["2014", eot.addr, eot.latitude, eot.longitude], {}, 1
25
25
 
26
26
  (start_jd..finish_jd).each do |jd|
27
27
  date = Date.jd(jd + 0.5).strftime(fstr)
28
- jcta = eot.time_julian_century(jd)
29
- eot.ajd = DateTime.jd(jd + 0.5)
28
+
29
+ eot.ajd = jd
30
30
  delta_t = eot.show_minutes(eot.time_eot())
31
31
  trans = eot.display_time_string(12 - eot.time_eot()/60.0)
32
32
  e1 = eot.show_minutes(eot.time_delta_orbit())
33
33
  e2 = eot.show_minutes(eot.time_delta_oblique())
34
- decline = eot.degrees_to_s(eot.dec_Sun(jcta))
35
- @group = {group_id: "#{@group_id}",
36
- date: date,
37
- eot: delta_t,
38
- orbit: "#{e1}",
39
- oblique: "#{e2}",
40
- transit: "#{trans}",
41
- declination: "#{decline}",
42
- julian: "#{jd}",
34
+ decline = eot.degrees_to_s(eot.dec_Sun())
35
+ @group = { "id" => "#{@group_id}",
36
+ "date" => date,
37
+ "julian" => "#{jd}",
38
+ "rise" => eot.sunrise_dt().to_json,
39
+ "eot" => delta_t,
40
+ "transit" => eot.local_noon_dt().to_json,
41
+ "declination" => "#{decline}",
42
+ "set" => eot.sunset_dt().to_json
43
43
  }
44
44
  @data << @group
45
45
  @group_id += 1
File without changes
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <?fileVersion 4.0.0?>
3
+
4
+ <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
5
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
6
+ <cconfiguration id="0.1277408888">
7
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1277408888" moduleId="org.eclipse.cdt.core.settings" name="Default">
8
+ <externalSettings/>
9
+ <extensions>
10
+ <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
11
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
12
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
13
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
14
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
15
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
16
+ </extensions>
17
+ </storageModule>
18
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
19
+ <configuration buildProperties="" description="" id="0.1277408888" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
20
+ <folderInfo id="0.1277408888." name="/" resourcePath="">
21
+ <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1558672404" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
22
+ <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1558672404.17814730" name=""/>
23
+ <builder id="org.eclipse.cdt.build.core.settings.default.builder.1005111504" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
24
+ <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1487610751" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
25
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1811786584" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
26
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1287129883" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
27
+ </tool>
28
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1450330276" name="UPC" superClass="org.eclipse.cdt.build.core.settings.holder">
29
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.750466929" languageId="org.eclipse.cdt.core.parser.upc.upc" languageName="UPC" sourceContentType="org.eclipse.cdt.core.parser.upc.upcSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
30
+ </tool>
31
+ <tool id="org.eclipse.cdt.build.core.settings.holder.276480001" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
32
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1496314520" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
33
+ </tool>
34
+ <tool id="org.eclipse.cdt.build.core.settings.holder.3821464" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
35
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.566141464" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
36
+ </tool>
37
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1132960831" name="Fortran" superClass="org.eclipse.cdt.build.core.settings.holder">
38
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1051074273" languageId="org.eclipse.photran.cdtinterface.org.eclipse.photran.cdtinterface.fortran" languageName="Fortran" sourceContentType="org.eclipse.photran.core.fortranSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
39
+ </tool>
40
+ </toolChain>
41
+ </folderInfo>
42
+ </configuration>
43
+ </storageModule>
44
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
45
+ </cconfiguration>
46
+ </storageModule>
47
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
48
+ <project id="celes_parts.null.958228374" name="celes_parts"/>
49
+ </storageModule>
50
+ <storageModule moduleId="scannerConfiguration">
51
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
52
+ <scannerConfigBuildInfo instanceId="0.1277408888">
53
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
54
+ </scannerConfigBuildInfo>
55
+ </storageModule>
56
+ </cproject>
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name>celes_parts</name>
4
+ <comment></comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10
+ <triggers>clean,full,incremental,</triggers>
11
+ <arguments>
12
+ <dictionary>
13
+ <key>?name?</key>
14
+ <value></value>
15
+ </dictionary>
16
+ <dictionary>
17
+ <key>org.eclipse.cdt.make.core.append_environment</key>
18
+ <value>true</value>
19
+ </dictionary>
20
+ <dictionary>
21
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
22
+ <value>all</value>
23
+ </dictionary>
24
+ <dictionary>
25
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
26
+ <value></value>
27
+ </dictionary>
28
+ <dictionary>
29
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
30
+ <value>make</value>
31
+ </dictionary>
32
+ <dictionary>
33
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
34
+ <value>clean</value>
35
+ </dictionary>
36
+ <dictionary>
37
+ <key>org.eclipse.cdt.make.core.contents</key>
38
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
39
+ </dictionary>
40
+ <dictionary>
41
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
42
+ <value>false</value>
43
+ </dictionary>
44
+ <dictionary>
45
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
46
+ <value>true</value>
47
+ </dictionary>
48
+ <dictionary>
49
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
50
+ <value>true</value>
51
+ </dictionary>
52
+ <dictionary>
53
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
54
+ <value>all</value>
55
+ </dictionary>
56
+ <dictionary>
57
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
58
+ <value>true</value>
59
+ </dictionary>
60
+ <dictionary>
61
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
62
+ <value>true</value>
63
+ </dictionary>
64
+ </arguments>
65
+ </buildCommand>
66
+ <buildCommand>
67
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
68
+ <triggers>full,incremental,</triggers>
69
+ <arguments>
70
+ </arguments>
71
+ </buildCommand>
72
+ </buildSpec>
73
+ <natures>
74
+ <nature>org.eclipse.cdt.core.cnature</nature>
75
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
76
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
77
+ </natures>
78
+ </projectDescription>
@@ -0,0 +1,120 @@
1
+ #include "sofam.h"
2
+
3
+ void iauA2af(int ndp, double angle, char *sign, int idmsf[4])
4
+ /*
5
+ ** - - - - - - - -
6
+ ** i a u A 2 a f
7
+ ** - - - - - - - -
8
+ **
9
+ ** Decompose radians into degrees, arcminutes, arcseconds, fraction.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** ndp int resolution (Note 1)
15
+ ** angle double angle in radians
16
+ **
17
+ ** Returned:
18
+ ** sign char '+' or '-'
19
+ ** idmsf int[4] degrees, arcminutes, arcseconds, fraction
20
+ **
21
+ ** Called:
22
+ ** iauD2tf decompose days to hms
23
+ **
24
+ ** Notes:
25
+ **
26
+ ** 1) The argument ndp is interpreted as follows:
27
+ **
28
+ ** ndp resolution
29
+ ** : ...0000 00 00
30
+ ** -7 1000 00 00
31
+ ** -6 100 00 00
32
+ ** -5 10 00 00
33
+ ** -4 1 00 00
34
+ ** -3 0 10 00
35
+ ** -2 0 01 00
36
+ ** -1 0 00 10
37
+ ** 0 0 00 01
38
+ ** 1 0 00 00.1
39
+ ** 2 0 00 00.01
40
+ ** 3 0 00 00.001
41
+ ** : 0 00 00.000...
42
+ **
43
+ ** 2) The largest positive useful value for ndp is determined by the
44
+ ** size of angle, the format of doubles on the target platform, and
45
+ ** the risk of overflowing idmsf[3]. On a typical platform, for
46
+ ** angle up to 2pi, the available floating-point precision might
47
+ ** correspond to ndp=12. However, the practical limit is typically
48
+ ** ndp=9, set by the capacity of a 32-bit int, or ndp=4 if int is
49
+ ** only 16 bits.
50
+ **
51
+ ** 3) The absolute value of angle may exceed 2pi. In cases where it
52
+ ** does not, it is up to the caller to test for and handle the
53
+ ** case where angle is very nearly 2pi and rounds up to 360 degrees,
54
+ ** by testing for idmsf[0]=360 and setting idmsf[0-3] to zero.
55
+ **
56
+ ** This revision: 2008 May 27
57
+ **
58
+ ** Original version 2012-03-01
59
+ **
60
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
61
+ */
62
+ {
63
+ /* Hours to degrees * radians to turns */
64
+ const double F = 15.0 / D2PI;
65
+
66
+
67
+ /* Scale then use days to h,m,s function. */
68
+ iauD2tf(ndp, angle*F, sign, idmsf);
69
+
70
+ return;
71
+
72
+ /*----------------------------------------------------------------------
73
+ **
74
+ ** Celes is a wrapper of the SOFA Library for Ruby.
75
+ **
76
+ ** This file is redistributed and relicensed in accordance with
77
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
78
+ **
79
+ ** The original library is available from IAU Standards of
80
+ ** Fundamental Astronomy (http://www.iausofa.org/).
81
+ **
82
+ **
83
+ **
84
+ **
85
+ **
86
+ ** Copyright (C) 2013, Naoki Arita
87
+ ** All rights reserved.
88
+ **
89
+ ** Redistribution and use in source and binary forms, with or without
90
+ ** modification, are permitted provided that the following conditions
91
+ ** are met:
92
+ **
93
+ ** 1 Redistributions of source code must retain the above copyright
94
+ ** notice, this list of conditions and the following disclaimer.
95
+ **
96
+ ** 2 Redistributions in binary form must reproduce the above copyright
97
+ ** notice, this list of conditions and the following disclaimer in
98
+ ** the documentation and/or other materials provided with the
99
+ ** distribution.
100
+ **
101
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
102
+ ** the International Astronomical Union nor the names of its
103
+ ** contributors may be used to endorse or promote products derived
104
+ ** from this software without specific prior written permission.
105
+ **
106
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
107
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
108
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
109
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
110
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
111
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
112
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
113
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
114
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
115
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
116
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
117
+ ** POSSIBILITY OF SUCH DAMAGE.
118
+ **
119
+ **--------------------------------------------------------------------*/
120
+ }
@@ -0,0 +1,116 @@
1
+ #include "sofam.h"
2
+
3
+ void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4])
4
+ /*
5
+ ** - - - - - - - -
6
+ ** i a u A 2 t f
7
+ ** - - - - - - - -
8
+ **
9
+ ** Decompose radians into hours, minutes, seconds, fraction.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** ndp int resolution (Note 1)
15
+ ** angle double angle in radians
16
+ **
17
+ ** Returned:
18
+ ** sign char '+' or '-'
19
+ ** ihmsf int[4] hours, minutes, seconds, fraction
20
+ **
21
+ ** Called:
22
+ ** iauD2tf decompose days to hms
23
+ **
24
+ ** Notes:
25
+ **
26
+ ** 1) The argument ndp is interpreted as follows:
27
+ **
28
+ ** ndp resolution
29
+ ** : ...0000 00 00
30
+ ** -7 1000 00 00
31
+ ** -6 100 00 00
32
+ ** -5 10 00 00
33
+ ** -4 1 00 00
34
+ ** -3 0 10 00
35
+ ** -2 0 01 00
36
+ ** -1 0 00 10
37
+ ** 0 0 00 01
38
+ ** 1 0 00 00.1
39
+ ** 2 0 00 00.01
40
+ ** 3 0 00 00.001
41
+ ** : 0 00 00.000...
42
+ **
43
+ ** 2) The largest positive useful value for ndp is determined by the
44
+ ** size of angle, the format of doubles on the target platform, and
45
+ ** the risk of overflowing ihmsf[3]. On a typical platform, for
46
+ ** angle up to 2pi, the available floating-point precision might
47
+ ** correspond to ndp=12. However, the practical limit is typically
48
+ ** ndp=9, set by the capacity of a 32-bit int, or ndp=4 if int is
49
+ ** only 16 bits.
50
+ **
51
+ ** 3) The absolute value of angle may exceed 2pi. In cases where it
52
+ ** does not, it is up to the caller to test for and handle the
53
+ ** case where angle is very nearly 2pi and rounds up to 24 hours,
54
+ ** by testing for ihmsf[0]=24 and setting ihmsf(0-3) to zero.
55
+ **
56
+ ** This revision: 2008 May 11
57
+ **
58
+ ** Original version 2012-03-01
59
+ **
60
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
61
+ */
62
+ {
63
+ /* Scale then use days to h,m,s function. */
64
+ iauD2tf(ndp, angle/D2PI, sign, ihmsf);
65
+
66
+ return;
67
+
68
+ /*----------------------------------------------------------------------
69
+ **
70
+ ** Celes is a wrapper of the SOFA Library for Ruby.
71
+ **
72
+ ** This file is redistributed and relicensed in accordance with
73
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
74
+ **
75
+ ** The original library is available from IAU Standards of
76
+ ** Fundamental Astronomy (http://www.iausofa.org/).
77
+ **
78
+ **
79
+ **
80
+ **
81
+ **
82
+ ** Copyright (C) 2013, Naoki Arita
83
+ ** All rights reserved.
84
+ **
85
+ ** Redistribution and use in source and binary forms, with or without
86
+ ** modification, are permitted provided that the following conditions
87
+ ** are met:
88
+ **
89
+ ** 1 Redistributions of source code must retain the above copyright
90
+ ** notice, this list of conditions and the following disclaimer.
91
+ **
92
+ ** 2 Redistributions in binary form must reproduce the above copyright
93
+ ** notice, this list of conditions and the following disclaimer in
94
+ ** the documentation and/or other materials provided with the
95
+ ** distribution.
96
+ **
97
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
98
+ ** the International Astronomical Union nor the names of its
99
+ ** contributors may be used to endorse or promote products derived
100
+ ** from this software without specific prior written permission.
101
+ **
102
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
103
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
104
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
105
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
106
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
107
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
108
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
109
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
110
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
111
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
112
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
113
+ ** POSSIBILITY OF SUCH DAMAGE.
114
+ **
115
+ **--------------------------------------------------------------------*/
116
+ }
@@ -0,0 +1,107 @@
1
+ #include "sofam.h"
2
+ #include <stdlib.h>
3
+
4
+ int iauAf2a(char s, int ideg, int iamin, double asec, double *rad)
5
+ /*
6
+ ** - - - - - - - -
7
+ ** i a u A f 2 a
8
+ ** - - - - - - - -
9
+ **
10
+ ** Convert degrees, arcminutes, arcseconds to radians.
11
+ **
12
+ ** Status: support function.
13
+ **
14
+ ** Given:
15
+ ** s char sign: '-' = negative, otherwise positive
16
+ ** ideg int degrees
17
+ ** iamin int arcminutes
18
+ ** asec double arcseconds
19
+ **
20
+ ** Returned:
21
+ ** rad double angle in radians
22
+ **
23
+ ** Returned (function value):
24
+ ** int status: 0 = OK
25
+ ** 1 = ideg outside range 0-359
26
+ ** 2 = iamin outside range 0-59
27
+ ** 3 = asec outside range 0-59.999...
28
+ **
29
+ ** Notes:
30
+ **
31
+ ** 1) The result is computed even if any of the range checks fail.
32
+ **
33
+ ** 2) Negative ideg, iamin and/or asec produce a warning status, but
34
+ ** the absolute value is used in the conversion.
35
+ **
36
+ ** 3) If there are multiple errors, the status value reflects only the
37
+ ** first, the smallest taking precedence.
38
+ **
39
+ ** This revision: 2012 February 13
40
+ **
41
+ ** Original version 2012-03-01
42
+ **
43
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
44
+ */
45
+ {
46
+
47
+ /* Compute the interval. */
48
+ *rad = ( s == '-' ? -1.0 : 1.0 ) *
49
+ ( 60.0 * ( 60.0 * ( (double) abs(ideg) ) +
50
+ ( (double) abs(iamin) ) ) +
51
+ fabs(asec) ) * DAS2R;
52
+
53
+ /* Validate arguments and return status. */
54
+ if ( ideg < 0 || ideg > 359 ) return 1;
55
+ if ( iamin < 0 || iamin > 59 ) return 2;
56
+ if ( asec < 0.0 || asec >= 60.0 ) return 3;
57
+ return 0;
58
+
59
+ /*----------------------------------------------------------------------
60
+ **
61
+ ** Celes is a wrapper of the SOFA Library for Ruby.
62
+ **
63
+ ** This file is redistributed and relicensed in accordance with
64
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
65
+ **
66
+ ** The original library is available from IAU Standards of
67
+ ** Fundamental Astronomy (http://www.iausofa.org/).
68
+ **
69
+ **
70
+ **
71
+ **
72
+ **
73
+ ** Copyright (C) 2013, Naoki Arita
74
+ ** All rights reserved.
75
+ **
76
+ ** Redistribution and use in source and binary forms, with or without
77
+ ** modification, are permitted provided that the following conditions
78
+ ** are met:
79
+ **
80
+ ** 1 Redistributions of source code must retain the above copyright
81
+ ** notice, this list of conditions and the following disclaimer.
82
+ **
83
+ ** 2 Redistributions in binary form must reproduce the above copyright
84
+ ** notice, this list of conditions and the following disclaimer in
85
+ ** the documentation and/or other materials provided with the
86
+ ** distribution.
87
+ **
88
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
89
+ ** the International Astronomical Union nor the names of its
90
+ ** contributors may be used to endorse or promote products derived
91
+ ** from this software without specific prior written permission.
92
+ **
93
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
94
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
95
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
96
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
97
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
98
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
99
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
100
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
101
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
102
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
103
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
104
+ ** POSSIBILITY OF SUCH DAMAGE.
105
+ **
106
+ **--------------------------------------------------------------------*/
107
+ }