source: trunk/FACT++/erfa/src/anpm.c

Last change on this file was 18921, checked in by tbretz, 7 years ago
Updated to ERFA 1.4.0
File size: 3.4 KB
Line 
1#include "erfa.h"
2
3double eraAnpm(double a)
4/*
5** - - - - - - - -
6** e r a A n p m
7** - - - - - - - -
8**
9** Normalize angle into the range -pi <= a < +pi.
10**
11** Given:
12** a double angle (radians)
13**
14** Returned (function value):
15** double angle in range +/-pi
16**
17** Copyright (C) 2013-2017, NumFOCUS Foundation.
18** Derived, with permission, from the SOFA library. See notes at end of file.
19*/
20{
21 double w;
22
23
24 w = fmod(a, ERFA_D2PI);
25 if (fabs(w) >= ERFA_DPI) w -= ERFA_DSIGN(ERFA_D2PI, a);
26
27 return w;
28
29}
30/*----------------------------------------------------------------------
31**
32**
33** Copyright (C) 2013-2017, 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*/
Note: See TracBrowser for help on using the repository browser.