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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#include <time.h>
#include <stdio.h>
int tab_max3[2] = {0};
int tab_max4[2];
#define MAX1(X,Y) (X + ( (-(int)(X<Y)) & (Y-X) ) )
#define MAX2(X,Y) (X + (X<Y)*(Y-X))
#define MAX3(X,Y) (tab_max3[0] = X, tab_max3[1] = Y, tab_max3[(X<Y)])
#define MAX4(X,Y) (tab_max4[1] = Y-X, X + tab_max4[(X<Y)])
#define MAX5(X,Y) (X < Y ? Y : X)
#define N 504500000
int main() {
int i,a,b,c,n;
unsigned int k;
for (n = 0; n < 10; n++) {
k = clock();
for (i = 0; i < N; i++) {
a = MAX1(0,0);
b = MAX1(-9,-5);
c = MAX1(-400000,255);
}
printf("%d ",clock() - k);
k = clock();
for (i = 0; i < N; i++) {
a = MAX2(0,0);
b = MAX2(-9,-5);
c = MAX2(-400000,255);
}
printf("%d ",clock() - k);
k = clock();
for (i = 0; i < N; i++) {
a = MAX3(0,0);
b = MAX3(-9,-5);
c = MAX3(-400000,255);
}
printf("%d ",clock() - k);
k = clock();
for (i = 0; i < N; i++) {
a = MAX4(0,0);
b = MAX4(-9,-5);
c = MAX4(-400000,255);
}
printf("%d ",clock() - k);
k = clock();
for (i = 0; i < N; i++) {
a = MAX5(0,0);
b = MAX5(-9,-5);
c = MAX5(-400000,255);
}
printf("%d ",clock() - k);
printf("\n");
}
} |
Partager