/Proj4/adjlon.c
http://github.com/route-me/route-me · 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 );
- }