Provide a tgammaf() wrapper for compatibility on Gingerbread.
Bug: 10315692
GB devices don't have tgammaf(float) and only have tgamma(double). We
provide a simple wrapper to convert between the two for the compatibility
library.
Change-Id: Id8566450405482e876148d62ffbe46fa62049049
diff --git a/cpu_ref/rsCpuRuntimeMath.cpp b/cpu_ref/rsCpuRuntimeMath.cpp
index 04a80e0..c80111a 100644
--- a/cpu_ref/rsCpuRuntimeMath.cpp
+++ b/cpu_ref/rsCpuRuntimeMath.cpp
@@ -46,7 +46,11 @@
// Handle missing Gingerbread functions like tgammaf.
float SC_tgammaf(float x) {
+#ifdef RS_COMPATIBILITY_LIB
return tgamma(x);
+#else
+ return tgammaf(x);
+#endif
}
uint32_t SC_abs_i32(int32_t v) {return abs(v);}
@@ -225,7 +229,7 @@
{ "_Z4sqrtf", (void *)&sqrtf, true },
{ "_Z3tanf", (void *)&tanf, true },
{ "_Z4tanhf", (void *)&tanhf, true },
- { "_Z6tgammaf", (void *)&tgammaf, true },
+ { "_Z6tgammaf", (void *)&SC_tgammaf, true },
{ "_Z5truncf", (void *)&truncf, true },
//{ "smoothstep", (void *)&, true },