summaryrefslogtreecommitdiff
path: root/test/map/transform.test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/map/transform.test.cpp')
-rw-r--r--test/map/transform.test.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/map/transform.test.cpp b/test/map/transform.test.cpp
index 0cd92bfc2f..7f3a5e0556 100644
--- a/test/map/transform.test.cpp
+++ b/test/map/transform.test.cpp
@@ -109,7 +109,13 @@ TEST(Transform, IntegerZoom) {
auto checkIntegerZoom = [&transform](uint8_t zoomInt, double zoom) {
double scale = transform.getState().zoomScale(zoom);
transform.setScale(scale);
+#if __ANDROID__
+ // Android uses log(x) / M_LN2 instead of log2(x) because the latter
+ // is _broken in ARMv5 - that approach being less precise than log2(x).
+ ASSERT_NEAR(transform.getScale(), scale, 0.0001);
+#else
ASSERT_DOUBLE_EQ(transform.getScale(), scale);
+#endif
ASSERT_NEAR(transform.getZoom(), zoom, 0.0001);
ASSERT_EQ(transform.getState().getIntegerZoom(), zoomInt);
ASSERT_NEAR(transform.getState().getZoomFraction(), zoom - zoomInt, 0.0001);