|
|
@@ -97,6 +97,18 @@ int main(void){ |
|
|
sf1 = av_int2sf(0xE0000001, 0); |
|
|
sf1 = av_int2sf(0xE0000001, 0); |
|
|
printf("test4 softfloat: %.10lf (0x%08x %d)\n", (double)av_sf2double(sf1), sf1.mant, sf1.exp); |
|
|
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; |
|
|
return 0; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|