1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| int mod1 ( int x , int y )
{
return (x % y + y) % y ;
}
int mod2 ( int x , int y )
{
return x >= 0 ? x % y : y - 1 - ((-x-1) % y) ;
}
void test_mod ( void )
{
int n,x,y,z = 0 ;
int t0,t1 ;
t0 = get_time_ms() ;
for ( n = 0 ; n < 1000 ; ++n )
for ( y = 1 ; y < 1000 ; ++y )
for ( x = -1000 ; x < 1000 ; ++x )
z += mod1( x,y ) ;
t1 = get_time_ms() ;
printf("mod1 : %d\n",t1-t0,z ) ;
t0 = get_time_ms() ;
for ( n = 0 ; n < 1000 ; ++n )
for ( y = 1 ; y < 1000 ; ++y )
for ( x = -1000 ; x < 1000 ; ++x )
z += mod2( x,y ) ;
t1 = get_time_ms() ;
printf("mod2 : %d\n",t1-t0,z ) ;
} |
Partager