File Coverage

erfasrc/src/anp.c
Criterion Covered Total %
statement 4 4 100.0
branch 2 2 100.0
condition n/a
subroutine n/a
pod n/a
total 6 6 100.0


line stmt bran cond sub pod time code
1             #include "erfa.h"
2              
3 109           double eraAnp(double a)
4             /*
5             ** - - - - - - -
6             ** e r a A n p
7             ** - - - - - - -
8             **
9             ** Normalize angle into the range 0 <= a < 2pi.
10             **
11             ** Given:
12             ** a double angle (radians)
13             **
14             ** Returned (function value):
15             ** double angle in range 0-2pi
16             **
17             ** Copyright (C) 2013-2020, NumFOCUS Foundation.
18             ** Derived, with permission, from the SOFA library. See notes at end of file.
19             */
20             {
21             double w;
22              
23              
24 109           w = fmod(a, ERFA_D2PI);
25 109 100         if (w < 0) w += ERFA_D2PI;
26              
27 109           return w;
28              
29             }
30             /*----------------------------------------------------------------------
31             **
32             **
33             ** Copyright (C) 2013-2020, NumFOCUS Foundation.
34             ** All rights reserved.
35             **
36             ** This library is derived, with permission, from the International
37             ** Astronomical Union's "Standards of Fundamental Astronomy" library,
38             ** available from http://www.iausofa.org.
39             **
40             ** The ERFA version is intended to retain identical functionality to
41             ** the SOFA library, but made distinct through different function and
42             ** file names, as set out in the SOFA license conditions. The SOFA
43             ** original has a role as a reference standard for the IAU and IERS,
44             ** and consequently redistribution is permitted only in its unaltered
45             ** state. The ERFA version is not subject to this restriction and
46             ** therefore can be included in distributions which do not support the
47             ** concept of "read only" software.
48             **
49             ** Although the intent is to replicate the SOFA API (other than
50             ** replacement of prefix names) and results (with the exception of
51             ** bugs; any that are discovered will be fixed), SOFA is not
52             ** responsible for any errors found in this version of the library.
53             **
54             ** If you wish to acknowledge the SOFA heritage, please acknowledge
55             ** that you are using a library derived from SOFA, rather than SOFA
56             ** itself.
57             **
58             **
59             ** TERMS AND CONDITIONS
60             **
61             ** Redistribution and use in source and binary forms, with or without
62             ** modification, are permitted provided that the following conditions
63             ** are met:
64             **
65             ** 1 Redistributions of source code must retain the above copyright
66             ** notice, this list of conditions and the following disclaimer.
67             **
68             ** 2 Redistributions in binary form must reproduce the above copyright
69             ** notice, this list of conditions and the following disclaimer in
70             ** the documentation and/or other materials provided with the
71             ** distribution.
72             **
73             ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
74             ** the International Astronomical Union nor the names of its
75             ** contributors may be used to endorse or promote products derived
76             ** from this software without specific prior written permission.
77             **
78             ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
79             ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
80             ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
81             ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
82             ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
83             ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
84             ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
85             ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
86             ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
87             ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
88             ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
89             ** POSSIBILITY OF SUCH DAMAGE.
90             **
91             */