vout.br
来自「用于GPU通用计算的编程语言BrookGPU 0.4」· BR 代码 · 共 1,086 行 · 第 1/3 页
BR
1,086 行
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else {
output=oldoutput;
}
}
kernel void BRT_TYPEstreamCombine3f(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
float modulus,
float length,
float lengthmodmodulus,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
-0.5f,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else {
output=input2[newindex];
}
}
kernel void BRT_TYPEstreamCombine3(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
float modulus,
float offset,
float length,
float lengthmodmodulus,
BRT_TYPE oldoutput<>,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
offset,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else {
output=oldoutput;
}
}
kernel void BRT_TYPEstreamCombine4f(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
float modulus,
float length,
float lengthmodmodulus,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
-0.5f,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else {
output=input3[newindex];
}
}
kernel void BRT_TYPEstreamCombine4(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
float modulus,
float offset,
float length,
float lengthmodmodulus,
BRT_TYPE oldoutput<>,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
offset,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else {
output=oldoutput;
}
}
kernel void BRT_TYPEstreamCombine5f(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
float modulus,
float length,
float lengthmodmodulus,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
-0.5f,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else {
output=input4[newindex];
}
}
/*
kernel void BRT_TYPEstreamCombine5(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
float modulus,
float offset,
float length,
float lengthmodmodulus,
BRT_TYPE oldoutput<>,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
offset,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else if (whichmod==4) {
output=input4[newindex];
}else {
output=oldoutput;
}
}
kernel void BRT_TYPEstreamCombine6f(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
BRT_TYPE input5[][],
float modulus,
float length,
float lengthmodmodulus,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
-0.5f,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else if (whichmod==4) {
output=input4[newindex];
}else {
output=input5[newindex];
}
}
kernel void BRT_TYPEstreamCombine6(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
BRT_TYPE input5[][],
float modulus,
float offset,
float length,
float lengthmodmodulus,
BRT_TYPE oldoutput<>,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
offset,
lengthmodmodulus,
whichmod);
if (whichmod==0) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else if (whichmod==4) {
output=input4[newindex];
}else if (whichmod==5) {
output=input5[newindex];
}else {
output=oldoutput;
}
}
kernel void BRT_TYPEstreamCombine7f(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
BRT_TYPE input5[][],
BRT_TYPE input6[][],
float modulus,
float length,
float lengthmodmodulus,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
-0.5f,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else if (whichmod==4) {
output=input4[newindex];
}else if (whichmod==5) {
output=input5[newindex];
}else {
output=input6[newindex];
}
}
kernel void BRT_TYPEstreamCombine7(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
BRT_TYPE input5[][],
BRT_TYPE input6[][],
float modulus,
float offset,
float length,
float lengthmodmodulus,
BRT_TYPE oldoutput<>,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
offset,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else if (whichmod==4) {
output=input4[newindex];
}else if (whichmod==5) {
output=input5[newindex];
}else if (whichmod==6) {
output=input6[newindex];
}else {
output=oldoutput;
}
}
kernel void BRT_TYPEstreamCombine8f(BRT_TYPE input0[][],
BRT_TYPE input1[][],
BRT_TYPE input2[][],
BRT_TYPE input3[][],
BRT_TYPE input4[][],
BRT_TYPE input5[][],
BRT_TYPE input6[][],
BRT_TYPE input7[][],
float modulus,
float length,
float lengthmodmodulus,
out BRT_TYPE output <>) {
float2 newindex;
float whichmod;
calculateDividedIndex(indexof(output), modulus, length, newindex);
calculateIndexModulus(indexof(output),
modulus,
-0.5f,
lengthmodmodulus,
whichmod);
if (whichmod==0||whichmod==modulus) {
output=input0[newindex];
}else if (whichmod==1) {
output=input1[newindex];
}else if (whichmod==2) {
output=input2[newindex];
}else if (whichmod==3) {
output=input3[newindex];
}else if (whichmod==4) {
output=input4[newindex];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?