MCPcopy Create free account
hub / github.com/tensorflow/tfjs / getUserCode

Method getUserCode

tfjs-backend-webgpu/src/transform_webgpu.ts:39–158  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

37 }
38
39 getUserCode(): string {
40 const userCode = `
41 fn mapCoord(outCoord : f32, len : f32) -> f32{
42 var inCoord = outCoord;
43 if(uniforms.fillModeId == 2) {
44 if (inCoord < 0.0) {
45 if (len <= 1.0) {
46 inCoord = 0.0;
47 } else {
48 let sz2 = 2.0 * len;
49 if (inCoord < sz2) {
50 inCoord = sz2 * f32(i32(f32(-inCoord / sz2))) +
51 inCoord;
52 }
53 if (inCoord < -len) {
54 inCoord = inCoord + sz2;
55 } else {
56 inCoord = -inCoord - 1.0;
57 }
58 }
59 } else if (inCoord > len - 1.0) {
60 if (len <= 1.0) {
61 inCoord = 0.0;
62 } else {
63 let sz2 = 2.0 * len;
64 inCoord = inCoord - sz2 * f32(i32(f32(inCoord / sz2)));
65 if (inCoord >= len) {
66 inCoord = sz2 - inCoord - 1.0;
67 }
68 }
69 }
70 return clamp(inCoord, 0.0, len - 1.0);
71 } else if (uniforms.fillModeId == 3) {
72 if (inCoord < 0.0) {
73 if (len <= 1.0) {
74 inCoord = 0.0;
75 } else {
76 let sz = len - 1.0;
77 inCoord = inCoord + len * (f32(i32(f32(-inCoord / sz))) + 1.0);
78 }
79 } else if (inCoord > len - 1.0) {
80 if (len <= 1.0) {
81 inCoord = 0.0;
82 } else {
83 let sz = len - 1.0;
84 inCoord = inCoord - len * f32(i32(f32(inCoord / sz)));
85 }
86 }
87 return clamp(inCoord, 0.0, len - 1.0);
88 } else if (uniforms.fillModeId == 4) {
89 return clamp(outCoord, 0.0, len - 1.0);
90 }
91 return outCoord;
92 }
93 fn readWithFillValue(batch : i32, coordY : i32, coordX : i32,
94 channel : i32) -> f32 {
95 var outputValue : f32;
96 if (0 <= coordY && coordY < uniforms.imageShape[1] && 0 <= coordX && coordX < uniforms.imageShape[2]) {

Callers

nothing calls this directly

Calls 1

mainFunction · 0.50

Tested by

no test coverage detected