#include "jni.h" #include #include #include #include "SkTypes.h" class MathUtilsGlue { public: static float FloorF(JNIEnv* env, jobject clazz, float x) { return floorf(x); } static float CeilF(JNIEnv* env, jobject clazz, float x) { return ceilf(x); } static float SinF(JNIEnv* env, jobject clazz, float x) { return sinf(x); } static float CosF(JNIEnv* env, jobject clazz, float x) { return cosf(x); } static float SqrtF(JNIEnv* env, jobject clazz, float x) { return sqrtf(x); } static float ExpF(JNIEnv* env, jobject clazz, float x) { return expf(x); } static float PowF(JNIEnv* env, jobject clazz, float x, float y) { return powf(x, y); } static float HypotF(JNIEnv* env, jobject clazz, float x, float y) { return hypotf(x, y); } }; static JNINativeMethod gMathUtilsMethods[] = { {"floor", "(F)F", (void*) MathUtilsGlue::FloorF}, {"ceil", "(F)F", (void*) MathUtilsGlue::CeilF}, {"sin", "(F)F", (void*) MathUtilsGlue::SinF}, {"cos", "(F)F", (void*) MathUtilsGlue::CosF}, {"sqrt", "(F)F", (void*) MathUtilsGlue::SqrtF}, {"exp", "(F)F", (void*) MathUtilsGlue::ExpF}, {"pow", "(FF)F", (void*) MathUtilsGlue::PowF}, {"hypot", "(FF)F", (void*) MathUtilsGlue::HypotF}, }; int register_android_util_FloatMath(JNIEnv* env) { int result = android::AndroidRuntime::registerNativeMethods(env, "android/util/FloatMath", gMathUtilsMethods, SK_ARRAY_COUNT(gMathUtilsMethods)); return result; }