Browse Source

avutil/softfloat: Add a test for av_sincos_sf()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n2.8
Michael Niedermayer 10 years ago
parent
commit
e171309756
1 changed files with 12 additions and 0 deletions
  1. +12
    -0
      libavutil/softfloat.c

+ 12
- 0
libavutil/softfloat.c View File

@@ -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;

}


Loading…
Cancel
Save