Fix an issue on FP calculation diff of osx and linux
sugar on mac
result_type=1 expected=<1093> actual=<1047>
result_type=4 expected=<730> actual=<698>
result_type=5 expected=<177> actual=<173>
sugar on linux
result_type=1 expected=<1093> actual=<1047>
result_type=4 expected=<730> actual=<698>
result_type=5 expected=<177> actual=<173>
Change-Id: I4cd39becb0de4076dd37d870adda6463a96de424
diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp
index 9bb8b29..693a9f2 100644
--- a/native/jni/src/proximity_info.cpp
+++ b/native/jni/src/proximity_info.cpp
@@ -141,7 +141,9 @@
static inline float getNormalizedSquaredDistanceFloat(float x1, float y1, float x2, float y2,
float scale) {
- return squareFloat((x1 - x2) / scale) + squareFloat((y1 - y2) / scale);
+ const float deltaX = x1 - x2;
+ const float deltaY = y1 - y2;
+ return (SQUARE_FLOAT(deltaX) + SQUARE_FLOAT(deltaY)) / SQUARE_FLOAT(scale);
}
float ProximityInfo::getNormalizedSquaredDistanceFromCenterFloat(