summaryrefslogtreecommitdiff
path: root/platform/android/src/math
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/math')
-rw-r--r--platform/android/src/math/math.cpp13
-rw-r--r--platform/android/src/math/math.hpp26
2 files changed, 39 insertions, 0 deletions
diff --git a/platform/android/src/math/math.cpp b/platform/android/src/math/math.cpp
new file mode 100644
index 0000000000..17d34caacb
--- /dev/null
+++ b/platform/android/src/math/math.cpp
@@ -0,0 +1,13 @@
+#include "math.hpp"
+
+namespace mbgl {
+namespace android {
+namespace math {
+
+void registerNative(jni::JNIEnv& env) {
+ jni::Class<Math>::Singleton(env);
+}
+
+} // namespace math
+} // namespace android
+} // namespace mbgl \ No newline at end of file
diff --git a/platform/android/src/math/math.hpp b/platform/android/src/math/math.hpp
new file mode 100644
index 0000000000..c6a8549f10
--- /dev/null
+++ b/platform/android/src/math/math.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <mbgl/util/noncopyable.hpp>
+
+#include <jni/jni.hpp>
+
+namespace mbgl {
+namespace android {
+namespace math {
+
+class Math : private mbgl::util::noncopyable {
+public:
+ static constexpr auto Name() { return "java/lang/Math"; };
+
+ static jni::jdouble rint(jni::JNIEnv& env, const jni::jdouble value) {
+ static auto& javaClass = jni::Class<Math>::Singleton(env);
+ static auto method = javaClass.GetStaticMethod<jni::jdouble (jni::jdouble)>(env, "rint");
+ return javaClass.Call(env, method, value);
+ };
+};
+
+void registerNative(jni::JNIEnv&);
+
+} // namespace math
+} // namespace android
+} // namespace mbgl \ No newline at end of file