码迷,mamicode.com
首页 > 编程语言 > 详细

C++中的条件传送代码

时间:2015-12-20 23:52:20      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

条件传送代码
-这种代码先计算一个条件操作的两种结果,然后再条件从而选其中一个
-条件传送代码匹配了现代处理器的性能特征(因为现代处理器是流水线)

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;
}

 

C++中的条件传送代码

标签:

原文地址:http://www.cnblogs.com/yingzheng-programming/p/5062146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!