blob: 7c4cf1e7e6e6302e3e1c2a68eee19bae92f095a0 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function equal(a, b) {
if (a == b) {
print("Correct");
} else {
print(">> Fail!");
}
}
function equalNaN(a) {
if (isNaN(a)) {
print("Correct");
} else {
print(">> Fail!");
}
}
function testReplaceLane1() {
print("Float32x4 Lane1");
var a = SIMD.Float32x4(16.0, 9.0, 4.0, 1.0);
var c = SIMD.Float32x4.replaceLane(a, false, 20.0);
equal(20.0, SIMD.Float32x4.extractLane(c, false));
equal(9.0, SIMD.Float32x4.extractLane(c, true));
equal(4.0, SIMD.Float32x4.extractLane(c, ["2"]));
equal(1.0, SIMD.Float32x4.extractLane(c, 3));
}
function testReplaceLane2() {
print("Float32x4 Lane2");
var a = SIMD.Float32x4(16.0, 9.0, 4.0, 1.0);
var c = SIMD.Float32x4.replaceLane(a, true, 20.0);
equal(16.0, SIMD.Float32x4.extractLane(c, 0));
equal(20.0, SIMD.Float32x4.extractLane(c, 1));
equal(4.0, SIMD.Float32x4.extractLane(c, 2));
equal(1.0, SIMD.Float32x4.extractLane(c, 3));
}
function testReplaceLane3() {
print("Float32x4 Lane3");
var a = SIMD.Float32x4(16.0, 9.0, 4.0, 1.0);
var c = SIMD.Float32x4.replaceLane(a, ["2"], 20.0);
equal(16.0, SIMD.Float32x4.extractLane(c, 0));
equal(9.0, SIMD.Float32x4.extractLane(c, 1));
equal(20.0, SIMD.Float32x4.extractLane(c, 2));
equal(1.0, SIMD.Float32x4.extractLane(c, 3));
}
function testReplaceLane4() {
print("Float32x4 Lane4");
var a = SIMD.Float32x4(16.0, 9.0, 4.0, 1.0);
var c = SIMD.Float32x4.replaceLane(a, 3, 20.0);
equal(16.0, SIMD.Float32x4.extractLane(c, 0));
equal(9.0, SIMD.Float32x4.extractLane(c, 1));
equal(4.0, SIMD.Float32x4.extractLane(c, 2));
equal(20.0, SIMD.Float32x4.extractLane(c, 3));
}
testReplaceLane1();
testReplaceLane1();
testReplaceLane1();
testReplaceLane1();
testReplaceLane1();
testReplaceLane1();
testReplaceLane1();
testReplaceLane1();
testReplaceLane2();
testReplaceLane2();
testReplaceLane2();
testReplaceLane2();
testReplaceLane2();
testReplaceLane2();
testReplaceLane2();
testReplaceLane2();
testReplaceLane3();
testReplaceLane3();
testReplaceLane3();
testReplaceLane3();
testReplaceLane3();
testReplaceLane3();
testReplaceLane3();
testReplaceLane3();
testReplaceLane4();
testReplaceLane4();
testReplaceLane4();
testReplaceLane4();
testReplaceLane4();
testReplaceLane4();
testReplaceLane4();
testReplaceLane4();