<!DOCTYPE html>
<html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Test prefix/postfix.</title>
<script src="js/test-harness.js"></script>
<script src="../js/webgpu-functions.js"></script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
const whlslTests = {};
const epsilon = 0.0001;

whlslTests.listOfScalarsMatrixConstructors = async () =>
{
    let program = `
        float a()
        {
            float2x2 m = float2x2(1, 2, 3, 4);
            return m[1][0];
        }
        float b()
        {
            float2x3 m = float2x3(1, 2, 3, 4, 5, 6);
            return m[1][0];
        }
        float c()
        {
            float2x4 m = float2x4(1, 2, 3, 4, 5, 6, 7, 8);
            return m[1][0];
        }
        float d()
        {
            float3x2 m = float3x2(1, 2, 3, 4, 5, 6);
            return m[1][0];
        }
        float e()
        {
            float3x3 m = float3x3(1, 2, 3, 4, 5, 6, 7, 8, 9);
            return m[1][0];
        }
        float f()
        {
            float3x4 m = float3x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
            return m[1][0];
        }
        float g()
        {
            float4x2 m = float4x2(1, 2, 3, 4, 5, 6, 7, 8);
            return m[1][0];
        }
        float h()
        {
            float4x3 m = float4x3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
            return m[1][0];
        }
        float i()
        {
            float4x4 m = float4x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
            return m[1][0];
        }
    `;
    assert_approx_equals(await callFloatFunction(program, "a", []), 3, epsilon);
    assert_approx_equals(await callFloatFunction(program, "b", []), 4, epsilon);
    assert_approx_equals(await callFloatFunction(program, "c", []), 5, epsilon);
    assert_approx_equals(await callFloatFunction(program, "d", []), 3, epsilon);
    assert_approx_equals(await callFloatFunction(program, "e", []), 4, epsilon);
    assert_approx_equals(await callFloatFunction(program, "f", []), 5, epsilon);
    assert_approx_equals(await callFloatFunction(program, "g", []), 3, epsilon);
    assert_approx_equals(await callFloatFunction(program, "h", []), 4, epsilon);
    assert_approx_equals(await callFloatFunction(program, "i", []), 5, epsilon);
}


runTests(whlslTests);
</script>
</html>
