Home | History | Annotate | Download | only in jni
      1 #include "jni.h"
      2 #include <android_runtime/AndroidRuntime.h>
      3 #include <math.h>
      4 #include <float.h>
      5 #include "SkTypes.h"
      6 
      7 class MathUtilsGlue {
      8 public:
      9     static float FloorF(JNIEnv* env, jobject clazz, float x) {
     10         return floorf(x);
     11     }
     12 
     13     static float CeilF(JNIEnv* env, jobject clazz, float x) {
     14         return ceilf(x);
     15     }
     16 
     17     static float SinF(JNIEnv* env, jobject clazz, float x) {
     18         return sinf(x);
     19     }
     20 
     21     static float CosF(JNIEnv* env, jobject clazz, float x) {
     22         return cosf(x);
     23     }
     24 
     25     static float SqrtF(JNIEnv* env, jobject clazz, float x) {
     26         return sqrtf(x);
     27     }
     28 };
     29 
     30 static JNINativeMethod gMathUtilsMethods[] = {
     31     {"floor", "(F)F", (void*) MathUtilsGlue::FloorF},
     32     {"ceil", "(F)F", (void*) MathUtilsGlue::CeilF},
     33     {"sin", "(F)F", (void*) MathUtilsGlue::SinF},
     34     {"cos", "(F)F", (void*) MathUtilsGlue::CosF},
     35     {"sqrt", "(F)F", (void*) MathUtilsGlue::SqrtF}
     36 };
     37 
     38 int register_android_util_FloatMath(JNIEnv* env)
     39 {
     40     int result = android::AndroidRuntime::registerNativeMethods(env,
     41                                             "android/util/FloatMath",
     42                                             gMathUtilsMethods,
     43                                             SK_ARRAY_COUNT(gMathUtilsMethods));
     44     return result;
     45 }
     46 
     47