diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-07-25 21:28:05 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-07-25 21:42:42 +0200 |
commit | e171309756cb0e407632b163ce588ea8262bc50e (patch) | |
tree | 43b4ce9db6f0f964e2cf6791642fd1acb4f75ab8 | |
parent | fb57bc6c34b979bec995e714162fdfb4caf6db1a (diff) | |
download | ffmpeg-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.c | 12 |
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; } |