首页 > 编程语言 > 详细

C++中的条件传送代码

时间:2015-12-20 23:49:48      阅读:194      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!