10d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks// This file is automatically generated from 20d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks// frameworks/rs/tests/java_api/RSUnitTests/RSUnitTests.py 30d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks/* 40d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * Copyright (C) 2017 The Android Open Source Project 50d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * 60d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * Licensed under the Apache License, Version 2.0 (the "License"); 70d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * you may not use this file except in compliance with the License. 80d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * You may obtain a copy of the License at 90d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * 100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * http://www.apache.org/licenses/LICENSE-2.0 110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * 120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * Unless required by applicable law or agreed to in writing, software 130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * distributed under the License is distributed on an "AS IS" BASIS, 140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * See the License for the specific language governing permissions and 160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * limitations under the License. 170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks */ 180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubankspackage com.android.rs.unittest; 200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.content.Context; 220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Byte2; 230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Byte3; 240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Byte4; 250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Float2; 260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Float3; 270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Float4; 280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Int2; 290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Int3; 300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Int4; 310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Long2; 320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Long3; 330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Long4; 340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.RenderScript; 350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Short2; 360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Short3; 370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Short4; 380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport java.util.Random; 400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubankspublic class UT_math_agree extends UnitTest { 420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Random rand; 430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks public UT_math_agree(Context ctx) { 450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks super("Math Agreement", ctx); 460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rand = new Random(); 470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // packing functions 500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Float2 pack_f2(float[] val) { 510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 2; 520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Float2(val[0], val[1]); 530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Float3 pack_f3(float[] val) { 560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 3; 570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Float3(val[0], val[1], val[2]); 580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Float4 pack_f4(float[] val) { 610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 4; 620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Float4(val[0], val[1], val[2], val[3]); 630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Byte2 pack_b2(byte[] val) { 660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 2; 670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Byte2(val[0], val[1]); 680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Byte3 pack_b3(byte[] val) { 710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 3; 720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Byte3(val[0], val[1], val[2]); 730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Byte4 pack_b4(byte[] val) { 760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 4; 770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Byte4(val[0], val[1], val[2], val[3]); 780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Short2 pack_s2(short[] val) { 810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 2; 820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Short2(val[0], val[1]); 830d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 840d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 850d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Short3 pack_s3(short[] val) { 860d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 3; 870d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Short3(val[0], val[1], val[2]); 880d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 890d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 900d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Short4 pack_s4(short[] val) { 910d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 4; 920d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Short4(val[0], val[1], val[2], val[3]); 930d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 940d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 950d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Int2 pack_i2(int[] val) { 960d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 2; 970d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Int2(val[0], val[1]); 980d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 990d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1000d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Int3 pack_i3(int[] val) { 1010d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 3; 1020d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Int3(val[0], val[1], val[2]); 1030d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1040d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1050d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Int4 pack_i4(int[] val) { 1060d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 4; 1070d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Int4(val[0], val[1], val[2], val[3]); 1080d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1090d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Long2 pack_l2(long[] val) { 1110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 2; 1120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Long2(val[0], val[1]); 1130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Long3 pack_l3(long[] val) { 1160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 3; 1170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Long3(val[0], val[1], val[2]); 1180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private Long4 pack_l4(long[] val) { 1210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert val.length == 4; 1220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return new Long4(val[0], val[1], val[2], val[3]); 1230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // random vector generation functions 1260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] randvec_float(int dim) { 1270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] fv = new float[dim]; 1280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks fv[i] = rand.nextFloat(); 1300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return fv; 1310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private byte[] randvec_char(int dim) { 1340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] cv = new byte[dim]; 1350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rand.nextBytes(cv); 1360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return cv; 1370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private short[] randvec_uchar(int dim) { 1400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] ucv = new short[dim]; 1410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks ucv[i] = (short) rand.nextInt(0x1 << 8); 1430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return ucv; 1440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private short[] randvec_short(int dim) { 1470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] sv = new short[dim]; 1480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks sv[i] = (short) rand.nextInt(0x1 << 16); 1500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return sv; 1510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private int[] randvec_ushort(int dim) { 1540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] usv = new int[dim]; 1550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks usv[i] = rand.nextInt(0x1 << 16); 1570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return usv; 1580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private int[] randvec_int(int dim) { 1610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] iv = new int[dim]; 1620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks iv[i] = rand.nextInt(); 1640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return iv; 1650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private long[] randvec_uint(int dim) { 1680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] uiv = new long[dim]; 1690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks uiv[i] = (long) rand.nextInt() - (long) Integer.MIN_VALUE; 1710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return uiv; 1720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private long[] randvec_long(int dim) { 1750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] lv = new long[dim]; 1760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < dim; ++i) 1770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks lv[i] = rand.nextLong(); 1780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return lv; 1790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: unsigned long generator 1810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // min reference functions 1830d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float min(float v1, float v2) { 1840d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 < v2 ? v1 : v2; 1850d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1860d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1870d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] min(float[] v1, float[] v2) { 1880d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 1890d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rv = new float[v1.length]; 1900d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 1910d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = min(v1[i], v2[i]); 1920d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 1930d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1940d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1950d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private byte min(byte v1, byte v2) { 1960d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 < v2 ? v1 : v2; 1970d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1980d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1990d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private byte[] min(byte[] v1, byte[] v2) { 2000d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2010d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rv = new byte[v1.length]; 2020d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2030d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = min(v1[i], v2[i]); 2040d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2050d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2060d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2070d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private short min(short v1, short v2) { 2080d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 < v2 ? v1 : v2; 2090d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private short[] min(short[] v1, short[] v2) { 2120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rv = new short[v1.length]; 2140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = min(v1[i], v2[i]); 2160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private int min(int v1, int v2) { 2200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 < v2 ? v1 : v2; 2210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private int[] min(int[] v1, int[] v2) { 2240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rv = new int[v1.length]; 2260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = min(v1[i], v2[i]); 2280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private long min(long v1, long v2) { 2320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 < v2 ? v1 : v2; 2330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private long[] min(long[] v1, long[] v2) { 2360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rv = new long[v1.length]; 2380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = min(v1[i], v2[i]); 2400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: unsigned long version of min 2430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // max reference functions 2450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float max(float v1, float v2) { 2460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 > v2 ? v1 : v2; 2470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] max(float[] v1, float[] v2) { 2500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rv = new float[v1.length]; 2520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = max(v1[i], v2[i]); 2540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private byte max(byte v1, byte v2) { 2580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 > v2 ? v1 : v2; 2590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private byte[] max(byte[] v1, byte[] v2) { 2620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rv = new byte[v1.length]; 2640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = max(v1[i], v2[i]); 2660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private short max(short v1, short v2) { 2700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 > v2 ? v1 : v2; 2710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private short[] max(short[] v1, short[] v2) { 2740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rv = new short[v1.length]; 2760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = max(v1[i], v2[i]); 2780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private int max(int v1, int v2) { 2820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 > v2 ? v1 : v2; 2830d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2840d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2850d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private int[] max(int[] v1, int[] v2) { 2860d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2870d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rv = new int[v1.length]; 2880d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 2890d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = max(v1[i], v2[i]); 2900d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 2910d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2920d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2930d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private long max(long v1, long v2) { 2940d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return v1 > v2 ? v1 : v2; 2950d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 2960d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2970d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private long[] max(long[] v1, long[] v2) { 2980d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks assert v1.length == v2.length; 2990d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rv = new long[v1.length]; 3000d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 3010d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = max(v1[i], v2[i]); 3020d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 3030d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3040d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: unsigned long version of max 3050d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3060d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // fmin reference functions 3070d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float fmin(float v1, float v2) { 3080d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return min(v1, v2); 3090d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] fmin(float[] v1, float[] v2) { 3120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return min(v1, v2); 3130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] fmin(float[] v1, float v2) { 3160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rv = new float[v1.length]; 3170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 3180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = min(v1[i], v2); 3190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 3200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // fmax reference functions 3230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float fmax(float v1, float v2) { 3240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return max(v1, v2); 3250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] fmax(float[] v1, float[] v2) { 3280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return max(v1, v2); 3290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private float[] fmax(float[] v1, float v2) { 3320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rv = new float[v1.length]; 3330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < v1.length; ++i) 3340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks rv[i] = max(v1[i], v2); 3350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks return rv; 3360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 3370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private void initializeValues(ScriptC_math_agree s) { 3390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float x = rand.nextFloat(); 3400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float y = rand.nextFloat(); 3410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_x(x); 3430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_y(y); 3440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_result_add(x + y); 3450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_result_sub(x - y); 3460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_result_mul(x * y); 3470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_result_div(x / y); 3480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 3490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // Generate random vectors of all types 3500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float rand_f1_0 = rand.nextFloat(); 3510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rand_f2_0 = randvec_float(2); 3520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rand_f3_0 = randvec_float(3); 3530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rand_f4_0 = randvec_float(4); 3540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float rand_f1_1 = rand.nextFloat(); 3550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rand_f2_1 = randvec_float(2); 3560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rand_f3_1 = randvec_float(3); 3570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks float[] rand_f4_1 = randvec_float(4); 3580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short rand_uc1_0 = (short) rand.nextInt(0x1 << 8); 3590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_uc2_0 = randvec_uchar(2); 3600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_uc3_0 = randvec_uchar(3); 3610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_uc4_0 = randvec_uchar(4); 3620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short rand_uc1_1 = (short) rand.nextInt(0x1 << 8); 3630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_uc2_1 = randvec_uchar(2); 3640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_uc3_1 = randvec_uchar(3); 3650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_uc4_1 = randvec_uchar(4); 3660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short rand_ss1_0 = (short) rand.nextInt(0x1 << 16); 3670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_ss2_0 = randvec_short(2); 3680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_ss3_0 = randvec_short(3); 3690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_ss4_0 = randvec_short(4); 3700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short rand_ss1_1 = (short) rand.nextInt(0x1 << 16); 3710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_ss2_1 = randvec_short(2); 3720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_ss3_1 = randvec_short(3); 3730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks short[] rand_ss4_1 = randvec_short(4); 3740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int rand_us1_0 = rand.nextInt(0x1 << 16); 3750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_us2_0 = randvec_ushort(2); 3760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_us3_0 = randvec_ushort(3); 3770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_us4_0 = randvec_ushort(4); 3780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int rand_us1_1 = rand.nextInt(0x1 << 16); 3790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_us2_1 = randvec_ushort(2); 3800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_us3_1 = randvec_ushort(3); 3810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_us4_1 = randvec_ushort(4); 3820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int rand_si1_0 = rand.nextInt(); 3830d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_si2_0 = randvec_int(2); 3840d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_si3_0 = randvec_int(3); 3850d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_si4_0 = randvec_int(4); 3860d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int rand_si1_1 = rand.nextInt(); 3870d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_si2_1 = randvec_int(2); 3880d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_si3_1 = randvec_int(3); 3890d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int[] rand_si4_1 = randvec_int(4); 3900d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long rand_ui1_0 = (long) rand.nextInt() - (long) Integer.MIN_VALUE; 3910d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_ui2_0 = randvec_uint(2); 3920d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_ui3_0 = randvec_uint(3); 3930d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_ui4_0 = randvec_uint(4); 3940d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long rand_ui1_1 = (long) rand.nextInt() - (long) Integer.MIN_VALUE; 3950d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_ui2_1 = randvec_uint(2); 3960d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_ui3_1 = randvec_uint(3); 3970d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_ui4_1 = randvec_uint(4); 3980d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long rand_sl1_0 = rand.nextLong(); 3990d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_sl2_0 = randvec_long(2); 4000d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_sl3_0 = randvec_long(3); 4010d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_sl4_0 = randvec_long(4); 4020d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long rand_sl1_1 = rand.nextLong(); 4030d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_sl2_1 = randvec_long(2); 4040d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_sl3_1 = randvec_long(3); 4050d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks long[] rand_sl4_1 = randvec_long(4); 4060d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte rand_sc1_0 = (byte) rand.nextInt(0x1 << 8); 4070d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rand_sc2_0 = randvec_char(2); 4080d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rand_sc3_0 = randvec_char(3); 4090d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rand_sc4_0 = randvec_char(4); 4100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte rand_sc1_1 = (byte) rand.nextInt(0x1 << 8); 4110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rand_sc2_1 = randvec_char(2); 4120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rand_sc3_1 = randvec_char(3); 4130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks byte[] rand_sc4_1 = randvec_char(4); 4140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: generate unsigned long vectors 4150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 4160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // Set random vectors in renderscript code 4170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f1_0(rand_f1_0); 4180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f2_0(pack_f2(rand_f2_0)); 4190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f3_0(pack_f3(rand_f3_0)); 4200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f4_0(pack_f4(rand_f4_0)); 4210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f1_1(rand_f1_1); 4220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f2_1(pack_f2(rand_f2_1)); 4230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f3_1(pack_f3(rand_f3_1)); 4240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_f4_1(pack_f4(rand_f4_1)); 4250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc1_1(rand_uc1_1); 4260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc2_1(pack_s2(rand_uc2_1)); 4270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc3_1(pack_s3(rand_uc3_1)); 4280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc4_1(pack_s4(rand_uc4_1)); 4290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss1_0(rand_ss1_0); 4300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss2_0(pack_s2(rand_ss2_0)); 4310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss3_0(pack_s3(rand_ss3_0)); 4320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss4_0(pack_s4(rand_ss4_0)); 4330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss1_1(rand_ss1_1); 4340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss2_1(pack_s2(rand_ss2_1)); 4350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss3_1(pack_s3(rand_ss3_1)); 4360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ss4_1(pack_s4(rand_ss4_1)); 4370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us1_0(rand_us1_0); 4380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us2_0(pack_i2(rand_us2_0)); 4390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us3_0(pack_i3(rand_us3_0)); 4400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us4_0(pack_i4(rand_us4_0)); 4410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us1_1(rand_us1_1); 4420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us2_1(pack_i2(rand_us2_1)); 4430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us3_1(pack_i3(rand_us3_1)); 4440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_us4_1(pack_i4(rand_us4_1)); 4450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si1_0(rand_si1_0); 4460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si2_0(pack_i2(rand_si2_0)); 4470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si3_0(pack_i3(rand_si3_0)); 4480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si4_0(pack_i4(rand_si4_0)); 4490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si1_1(rand_si1_1); 4500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si2_1(pack_i2(rand_si2_1)); 4510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si3_1(pack_i3(rand_si3_1)); 4520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_si4_1(pack_i4(rand_si4_1)); 4530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui1_0(rand_ui1_0); 4540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui2_0(pack_l2(rand_ui2_0)); 4550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui3_0(pack_l3(rand_ui3_0)); 4560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui4_0(pack_l4(rand_ui4_0)); 4570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui1_1(rand_ui1_1); 4580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui2_1(pack_l2(rand_ui2_1)); 4590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui3_1(pack_l3(rand_ui3_1)); 4600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_ui4_1(pack_l4(rand_ui4_1)); 4610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl1_0(rand_sl1_0); 4620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl2_0(pack_l2(rand_sl2_0)); 4630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl3_0(pack_l3(rand_sl3_0)); 4640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl4_0(pack_l4(rand_sl4_0)); 4650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl1_1(rand_sl1_1); 4660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl2_1(pack_l2(rand_sl2_1)); 4670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl3_1(pack_l3(rand_sl3_1)); 4680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sl4_1(pack_l4(rand_sl4_1)); 4690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc1_0(rand_uc1_0); 4700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc2_0(pack_s2(rand_uc2_0)); 4710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc3_0(pack_s3(rand_uc3_0)); 4720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_uc4_0(pack_s4(rand_uc4_0)); 4730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc1_0(rand_sc1_0); 4740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc2_0(pack_b2(rand_sc2_0)); 4750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc3_0(pack_b3(rand_sc3_0)); 4760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc4_0(pack_b4(rand_sc4_0)); 4770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc1_1(rand_sc1_1); 4780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc2_1(pack_b2(rand_sc2_1)); 4790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc3_1(pack_b3(rand_sc3_1)); 4800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_rand_sc4_1(pack_b4(rand_sc4_1)); 4810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: set unsigned long vectors 4820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 4830d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // Set results for min 4840d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_f1_f1(min(rand_f1_0, rand_f1_1)); 4850d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_f2_f2(pack_f2(min(rand_f2_0, rand_f2_1))); 4860d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_f3_f3(pack_f3(min(rand_f3_0, rand_f3_1))); 4870d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_f4_f4(pack_f4(min(rand_f4_0, rand_f4_1))); 4880d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_uc1_uc1(min(rand_uc1_0, rand_uc1_1)); 4890d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_uc2_uc2(pack_s2(min(rand_uc2_0, rand_uc2_1))); 4900d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_uc3_uc3(pack_s3(min(rand_uc3_0, rand_uc3_1))); 4910d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_uc4_uc4(pack_s4(min(rand_uc4_0, rand_uc4_1))); 4920d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ss1_ss1(min(rand_ss1_0, rand_ss1_1)); 4930d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ss2_ss2(pack_s2(min(rand_ss2_0, rand_ss2_1))); 4940d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ss3_ss3(pack_s3(min(rand_ss3_0, rand_ss3_1))); 4950d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ss4_ss4(pack_s4(min(rand_ss4_0, rand_ss4_1))); 4960d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_us1_us1(min(rand_us1_0, rand_us1_1)); 4970d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_us2_us2(pack_i2(min(rand_us2_0, rand_us2_1))); 4980d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_us3_us3(pack_i3(min(rand_us3_0, rand_us3_1))); 4990d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_us4_us4(pack_i4(min(rand_us4_0, rand_us4_1))); 5000d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_si1_si1(min(rand_si1_0, rand_si1_1)); 5010d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_si2_si2(pack_i2(min(rand_si2_0, rand_si2_1))); 5020d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_si3_si3(pack_i3(min(rand_si3_0, rand_si3_1))); 5030d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_si4_si4(pack_i4(min(rand_si4_0, rand_si4_1))); 5040d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ui1_ui1(min(rand_ui1_0, rand_ui1_1)); 5050d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ui2_ui2(pack_l2(min(rand_ui2_0, rand_ui2_1))); 5060d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ui3_ui3(pack_l3(min(rand_ui3_0, rand_ui3_1))); 5070d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_ui4_ui4(pack_l4(min(rand_ui4_0, rand_ui4_1))); 5080d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sl1_sl1(min(rand_sl1_0, rand_sl1_1)); 5090d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sl2_sl2(pack_l2(min(rand_sl2_0, rand_sl2_1))); 5100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sl3_sl3(pack_l3(min(rand_sl3_0, rand_sl3_1))); 5110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sl4_sl4(pack_l4(min(rand_sl4_0, rand_sl4_1))); 5120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sc1_sc1(min(rand_sc1_0, rand_sc1_1)); 5130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sc2_sc2(pack_b2(min(rand_sc2_0, rand_sc2_1))); 5140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sc3_sc3(pack_b3(min(rand_sc3_0, rand_sc3_1))); 5150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_min_rand_sc4_sc4(pack_b4(min(rand_sc4_0, rand_sc4_1))); 5160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: set results for unsigned long min 5170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 5180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // Set results for max 5190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_f1_f1(max(rand_f1_0, rand_f1_1)); 5200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_f2_f2(pack_f2(max(rand_f2_0, rand_f2_1))); 5210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_f3_f3(pack_f3(max(rand_f3_0, rand_f3_1))); 5220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_f4_f4(pack_f4(max(rand_f4_0, rand_f4_1))); 5230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_uc1_uc1(max(rand_uc1_0, rand_uc1_1)); 5240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_uc2_uc2(pack_s2(max(rand_uc2_0, rand_uc2_1))); 5250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_uc3_uc3(pack_s3(max(rand_uc3_0, rand_uc3_1))); 5260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_uc4_uc4(pack_s4(max(rand_uc4_0, rand_uc4_1))); 5270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ss1_ss1(max(rand_ss1_0, rand_ss1_1)); 5280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ss2_ss2(pack_s2(max(rand_ss2_0, rand_ss2_1))); 5290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ss3_ss3(pack_s3(max(rand_ss3_0, rand_ss3_1))); 5300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ss4_ss4(pack_s4(max(rand_ss4_0, rand_ss4_1))); 5310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_us1_us1(max(rand_us1_0, rand_us1_1)); 5320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_us2_us2(pack_i2(max(rand_us2_0, rand_us2_1))); 5330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_us3_us3(pack_i3(max(rand_us3_0, rand_us3_1))); 5340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_us4_us4(pack_i4(max(rand_us4_0, rand_us4_1))); 5350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_si1_si1(max(rand_si1_0, rand_si1_1)); 5360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_si2_si2(pack_i2(max(rand_si2_0, rand_si2_1))); 5370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_si3_si3(pack_i3(max(rand_si3_0, rand_si3_1))); 5380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_si4_si4(pack_i4(max(rand_si4_0, rand_si4_1))); 5390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ui1_ui1(max(rand_ui1_0, rand_ui1_1)); 5400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ui2_ui2(pack_l2(max(rand_ui2_0, rand_ui2_1))); 5410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ui3_ui3(pack_l3(max(rand_ui3_0, rand_ui3_1))); 5420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_ui4_ui4(pack_l4(max(rand_ui4_0, rand_ui4_1))); 5430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sl1_sl1(max(rand_sl1_0, rand_sl1_1)); 5440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sl2_sl2(pack_l2(max(rand_sl2_0, rand_sl2_1))); 5450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sl3_sl3(pack_l3(max(rand_sl3_0, rand_sl3_1))); 5460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sl4_sl4(pack_l4(max(rand_sl4_0, rand_sl4_1))); 5470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sc1_sc1(max(rand_sc1_0, rand_sc1_1)); 5480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sc2_sc2(pack_b2(max(rand_sc2_0, rand_sc2_1))); 5490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sc3_sc3(pack_b3(max(rand_sc3_0, rand_sc3_1))); 5500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_max_rand_sc4_sc4(pack_b4(max(rand_sc4_0, rand_sc4_1))); 5510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 5520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // TODO: set results for unsigned long max 5530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 5540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // Set results for fmin 5550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f1_f1(fmin(rand_f1_0, rand_f1_1)); 5560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f2_f2(pack_f2(fmin(rand_f2_0, rand_f2_1))); 5570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f3_f3(pack_f3(fmin(rand_f3_0, rand_f3_1))); 5580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f4_f4(pack_f4(fmin(rand_f4_0, rand_f4_1))); 5590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f2_f1(pack_f2(fmin(rand_f2_0, rand_f1_1))); 5600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f3_f1(pack_f3(fmin(rand_f3_0, rand_f1_1))); 5610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmin_rand_f4_f1(pack_f4(fmin(rand_f4_0, rand_f1_1))); 5620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 5630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks // Set results for fmax 5640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f1_f1(fmax(rand_f1_0, rand_f1_1)); 5650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f2_f2(pack_f2(fmax(rand_f2_0, rand_f2_1))); 5660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f3_f3(pack_f3(fmax(rand_f3_0, rand_f3_1))); 5670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f4_f4(pack_f4(fmax(rand_f4_0, rand_f4_1))); 5680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f2_f1(pack_f2(fmax(rand_f2_0, rand_f1_1))); 5690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f3_f1(pack_f3(fmax(rand_f3_0, rand_f1_1))); 5700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_fmax_rand_f4_f1(pack_f4(fmax(rand_f4_0, rand_f1_1))); 5710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 5720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 5730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks public void run() { 5740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks RenderScript pRS = createRenderScript(true); 5750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks ScriptC_math_agree s = new ScriptC_math_agree(pRS); 5760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks initializeValues(s); 5770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.invoke_math_agree_test(); 5780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks pRS.finish(); 5790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.destroy(); 5800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks pRS.destroy(); 5810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 5820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks} 583