diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/binary/binary.ts | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/binary/binary.ts')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/binary/binary.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/binary/binary.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/binary/binary.ts new file mode 100644 index 0000000000..f0b01b839b --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/binary/binary.ts @@ -0,0 +1,21 @@ +import { + ShaderBuilder, + basicExpressionBuilder, + compoundAssignmentBuilder, + abstractFloatShaderBuilder, +} from '../expression.js'; + +/* @returns a ShaderBuilder that evaluates a binary operation */ +export function binary(op: string): ShaderBuilder { + return basicExpressionBuilder(values => `(${values.map(v => `(${v})`).join(op)})`); +} + +/* @returns a ShaderBuilder that evaluates a compound binary operation */ +export function compoundBinary(op: string): ShaderBuilder { + return compoundAssignmentBuilder(op); +} + +/* @returns a ShaderBuilder that evaluates a binary operation that returns AbstractFloats */ +export function abstractBinary(op: string): ShaderBuilder { + return abstractFloatShaderBuilder(values => `(${values.map(v => `(${v})`).join(op)})`); +} |