Provide a fallback version of the libm function trunc
authorMartin Storsjö <martin@martin.st>
Thu, 21 Apr 2011 11:02:38 +0000 (13:02 +0200)
committerMartin Storsjö <martin@martin.st>
Thu, 21 Apr 2011 11:13:09 +0000 (14:13 +0300)
This fixes compilation on DOS.

Signed-off-by: Martin Storsjö <martin@martin.st>
configure
libavutil/libm.h

index 32c3544..dd44ba4 100755 (executable)
--- a/configure
+++ b/configure
@@ -1119,6 +1119,7 @@ HAVE_LIST="
     sys_videoio_h
     ten_operands
     threads
+    trunc
     truncf
     vfp_args
     VirtualAlloc
@@ -2852,6 +2853,7 @@ check_mathfunc lrint
 check_mathfunc lrintf
 check_mathfunc round
 check_mathfunc roundf
+check_mathfunc trunc
 check_mathfunc truncf
 
 # these are off by default, so fail if requested and not available
index 704bcf9..783f3cd 100644 (file)
@@ -86,6 +86,13 @@ static av_always_inline av_const float roundf(float x)
 }
 #endif /* HAVE_ROUNDF */
 
+#if !HAVE_TRUNC
+static av_always_inline av_const double trunc(double x)
+{
+    return (x > 0) ? floor(x) : ceil(x);
+}
+#endif /* HAVE_TRUNC */
+
 #if !HAVE_TRUNCF
 static av_always_inline av_const float truncf(float x)
 {