FACT++  1.0
pvdpv.c
Go to the documentation of this file.
1 #include "erfa.h"
2 
3 void eraPvdpv(double a[2][3], double b[2][3], double adb[2])
4 /*
5 ** - - - - - - - - -
6 ** e r a P v d p v
7 ** - - - - - - - - -
8 **
9 ** Inner (=scalar=dot) product of two pv-vectors.
10 **
11 ** Given:
12 ** a double[2][3] first pv-vector
13 ** b double[2][3] second pv-vector
14 **
15 ** Returned:
16 ** adb double[2] a . b (see note)
17 **
18 ** Note:
19 **
20 ** If the position and velocity components of the two pv-vectors are
21 ** ( ap, av ) and ( bp, bv ), the result, a . b, is the pair of
22 ** numbers ( ap . bp , ap . bv + av . bp ). The two numbers are the
23 ** dot-product of the two p-vectors and its derivative.
24 **
25 ** Called:
26 ** eraPdp scalar product of two p-vectors
27 **
28 ** Copyright (C) 2013-2015, NumFOCUS Foundation.
29 ** Derived, with permission, from the SOFA library. See notes at end of file.
30 */
31 {
32  double adbd, addb;
33 
34 /* a . b = constant part of result. */
35  adb[0] = eraPdp(a[0], b[0]);
36 
37 /* a . bdot */
38  adbd = eraPdp(a[0], b[1]);
39 
40 /* adot . b */
41  addb = eraPdp(a[1], b[0]);
42 
43 /* Velocity part of result. */
44  adb[1] = adbd + addb;
45 
46  return;
47 
48 }
49 /*----------------------------------------------------------------------
50 **
51 **
52 ** Copyright (C) 2013-2015, NumFOCUS Foundation.
53 ** All rights reserved.
54 **
55 ** This library is derived, with permission, from the International
56 ** Astronomical Union's "Standards of Fundamental Astronomy" library,
57 ** available from http://www.iausofa.org.
58 **
59 ** The ERFA version is intended to retain identical functionality to
60 ** the SOFA library, but made distinct through different function and
61 ** file names, as set out in the SOFA license conditions. The SOFA
62 ** original has a role as a reference standard for the IAU and IERS,
63 ** and consequently redistribution is permitted only in its unaltered
64 ** state. The ERFA version is not subject to this restriction and
65 ** therefore can be included in distributions which do not support the
66 ** concept of "read only" software.
67 **
68 ** Although the intent is to replicate the SOFA API (other than
69 ** replacement of prefix names) and results (with the exception of
70 ** bugs; any that are discovered will be fixed), SOFA is not
71 ** responsible for any errors found in this version of the library.
72 **
73 ** If you wish to acknowledge the SOFA heritage, please acknowledge
74 ** that you are using a library derived from SOFA, rather than SOFA
75 ** itself.
76 **
77 **
78 ** TERMS AND CONDITIONS
79 **
80 ** Redistribution and use in source and binary forms, with or without
81 ** modification, are permitted provided that the following conditions
82 ** are met:
83 **
84 ** 1 Redistributions of source code must retain the above copyright
85 ** notice, this list of conditions and the following disclaimer.
86 **
87 ** 2 Redistributions in binary form must reproduce the above copyright
88 ** notice, this list of conditions and the following disclaimer in
89 ** the documentation and/or other materials provided with the
90 ** distribution.
91 **
92 ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
93 ** the International Astronomical Union nor the names of its
94 ** contributors may be used to endorse or promote products derived
95 ** from this software without specific prior written permission.
96 **
97 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
98 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
99 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
100 ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
101 ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
102 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
103 ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
104 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
105 ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
106 ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
107 ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
108 ** POSSIBILITY OF SUCH DAMAGE.
109 **
110 */
double eraPdp(double a[3], double b[3])
Definition: pdp.c:3
void eraPvdpv(double a[2][3], double b[2][3], double adb[2])
Definition: pvdpv.c:3