OpenCL学习笔记(13)--运算符

1.Opencl中的全部操作符,他们的操作符既可以是每一位,各个数字,也可以是逻辑表达式。在这些接受多个参数的操作符中,运算对象既可以全部是标量,也可以全部是向量。此外,这其中的很多操作符还可以处理标量和向量之间的混合运算。

2.如果是算术操作符,它的两个操作数类相同,得到的结果类型不变。如果两个操作数,一个是包含整数的向量,另一个是包含浮点数的向量,得到的结果向量所含的分量将全部是浮点数,注意,不能对浮点数或是包含浮点数的向量进行按位运算。
例如short8型向量中的每个分两加5:
short8 s =(short8) (1,2,3,4,5,6,7,8);
s= s +5;
s=s + 5也可以替换成s+=5.这个运算符称之为加法赋值运算符,其作用是将左边的变量加上右边的表达式,再将结果赋值给左边的变量。其他OpenCL所支持的赋值运算符包括-=,*=, /=, %=, <<=, >>=, &=, |=和^=.

3.如果操作数是标量,这些运算符会在关系运算结果为真时,返回1,在结果为假时,返回0.使用all函数和any函数来达到同样的目的。all函数测试各个分量的最高有效位,如果都为1,则返回1.any函数则恰好相反,测试各个分量的最低有效位,如果都为1,则返回1,while(all(x>2));

发布了19 篇原创文章 · 获赞 20 · 访问量 563

猜你喜欢

转载自blog.csdn.net/INFINALGEORGE/article/details/105194932