File Coverage

erfasrc/src/ldsun.c
Criterion Covered Total %
statement 0 6 0.0
branch 0 4 0.0
condition n/a
subroutine n/a
pod n/a
total 0 10 0.0


line stmt bran cond sub pod time code
1             #include "erfa.h"
2              
3 0           void eraLdsun(double p[3], double e[3], double em, double p1[3])
4             /*
5             ** - - - - - - - - -
6             ** e r a L d s u n
7             ** - - - - - - - - -
8             **
9             ** Deflection of starlight by the Sun.
10             **
11             ** Given:
12             ** p double[3] direction from observer to star (unit vector)
13             ** e double[3] direction from Sun to observer (unit vector)
14             ** em double distance from Sun to observer (au)
15             **
16             ** Returned:
17             ** p1 double[3] observer to deflected star (unit vector)
18             **
19             ** Notes:
20             **
21             ** 1) The source is presumed to be sufficiently distant that its
22             ** directions seen from the Sun and the observer are essentially
23             ** the same.
24             **
25             ** 2) The deflection is restrained when the angle between the star and
26             ** the center of the Sun is less than a threshold value, falling to
27             ** zero deflection for zero separation. The chosen threshold value
28             ** is within the solar limb for all solar-system applications, and
29             ** is about 5 arcminutes for the case of a terrestrial observer.
30             **
31             ** 3) The arguments p and p1 can be the same array.
32             **
33             ** Called:
34             ** eraLd light deflection by a solar-system body
35             **
36             ** Copyright (C) 2013-2019, NumFOCUS Foundation.
37             ** Derived, with permission, from the SOFA library. See notes at end of file.
38             */
39             {
40             double em2, dlim;
41              
42              
43             /* Deflection limiter (smaller for distant observers). */
44 0           em2 = em*em;
45 0 0         if ( em2 < 1.0 ) em2 = 1.0;
46 0 0         dlim = 1e-6 / (em2 > 1.0 ? em2 : 1.0);
47              
48             /* Apply the deflection. */
49 0           eraLd(1.0, p, p, e, em, dlim, p1);
50              
51             /* Finished. */
52              
53 0           }
54             /*----------------------------------------------------------------------
55             **
56             **
57             ** Copyright (C) 2013-2019, NumFOCUS Foundation.
58             ** All rights reserved.
59             **
60             ** This library is derived, with permission, from the International
61             ** Astronomical Union's "Standards of Fundamental Astronomy" library,
62             ** available from http://www.iausofa.org.
63             **
64             ** The ERFA version is intended to retain identical functionality to
65             ** the SOFA library, but made distinct through different function and
66             ** file names, as set out in the SOFA license conditions. The SOFA
67             ** original has a role as a reference standard for the IAU and IERS,
68             ** and consequently redistribution is permitted only in its unaltered
69             ** state. The ERFA version is not subject to this restriction and
70             ** therefore can be included in distributions which do not support the
71             ** concept of "read only" software.
72             **
73             ** Although the intent is to replicate the SOFA API (other than
74             ** replacement of prefix names) and results (with the exception of
75             ** bugs; any that are discovered will be fixed), SOFA is not
76             ** responsible for any errors found in this version of the library.
77             **
78             ** If you wish to acknowledge the SOFA heritage, please acknowledge
79             ** that you are using a library derived from SOFA, rather than SOFA
80             ** itself.
81             **
82             **
83             ** TERMS AND CONDITIONS
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             */