diff --git a/api/current.txt b/api/current.txt index a4512ee5ca41b..c19acfea2f6ea 100644 --- a/api/current.txt +++ b/api/current.txt @@ -22821,6 +22821,7 @@ package android.util { public class FloatMath { method public static float ceil(float); method public static float cos(float); + method public static float exp(float); method public static float floor(float); method public static float sin(float); method public static float sqrt(float); diff --git a/core/java/android/util/FloatMath.java b/core/java/android/util/FloatMath.java index 62166383c326c..1d4eda41473c7 100644 --- a/core/java/android/util/FloatMath.java +++ b/core/java/android/util/FloatMath.java @@ -71,4 +71,13 @@ public class FloatMath { * @return the square root of value */ public static native float sqrt(float value); + + /** + * Returns the closest float approximation of the raising "e" to the power + * of the argument. + * + * @param value to compute the exponential of + * @return the exponential of value + */ + public static native float exp(float value); } diff --git a/core/jni/android_util_FloatMath.cpp b/core/jni/android_util_FloatMath.cpp index f38faa998bfa8..e30756b5dee3b 100644 --- a/core/jni/android_util_FloatMath.cpp +++ b/core/jni/android_util_FloatMath.cpp @@ -25,6 +25,10 @@ public: 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 JNINativeMethod gMathUtilsMethods[] = { @@ -32,7 +36,8 @@ static JNINativeMethod gMathUtilsMethods[] = { {"ceil", "(F)F", (void*) MathUtilsGlue::CeilF}, {"sin", "(F)F", (void*) MathUtilsGlue::SinF}, {"cos", "(F)F", (void*) MathUtilsGlue::CosF}, - {"sqrt", "(F)F", (void*) MathUtilsGlue::SqrtF} + {"sqrt", "(F)F", (void*) MathUtilsGlue::SqrtF}, + {"exp", "(F)F", (void*) MathUtilsGlue::ExpF}, }; int register_android_util_FloatMath(JNIEnv* env)