将值输出到不同大小的缓冲区
Output values to buffers of different sizes
我需要将 2 个值输出到不同大小的缓冲区。一个与输入的大小相同,另一个是宽度的一半和高度的一半。我想过使用元组,但我超出了界限,因为它正在迭代输入大小。下面是一个快速示例:
uint8_t _in[4] = { 1, 2, 3, 4 };
uint8_t _out1[4];
uint8_t _out2[1];
Buffer<uint8_t> in(_in, 2, 2);
Buffer<uint8_t> out1(_out1, 2, 2);
Buffer<uint8_t> out2(_out2, 1, 1);
Var x, y;
Func f;
f(x, y) = {
in(x,y),
in(x / 2, y / 2)
};
f.realize({ out1, out2 });
元组不是正确的解决方案吗?
使用两个输出Funcs
构造一个Halide::Pipeline
,并在Pipeline
对象上调用realize
。
像这样:
uint8_t _in[4] = { 1, 2, 3, 4 };
uint8_t _out1[4];
uint8_t _out2[1];
Buffer<uint8_t> in(_in, 2, 2);
Buffer<uint8_t> out1(_out1, 2, 2);
Buffer<uint8_t> out2(_out2, 1, 1);
Var x, y;
Func f1, f2;
f1(x, y) = in(x,y);
f2(x, y) = in(x / 2, y / 2);
Pipeline pipeline({f1, f2});
pipeline.realize({ out1, out2 });
相关文章:
- OpenCL 代码卡在写入输出缓冲区上
- 来自无符号字符缓冲区的虚拟输出
- 用于了解输入和输出流缓冲区实际工作方式的程序
- 将数据分配给了数组分配,但程序显示了以缓冲区超支的输出
- 输出操纵器 std::ends 是否向输出缓冲区添加空字符?
- 多线程使用者未产生与使用升压环形缓冲区的输入相同的输出
- 音频缓冲区列表,用于输出流格式已压缩的 AUHAL 单元
- 将值输出到不同大小的缓冲区
- 为什么我要获得不同的输出?我使用有界的缓冲区,pthreads和Semaphores对C 进行编码
- CGI程序的自定义输出缓冲区,运算符重载
- 输出缓冲区无法刷新的情况?
- 一个缓冲区如何用新行C++输出
- std::字符串流,直接输出缓冲区/字符串结果访问,避免复制
- 有关C 输出缓冲区压缩的视觉效果
- 输出缓冲区和Cntrl+C以退出程序
- C/C++文件输出缓冲/缓冲区切换到操作系统
- Win32 读取文件输出,无需等待缓冲区
- 何时刷新输出缓冲区
- 捕获c++system()命令的缓冲区输出
- 为什么我的缓冲区输出被截断了?c++套接字编程