Add truncf() replacement function.
authorMichael Kostylev <michael.kostylev@gmail.com>
Sun, 11 Jan 2009 22:10:04 +0000 (22:10 +0000)
committerRamiro Polla <ramiro.polla@gmail.com>
Sun, 11 Jan 2009 22:10:04 +0000 (22:10 +0000)
Patch by Michael Kostylev <mik at it-1 dot ru>

Originally committed as revision 16555 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavutil/internal.h

index 37af6c4..f07e922 100755 (executable)
--- a/configure
+++ b/configure
@@ -886,6 +886,7 @@ HAVE_LIST="
     sys_videoio_h
     termios_h
     threads
+    truncf
     winsock2_h
     yasm
 "
@@ -1875,7 +1876,7 @@ done
 check_lib math.h sin -lm
 
 # test for C99 functions in math.h
-for func in llrint lrint lrintf round roundf; do
+for func in llrint lrint lrintf round roundf truncf; do
     check_exec <<EOF && enable $func || disable $func
 #include <math.h>
 int main(void) { return ($func(3.999f) > 0)?0:1; }
index bbf4407..9575660 100644 (file)
@@ -294,4 +294,11 @@ static av_always_inline av_const float roundf(float x)
 }
 #endif /* HAVE_ROUNDF */
 
+#ifndef HAVE_TRUNCF
+static av_always_inline av_const float truncf(float x)
+{
+    return (x > 0) ? floor(x) : ceil(x);
+}
+#endif /* HAVE_TRUNCF */
+
 #endif /* AVUTIL_INTERNAL_H */