/Proj4/adjlon.c
C | 18 lines | 15 code | 2 blank | 1 comment | 1 complexity | 692d74d9d370e691d60d6b89d58c441f MD5 | raw file
- /* reduce argument to range +/- PI */
- #ifndef lint
- static const char SCCSID[]="@(#)adjlon.c 4.3 93/06/12 GIE REL";
- #endif
- #include <math.h>
- #include "projects.h"
- #define SPI 3.14159265359
- #define TWOPI 6.2831853071795864769
- #define ONEPI 3.14159265358979323846
- double adjlon (double lon) {
- if (fabs(lon) <= SPI) return( lon );
- lon += ONEPI; /* adjust to 0..2pi rad */
- lon -= TWOPI * floor(lon / TWOPI); /* remove integral # of 'revolutions'*/
- lon -= ONEPI; /* adjust back to -pi..pi rad */
- return( lon );
- }