summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2014-05-21 09:03:11 -0400
committerDan Pasette <dan@mongodb.com>2014-11-23 23:23:01 -0500
commit230cdd386334f0f3e1e5d05be39ab57ccdd79772 (patch)
tree2005039f7842d8b9e5eec12dbb993cc2474db9ae
parentfff8f3297645b6923d881d67a6d1008fe905543a (diff)
downloadmongo-230cdd386334f0f3e1e5d05be39ab57ccdd79772.tar.gz
SERVER-14015: Fix S2 Compilation on GCC 4.9/Solaris by choosing sqrt(double)
(cherry picked from commit 885e11b64dae39b4a90304e754caa26254442180)
-rw-r--r--src/third_party/s2/s2.cc30
-rw-r--r--src/third_party/s2/s2polygonbuilder.cc2
2 files changed, 16 insertions, 16 deletions
diff --git a/src/third_party/s2/s2.cc b/src/third_party/s2/s2.cc
index 417117a580d..3df1e9024a6 100644
--- a/src/third_party/s2/s2.cc
+++ b/src/third_party/s2/s2.cc
@@ -699,8 +699,8 @@ S2::LengthMetric const S2::kAvgAngleSpan(M_PI / 2); // 1.571
S2::LengthMetric const S2::kMinWidth(
S2_PROJECTION == S2_LINEAR_PROJECTION ? sqrt(2. / 3) : // 0.816
- S2_PROJECTION == S2_TAN_PROJECTION ? M_PI / (2 * sqrt(2)) : // 1.111
- S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 2 * sqrt(2) / 3 : // 0.943
+ S2_PROJECTION == S2_TAN_PROJECTION ? M_PI / (2 * sqrt(2.)) : // 1.111
+ S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 2 * sqrt(2.) / 3 : // 0.943
0);
S2::LengthMetric const S2::kMaxWidth(S2::kMaxAngleSpan.deriv());
@@ -713,9 +713,9 @@ S2::LengthMetric const S2::kAvgWidth(
0);
S2::LengthMetric const S2::kMinEdge(
- S2_PROJECTION == S2_LINEAR_PROJECTION ? 2 * sqrt(2) / 3 : // 0.943
- S2_PROJECTION == S2_TAN_PROJECTION ? M_PI / (2 * sqrt(2)) : // 1.111
- S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 2 * sqrt(2) / 3 : // 0.943
+ S2_PROJECTION == S2_LINEAR_PROJECTION ? 2 * sqrt(2.) / 3 : // 0.943
+ S2_PROJECTION == S2_TAN_PROJECTION ? M_PI / (2 * sqrt(2.)) : // 1.111
+ S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 2 * sqrt(2.) / 3 : // 0.943
0);
S2::LengthMetric const S2::kMaxEdge(S2::kMaxAngleSpan.deriv());
@@ -728,13 +728,13 @@ S2::LengthMetric const S2::kAvgEdge(
0);
S2::LengthMetric const S2::kMinDiag(
- S2_PROJECTION == S2_LINEAR_PROJECTION ? 2 * sqrt(2) / 3 : // 0.943
- S2_PROJECTION == S2_TAN_PROJECTION ? M_PI * sqrt(2) / 3 : // 1.481
- S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 8 * sqrt(2) / 9 : // 1.257
+ S2_PROJECTION == S2_LINEAR_PROJECTION ? 2 * sqrt(2.) / 3 : // 0.943
+ S2_PROJECTION == S2_TAN_PROJECTION ? M_PI * sqrt(2.) / 3 : // 1.481
+ S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 8 * sqrt(2.) / 9 : // 1.257
0);
S2::LengthMetric const S2::kMaxDiag(
- S2_PROJECTION == S2_LINEAR_PROJECTION ? 2 * sqrt(2) : // 2.828
+ S2_PROJECTION == S2_LINEAR_PROJECTION ? 2 * sqrt(2.) : // 2.828
S2_PROJECTION == S2_TAN_PROJECTION ? M_PI * sqrt(2. / 3) : // 2.565
S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 2.438654594434021032 : // 2.439
0);
@@ -746,9 +746,9 @@ S2::LengthMetric const S2::kAvgDiag(
0);
S2::AreaMetric const S2::kMinArea(
- S2_PROJECTION == S2_LINEAR_PROJECTION ? 4 / (3 * sqrt(3)) : // 0.770
- S2_PROJECTION == S2_TAN_PROJECTION ? (M_PI*M_PI) / (4*sqrt(2)) : // 1.745
- S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 8 * sqrt(2) / 9 : // 1.257
+ S2_PROJECTION == S2_LINEAR_PROJECTION ? 4 / (3 * sqrt(3.)) : // 0.770
+ S2_PROJECTION == S2_TAN_PROJECTION ? (M_PI*M_PI) / (4*sqrt(2.)) : // 1.745
+ S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 8 * sqrt(2.) / 9 : // 1.257
0);
S2::AreaMetric const S2::kMaxArea(
@@ -761,10 +761,10 @@ S2::AreaMetric const S2::kAvgArea(4 * M_PI / 6); // 2.094
// This is true for all projections.
double const S2::kMaxEdgeAspect = (
- S2_PROJECTION == S2_LINEAR_PROJECTION ? sqrt(2) : // 1.414
- S2_PROJECTION == S2_TAN_PROJECTION ? sqrt(2) : // 1.414
+ S2_PROJECTION == S2_LINEAR_PROJECTION ? sqrt(2.) : // 1.414
+ S2_PROJECTION == S2_TAN_PROJECTION ? sqrt(2.) : // 1.414
S2_PROJECTION == S2_QUADRATIC_PROJECTION ? 1.442615274452682920 : // 1.443
0);
-double const S2::kMaxDiagAspect = sqrt(3); // 1.732
+double const S2::kMaxDiagAspect = sqrt(3.); // 1.732
// This is true for all projections.
diff --git a/src/third_party/s2/s2polygonbuilder.cc b/src/third_party/s2/s2polygonbuilder.cc
index 8042bd1a835..742c8dcb8e8 100644
--- a/src/third_party/s2/s2polygonbuilder.cc
+++ b/src/third_party/s2/s2polygonbuilder.cc
@@ -55,7 +55,7 @@ void S2PolygonBuilderOptions::set_vertex_merge_radius(S1Angle const& angle) {
}
void S2PolygonBuilderOptions::set_edge_splice_fraction(double fraction) {
- CHECK(fraction < sqrt(3) / 2);
+ CHECK(fraction < sqrt(3.) / 2);
edge_splice_fraction_ = fraction;
}