| /* |
| * Copyright (C) 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| |
| package android.renderscript.cts; |
| |
| import android.renderscript.*; |
| |
| public class TestGetSet extends RSBaseCompute { |
| |
| private ScriptC_getset script; |
| private ScriptC_getset_relaxed scriptRelaxed; |
| Allocation walkAlloc; |
| Allocation in1DAlloc; |
| Allocation out1DAlloc; |
| Allocation in2DAlloc; |
| Allocation out2DAlloc; |
| Allocation in3DAlloc; |
| Allocation out3DAlloc; |
| private static java.util.Random random = new java.util.Random(); |
| |
| final int gWidth = 252; |
| final int gHeight = 31; |
| final int gDepth = 4; |
| final int gCount = gWidth * gHeight * gDepth; |
| |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| random.setSeed(10); |
| script = new ScriptC_getset(mRS); |
| scriptRelaxed = new ScriptC_getset_relaxed(mRS); |
| script.set_gWidth(gWidth); |
| script.set_gHeight(gHeight); |
| scriptRelaxed.set_gWidth(gWidth); |
| scriptRelaxed.set_gHeight(gHeight); |
| } |
| |
| |
| |
| protected void createWalk(int vsize) { |
| // We do a random copy order to attempt to get multiple threads |
| // reading and writing the same cache line |
| // We could do this as a simple walk but that would likely miss |
| // some caching issues. |
| final int tw = gCount / vsize; |
| int tmp[] = new int[tw]; |
| boolean b[] = new boolean[tw]; |
| int toCopy = tw; |
| int i = 0; |
| |
| while (toCopy > 0) { |
| int x = random.nextInt(tw); |
| |
| while ((x < tw) && b[x]) { |
| x++; |
| if (x >= tw) { |
| x = 0; |
| } |
| } |
| |
| b[x] = true; |
| toCopy --; |
| |
| //android.util.Log.v("rs", "walk " + i + ", " + x); |
| tmp[i++] = x; |
| } |
| |
| walkAlloc = Allocation.createSized(mRS, Element.I32(mRS), tw); |
| walkAlloc.copy1DRangeFrom(0, tw, tmp); |
| } |
| |
| private void testSetup(Element e) { |
| int vs = e.getVectorSize(); |
| if (vs == 3) { |
| vs = 4; |
| } |
| createWalk(vs); |
| |
| Type t1 = Type.createX(mRS, e, gWidth * gHeight * gDepth / vs); |
| in1DAlloc = Allocation.createTyped(mRS, t1); |
| out1DAlloc = Allocation.createTyped(mRS, t1); |
| script.set_gAlloc1DIn(in1DAlloc); |
| script.set_gAlloc1DOut(out1DAlloc); |
| scriptRelaxed.set_gAlloc1DIn(in1DAlloc); |
| scriptRelaxed.set_gAlloc1DOut(out1DAlloc); |
| |
| Type t2 = Type.createXY(mRS, e, gWidth / vs, gHeight * gDepth); |
| in2DAlloc = Allocation.createTyped(mRS, t2); |
| out2DAlloc = Allocation.createTyped(mRS, t2); |
| script.set_gAlloc2DIn(in2DAlloc); |
| script.set_gAlloc2DOut(out2DAlloc); |
| scriptRelaxed.set_gAlloc2DIn(in2DAlloc); |
| scriptRelaxed.set_gAlloc2DOut(out2DAlloc); |
| |
| Type t3 = Type.createXYZ(mRS, e, gWidth / vs, gHeight, gDepth); |
| in3DAlloc = Allocation.createTyped(mRS, t3); |
| out3DAlloc = Allocation.createTyped(mRS, t3); |
| script.set_gAlloc3DIn(in3DAlloc); |
| script.set_gAlloc3DOut(out3DAlloc); |
| scriptRelaxed.set_gAlloc3DIn(in3DAlloc); |
| scriptRelaxed.set_gAlloc3DOut(out3DAlloc); |
| } |
| |
| private void verify(byte[] a1, byte[] a2, Allocation alloc, String s, int vsize) { |
| alloc.copyTo(a2); |
| for (int i=0; i < gWidth; i++) { |
| if (a1[i] != a2[i]) { |
| if ((vsize == 3) && ((i % 4) == 3)) { |
| continue; |
| } |
| throw new RSRuntimeException(s + a1[i] + ", " + a2[i] + ", at " + i); |
| } |
| a2[i] = 0; |
| } |
| alloc.copyFrom(a2); |
| } |
| |
| private void verify(short[] a1, short[] a2, Allocation alloc, String s, int vsize) { |
| alloc.copyTo(a2); |
| for (int i=0; i < gWidth; i++) { |
| if (a1[i] != a2[i]) { |
| if ((vsize == 3) && ((i % 4) == 3)) { |
| continue; |
| } |
| throw new RSRuntimeException(s + a1[i] + ", " + a2[i] + ", at " + i); |
| } |
| a2[i] = 0; |
| } |
| alloc.copyFrom(a2); |
| } |
| |
| private void verify(int[] a1, int[] a2, Allocation alloc, String s, int vsize) { |
| alloc.copyTo(a2); |
| for (int i=0; i < gWidth; i++) { |
| if (a1[i] != a2[i]) { |
| if ((vsize == 3) && ((i % 4) == 3)) { |
| continue; |
| } |
| throw new RSRuntimeException(s + a1[i] + ", " + a2[i] + ", at " + i); |
| } |
| a2[i] = 0; |
| } |
| alloc.copyFrom(a2); |
| } |
| |
| private void verify(long[] a1, long[] a2, Allocation alloc, String s, int vsize) { |
| alloc.copyTo(a2); |
| for (int i=0; i < gWidth; i++) { |
| if (a1[i] != a2[i]) { |
| if ((vsize == 3) && ((i % 4) == 3)) { |
| continue; |
| } |
| throw new RSRuntimeException(s + a1[i] + ", " + a2[i] + ", at " + i); |
| } |
| a2[i] = 0; |
| } |
| alloc.copyFrom(a2); |
| } |
| |
| private void verify(float[] a1, float[] a2, Allocation alloc, String s, int vsize) { |
| alloc.copyTo(a2); |
| for (int i=0; i < gWidth; i++) { |
| if (a1[i] != a2[i]) { |
| if ((vsize == 3) && ((i % 4) == 3)) { |
| continue; |
| } |
| throw new RSRuntimeException(s + a1[i] + ", " + a2[i] + ", at " + i); |
| } |
| a2[i] = 0; |
| } |
| alloc.copyFrom(a2); |
| } |
| |
| private void verify(double[] a1, double[] a2, Allocation alloc, String s, int vsize) { |
| alloc.copyTo(a2); |
| for (int i=0; i < gWidth; i++) { |
| if (a1[i] != a2[i]) { |
| if ((vsize == 3) && ((i % 4) == 3)) { |
| continue; |
| } |
| throw new RSRuntimeException(s + a1[i] + ", " + a2[i] + ", at " + i); |
| } |
| a2[i] = 0; |
| } |
| alloc.copyFrom(a2); |
| } |
| |
| private byte[] randomByteArray(int len) { |
| byte t[] = new byte[len]; |
| random.nextBytes(t); |
| in1DAlloc.copyFrom(t); |
| in2DAlloc.copyFrom(t); |
| in3DAlloc.copyFrom(t); |
| return t; |
| } |
| |
| private short[] randomShortArray(int len) { |
| short t[] = new short[len]; |
| for (int i = 0; i < t.length; i++) { |
| t[i] = (short)(random.nextInt() & 0xffff); |
| } |
| in1DAlloc.copyFrom(t); |
| in2DAlloc.copyFrom(t); |
| in3DAlloc.copyFrom(t); |
| return t; |
| } |
| |
| private int[] randomIntArray(int len) { |
| int t[] = new int[len]; |
| for (int i = 0; i < t.length; i++) { |
| t[i] = random.nextInt(); |
| } |
| in1DAlloc.copyFrom(t); |
| in2DAlloc.copyFrom(t); |
| in3DAlloc.copyFrom(t); |
| return t; |
| } |
| |
| private long[] randomLongArray(int len) { |
| long t[] = new long[len]; |
| for (int i = 0; i < t.length; i++) { |
| t[i] = random.nextLong(); |
| } |
| in1DAlloc.copyFrom(t); |
| in2DAlloc.copyFrom(t); |
| in3DAlloc.copyFrom(t); |
| return t; |
| } |
| |
| private float[] randomFloatArray(int len) { |
| float t[] = new float[len]; |
| for (int i = 0; i < t.length; i++) { |
| t[i] = random.nextFloat(); |
| } |
| in1DAlloc.copyFrom(t); |
| in2DAlloc.copyFrom(t); |
| in3DAlloc.copyFrom(t); |
| return t; |
| } |
| |
| private double[] randomDoubleArray(int len) { |
| double t[] = new double[len]; |
| for (int i = 0; i < t.length; i++) { |
| t[i] = random.nextDouble(); |
| } |
| in1DAlloc.copyFrom(t); |
| in2DAlloc.copyFrom(t); |
| in3DAlloc.copyFrom(t); |
| return t; |
| } |
| |
| public void testGetSet_char() { |
| testSetup(Element.I8(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| |
| script.forEach_copy1D_char(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch char: ", 1); |
| scriptRelaxed.forEach_copy1D_char(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed char: ", 1); |
| |
| script.forEach_copy2D_char(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch char: ", 1); |
| scriptRelaxed.forEach_copy2D_char(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed char: ", 1); |
| |
| script.forEach_copy3D_char(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch char: ", 1); |
| scriptRelaxed.forEach_copy3D_char(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed char: ", 1); |
| } |
| |
| public void testGetSet_char2() { |
| testSetup(Element.I8_2(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_char2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch char2: ", 2); |
| scriptRelaxed.forEach_copy1D_char2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed char2: ", 2); |
| |
| script.forEach_copy2D_char2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch char2: ", 2); |
| scriptRelaxed.forEach_copy2D_char2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed char2: ", 2); |
| |
| script.forEach_copy3D_char2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch char2: ", 2); |
| scriptRelaxed.forEach_copy3D_char2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed char2: ", 2); |
| } |
| |
| public void testGetSet_char3() { |
| testSetup(Element.I8_3(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_char3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch char3: ", 3); |
| scriptRelaxed.forEach_copy1D_char3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed char3: ", 3); |
| |
| script.forEach_copy2D_char3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch char3: ", 3); |
| scriptRelaxed.forEach_copy2D_char3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed char3: ", 3); |
| |
| script.forEach_copy3D_char3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch char3: ", 3); |
| scriptRelaxed.forEach_copy3D_char3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed char3: ", 3); |
| } |
| |
| public void testGetSet_char4() { |
| testSetup(Element.I8_4(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_char4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch char4: ", 4); |
| scriptRelaxed.forEach_copy1D_char4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed char4: ", 4); |
| |
| script.forEach_copy2D_char4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch char4: ", 4); |
| scriptRelaxed.forEach_copy2D_char4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed char4: ", 4); |
| |
| script.forEach_copy3D_char4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch char4: ", 4); |
| scriptRelaxed.forEach_copy3D_char4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed char4: ", 4); |
| } |
| |
| public void testGetSet_uchar() { |
| testSetup(Element.U8(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_uchar(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uchar: ", 1); |
| scriptRelaxed.forEach_copy1D_uchar(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uchar: ", 1); |
| |
| script.forEach_copy2D_uchar(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uchar: ", 1); |
| scriptRelaxed.forEach_copy2D_uchar(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uchar: ", 1); |
| |
| script.forEach_copy3D_uchar(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uchar: ", 1); |
| scriptRelaxed.forEach_copy3D_uchar(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uchar: ", 1); |
| } |
| |
| public void testGetSet_uchar2() { |
| testSetup(Element.U8_2(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_uchar2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uchar2: ", 2); |
| scriptRelaxed.forEach_copy1D_uchar2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uchar2: ", 2); |
| |
| script.forEach_copy2D_uchar2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uchar2: ", 2); |
| scriptRelaxed.forEach_copy2D_uchar2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uchar2: ", 2); |
| |
| script.forEach_copy3D_uchar2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uchar2: ", 2); |
| scriptRelaxed.forEach_copy3D_uchar2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uchar2: ", 2); |
| } |
| |
| public void testGetSet_uchar3() { |
| testSetup(Element.U8_3(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_uchar3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uchar3: ", 3); |
| scriptRelaxed.forEach_copy1D_uchar3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uchar3: ", 3); |
| |
| script.forEach_copy2D_uchar3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uchar3: ", 3); |
| scriptRelaxed.forEach_copy2D_uchar3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uchar3: ", 3); |
| |
| script.forEach_copy3D_uchar3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uchar3: ", 3); |
| scriptRelaxed.forEach_copy3D_uchar3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uchar3: ", 3); |
| } |
| |
| public void testGetSet_uchar4() { |
| testSetup(Element.U8_4(mRS)); |
| byte tmp[] = randomByteArray(gCount); |
| byte tmp2[] = new byte[gCount]; |
| script.forEach_copy1D_uchar4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uchar4: ", 4); |
| scriptRelaxed.forEach_copy1D_uchar4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uchar4: ", 4); |
| |
| script.forEach_copy2D_uchar4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uchar4: ", 4); |
| scriptRelaxed.forEach_copy2D_uchar4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uchar4: ", 4); |
| |
| script.forEach_copy3D_uchar4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uchar4: ", 4); |
| scriptRelaxed.forEach_copy3D_uchar4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uchar4: ", 4); |
| } |
| |
| |
| |
| |
| |
| |
| public void testGetSet_short() { |
| testSetup(Element.I16(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_short(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch short: ", 1); |
| scriptRelaxed.forEach_copy1D_short(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed short: ", 1); |
| |
| script.forEach_copy2D_short(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch short: ", 1); |
| scriptRelaxed.forEach_copy2D_short(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed short: ", 1); |
| |
| script.forEach_copy3D_short(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch short: ", 1); |
| scriptRelaxed.forEach_copy3D_short(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed short: ", 1); |
| } |
| |
| public void testGetSet_short2() { |
| testSetup(Element.I16_2(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_short2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch short2: ", 2); |
| scriptRelaxed.forEach_copy1D_short2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed short2: ", 2); |
| |
| script.forEach_copy2D_short2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch short2: ", 2); |
| scriptRelaxed.forEach_copy2D_short2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed short2: ", 2); |
| |
| script.forEach_copy3D_short2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch short2: ", 2); |
| scriptRelaxed.forEach_copy3D_short2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed short2: ", 2); |
| } |
| |
| public void testGetSet_short3() { |
| testSetup(Element.I16_3(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_short3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch short3: ", 3); |
| scriptRelaxed.forEach_copy1D_short3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed short3: ", 3); |
| |
| script.forEach_copy2D_short3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch short3: ", 3); |
| scriptRelaxed.forEach_copy2D_short3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed short3: ", 3); |
| |
| script.forEach_copy3D_short3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch short3: ", 3); |
| scriptRelaxed.forEach_copy3D_short3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed short3: ", 3); |
| } |
| |
| public void testGetSet_short4() { |
| testSetup(Element.I16_4(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_short4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch short4: ", 4); |
| scriptRelaxed.forEach_copy1D_short4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed short4: ", 4); |
| |
| script.forEach_copy2D_short4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch short4: ", 4); |
| scriptRelaxed.forEach_copy2D_short4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed short4: ", 4); |
| |
| script.forEach_copy3D_short4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch short4: ", 4); |
| scriptRelaxed.forEach_copy3D_short4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed short4: ", 4); |
| } |
| |
| public void testGetSet_ushort() { |
| testSetup(Element.U16(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_ushort(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ushort: ", 1); |
| scriptRelaxed.forEach_copy1D_ushort(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ushort: ", 1); |
| |
| script.forEach_copy2D_ushort(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ushort: ", 1); |
| scriptRelaxed.forEach_copy2D_ushort(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ushort: ", 1); |
| |
| script.forEach_copy3D_ushort(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ushort: ", 1); |
| scriptRelaxed.forEach_copy3D_ushort(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ushort: ", 1); |
| } |
| |
| public void testGetSet_ushort2() { |
| testSetup(Element.U16_2(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_ushort2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ushort2: ", 2); |
| scriptRelaxed.forEach_copy1D_ushort2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ushort2: ", 2); |
| |
| script.forEach_copy2D_ushort2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ushort2: ", 2); |
| scriptRelaxed.forEach_copy2D_ushort2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ushort2: ", 2); |
| |
| script.forEach_copy3D_ushort2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ushort2: ", 2); |
| scriptRelaxed.forEach_copy3D_ushort2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ushort2: ", 2); |
| } |
| |
| public void testGetSet_ushort3() { |
| testSetup(Element.U16_3(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_ushort3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ushort3: ", 3); |
| scriptRelaxed.forEach_copy1D_ushort3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ushort3: ", 3); |
| |
| script.forEach_copy2D_ushort3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ushort3: ", 3); |
| scriptRelaxed.forEach_copy2D_ushort3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ushort3: ", 3); |
| |
| script.forEach_copy3D_ushort3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ushort3: ", 3); |
| scriptRelaxed.forEach_copy3D_ushort3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ushort3: ", 3); |
| } |
| |
| public void testGetSet_ushort4() { |
| testSetup(Element.U16_4(mRS)); |
| short tmp[] = randomShortArray(gCount); |
| short tmp2[] = new short[gCount]; |
| script.forEach_copy1D_ushort4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ushort4: ", 4); |
| scriptRelaxed.forEach_copy1D_ushort4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ushort4: ", 4); |
| |
| script.forEach_copy2D_ushort4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ushort4: ", 4); |
| scriptRelaxed.forEach_copy2D_ushort4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ushort4: ", 4); |
| |
| script.forEach_copy3D_ushort4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ushort4: ", 4); |
| scriptRelaxed.forEach_copy3D_ushort4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ushort4: ", 4); |
| } |
| |
| |
| |
| |
| public void testGetSet_int() { |
| testSetup(Element.I32(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_int(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch int: ", 1); |
| scriptRelaxed.forEach_copy1D_int(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed int: ", 1); |
| |
| script.forEach_copy2D_int(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch int: ", 1); |
| scriptRelaxed.forEach_copy2D_int(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed int: ", 1); |
| |
| script.forEach_copy3D_int(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch int: ", 1); |
| scriptRelaxed.forEach_copy3D_int(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed int: ", 1); |
| } |
| |
| public void testGetSet_int2() { |
| testSetup(Element.I32_2(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_int2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch int2: ", 2); |
| scriptRelaxed.forEach_copy1D_int2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed int2: ", 2); |
| |
| script.forEach_copy2D_int2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch int2: ", 2); |
| scriptRelaxed.forEach_copy2D_int2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed int2: ", 2); |
| |
| script.forEach_copy3D_int2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch int2: ", 2); |
| scriptRelaxed.forEach_copy3D_int2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed int2: ", 2); |
| } |
| |
| public void testGetSet_int3() { |
| testSetup(Element.I32_3(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_int3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch int3: ", 3); |
| scriptRelaxed.forEach_copy1D_int3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed int3: ", 3); |
| |
| script.forEach_copy2D_int3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch int3: ", 3); |
| scriptRelaxed.forEach_copy2D_int3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed int3: ", 3); |
| |
| script.forEach_copy3D_int3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch int3: ", 3); |
| scriptRelaxed.forEach_copy3D_int3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed int3: ", 3); |
| } |
| |
| public void testGetSet_int4() { |
| testSetup(Element.I32_4(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_int4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch int4: ", 4); |
| scriptRelaxed.forEach_copy1D_int4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed int4: ", 4); |
| |
| script.forEach_copy2D_int4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch int4: ", 4); |
| scriptRelaxed.forEach_copy2D_int4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed int4: ", 4); |
| |
| script.forEach_copy3D_int4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch int4: ", 4); |
| scriptRelaxed.forEach_copy3D_int4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed int4: ", 4); |
| } |
| |
| public void testGetSet_uint() { |
| testSetup(Element.U32(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_uint(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uint: ", 1); |
| scriptRelaxed.forEach_copy1D_uint(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uint: ", 1); |
| |
| script.forEach_copy2D_uint(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uint: ", 1); |
| scriptRelaxed.forEach_copy2D_uint(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uint: ", 1); |
| |
| script.forEach_copy3D_uint(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uint: ", 1); |
| scriptRelaxed.forEach_copy3D_uint(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uint: ", 1); |
| } |
| |
| public void testGetSet_uint2() { |
| testSetup(Element.U32_2(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_uint2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uint2: ", 2); |
| scriptRelaxed.forEach_copy1D_uint2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uint2: ", 2); |
| |
| script.forEach_copy2D_uint2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uint2: ", 2); |
| scriptRelaxed.forEach_copy2D_uint2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uint2: ", 2); |
| |
| script.forEach_copy3D_uint2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uint2: ", 2); |
| scriptRelaxed.forEach_copy3D_uint2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uint2: ", 2); |
| } |
| |
| public void testGetSet_uint3() { |
| testSetup(Element.U32_3(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_uint3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uint3: ", 3); |
| scriptRelaxed.forEach_copy1D_uint3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uint3: ", 3); |
| |
| script.forEach_copy2D_uint3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uint3: ", 3); |
| scriptRelaxed.forEach_copy2D_uint3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uint3: ", 3); |
| |
| script.forEach_copy3D_uint3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uint3: ", 3); |
| scriptRelaxed.forEach_copy3D_uint3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uint3: ", 3); |
| } |
| |
| public void testGetSet_uint4() { |
| testSetup(Element.U32_4(mRS)); |
| int tmp[] = randomIntArray(gCount); |
| int tmp2[] = new int[gCount]; |
| script.forEach_copy1D_uint4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch uint4: ", 4); |
| scriptRelaxed.forEach_copy1D_uint4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed uint4: ", 4); |
| |
| script.forEach_copy2D_uint4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch uint4: ", 4); |
| scriptRelaxed.forEach_copy2D_uint4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed uint4: ", 4); |
| |
| script.forEach_copy3D_uint4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch uint4: ", 4); |
| scriptRelaxed.forEach_copy3D_uint4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed uint4: ", 4); |
| } |
| |
| |
| |
| |
| public void testGetSet_long() { |
| testSetup(Element.I64(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_long(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch long: ", 1); |
| scriptRelaxed.forEach_copy1D_long(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed long: ", 1); |
| |
| script.forEach_copy2D_long(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch long: ", 1); |
| scriptRelaxed.forEach_copy2D_long(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed long: ", 1); |
| |
| script.forEach_copy3D_long(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch long: ", 1); |
| scriptRelaxed.forEach_copy3D_long(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed long: ", 1); |
| } |
| |
| public void testGetSet_long2() { |
| testSetup(Element.I64_2(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_long2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch long2: ", 2); |
| scriptRelaxed.forEach_copy1D_long2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed long2: ", 2); |
| |
| script.forEach_copy2D_long2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch long2: ", 2); |
| scriptRelaxed.forEach_copy2D_long2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed long2: ", 2); |
| |
| script.forEach_copy3D_long2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch long2: ", 2); |
| scriptRelaxed.forEach_copy3D_long2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed long2: ", 2); |
| } |
| |
| public void testGetSet_long3() { |
| testSetup(Element.I64_3(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_long3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch long3: ", 3); |
| scriptRelaxed.forEach_copy1D_long3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed long3: ", 3); |
| |
| script.forEach_copy2D_long3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch long3: ", 3); |
| scriptRelaxed.forEach_copy2D_long3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed long3: ", 3); |
| |
| script.forEach_copy3D_long3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch long3: ", 3); |
| scriptRelaxed.forEach_copy3D_long3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed long3: ", 3); |
| } |
| |
| public void testGetSet_long4() { |
| testSetup(Element.I64_4(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_long4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch long4: ", 4); |
| scriptRelaxed.forEach_copy1D_long4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed long4: ", 4); |
| |
| script.forEach_copy2D_long4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch long4: ", 4); |
| scriptRelaxed.forEach_copy2D_long4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed long4: ", 4); |
| |
| script.forEach_copy3D_long4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch long4: ", 4); |
| scriptRelaxed.forEach_copy3D_long4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed long4: ", 4); |
| } |
| |
| public void testGetSet_ulong() { |
| testSetup(Element.U64(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_ulong(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ulong: ", 1); |
| scriptRelaxed.forEach_copy1D_ulong(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ulong: ", 1); |
| |
| script.forEach_copy2D_ulong(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ulong: ", 1); |
| scriptRelaxed.forEach_copy2D_ulong(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ulong: ", 1); |
| |
| script.forEach_copy3D_ulong(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ulong: ", 1); |
| scriptRelaxed.forEach_copy3D_ulong(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ulong: ", 1); |
| } |
| |
| public void testGetSet_ulong2() { |
| testSetup(Element.U64_2(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_ulong2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ulong2: ", 2); |
| scriptRelaxed.forEach_copy1D_ulong2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ulong2: ", 2); |
| |
| script.forEach_copy2D_ulong2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ulong2: ", 2); |
| scriptRelaxed.forEach_copy2D_ulong2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ulong2: ", 2); |
| |
| script.forEach_copy3D_ulong2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ulong2: ", 2); |
| scriptRelaxed.forEach_copy3D_ulong2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ulong2: ", 2); |
| } |
| |
| public void testGetSet_ulong3() { |
| testSetup(Element.U64_3(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_ulong3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ulong3: ", 3); |
| scriptRelaxed.forEach_copy1D_ulong3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ulong3: ", 3); |
| |
| script.forEach_copy2D_ulong3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ulong3: ", 3); |
| scriptRelaxed.forEach_copy2D_ulong3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ulong3: ", 3); |
| |
| script.forEach_copy3D_ulong3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ulong3: ", 3); |
| scriptRelaxed.forEach_copy3D_ulong3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ulong3: ", 3); |
| } |
| |
| public void testGetSet_ulong4() { |
| testSetup(Element.U64_4(mRS)); |
| long tmp[] = randomLongArray(gCount); |
| long tmp2[] = new long[gCount]; |
| script.forEach_copy1D_ulong4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch ulong4: ", 4); |
| scriptRelaxed.forEach_copy1D_ulong4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed ulong4: ", 4); |
| |
| script.forEach_copy2D_ulong4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch ulong4: ", 4); |
| scriptRelaxed.forEach_copy2D_ulong4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed ulong4: ", 4); |
| |
| script.forEach_copy3D_ulong4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch ulong4: ", 4); |
| scriptRelaxed.forEach_copy3D_ulong4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed ulong4: ", 4); |
| } |
| |
| |
| |
| |
| public void testGetSet_float() { |
| testSetup(Element.F32(mRS)); |
| float tmp[] = randomFloatArray(gCount); |
| float tmp2[] = new float[gCount]; |
| script.forEach_copy1D_float(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch float: ", 1); |
| scriptRelaxed.forEach_copy1D_float(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed float: ", 1); |
| |
| script.forEach_copy2D_float(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch float: ", 1); |
| scriptRelaxed.forEach_copy2D_float(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed float: ", 1); |
| |
| script.forEach_copy3D_float(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch float: ", 1); |
| scriptRelaxed.forEach_copy3D_float(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed float: ", 1); |
| } |
| |
| public void testGetSet_float2() { |
| testSetup(Element.F32_2(mRS)); |
| float tmp[] = randomFloatArray(gCount); |
| float tmp2[] = new float[gCount]; |
| script.forEach_copy1D_float2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch float2: ", 2); |
| scriptRelaxed.forEach_copy1D_float2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed float2: ", 2); |
| |
| script.forEach_copy2D_float2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch float2: ", 2); |
| scriptRelaxed.forEach_copy2D_float2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed float2: ", 2); |
| |
| script.forEach_copy3D_float2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch float2: ", 2); |
| scriptRelaxed.forEach_copy3D_float2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed float2: ", 2); |
| } |
| |
| public void testGetSet_float3() { |
| testSetup(Element.F32_3(mRS)); |
| float tmp[] = randomFloatArray(gCount); |
| float tmp2[] = new float[gCount]; |
| script.forEach_copy1D_float3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch float3: ", 3); |
| scriptRelaxed.forEach_copy1D_float3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed float3: ", 3); |
| |
| script.forEach_copy2D_float3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch float3: ", 3); |
| scriptRelaxed.forEach_copy2D_float3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed float3: ", 3); |
| |
| script.forEach_copy3D_float3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch float3: ", 3); |
| scriptRelaxed.forEach_copy3D_float3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed float3: ", 3); |
| } |
| |
| public void testGetSet_float4() { |
| testSetup(Element.F32_4(mRS)); |
| float tmp[] = randomFloatArray(gCount); |
| float tmp2[] = new float[gCount]; |
| script.forEach_copy1D_float4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch float4: ", 4); |
| scriptRelaxed.forEach_copy1D_float4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed float4: ", 4); |
| |
| script.forEach_copy2D_float4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch float4: ", 4); |
| scriptRelaxed.forEach_copy2D_float4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed float4: ", 4); |
| |
| script.forEach_copy3D_float4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch float4: ", 4); |
| scriptRelaxed.forEach_copy3D_float4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed float4: ", 4); |
| } |
| |
| |
| public void testGetSet_double() { |
| testSetup(Element.F64(mRS)); |
| double tmp[] = randomDoubleArray(gCount); |
| double tmp2[] = new double[gCount]; |
| script.forEach_copy1D_double(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch double: ", 1); |
| scriptRelaxed.forEach_copy1D_double(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed double: ", 1); |
| |
| script.forEach_copy2D_double(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch double: ", 1); |
| scriptRelaxed.forEach_copy2D_double(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed double: ", 1); |
| |
| script.forEach_copy3D_double(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch double: ", 1); |
| scriptRelaxed.forEach_copy3D_double(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed double: ", 1); |
| } |
| |
| public void testGetSet_double2() { |
| testSetup(Element.F64_2(mRS)); |
| double tmp[] = randomDoubleArray(gCount); |
| double tmp2[] = new double[gCount]; |
| script.forEach_copy1D_double2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch double2: ", 2); |
| scriptRelaxed.forEach_copy1D_double2(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed double2: ", 2); |
| |
| script.forEach_copy2D_double2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch double2: ", 2); |
| scriptRelaxed.forEach_copy2D_double2(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed double2: ", 2); |
| |
| script.forEach_copy3D_double2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch double2: ", 2); |
| scriptRelaxed.forEach_copy3D_double2(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed double2: ", 2); |
| } |
| |
| public void testGetSet_double3() { |
| testSetup(Element.F64_3(mRS)); |
| double tmp[] = randomDoubleArray(gCount); |
| double tmp2[] = new double[gCount]; |
| script.forEach_copy1D_double3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch double3: ", 3); |
| scriptRelaxed.forEach_copy1D_double3(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed double3: ", 3); |
| |
| script.forEach_copy2D_double3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch double3: ", 3); |
| scriptRelaxed.forEach_copy2D_double3(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed double3: ", 3); |
| |
| script.forEach_copy3D_double3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch double3: ", 3); |
| scriptRelaxed.forEach_copy3D_double3(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed double3: ", 3); |
| } |
| |
| public void testGetSet_double4() { |
| testSetup(Element.F64_4(mRS)); |
| double tmp[] = randomDoubleArray(gCount); |
| double tmp2[] = new double[gCount]; |
| script.forEach_copy1D_double4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch double4: ", 4); |
| scriptRelaxed.forEach_copy1D_double4(walkAlloc); |
| verify(tmp, tmp2, out1DAlloc, "Data mismatch relaxed double4: ", 4); |
| |
| script.forEach_copy2D_double4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch double4: ", 4); |
| scriptRelaxed.forEach_copy2D_double4(walkAlloc); |
| verify(tmp, tmp2, out2DAlloc, "Data mismatch relaxed double4: ", 4); |
| |
| script.forEach_copy3D_double4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch double4: ", 4); |
| scriptRelaxed.forEach_copy3D_double4(walkAlloc); |
| verify(tmp, tmp2, out3DAlloc, "Data mismatch relaxed double4: ", 4); |
| } |
| |
| |
| } |
| |