celes 0.0.1

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 (202) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +32 -0
  4. data/README.md +179 -0
  5. data/Rakefile +1 -0
  6. data/celes.gemspec +22 -0
  7. data/ext/celes/a2af.c +120 -0
  8. data/ext/celes/a2tf.c +116 -0
  9. data/ext/celes/af2a.c +107 -0
  10. data/ext/celes/anp.c +82 -0
  11. data/ext/celes/anpm.c +82 -0
  12. data/ext/celes/bi00.c +116 -0
  13. data/ext/celes/bp00.c +173 -0
  14. data/ext/celes/bp06.c +136 -0
  15. data/ext/celes/bpn2xy.c +100 -0
  16. data/ext/celes/c2i00a.c +139 -0
  17. data/ext/celes/c2i00b.c +139 -0
  18. data/ext/celes/c2i06a.c +136 -0
  19. data/ext/celes/c2ibpn.c +142 -0
  20. data/ext/celes/c2ixy.c +131 -0
  21. data/ext/celes/c2ixys.c +123 -0
  22. data/ext/celes/c2s.c +96 -0
  23. data/ext/celes/c2t00a.c +154 -0
  24. data/ext/celes/c2t00b.c +150 -0
  25. data/ext/celes/c2t06a.c +152 -0
  26. data/ext/celes/c2tcio.c +122 -0
  27. data/ext/celes/c2teqx.c +122 -0
  28. data/ext/celes/c2tpe.c +167 -0
  29. data/ext/celes/c2txy.c +159 -0
  30. data/ext/celes/cal2jd.c +139 -0
  31. data/ext/celes/celes_core.c +2522 -0
  32. data/ext/celes/cp.c +80 -0
  33. data/ext/celes/cpv.c +82 -0
  34. data/ext/celes/cr.c +83 -0
  35. data/ext/celes/d2dtf.c +206 -0
  36. data/ext/celes/d2tf.c +160 -0
  37. data/ext/celes/dat.c +289 -0
  38. data/ext/celes/depend +25 -0
  39. data/ext/celes/dtdb.c +1213 -0
  40. data/ext/celes/dtf2d.c +196 -0
  41. data/ext/celes/ee00.c +128 -0
  42. data/ext/celes/ee00a.c +135 -0
  43. data/ext/celes/ee00b.c +141 -0
  44. data/ext/celes/ee06a.c +122 -0
  45. data/ext/celes/eect00.c +282 -0
  46. data/ext/celes/eform.c +147 -0
  47. data/ext/celes/eo06a.c +131 -0
  48. data/ext/celes/eors.c +108 -0
  49. data/ext/celes/epb.c +96 -0
  50. data/ext/celes/epb2jd.c +91 -0
  51. data/ext/celes/epj.c +93 -0
  52. data/ext/celes/epj2jd.c +91 -0
  53. data/ext/celes/epv00.c +2589 -0
  54. data/ext/celes/eqeq94.c +131 -0
  55. data/ext/celes/era00.c +136 -0
  56. data/ext/celes/extconf.rb +4 -0
  57. data/ext/celes/fad03.c +103 -0
  58. data/ext/celes/fae03.c +102 -0
  59. data/ext/celes/faf03.c +106 -0
  60. data/ext/celes/faju03.c +102 -0
  61. data/ext/celes/fal03.c +103 -0
  62. data/ext/celes/falp03.c +103 -0
  63. data/ext/celes/fama03.c +102 -0
  64. data/ext/celes/fame03.c +102 -0
  65. data/ext/celes/fane03.c +99 -0
  66. data/ext/celes/faom03.c +104 -0
  67. data/ext/celes/fapa03.c +103 -0
  68. data/ext/celes/fasa03.c +102 -0
  69. data/ext/celes/faur03.c +99 -0
  70. data/ext/celes/fave03.c +102 -0
  71. data/ext/celes/fk52h.c +143 -0
  72. data/ext/celes/fk5hip.c +126 -0
  73. data/ext/celes/fk5hz.c +160 -0
  74. data/ext/celes/fw2m.c +134 -0
  75. data/ext/celes/fw2xy.c +120 -0
  76. data/ext/celes/gc2gd.c +134 -0
  77. data/ext/celes/gc2gde.c +200 -0
  78. data/ext/celes/gd2gc.c +134 -0
  79. data/ext/celes/gd2gce.c +138 -0
  80. data/ext/celes/gmst00.c +145 -0
  81. data/ext/celes/gmst06.c +136 -0
  82. data/ext/celes/gmst82.c +151 -0
  83. data/ext/celes/gst00a.c +138 -0
  84. data/ext/celes/gst00b.c +146 -0
  85. data/ext/celes/gst06.c +140 -0
  86. data/ext/celes/gst06a.c +131 -0
  87. data/ext/celes/gst94.c +131 -0
  88. data/ext/celes/h2fk5.c +148 -0
  89. data/ext/celes/hfk5z.c +175 -0
  90. data/ext/celes/ir.c +83 -0
  91. data/ext/celes/jd2cal.c +155 -0
  92. data/ext/celes/jdcalf.c +161 -0
  93. data/ext/celes/num00a.c +121 -0
  94. data/ext/celes/num00b.c +121 -0
  95. data/ext/celes/num06a.c +125 -0
  96. data/ext/celes/numat.c +109 -0
  97. data/ext/celes/nut00a.c +2047 -0
  98. data/ext/celes/nut00b.c +372 -0
  99. data/ext/celes/nut06a.c +153 -0
  100. data/ext/celes/nut80.c +325 -0
  101. data/ext/celes/nutm80.c +117 -0
  102. data/ext/celes/obl06.c +118 -0
  103. data/ext/celes/obl80.c +118 -0
  104. data/ext/celes/p06e.c +321 -0
  105. data/ext/celes/p2pv.c +83 -0
  106. data/ext/celes/p2s.c +91 -0
  107. data/ext/celes/pap.c +139 -0
  108. data/ext/celes/pas.c +96 -0
  109. data/ext/celes/pb06.c +144 -0
  110. data/ext/celes/pdp.c +84 -0
  111. data/ext/celes/pfw06.c +165 -0
  112. data/ext/celes/plan94.c +514 -0
  113. data/ext/celes/pm.c +83 -0
  114. data/ext/celes/pmat00.c +118 -0
  115. data/ext/celes/pmat06.c +122 -0
  116. data/ext/celes/pmat76.c +141 -0
  117. data/ext/celes/pmp.c +85 -0
  118. data/ext/celes/pn.c +109 -0
  119. data/ext/celes/pn00.c +177 -0
  120. data/ext/celes/pn00a.c +162 -0
  121. data/ext/celes/pn00b.c +162 -0
  122. data/ext/celes/pn06.c +187 -0
  123. data/ext/celes/pn06a.c +152 -0
  124. data/ext/celes/pnm00a.c +121 -0
  125. data/ext/celes/pnm00b.c +121 -0
  126. data/ext/celes/pnm06a.c +124 -0
  127. data/ext/celes/pnm80.c +126 -0
  128. data/ext/celes/pom00.c +115 -0
  129. data/ext/celes/ppp.c +85 -0
  130. data/ext/celes/ppsp.c +94 -0
  131. data/ext/celes/pr00.c +142 -0
  132. data/ext/celes/prec76.c +148 -0
  133. data/ext/celes/pv2p.c +81 -0
  134. data/ext/celes/pv2s.c +144 -0
  135. data/ext/celes/pvdpv.c +102 -0
  136. data/ext/celes/pvm.c +86 -0
  137. data/ext/celes/pvmpv.c +87 -0
  138. data/ext/celes/pvppv.c +87 -0
  139. data/ext/celes/pvstar.c +207 -0
  140. data/ext/celes/pvu.c +93 -0
  141. data/ext/celes/pvup.c +88 -0
  142. data/ext/celes/pvxpv.c +107 -0
  143. data/ext/celes/pxp.c +94 -0
  144. data/ext/celes/rm2v.c +111 -0
  145. data/ext/celes/rv2m.c +118 -0
  146. data/ext/celes/rx.c +110 -0
  147. data/ext/celes/rxp.c +99 -0
  148. data/ext/celes/rxpv.c +86 -0
  149. data/ext/celes/rxr.c +99 -0
  150. data/ext/celes/ry.c +110 -0
  151. data/ext/celes/rz.c +110 -0
  152. data/ext/celes/s00.c +371 -0
  153. data/ext/celes/s00a.c +143 -0
  154. data/ext/celes/s00b.c +143 -0
  155. data/ext/celes/s06.c +368 -0
  156. data/ext/celes/s06a.c +145 -0
  157. data/ext/celes/s2c.c +85 -0
  158. data/ext/celes/s2p.c +88 -0
  159. data/ext/celes/s2pv.c +103 -0
  160. data/ext/celes/s2xpv.c +87 -0
  161. data/ext/celes/sepp.c +105 -0
  162. data/ext/celes/seps.c +93 -0
  163. data/ext/celes/sofa.h +379 -0
  164. data/ext/celes/sofam.h +155 -0
  165. data/ext/celes/sp00.c +118 -0
  166. data/ext/celes/starpm.c +205 -0
  167. data/ext/celes/starpv.c +264 -0
  168. data/ext/celes/sxp.c +84 -0
  169. data/ext/celes/sxpv.c +85 -0
  170. data/ext/celes/taitt.c +110 -0
  171. data/ext/celes/taiut1.c +112 -0
  172. data/ext/celes/taiutc.c +182 -0
  173. data/ext/celes/tcbtdb.c +132 -0
  174. data/ext/celes/tcgtt.c +109 -0
  175. data/ext/celes/tdbtcb.c +137 -0
  176. data/ext/celes/tdbtt.c +122 -0
  177. data/ext/celes/tf2a.c +107 -0
  178. data/ext/celes/tf2d.c +107 -0
  179. data/ext/celes/tr.c +93 -0
  180. data/ext/celes/trxp.c +93 -0
  181. data/ext/celes/trxpv.c +93 -0
  182. data/ext/celes/tttai.c +110 -0
  183. data/ext/celes/tttcg.c +112 -0
  184. data/ext/celes/tttdb.c +121 -0
  185. data/ext/celes/ttut1.c +110 -0
  186. data/ext/celes/ut1tai.c +111 -0
  187. data/ext/celes/ut1tt.c +110 -0
  188. data/ext/celes/ut1utc.c +193 -0
  189. data/ext/celes/utctai.c +163 -0
  190. data/ext/celes/utcut1.c +151 -0
  191. data/ext/celes/xy06.c +2758 -0
  192. data/ext/celes/xys00a.c +133 -0
  193. data/ext/celes/xys00b.c +133 -0
  194. data/ext/celes/xys06a.c +133 -0
  195. data/ext/celes/zp.c +77 -0
  196. data/ext/celes/zpv.c +79 -0
  197. data/ext/celes/zr.c +83 -0
  198. data/lib/celes.rb +6 -0
  199. data/lib/celes/version.rb +3 -0
  200. data/sofa_20120301.diff +31384 -0
  201. data/test/t_sofa.rb +8228 -0
  202. metadata +251 -0
