FACT++  1.0
palDrange.c
Go to the documentation of this file.
1 /*
2 *+
3 * Name:
4 * palDrange
5 
6 * Purpose:
7 * Normalize angle into range +/- pi
8 
9 * Language:
10 * Starlink ANSI C
11 
12 * Type of Module:
13 * Library routine
14 
15 * Invocation:
16 * palDrange( double angle )
17 
18 * Arguments:
19 * angle = double (Given)
20 * The angle in radians.
21 
22 * Description:
23 * The result is "angle" expressed in the range +/- pi. If the
24 * supplied value for "angle" is equal to +/- pi, it is returned
25 * unchanged.
26 
27 * Authors:
28 * DSB: David S Berry (JAC, Hawaii)
29 * PTW: Patrick T. Wallace
30 * {enter_new_authors_here}
31 
32 * History:
33 * 2012-05-09 (DSB):
34 * Initial version with documentation taken from Fortran SLA
35 * Adapted with permission from the Fortran SLALIB library.
36 * {enter_further_changes_here}
37 
38 * Copyright:
39 * Copyright (C) 1995 Rutherford Appleton Laboratory
40 * Copyright (C) 2012 Science and Technology Facilities Council.
41 * All Rights Reserved.
42 
43 * Licence:
44 * This program is free software: you can redistribute it and/or
45 * modify it under the terms of the GNU Lesser General Public
46 * License as published by the Free Software Foundation, either
47 * version 3 of the License, or (at your option) any later
48 * version.
49 *
50 * This program is distributed in the hope that it will be useful,
51 * but WITHOUT ANY WARRANTY; without even the implied warranty of
52 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
53 * GNU Lesser General Public License for more details.
54 *
55 * You should have received a copy of the GNU Lesser General
56 * License along with this program. If not, see
57 * <http://www.gnu.org/licenses/>.
58 
59 * Bugs:
60 * {note_any_bugs_here}
61 *-
62 */
63 
64 #include "pal.h"
65 #include "palmac.h"
66 #include <math.h>
67 
68 double palDrange( double angle ){
69  double result = fmod( angle, PAL__D2PI );
70  if( result > PAL__DPI ) {
71  result -= PAL__D2PI;
72  } else if( result < -PAL__DPI ) {
73  result += PAL__D2PI;
74  }
75  return result;
76 }
77 
double palDrange(double angle)
Definition: palDrange.c:68
static const double PAL__DPI
Definition: palmac.h:63
static const double PAL__D2PI
Definition: palmac.h:66