avutil/softfloat: Add a test for av_sincos_sf()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		
							parent
							
								
									fb57bc6c34
								
							
						
					
					
						commit
						e171309756
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user