📄 reduce_basic.br
字号:
// reduce_basic.br// A minimal test of reduction functionality.// It confirms that we can reduce streams of// various sizes to single values.#include <stdio.h>reduce void SUM( float4 a<>, reduce float4 b <>) { b = b + a;}int main () { float4 a< 10, 10 >; float4 b< 9, 9 >; float4 c< 11, 10 >; float4 data_a[10][10]; float4 data_b[9][9]; float4 data_c[11][10]; float4 result; int i,j; for (i=0; i<10; i++) for (j=0; j<10; j++) { data_a[i][j].x = (float)i; data_a[i][j].y = (float)j; data_a[i][j].z = (float)1; data_a[i][j].w = (float)2; } streamRead(a, data_a); SUM(a,result); printf ("{%3.2f %3.2f %3.2f %3.2f}\n", result.x,result.y,result.z,result.w); for (i=0; i<9; i++) for (j=0; j<9; j++) { data_b[i][j].x = (float)i; data_b[i][j].y = (float)j; data_b[i][j].z = (float)1; data_b[i][j].w = (float)2; } streamRead(b, data_b); SUM(b,result); printf ("{%3.2f %3.2f %3.2f %3.2f}\n", result.x,result.y,result.z,result.w); for (i=0; i<11; i++) for (j=0; j<10; j++) { data_c[i][j].x = (float)i; data_c[i][j].y = (float)j; data_c[i][j].z = (float)1; data_c[i][j].w = (float)2; } streamRead(c, data_c); SUM(c,result); printf ("{%3.2f %3.2f %3.2f %3.2f}\n", result.x,result.y,result.z,result.w); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -