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.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +32 -0
- data/README.md +179 -0
- data/Rakefile +1 -0
- data/celes.gemspec +22 -0
- data/ext/celes/a2af.c +120 -0
- data/ext/celes/a2tf.c +116 -0
- data/ext/celes/af2a.c +107 -0
- data/ext/celes/anp.c +82 -0
- data/ext/celes/anpm.c +82 -0
- data/ext/celes/bi00.c +116 -0
- data/ext/celes/bp00.c +173 -0
- data/ext/celes/bp06.c +136 -0
- data/ext/celes/bpn2xy.c +100 -0
- data/ext/celes/c2i00a.c +139 -0
- data/ext/celes/c2i00b.c +139 -0
- data/ext/celes/c2i06a.c +136 -0
- data/ext/celes/c2ibpn.c +142 -0
- data/ext/celes/c2ixy.c +131 -0
- data/ext/celes/c2ixys.c +123 -0
- data/ext/celes/c2s.c +96 -0
- data/ext/celes/c2t00a.c +154 -0
- data/ext/celes/c2t00b.c +150 -0
- data/ext/celes/c2t06a.c +152 -0
- data/ext/celes/c2tcio.c +122 -0
- data/ext/celes/c2teqx.c +122 -0
- data/ext/celes/c2tpe.c +167 -0
- data/ext/celes/c2txy.c +159 -0
- data/ext/celes/cal2jd.c +139 -0
- data/ext/celes/celes_core.c +2522 -0
- data/ext/celes/cp.c +80 -0
- data/ext/celes/cpv.c +82 -0
- data/ext/celes/cr.c +83 -0
- data/ext/celes/d2dtf.c +206 -0
- data/ext/celes/d2tf.c +160 -0
- data/ext/celes/dat.c +289 -0
- data/ext/celes/depend +25 -0
- data/ext/celes/dtdb.c +1213 -0
- data/ext/celes/dtf2d.c +196 -0
- data/ext/celes/ee00.c +128 -0
- data/ext/celes/ee00a.c +135 -0
- data/ext/celes/ee00b.c +141 -0
- data/ext/celes/ee06a.c +122 -0
- data/ext/celes/eect00.c +282 -0
- data/ext/celes/eform.c +147 -0
- data/ext/celes/eo06a.c +131 -0
- data/ext/celes/eors.c +108 -0
- data/ext/celes/epb.c +96 -0
- data/ext/celes/epb2jd.c +91 -0
- data/ext/celes/epj.c +93 -0
- data/ext/celes/epj2jd.c +91 -0
- data/ext/celes/epv00.c +2589 -0
- data/ext/celes/eqeq94.c +131 -0
- data/ext/celes/era00.c +136 -0
- data/ext/celes/extconf.rb +4 -0
- data/ext/celes/fad03.c +103 -0
- data/ext/celes/fae03.c +102 -0
- data/ext/celes/faf03.c +106 -0
- data/ext/celes/faju03.c +102 -0
- data/ext/celes/fal03.c +103 -0
- data/ext/celes/falp03.c +103 -0
- data/ext/celes/fama03.c +102 -0
- data/ext/celes/fame03.c +102 -0
- data/ext/celes/fane03.c +99 -0
- data/ext/celes/faom03.c +104 -0
- data/ext/celes/fapa03.c +103 -0
- data/ext/celes/fasa03.c +102 -0
- data/ext/celes/faur03.c +99 -0
- data/ext/celes/fave03.c +102 -0
- data/ext/celes/fk52h.c +143 -0
- data/ext/celes/fk5hip.c +126 -0
- data/ext/celes/fk5hz.c +160 -0
- data/ext/celes/fw2m.c +134 -0
- data/ext/celes/fw2xy.c +120 -0
- data/ext/celes/gc2gd.c +134 -0
- data/ext/celes/gc2gde.c +200 -0
- data/ext/celes/gd2gc.c +134 -0
- data/ext/celes/gd2gce.c +138 -0
- data/ext/celes/gmst00.c +145 -0
- data/ext/celes/gmst06.c +136 -0
- data/ext/celes/gmst82.c +151 -0
- data/ext/celes/gst00a.c +138 -0
- data/ext/celes/gst00b.c +146 -0
- data/ext/celes/gst06.c +140 -0
- data/ext/celes/gst06a.c +131 -0
- data/ext/celes/gst94.c +131 -0
- data/ext/celes/h2fk5.c +148 -0
- data/ext/celes/hfk5z.c +175 -0
- data/ext/celes/ir.c +83 -0
- data/ext/celes/jd2cal.c +155 -0
- data/ext/celes/jdcalf.c +161 -0
- data/ext/celes/num00a.c +121 -0
- data/ext/celes/num00b.c +121 -0
- data/ext/celes/num06a.c +125 -0
- data/ext/celes/numat.c +109 -0
- data/ext/celes/nut00a.c +2047 -0
- data/ext/celes/nut00b.c +372 -0
- data/ext/celes/nut06a.c +153 -0
- data/ext/celes/nut80.c +325 -0
- data/ext/celes/nutm80.c +117 -0
- data/ext/celes/obl06.c +118 -0
- data/ext/celes/obl80.c +118 -0
- data/ext/celes/p06e.c +321 -0
- data/ext/celes/p2pv.c +83 -0
- data/ext/celes/p2s.c +91 -0
- data/ext/celes/pap.c +139 -0
- data/ext/celes/pas.c +96 -0
- data/ext/celes/pb06.c +144 -0
- data/ext/celes/pdp.c +84 -0
- data/ext/celes/pfw06.c +165 -0
- data/ext/celes/plan94.c +514 -0
- data/ext/celes/pm.c +83 -0
- data/ext/celes/pmat00.c +118 -0
- data/ext/celes/pmat06.c +122 -0
- data/ext/celes/pmat76.c +141 -0
- data/ext/celes/pmp.c +85 -0
- data/ext/celes/pn.c +109 -0
- data/ext/celes/pn00.c +177 -0
- data/ext/celes/pn00a.c +162 -0
- data/ext/celes/pn00b.c +162 -0
- data/ext/celes/pn06.c +187 -0
- data/ext/celes/pn06a.c +152 -0
- data/ext/celes/pnm00a.c +121 -0
- data/ext/celes/pnm00b.c +121 -0
- data/ext/celes/pnm06a.c +124 -0
- data/ext/celes/pnm80.c +126 -0
- data/ext/celes/pom00.c +115 -0
- data/ext/celes/ppp.c +85 -0
- data/ext/celes/ppsp.c +94 -0
- data/ext/celes/pr00.c +142 -0
- data/ext/celes/prec76.c +148 -0
- data/ext/celes/pv2p.c +81 -0
- data/ext/celes/pv2s.c +144 -0
- data/ext/celes/pvdpv.c +102 -0
- data/ext/celes/pvm.c +86 -0
- data/ext/celes/pvmpv.c +87 -0
- data/ext/celes/pvppv.c +87 -0
- data/ext/celes/pvstar.c +207 -0
- data/ext/celes/pvu.c +93 -0
- data/ext/celes/pvup.c +88 -0
- data/ext/celes/pvxpv.c +107 -0
- data/ext/celes/pxp.c +94 -0
- data/ext/celes/rm2v.c +111 -0
- data/ext/celes/rv2m.c +118 -0
- data/ext/celes/rx.c +110 -0
- data/ext/celes/rxp.c +99 -0
- data/ext/celes/rxpv.c +86 -0
- data/ext/celes/rxr.c +99 -0
- data/ext/celes/ry.c +110 -0
- data/ext/celes/rz.c +110 -0
- data/ext/celes/s00.c +371 -0
- data/ext/celes/s00a.c +143 -0
- data/ext/celes/s00b.c +143 -0
- data/ext/celes/s06.c +368 -0
- data/ext/celes/s06a.c +145 -0
- data/ext/celes/s2c.c +85 -0
- data/ext/celes/s2p.c +88 -0
- data/ext/celes/s2pv.c +103 -0
- data/ext/celes/s2xpv.c +87 -0
- data/ext/celes/sepp.c +105 -0
- data/ext/celes/seps.c +93 -0
- data/ext/celes/sofa.h +379 -0
- data/ext/celes/sofam.h +155 -0
- data/ext/celes/sp00.c +118 -0
- data/ext/celes/starpm.c +205 -0
- data/ext/celes/starpv.c +264 -0
- data/ext/celes/sxp.c +84 -0
- data/ext/celes/sxpv.c +85 -0
- data/ext/celes/taitt.c +110 -0
- data/ext/celes/taiut1.c +112 -0
- data/ext/celes/taiutc.c +182 -0
- data/ext/celes/tcbtdb.c +132 -0
- data/ext/celes/tcgtt.c +109 -0
- data/ext/celes/tdbtcb.c +137 -0
- data/ext/celes/tdbtt.c +122 -0
- data/ext/celes/tf2a.c +107 -0
- data/ext/celes/tf2d.c +107 -0
- data/ext/celes/tr.c +93 -0
- data/ext/celes/trxp.c +93 -0
- data/ext/celes/trxpv.c +93 -0
- data/ext/celes/tttai.c +110 -0
- data/ext/celes/tttcg.c +112 -0
- data/ext/celes/tttdb.c +121 -0
- data/ext/celes/ttut1.c +110 -0
- data/ext/celes/ut1tai.c +111 -0
- data/ext/celes/ut1tt.c +110 -0
- data/ext/celes/ut1utc.c +193 -0
- data/ext/celes/utctai.c +163 -0
- data/ext/celes/utcut1.c +151 -0
- data/ext/celes/xy06.c +2758 -0
- data/ext/celes/xys00a.c +133 -0
- data/ext/celes/xys00b.c +133 -0
- data/ext/celes/xys06a.c +133 -0
- data/ext/celes/zp.c +77 -0
- data/ext/celes/zpv.c +79 -0
- data/ext/celes/zr.c +83 -0
- data/lib/celes.rb +6 -0
- data/lib/celes/version.rb +3 -0
- data/sofa_20120301.diff +31384 -0
- data/test/t_sofa.rb +8228 -0
- metadata +251 -0
data/ext/celes/pv2p.c
ADDED
|
@@ -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
|
+
}
|
data/ext/celes/pv2s.c
ADDED
|
@@ -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
|
+
}
|
data/ext/celes/pvdpv.c
ADDED
|
@@ -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
|
+
}
|
data/ext/celes/pvm.c
ADDED
|
@@ -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
|
+
}
|
data/ext/celes/pvmpv.c
ADDED
|
@@ -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
|
+
}
|