📄 vout_brook.br
字号:
#include <stdio.h>kernel void foo (float a<>, float b<>, float4 c, float d[10][10], vout [4]float e<>) { e = a+b; push(e); if (round(fmod( (indexof a).x,2))!=1) { e = 2; push (e); } if (round(fmod((indexof a).y,3))!=1) { e=3; push (e); e=-3; push (e); }}int main (int argc, char * argv[]) { int WID=(argc>1?atoi(argv[1]):10); int LEN=(argc>2?atoi(argv[2]):(argc>1?atoi(argv[1]):10)); float a<WID, LEN>; float b<WID, LEN>; float d<WID, LEN>; float e<WID, LEN>; float nil<40,10>; float f<WID, LEN>; float test <40,10>; float *data_a; float *data_b; float4 c = float4(1.0f, 0.0f, 3.2f, 5.0f); float *data_d; float *data_nil; float *data_out; int i,j; data_a=(float*)malloc(WID*LEN*sizeof(float)); data_b=(float*)malloc(WID*LEN*sizeof(float)); data_d=(float*)malloc(WID*LEN*sizeof(float)); data_out=(float*)malloc(10*40*sizeof(float)); data_nil=(float*)malloc(10*40*sizeof(float)); memset(data_nil,0,10*40*sizeof(float)); for (i=0; i<WID; i++) for (j=0; j<LEN; j++) { data_a[i*LEN+j] = ((float) i); data_b[i*LEN+j] = ((float)j)/10; data_d[i*LEN+j] = 0; } streamRead(a, data_a); streamRead(b, data_b); streamRead(d, data_d); foo(a,b,c,d,e); //foo(a,b,c,d_broken,e); streamPrint(e); // streamPrint(f); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -