summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-05-20 13:38:01 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-05-20 15:50:58 +0200
commit50965e067371a905dca04f5f867d5dd497d85871 (patch)
tree942191ce3b4e67774e3db55d93dfc165a8822486 /libavcodec
parenteb0c08bc6938d1e873097a9c02772787d85b54b8 (diff)
avcodec: add mathops test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/Makefile1
-rw-r--r--libavcodec/mathops.c26
2 files changed, 27 insertions, 0 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index e1fd83bb3a..cb88fd165a 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -883,6 +883,7 @@ SKIPHEADERS-$(CONFIG_VDA) += vda.h vda_internal.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
TESTPROGS = imgconvert \
+ mathops \
options \
avfft \
diff --git a/libavcodec/mathops.c b/libavcodec/mathops.c
new file mode 100644
index 0000000000..31c8e69e61
--- /dev/null
+++ b/libavcodec/mathops.c
@@ -0,0 +1,26 @@
+#include "mathops.h"
+
+#ifdef TEST
+
+#include <stdlib.h>
+
+int main(void)
+{
+ unsigned u;
+
+ for(u=0; u<65536; u++) {
+ unsigned s = u*u;
+ unsigned root = ff_sqrt(s);
+ unsigned root_m1 = ff_sqrt(s-1);
+ if (s && root != u) {
+ fprintf(stderr, "ff_sqrt failed at %u with %u\n", s, root);
+ return 1;
+ }
+ if (u && root_m1 != u - 1) {
+ fprintf(stderr, "ff_sqrt failed at %u with %u\n", s, root);
+ return 1;
+ }
+ }
+ return 0;
+}
+#endif /* TEST */