@@ -0,0 +1,81 @@
1
+ #include "sofam.h"
2
+
3
+ void iauPv2p(double pv[2][3], double p[3])
4
+ /*
5
+ ** - - - - - - - -
6
+ ** i a u P v 2 p
7
+ ** - - - - - - - -
8
+ **
9
+ ** Discard velocity component of a pv-vector.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** pv double[2][3] pv-vector
15
+ **
16
+ ** Returned:
17
+ ** p double[3] p-vector
18
+ **
19
+ ** Called:
20
+ ** iauCp copy p-vector
21
+ **
22
+ ** This revision: 2008 May 11
23
+ **
24
+ ** Original version 2012-03-01
25
+ **
26
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
27
+ */
28
+ {
29
+ iauCp(pv[0], p);
30
+
31
+ return;
32
+
33
+ /*----------------------------------------------------------------------
34
+ **
35
+ ** Celes is a wrapper of the SOFA Library for Ruby.
36
+ **
37
+ ** This file is redistributed and relicensed in accordance with
38
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
39
+ **
40
+ ** The original library is available from IAU Standards of
41
+ ** Fundamental Astronomy (http://www.iausofa.org/).
42
+ **
43
+ **
44
+ **
45
+ **
46
+ **
47
+ ** Copyright (C) 2013, Naoki Arita
48
+ ** All rights reserved.
49
+ **
50
+ ** Redistribution and use in source and binary forms, with or without
51
+ ** modification, are permitted provided that the following conditions
52
+ ** are met:
53
+ **
54
+ ** 1 Redistributions of source code must retain the above copyright
55
+ ** notice, this list of conditions and the following disclaimer.
56
+ **
57
+ ** 2 Redistributions in binary form must reproduce the above copyright
58
+ ** notice, this list of conditions and the following disclaimer in
59
+ ** the documentation and/or other materials provided with the
60
+ ** distribution.
61
+ **
62
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
63
+ ** the International Astronomical Union nor the names of its
64
+ ** contributors may be used to endorse or promote products derived
65
+ ** from this software without specific prior written permission.
66
+ **
67
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
68
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
69
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
70
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
71
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
72
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
73
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
74
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
75
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
76
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
77
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
78
+ ** POSSIBILITY OF SUCH DAMAGE.
79
+ **
80
+ **--------------------------------------------------------------------*/
81
+ }
@@ -0,0 +1,144 @@
1
+ #include "sofam.h"
2
+
3
+ void iauPv2s(double pv[2][3],
4
+ double *theta, double *phi, double *r,
5
+ double *td, double *pd, double *rd)
6
+ /*
7
+ ** - - - - - - - -
8
+ ** i a u P v 2 s
9
+ ** - - - - - - - -
10
+ **
11
+ ** Convert position/velocity from Cartesian to spherical coordinates.
12
+ **
13
+ ** Status: vector/matrix support function.
14
+ **
15
+ ** Given:
16
+ ** pv double[2][3] pv-vector
17
+ **
18
+ ** Returned:
19
+ ** theta double longitude angle (radians)
20
+ ** phi double latitude angle (radians)
21
+ ** r double radial distance
22
+ ** td double rate of change of theta
23
+ ** pd double rate of change of phi
24
+ ** rd double rate of change of r
25
+ **
26
+ ** Notes:
27
+ **
28
+ ** 1) If the position part of pv is null, theta, phi, td and pd
29
+ ** are indeterminate. This is handled by extrapolating the
30
+ ** position through unit time by using the velocity part of
31
+ ** pv. This moves the origin without changing the direction
32
+ ** of the velocity component. If the position and velocity
33
+ ** components of pv are both null, zeroes are returned for all
34
+ ** six results.
35
+ **
36
+ ** 2) If the position is a pole, theta, td and pd are indeterminate.
37
+ ** In such cases zeroes are returned for all three.
38
+ **
39
+ ** This revision: 2008 October 28
40
+ **
41
+ ** Original version 2012-03-01
42
+ **
43
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
44
+ */
45
+ {
46
+ double x, y, z, xd, yd, zd, rxy2, rxy, r2, rtrue, rw, xyp;
47
+
48
+
49
+ /* Components of position/velocity vector. */
50
+ x = pv[0][0];
51
+ y = pv[0][1];
52
+ z = pv[0][2];
53
+ xd = pv[1][0];
54
+ yd = pv[1][1];
55
+ zd = pv[1][2];
56
+
57
+ /* Component of r in XY plane squared. */
58
+ rxy2 = x*x + y*y;
59
+
60
+ /* Modulus squared. */
61
+ r2 = rxy2 + z*z;
62
+
63
+ /* Modulus. */
64
+ rtrue = sqrt(r2);
65
+
66
+ /* If null vector, move the origin along the direction of movement. */
67
+ rw = rtrue;
68
+ if (rtrue == 0.0) {
69
+ x = xd;
70
+ y = yd;
71
+ z = zd;
72
+ rxy2 = x*x + y*y;
73
+ r2 = rxy2 + z*z;
74
+ rw = sqrt(r2);
75
+ }
76
+
77
+ /* Position and velocity in spherical coordinates. */
78
+ rxy = sqrt(rxy2);
79
+ xyp = x*xd + y*yd;
80
+ if (rxy2 != 0.0) {
81
+ *theta = atan2(y, x);
82
+ *phi = atan2(z, rxy);
83
+ *td = (x*yd - y*xd) / rxy2;
84
+ *pd = (zd*rxy2 - z*xyp) / (r2*rxy);
85
+ } else {
86
+ *theta = 0.0;
87
+ *phi = (z != 0.0) ? atan2(z, rxy) : 0.0;
88
+ *td = 0.0;
89
+ *pd = 0.0;
90
+ }
91
+ *r = rtrue;
92
+ *rd = (rw != 0.0) ? (xyp + z*zd) / rw : 0.0;
93
+
94
+ return;
95
+
96
+ /*----------------------------------------------------------------------
97
+ **
98
+ ** Celes is a wrapper of the SOFA Library for Ruby.
99
+ **
100
+ ** This file is redistributed and relicensed in accordance with
101
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
102
+ **
103
+ ** The original library is available from IAU Standards of
104
+ ** Fundamental Astronomy (http://www.iausofa.org/).
105
+ **
106
+ **
107
+ **
108
+ **
109
+ **
110
+ ** Copyright (C) 2013, Naoki Arita
111
+ ** All rights reserved.
112
+ **
113
+ ** Redistribution and use in source and binary forms, with or without
114
+ ** modification, are permitted provided that the following conditions
115
+ ** are met:
116
+ **
117
+ ** 1 Redistributions of source code must retain the above copyright
118
+ ** notice, this list of conditions and the following disclaimer.
119
+ **
120
+ ** 2 Redistributions in binary form must reproduce the above copyright
121
+ ** notice, this list of conditions and the following disclaimer in
122
+ ** the documentation and/or other materials provided with the
123
+ ** distribution.
124
+ **
125
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
126
+ ** the International Astronomical Union nor the names of its
127
+ ** contributors may be used to endorse or promote products derived
128
+ ** from this software without specific prior written permission.
129
+ **
130
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
131
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
132
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
133
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
134
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
135
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
136
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
137
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
138
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
139
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
140
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
141
+ ** POSSIBILITY OF SUCH DAMAGE.
142
+ **
143
+ **--------------------------------------------------------------------*/
144
+ }
@@ -0,0 +1,102 @@
1
+ #include "sofam.h"
2
+
3
+ void iauPvdpv(double a[2][3], double b[2][3], double adb[2])
4
+ /*
5
+ ** - - - - - - - - -
6
+ ** i a u P v d p v
7
+ ** - - - - - - - - -
8
+ **
9
+ ** Inner (=scalar=dot) product of two pv-vectors.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** a double[2][3] first pv-vector
15
+ ** b double[2][3] second pv-vector
16
+ **
17
+ ** Returned:
18
+ ** adb double[2] a . b (see note)
19
+ **
20
+ ** Note:
21
+ **
22
+ ** If the position and velocity components of the two pv-vectors are
23
+ ** ( ap, av ) and ( bp, bv ), the result, a . b, is the pair of
24
+ ** numbers ( ap . bp , ap . bv + av . bp ). The two numbers are the
25
+ ** dot-product of the two p-vectors and its derivative.
26
+ **
27
+ ** Called:
28
+ ** iauPdp scalar product of two p-vectors
29
+ **
30
+ ** This revision: 2008 May 22
31
+ **
32
+ ** Original version 2012-03-01
33
+ **
34
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
35
+ */
36
+ {
37
+ double adbd, addb;
38
+
39
+
40
+ /* a . b = constant part of result. */
41
+ adb[0] = iauPdp(a[0], b[0]);
42
+
43
+ /* a . bdot */
44
+ adbd = iauPdp(a[0], b[1]);
45
+
46
+ /* adot . b */
47
+ addb = iauPdp(a[1], b[0]);
48
+
49
+ /* Velocity part of result. */
50
+ adb[1] = adbd + addb;
51
+
52
+ return;
53
+
54
+ /*----------------------------------------------------------------------
55
+ **
56
+ ** Celes is a wrapper of the SOFA Library for Ruby.
57
+ **
58
+ ** This file is redistributed and relicensed in accordance with
59
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
60
+ **
61
+ ** The original library is available from IAU Standards of
62
+ ** Fundamental Astronomy (http://www.iausofa.org/).
63
+ **
64
+ **
65
+ **
66
+ **
67
+ **
68
+ ** Copyright (C) 2013, Naoki Arita
69
+ ** All rights reserved.
70
+ **
71
+ ** Redistribution and use in source and binary forms, with or without
72
+ ** modification, are permitted provided that the following conditions
73
+ ** are met:
74
+ **
75
+ ** 1 Redistributions of source code must retain the above copyright
76
+ ** notice, this list of conditions and the following disclaimer.
77
+ **
78
+ ** 2 Redistributions in binary form must reproduce the above copyright
79
+ ** notice, this list of conditions and the following disclaimer in
80
+ ** the documentation and/or other materials provided with the
81
+ ** distribution.
82
+ **
83
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
84
+ ** the International Astronomical Union nor the names of its
85
+ ** contributors may be used to endorse or promote products derived
86
+ ** from this software without specific prior written permission.
87
+ **
88
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
89
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
90
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
91
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
92
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
93
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
94
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
95
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
96
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
97
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
98
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
99
+ ** POSSIBILITY OF SUCH DAMAGE.
100
+ **
101
+ **--------------------------------------------------------------------*/
102
+ }
@@ -0,0 +1,86 @@
1
+ #include "sofam.h"
2
+
3
+ void iauPvm(double pv[2][3], double *r, double *s)
4
+ /*
5
+ ** - - - - - - -
6
+ ** i a u P v m
7
+ ** - - - - - - -
8
+ **
9
+ ** Modulus of pv-vector.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** pv double[2][3] pv-vector
15
+ **
16
+ ** Returned:
17
+ ** r double modulus of position component
18
+ ** s double modulus of velocity component
19
+ **
20
+ ** Called:
21
+ ** iauPm modulus of p-vector
22
+ **
23
+ ** This revision: 2008 May 22
24
+ **
25
+ ** Original version 2012-03-01
26
+ **
27
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
28
+ */
29
+ {
30
+ /* Distance. */
31
+ *r = iauPm(pv[0]);
32
+
33
+ /* Speed. */
34
+ *s = iauPm(pv[1]);
35
+
36
+ return;
37
+
38
+ /*----------------------------------------------------------------------
39
+ **
40
+ ** Celes is a wrapper of the SOFA Library for Ruby.
41
+ **
42
+ ** This file is redistributed and relicensed in accordance with
43
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
44
+ **
45
+ ** The original library is available from IAU Standards of
46
+ ** Fundamental Astronomy (http://www.iausofa.org/).
47
+ **
48
+ **
49
+ **
50
+ **
51
+ **
52
+ ** Copyright (C) 2013, Naoki Arita
53
+ ** All rights reserved.
54
+ **
55
+ ** Redistribution and use in source and binary forms, with or without
56
+ ** modification, are permitted provided that the following conditions
57
+ ** are met:
58
+ **
59
+ ** 1 Redistributions of source code must retain the above copyright
60
+ ** notice, this list of conditions and the following disclaimer.
61
+ **
62
+ ** 2 Redistributions in binary form must reproduce the above copyright
63
+ ** notice, this list of conditions and the following disclaimer in
64
+ ** the documentation and/or other materials provided with the
65
+ ** distribution.
66
+ **
67
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
68
+ ** the International Astronomical Union nor the names of its
69
+ ** contributors may be used to endorse or promote products derived
70
+ ** from this software without specific prior written permission.
71
+ **
72
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
73
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
74
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
75
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
76
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
77
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
78
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
79
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
80
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
81
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
82
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
83
+ ** POSSIBILITY OF SUCH DAMAGE.
84
+ **
85
+ **--------------------------------------------------------------------*/
86
+ }
@@ -0,0 +1,87 @@
1
+ #include "sofam.h"
2
+
3
+ void iauPvmpv(double a[2][3], double b[2][3], double amb[2][3])
4
+ /*
5
+ ** - - - - - - - - -
6
+ ** i a u P v m p v
7
+ ** - - - - - - - - -
8
+ **
9
+ ** Subtract one pv-vector from another.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** a double[2][3] first pv-vector
15
+ ** b double[2][3] second pv-vector
16
+ **
17
+ ** Returned:
18
+ ** amb double[2][3] a - b
19
+ **
20
+ ** Note:
21
+ ** It is permissible to re-use the same array for any of the
22
+ ** arguments.
23
+ **
24
+ ** Called:
25
+ ** iauPmp p-vector minus p-vector
26
+ **
27
+ ** This revision: 2008 November 18
28
+ **
29
+ ** Original version 2012-03-01
30
+ **
31
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
32
+ */
33
+ {
34
+ iauPmp(a[0], b[0], amb[0]);
35
+ iauPmp(a[1], b[1], amb[1]);
36
+
37
+ return;
38
+
39
+ /*----------------------------------------------------------------------
40
+ **
41
+ ** Celes is a wrapper of the SOFA Library for Ruby.
42
+ **
43
+ ** This file is redistributed and relicensed in accordance with
44
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
45
+ **
46
+ ** The original library is available from IAU Standards of
47
+ ** Fundamental Astronomy (http://www.iausofa.org/).
48
+ **
49
+ **
50
+ **
51
+ **
52
+ **
53
+ ** Copyright (C) 2013, Naoki Arita
54
+ ** All rights reserved.
55
+ **
56
+ ** Redistribution and use in source and binary forms, with or without
57
+ ** modification, are permitted provided that the following conditions
58
+ ** are met:
59
+ **
60
+ ** 1 Redistributions of source code must retain the above copyright
61
+ ** notice, this list of conditions and the following disclaimer.
62
+ **
63
+ ** 2 Redistributions in binary form must reproduce the above copyright
64
+ ** notice, this list of conditions and the following disclaimer in
65
+ ** the documentation and/or other materials provided with the
66
+ ** distribution.
67
+ **
68
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
69
+ ** the International Astronomical Union nor the names of its
70
+ ** contributors may be used to endorse or promote products derived
71
+ ** from this software without specific prior written permission.
72
+ **
73
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
74
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
75
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
76
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
77
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
78
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
79
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
80
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
81
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
82
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
83
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
84
+ ** POSSIBILITY OF SUCH DAMAGE.
85
+ **
86
+ **--------------------------------------------------------------------*/
87
+ }