27
27
#include <math.h>
28
28
#include <float.h>
29
29
30
- #if !defined(__cplusplus )
31
- #define nullptr 0
32
- #endif
30
+ // #if !defined(__cplusplus)
31
+ #define null_ptr 0
32
+ // #endif
33
33
34
34
#define GEOGRAPHICLIB_GEODESIC_ORDER 6
35
35
#define nA1 GEOGRAPHICLIB_GEODESIC_ORDER
@@ -636,14 +636,14 @@ double geod_genposition(const struct geod_geodesicline* l,
636
636
637
637
void geod_setdistance (struct geod_geodesicline * l , double s13 ) {
638
638
l -> s13 = s13 ;
639
- l -> a13 = geod_genposition (l , GEOD_NOFLAGS , l -> s13 , nullptr , nullptr , nullptr ,
640
- nullptr , nullptr , nullptr , nullptr , nullptr );
639
+ l -> a13 = geod_genposition (l , GEOD_NOFLAGS , l -> s13 , null_ptr , null_ptr , null_ptr ,
640
+ null_ptr , null_ptr , null_ptr , null_ptr , null_ptr );
641
641
}
642
642
643
643
static void geod_setarc (struct geod_geodesicline * l , double a13 ) {
644
644
l -> a13 = a13 ; l -> s13 = NaN ;
645
- geod_genposition (l , GEOD_ARCMODE , l -> a13 , nullptr , nullptr , nullptr , & l -> s13 ,
646
- nullptr , nullptr , nullptr , nullptr );
645
+ geod_genposition (l , GEOD_ARCMODE , l -> a13 , null_ptr , null_ptr , null_ptr , & l -> s13 ,
646
+ null_ptr , null_ptr , null_ptr , null_ptr );
647
647
}
648
648
649
649
void geod_gensetdistance (struct geod_geodesicline * l ,
@@ -656,7 +656,7 @@ void geod_gensetdistance(struct geod_geodesicline* l,
656
656
void geod_position (const struct geod_geodesicline * l , double s12 ,
657
657
double * plat2 , double * plon2 , double * pazi2 ) {
658
658
geod_genposition (l , FALSE, s12 , plat2 , plon2 , pazi2 ,
659
- nullptr , nullptr , nullptr , nullptr , nullptr );
659
+ null_ptr , null_ptr , null_ptr , null_ptr , null_ptr );
660
660
}
661
661
662
662
double geod_gendirect (const struct geod_geodesic * g ,
@@ -688,7 +688,7 @@ void geod_direct(const struct geod_geodesic* g,
688
688
double s12 ,
689
689
double * plat2 , double * plon2 , double * pazi2 ) {
690
690
geod_gendirect (g , lat1 , lon1 , azi1 , GEOD_NOFLAGS , s12 , plat2 , plon2 , pazi2 ,
691
- nullptr , nullptr , nullptr , nullptr , nullptr );
691
+ null_ptr , null_ptr , null_ptr , null_ptr , null_ptr );
692
692
}
693
693
694
694
static double geod_geninverse_int (const struct geod_geodesic * g ,
@@ -801,9 +801,9 @@ static double geod_geninverse_int(const struct geod_geodesic* g,
801
801
sig12 = atan2 (fmax (0.0 , csig1 * ssig2 - ssig1 * csig2 ) + 0 ,
802
802
csig1 * csig2 + ssig1 * ssig2 );
803
803
Lengths (g , g -> n , sig12 , ssig1 , csig1 , dn1 , ssig2 , csig2 , dn2 ,
804
- cbet1 , cbet2 , & s12x , & m12x , nullptr ,
805
- (outmask & GEOD_GEODESICSCALE ) ? & M12 : nullptr ,
806
- (outmask & GEOD_GEODESICSCALE ) ? & M21 : nullptr ,
804
+ cbet1 , cbet2 , & s12x , & m12x , null_ptr ,
805
+ (outmask & GEOD_GEODESICSCALE ) ? & M12 : null_ptr ,
806
+ (outmask & GEOD_GEODESICSCALE ) ? & M21 : null_ptr ,
807
807
Ca );
808
808
/* Add the check for sig12 since zero length geodesics might yield m12 <
809
809
* 0. Test case was
@@ -927,9 +927,9 @@ static double geod_geninverse_int(const struct geod_geodesic* g,
927
927
fabs (salp1 - salp1b ) + (calp1 - calp1b ) < tolb );
928
928
}
929
929
Lengths (g , eps , sig12 , ssig1 , csig1 , dn1 , ssig2 , csig2 , dn2 ,
930
- cbet1 , cbet2 , & s12x , & m12x , nullptr ,
931
- (outmask & GEOD_GEODESICSCALE ) ? & M12 : nullptr ,
932
- (outmask & GEOD_GEODESICSCALE ) ? & M21 : nullptr , Ca );
930
+ cbet1 , cbet2 , & s12x , & m12x , null_ptr ,
931
+ (outmask & GEOD_GEODESICSCALE ) ? & M12 : null_ptr ,
932
+ (outmask & GEOD_GEODESICSCALE ) ? & M21 : null_ptr , Ca );
933
933
m12x *= g -> b ;
934
934
s12x *= g -> b ;
935
935
a12 = sig12 / degree ;
@@ -1060,9 +1060,9 @@ void geod_inverseline(struct geod_geodesicline* l,
1060
1060
double lat1 , double lon1 , double lat2 , double lon2 ,
1061
1061
unsigned caps ) {
1062
1062
double salp1 , calp1 ,
1063
- a12 = geod_geninverse_int (g , lat1 , lon1 , lat2 , lon2 , nullptr ,
1064
- & salp1 , & calp1 , nullptr , nullptr ,
1065
- nullptr , nullptr , nullptr , nullptr ),
1063
+ a12 = geod_geninverse_int (g , lat1 , lon1 , lat2 , lon2 , null_ptr ,
1064
+ & salp1 , & calp1 , null_ptr , null_ptr ,
1065
+ null_ptr , null_ptr , null_ptr , null_ptr ),
1066
1066
azi1 = atan2dx (salp1 , calp1 );
1067
1067
caps = caps ? caps : GEOD_DISTANCE_IN | GEOD_LONGITUDE ;
1068
1068
/* Ensure that a12 can be converted to a distance */
@@ -1075,7 +1075,7 @@ void geod_inverse(const struct geod_geodesic* g,
1075
1075
double lat1 , double lon1 , double lat2 , double lon2 ,
1076
1076
double * ps12 , double * pazi1 , double * pazi2 ) {
1077
1077
geod_geninverse (g , lat1 , lon1 , lat2 , lon2 , ps12 , pazi1 , pazi2 ,
1078
- nullptr , nullptr , nullptr , nullptr );
1078
+ null_ptr , null_ptr , null_ptr , null_ptr );
1079
1079
}
1080
1080
1081
1081
double SinCosSeries (boolx sinp , double sinx , double cosx ,
@@ -1298,7 +1298,7 @@ double InverseStart(const struct geod_geodesic* g,
1298
1298
* Inverse. */
1299
1299
Lengths (g , g -> n , pi + bet12a ,
1300
1300
sbet1 , - cbet1 , dn1 , sbet2 , cbet2 , dn2 ,
1301
- cbet1 , cbet2 , nullptr , & m12b , & m0 , nullptr , nullptr , Ca );
1301
+ cbet1 , cbet2 , null_ptr , & m12b , & m0 , null_ptr , null_ptr , Ca );
1302
1302
x = -1 + m12b / (cbet1 * cbet2 * m0 * pi );
1303
1303
betscale = x < -0.01 ? sbet12a / x :
1304
1304
- g -> f * sq (cbet1 ) * pi ;
@@ -1458,7 +1458,7 @@ double Lambda12(const struct geod_geodesic* g,
1458
1458
dlam12 = - 2 * g -> f1 * dn1 / sbet1 ;
1459
1459
else {
1460
1460
Lengths (g , eps , sig12 , ssig1 , csig1 , dn1 , ssig2 , csig2 , dn2 ,
1461
- cbet1 , cbet2 , nullptr , & dlam12 , nullptr , nullptr , nullptr , Ca );
1461
+ cbet1 , cbet2 , null_ptr , & dlam12 , null_ptr , null_ptr , null_ptr , Ca );
1462
1462
dlam12 *= g -> f1 / (calp2 * cbet2 );
1463
1463
}
1464
1464
}
@@ -1744,7 +1744,7 @@ int transit(double lon1, double lon2) {
1744
1744
/* Return 1 or -1 if crossing prime meridian in east or west direction.
1745
1745
* Otherwise return zero. */
1746
1746
/* Compute lon12 the same way as Geodesic::Inverse. */
1747
- lon12 = AngDiff (lon1 , lon2 , nullptr );
1747
+ lon12 = AngDiff (lon1 , lon2 , null_ptr );
1748
1748
lon1 = AngNormalize (lon1 );
1749
1749
lon2 = AngNormalize (lon2 );
1750
1750
return
@@ -1821,8 +1821,8 @@ void geod_polygon_addpoint(const struct geod_geodesic* g,
1821
1821
} else {
1822
1822
double s12 , S12 = 0 ; /* Initialize S12 to stop Visual Studio warning */
1823
1823
geod_geninverse (g , p -> lat , p -> lon , lat , lon ,
1824
- & s12 , nullptr , nullptr , nullptr , nullptr , nullptr ,
1825
- p -> polyline ? nullptr : & S12 );
1824
+ & s12 , null_ptr , null_ptr , null_ptr , null_ptr , null_ptr ,
1825
+ p -> polyline ? null_ptr : & S12 );
1826
1826
accadd (p -> P , s12 );
1827
1827
if (!p -> polyline ) {
1828
1828
accadd (p -> A , S12 );
@@ -1841,9 +1841,9 @@ void geod_polygon_addedge(const struct geod_geodesic* g,
1841
1841
* lon is to make CLang static analyzer happy. */
1842
1842
double lat = 0 , lon = 0 , S12 = 0 ;
1843
1843
geod_gendirect (g , p -> lat , p -> lon , azi , GEOD_LONG_UNROLL , s ,
1844
- & lat , & lon , nullptr ,
1845
- nullptr , nullptr , nullptr , nullptr ,
1846
- p -> polyline ? nullptr : & S12 );
1844
+ & lat , & lon , null_ptr ,
1845
+ null_ptr , null_ptr , null_ptr , null_ptr ,
1846
+ p -> polyline ? null_ptr : & S12 );
1847
1847
accadd (p -> P , s );
1848
1848
if (!p -> polyline ) {
1849
1849
accadd (p -> A , S12 );
@@ -1869,7 +1869,7 @@ unsigned geod_polygon_compute(const struct geod_geodesic* g,
1869
1869
return p -> num ;
1870
1870
}
1871
1871
geod_geninverse (g , p -> lat , p -> lon , p -> lat0 , p -> lon0 ,
1872
- & s12 , nullptr , nullptr , nullptr , nullptr , nullptr , & S12 );
1872
+ & s12 , null_ptr , null_ptr , null_ptr , null_ptr , null_ptr , & S12 );
1873
1873
if (pP ) * pP = accsum (p -> P , s12 );
1874
1874
acccopy (p -> A , t );
1875
1875
accadd (t , S12 );
@@ -1900,8 +1900,8 @@ unsigned geod_polygon_testpoint(const struct geod_geodesic* g,
1900
1900
geod_geninverse (g ,
1901
1901
i == 0 ? p -> lat : lat , i == 0 ? p -> lon : lon ,
1902
1902
i != 0 ? p -> lat0 : lat , i != 0 ? p -> lon0 : lon ,
1903
- & s12 , nullptr , nullptr , nullptr , nullptr , nullptr ,
1904
- p -> polyline ? nullptr : & S12 );
1903
+ & s12 , null_ptr , null_ptr , null_ptr , null_ptr , null_ptr ,
1904
+ p -> polyline ? null_ptr : & S12 );
1905
1905
perimeter += s12 ;
1906
1906
if (!p -> polyline ) {
1907
1907
tempsum += S12 ;
@@ -1944,12 +1944,12 @@ unsigned geod_polygon_testedge(const struct geod_geodesic* g,
1944
1944
* happy. */
1945
1945
double lat = 0 , lon = 0 , s12 , S12 = 0 ;
1946
1946
geod_gendirect (g , p -> lat , p -> lon , azi , GEOD_LONG_UNROLL , s ,
1947
- & lat , & lon , nullptr ,
1948
- nullptr , nullptr , nullptr , nullptr , & S12 );
1947
+ & lat , & lon , null_ptr ,
1948
+ null_ptr , null_ptr , null_ptr , null_ptr , & S12 );
1949
1949
tempsum += S12 ;
1950
1950
crossings += transitdirect (p -> lon , lon );
1951
1951
geod_geninverse (g , lat , lon , p -> lat0 , p -> lon0 ,
1952
- & s12 , nullptr , nullptr , nullptr , nullptr , nullptr , & S12 );
1952
+ & s12 , null_ptr , null_ptr , null_ptr , null_ptr , null_ptr , & S12 );
1953
1953
perimeter += s12 ;
1954
1954
tempsum += S12 ;
1955
1955
crossings += transit (lon , p -> lon0 );
0 commit comments