diff options
author | James Almer <jamrial@gmail.com> | 2013-01-22 04:10:21 -0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-01-22 16:02:31 +0100 |
commit | e65d8509f0657810511b96f2eec43b7cf31434e9 (patch) | |
tree | 05ad02b23820ddc3ce883c4b2e260358040596df | |
parent | 26345acb0e723d28aa28e09126ea383b2f679f5b (diff) | |
download | ffmpeg-e65d8509f0657810511b96f2eec43b7cf31434e9.tar.gz |
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 <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rwxr-xr-x | configure | 1 | ||||
-rw-r--r-- | libavutil/libm.h | 7 |
2 files changed, 8 insertions, 0 deletions
@@ -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) { |