aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-25 21:28:05 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-25 21:42:42 +0200
commite171309756cb0e407632b163ce588ea8262bc50e (patch)
tree43b4ce9db6f0f964e2cf6791642fd1acb4f75ab8
parentfb57bc6c34b979bec995e714162fdfb4caf6db1a (diff)
downloadffmpeg-e171309756cb0e407632b163ce588ea8262bc50e.tar.gz
avutil/softfloat: Add a test for av_sincos_sf()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavutil/softfloat.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavutil/softfloat.c b/libavutil/softfloat.c
index afce358813..a9d1b0c319 100644
--- a/libavutil/softfloat.c
+++ b/libavutil/softfloat.c
@@ -97,6 +97,18 @@ int main(void){
sf1 = av_int2sf(0xE0000001, 0);
printf("test4 softfloat: %.10lf (0x%08x %d)\n", (double)av_sf2double(sf1), sf1.mant, sf1.exp);
+ for(i= 0; i<4*36; i++){
+ int s, c;
+ double errs, errc;
+
+ av_sincos_sf(i*(1ULL<<32)/36/4, &s, &c);
+ errs = (double)s/ (1<<30) - sin(i*M_PI/36);
+ errc = (double)c/ (1<<30) - cos(i*M_PI/36);
+ if (fabs(errs) > 0.00000002 || fabs(errc) >0.001) {
+ printf("sincos FAIL %d %f %f %f %f\n", i, (float)s/ (1<<30), (float)c/ (1<<30), sin(i*M_PI/36), cos(i*M_PI/36));
+ }
+
+ }
return 0;
}