Add replacements for log2f(), exp2() and exp2f() for platforms that lacks it.
[ffmpeg.git] / libavutil / internal.h
index 7f620d8..ad43206 100644 (file)
@@ -263,6 +263,20 @@ if ((y) < (x)) {\
     }\
 }
 
     }\
 }
 
+#if !HAVE_EXP2
+static av_always_inline av_const double exp2(double x)
+{
+    return exp(x * 0.693147180559945);
+}
+#endif /* HAVE_EXP2 */
+
+#if !HAVE_EXP2F
+static av_always_inline av_const float exp2f(float x)
+{
+    return exp2(x);
+}
+#endif /* HAVE_EXP2F */
+
 #if !HAVE_LLRINT
 static av_always_inline av_const long long llrint(double x)
 {
 #if !HAVE_LLRINT
 static av_always_inline av_const long long llrint(double x)
 {
@@ -277,6 +291,13 @@ static av_always_inline av_const double log2(double x)
 }
 #endif /* HAVE_LOG2 */
 
 }
 #endif /* HAVE_LOG2 */
 
+#if !HAVE_LOG2F
+static av_always_inline av_const float log2f(float x)
+{
+    return log2(x);
+}
+#endif /* HAVE_LOG2F */
+
 #if !HAVE_LRINT
 static av_always_inline av_const long int lrint(double x)
 {
 #if !HAVE_LRINT
 static av_always_inline av_const long int lrint(double x)
 {