标签:
条件传送代码
-这种代码先计算一个条件操作的两种结果,然后再条件从而选其中一个
-条件传送代码匹配了现代处理器的性能特征(因为现代处理器是流水线)
void minmax2(int a[],int b[], int n) { int i ; for(i = 0;i < n; i++) { int min = a[i] < b[i] ? a[i] : b[i]; //算好结果 int max = a[i] < b[i] ? b[i] : a[i]; //这里或许有些条件 a[i] = min; //分给result b[i] = max; } }
再来一个example
int cmovdiff(int x, int y) { int tval = y-x; int rval = x-y; //算好结果 int test = x < y; //条件 if( test ) rval = tval; //把result分给1个 return rval; }
标签:
原文地址:http://www.cnblogs.com/yingzheng-programming/p/5062146.html