summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js')
-rw-r--r--testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js81
1 files changed, 11 insertions, 70 deletions
diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js
index bcbb523c0e..324d27c43a 100644
--- a/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js
+++ b/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/binary/f16_division.spec.js
@@ -4,73 +4,14 @@
Execution Tests for non-matrix f16 division expression
`;import { makeTestGroup } from '../../../../../common/framework/test_group.js';
import { GPUTest } from '../../../../gpu_test.js';
-import { TypeF16, TypeVec } from '../../../../util/conversion.js';
-import { FP } from '../../../../util/floating_point.js';
-import { sparseF16Range, sparseVectorF16Range } from '../../../../util/math.js';
-import { makeCaseCache } from '../case_cache.js';
+import { Type } from '../../../../util/conversion.js';
import { allInputSources, run } from '../expression.js';
import { binary, compoundBinary } from './binary.js';
-
-const divisionVectorScalarInterval = (v, s) => {
- return FP.f16.toVector(v.map((e) => FP.f16.divisionInterval(e, s)));
-};
-
-const divisionScalarVectorInterval = (s, v) => {
- return FP.f16.toVector(v.map((e) => FP.f16.divisionInterval(s, e)));
-};
+import { d } from './f16_division.cache.js';
export const g = makeTestGroup(GPUTest);
-const scalar_cases = [true, false].
-map((nonConst) => ({
- [`scalar_${nonConst ? 'non_const' : 'const'}`]: () => {
- return FP.f16.generateScalarPairToIntervalCases(
- sparseF16Range(),
- sparseF16Range(),
- nonConst ? 'unfiltered' : 'finite',
- FP.f16.divisionInterval
- );
- }
-})).
-reduce((a, b) => ({ ...a, ...b }), {});
-
-const vector_scalar_cases = [2, 3, 4].
-flatMap((dim) =>
-[true, false].map((nonConst) => ({
- [`vec${dim}_scalar_${nonConst ? 'non_const' : 'const'}`]: () => {
- return FP.f16.generateVectorScalarToVectorCases(
- sparseVectorF16Range(dim),
- sparseF16Range(),
- nonConst ? 'unfiltered' : 'finite',
- divisionVectorScalarInterval
- );
- }
-}))
-).
-reduce((a, b) => ({ ...a, ...b }), {});
-
-const scalar_vector_cases = [2, 3, 4].
-flatMap((dim) =>
-[true, false].map((nonConst) => ({
- [`scalar_vec${dim}_${nonConst ? 'non_const' : 'const'}`]: () => {
- return FP.f16.generateScalarVectorToVectorCases(
- sparseF16Range(),
- sparseVectorF16Range(dim),
- nonConst ? 'unfiltered' : 'finite',
- divisionScalarVectorInterval
- );
- }
-}))
-).
-reduce((a, b) => ({ ...a, ...b }), {});
-
-export const d = makeCaseCache('binary/f16_division', {
- ...scalar_cases,
- ...vector_scalar_cases,
- ...scalar_vector_cases
-});
-
g.test('scalar').
specURL('https://www.w3.org/TR/WGSL/#floating-point-evaluation').
desc(
@@ -87,7 +28,7 @@ fn(async (t) => {
const cases = await d.get(
t.params.inputSource === 'const' ? 'scalar_const' : 'scalar_non_const'
);
- await run(t, binary('/'), [TypeF16, TypeF16], TypeF16, t.params, cases);
+ await run(t, binary('/'), [Type.f16, Type.f16], Type.f16, t.params, cases);
});
g.test('vector').
@@ -106,7 +47,7 @@ fn(async (t) => {
const cases = await d.get(
t.params.inputSource === 'const' ? 'scalar_const' : 'scalar_non_const' // Using vectorize to generate vector cases based on scalar cases
);
- await run(t, binary('/'), [TypeF16, TypeF16], TypeF16, t.params, cases);
+ await run(t, binary('/'), [Type.f16, Type.f16], Type.f16, t.params, cases);
});
g.test('scalar_compound').
@@ -127,7 +68,7 @@ fn(async (t) => {
const cases = await d.get(
t.params.inputSource === 'const' ? 'scalar_const' : 'scalar_non_const'
);
- await run(t, compoundBinary('/='), [TypeF16, TypeF16], TypeF16, t.params, cases);
+ await run(t, compoundBinary('/='), [Type.f16, Type.f16], Type.f16, t.params, cases);
});
g.test('vector_scalar').
@@ -150,8 +91,8 @@ fn(async (t) => {
await run(
t,
binary('/'),
- [TypeVec(dim, TypeF16), TypeF16],
- TypeVec(dim, TypeF16),
+ [Type.vec(dim, Type.f16), Type.f16],
+ Type.vec(dim, Type.f16),
t.params,
cases
);
@@ -177,8 +118,8 @@ fn(async (t) => {
await run(
t,
compoundBinary('/='),
- [TypeVec(dim, TypeF16), TypeF16],
- TypeVec(dim, TypeF16),
+ [Type.vec(dim, Type.f16), Type.f16],
+ Type.vec(dim, Type.f16),
t.params,
cases
);
@@ -204,8 +145,8 @@ fn(async (t) => {
await run(
t,
binary('/'),
- [TypeF16, TypeVec(dim, TypeF16)],
- TypeVec(dim, TypeF16),
+ [Type.f16, Type.vec(dim, Type.f16)],
+ Type.vec(dim, Type.f16),
t.params,
cases
);