1 2 #ifndef RASTERUTIL_GUARD 3 #define RASTERUTIL_GUARD 4 5 6 #include <math.h> 7 #include "Rmath.h" 8 9 #ifndef M_PI 10 #define M_PI (3.14159265358979323846) 11 #endif 12 13 mod(double x,double n)14double mod(double x, double n) { 15 return(x - n * floor(x/n)); 16 } 17 normalizeLonDeg(double lon)18double normalizeLonDeg(double lon) { 19 return( mod( (lon + 180), 360 ) - 180 ); 20 } 21 normalizeLonRad(double lon)22double normalizeLonRad(double lon) { 23 return( mod( (lon + M_PI), M_2PI) - M_PI); 24 } 25 26 27 /* Convert degrees to radians */ toRad(double deg)28double toRad(double deg) { 29 return( deg * 0.0174532925199433 ); 30 } 31 toDeg(double rad)32double toDeg(double rad) { 33 return( rad * 57.2957795130823 ); 34 } 35 36 37 38 39 #endif 40 41