作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想将 uint4
vector 转换为 uchar4
vector ,但我不确定这样做的正确方法是什么:
const uint4 res;
res = read_imageui(input, sampler, pos_read);
output[p] = res // error: assigning to '__global uchar4' from incompatible type 'const uint4';
output[p] = (uchar4)res; // error: invalid conversion between ext-vector type 'uchar4' and 'uint4'
output[p].x = (uchar)res.x; //
output[p].y = (uchar)res.y; //
output[p].z = (uchar)res.z; // works, but is this the only/right way to go?
output[p].w = (uchar)res.w; //
最佳答案
使用它进行简单的转换:
output[p] = convert_uchar4(res); //For a simple conversion
或其中之一用于手工转换:
output[p] = convert_uchar4<_sat><_roundingMode>(res); //For a precise conversion
在哪里,<_sat>
是可选的,它定义了当值超出范围时是否饱和。和 <_roundingMode>
也可选,可以是_rte
(最近的偶数),_rtp
(朝向 inf),_rtn
(朝向-inf)或_rtz
(接近零)
如有更多问题,请联系 OpenCL Reference Card Page 5 .或者 Conversion of types for OpenCL
关于c++ - openCL:如何将 uint4 转换为 uchar4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383790/
我是一名优秀的程序员,十分优秀!