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     static float ExpF(JNIEnv* env, jobject clazz, float x) {
     30         return expf(x);
     31     }
     32 
     33     static float PowF(JNIEnv* env, jobject clazz, float x, float y) {
     34         return powf(x, y);
     35     }
     36 
     37     static float HypotF(JNIEnv* env, jobject clazz, float x, float y) {
     38         return hypotf(x, y);
     39     }
     40 };
     41 
     42 static JNINativeMethod gMathUtilsMethods[] = {
     43     {"floor", "(F)F", (void*) MathUtilsGlue::FloorF},
     44     {"ceil", "(F)F", (void*) MathUtilsGlue::CeilF},
     45     {"sin", "(F)F", (void*) MathUtilsGlue::SinF},
     46     {"cos", "(F)F", (void*) MathUtilsGlue::CosF},
     47     {"sqrt", "(F)F", (void*) MathUtilsGlue::SqrtF},
     48     {"exp", "(F)F", (void*) MathUtilsGlue::ExpF},
     49     {"pow", "(FF)F", (void*) MathUtilsGlue::PowF},
     50     {"hypot", "(FF)F", (void*) MathUtilsGlue::HypotF},
     51 };
     52 
     53 int register_android_util_FloatMath(JNIEnv* env)
     54 {
     55     int result = android::AndroidRuntime::registerNativeMethods(env,
     56                                             "android/util/FloatMath",
     57                                             gMathUtilsMethods,
     58                                             SK_ARRAY_COUNT(gMathUtilsMethods));
     59     return result;
     60 }
     61 
     62