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