| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //-------------------------------------------------------------------------------------------------------
- // 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 testConstructor() {
- print("Constructor");
- equal(SIMD.Int8x16, undefined);
- equal(SIMD.Int8x16(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4), undefined);
- var a = SIMD.Int8x16("2014/10/10", -0, 127, 126, "2014/10/10", -0, 127, 126, "2014/10/10", -0, 127, 126, "2014/10/10", -0, 127, 126);
- print("a.1: " + SIMD.Int8x16.extractLane(a, 0));
- print("a.2: " + SIMD.Int8x16.extractLane(a, 1));
- print("a.3: " + SIMD.Int8x16.extractLane(a, 2));
- print("a.4: " + SIMD.Int8x16.extractLane(a, 3));
- print("a.5: " + SIMD.Int8x16.extractLane(a, 4));
- print("a.6: " + SIMD.Int8x16.extractLane(a, 5));
- print("a.7: " + SIMD.Int8x16.extractLane(a, 6));
- print("a.8: " + SIMD.Int8x16.extractLane(a, 7));
- print("a.9: " + SIMD.Int8x16.extractLane(a, 8));
- print("a.10: " + SIMD.Int8x16.extractLane(a, 9));
- print("a.11: " + SIMD.Int8x16.extractLane(a, 10));
- print("a.12: " + SIMD.Int8x16.extractLane(a, 11));
- print("a.13: " + SIMD.Int8x16.extractLane(a, 12));
- print("a.14: " + SIMD.Int8x16.extractLane(a, 13));
- print("a.15: " + SIMD.Int8x16.extractLane(a, 14));
- print("a.16: " + SIMD.Int8x16.extractLane(a, 15));
- var b = SIMD.Int8x16(4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 1);
- var c = SIMD.Int8x16.check(b);
- equal(c, b);
- equal(SIMD.Int8x16.extractLane(c, 0), SIMD.Int8x16.extractLane(b, 0));
- equal(SIMD.Int8x16.extractLane(c, 1), SIMD.Int8x16.extractLane(b, 1));
- equal(SIMD.Int8x16.extractLane(c, 2), SIMD.Int8x16.extractLane(b, 2));
- equal(SIMD.Int8x16.extractLane(c, 3), SIMD.Int8x16.extractLane(b, 3));
- equal(SIMD.Int8x16.extractLane(c, 4), SIMD.Int8x16.extractLane(b, 4));
- equal(SIMD.Int8x16.extractLane(c, 5), SIMD.Int8x16.extractLane(b, 5));
- equal(SIMD.Int8x16.extractLane(c, 6), SIMD.Int8x16.extractLane(b, 6));
- equal(SIMD.Int8x16.extractLane(c, 7), SIMD.Int8x16.extractLane(b, 7));
- equal(SIMD.Int8x16.extractLane(c, 8), SIMD.Int8x16.extractLane(b, 8));
- equal(SIMD.Int8x16.extractLane(c, 9), SIMD.Int8x16.extractLane(b, 9));
- equal(SIMD.Int8x16.extractLane(c, 10), SIMD.Int8x16.extractLane(b, 10));
- equal(SIMD.Int8x16.extractLane(c, 11), SIMD.Int8x16.extractLane(b, 11));
- equal(SIMD.Int8x16.extractLane(c, 12), SIMD.Int8x16.extractLane(b, 12));
- equal(SIMD.Int8x16.extractLane(c, 13), SIMD.Int8x16.extractLane(b, 13));
- equal(SIMD.Int8x16.extractLane(c, 14), SIMD.Int8x16.extractLane(b, 14));
- equal(SIMD.Int8x16.extractLane(c, 15), SIMD.Int8x16.extractLane(b, 15));
- try {
- var m = SIMD.Int8x16.check(1)
- }
- catch (e) {
- print("Type Error");
- }
- }
- function testFromFloat32x4Bits() {
- var m = SIMD.float32x4.fromInt8x16Bits(SIMD.Int8x16(0x3F800000, 0x40000000, 0x40400000, 0x40800000));
- var n = SIMD.Int8x16.fromFloat32x4Bits(m);
- print("FromFloat32x4Bits");
- equal(1, n.x);
- equal(2, n.y);
- equal(3, n.z);
- equal(4, n.w);
- var a = SIMD.float32x4(1.0, 2.0, 3.0, 4.0);
- var b = SIMD.Int8x16.fromFloat32x4Bits(a);
- equal(0x3F800000, b.x);
- equal(0x40000000, b.y);
- equal(0x40400000, b.z);
- equal(0x40800000, b.w);
- }
- testConstructor();
- testConstructor();
- testConstructor();
- testConstructor();
- testConstructor();
- testConstructor();
|