From e65d8509f0657810511b96f2eec43b7cf31434e9 Mon Sep 17 00:00:00 2001 From: James Almer Date: Tue, 22 Jan 2013 04:10:21 -0300 Subject: [PATCH] libm: Add fallback definition for cbrt() using pow() The function is known to be missing in at least one target (MSVC). Signed-off-by: James Almer Signed-off-by: Michael Niedermayer --- configure | 1 + libavutil/libm.h | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/configure b/configure index 8460e5fad2..a741fc36df 100755 --- a/configure +++ b/configure @@ -1300,6 +1300,7 @@ HAVE_LIST_PUB=' MATH_FUNCS=" atanf atan2f + cbrt cbrtf cosf exp2 diff --git a/libavutil/libm.h b/libavutil/libm.h index bfcc21c5da..6c17b287b4 100644 --- a/libavutil/libm.h +++ b/libavutil/libm.h @@ -48,6 +48,13 @@ #define powf(x, y) ((float)pow(x, y)) #endif +#if !HAVE_CBRT +static av_always_inline double cbrt(double x) +{ + return x < 0 ? -pow(-x, 1.0 / 3.0) : pow(x, 1.0 / 3.0); +} +#endif + #if !HAVE_CBRTF static av_always_inline float cbrtf(float x) {