Package net.fec.openrq.util.linearalgebra.vector

Examples of net.fec.openrq.util.linearalgebra.vector.ByteVector


    }

    @Override
    public ByteVector foldNonZeroInRows(MatrixAccumulator accumulator) {

        ByteVector result = factory.createVector(rows);

        for (int i = 0; i < rows; i++) {
            result.set(i, foldNonZeroInRow(i, accumulator));
        }

        return result;
    }
View Full Code Here


    }

    // Read/Write
    ByteVector vectorRW(int index) {

        ByteVector vec = vectors[index];
        if (vec == empty) {
            vec = initCompressedVector();
            vectors[index] = vec;
        }
        return vec;
View Full Code Here

    }

    @Override
    public ByteVector apply(DenseByteVector a, SparseByteVector b) {

        ByteVector result = a.blank(factory);
        ByteVectorIterator it = b.nonZeroIterator();

        while (it.hasNext()) {
            it.next();
            result.set(it.index(), aTimesB(it.get(), a.get(it.index())));
        }

        return result;
    }
View Full Code Here

    @Override
    public ByteVector multiply(byte value, Factory factory) {

        ensureFactoryIsNotNull(factory);
        ByteVector result = blank(factory);

        if (value != 0) {
            ByteVectorIterator it = nonZeroIterator();
            while (it.hasNext()) {
                it.next();
                result.set(it.index(), aTimesB(value, it.get()));
            }
        }

        return result;
    }
View Full Code Here

        if (length() != matrix.rows()) {
            fail("Wrong matrix dimensions: " + matrix.rows() + "x" + matrix.columns() +
                 ". Should be: " + length() + "x_.");
        }

        ByteVector result = factory.createVector(matrix.columns());

        for (int j = 0; j < matrix.columns(); j++) {
            byte acc = 0;

            ByteVectorIterator it = nonZeroIterator();
            while (it.hasNext()) {
                it.next();
                final byte prod = aTimesB(it.get(), matrix.get(it.index(), j));
                acc = aPlusB(acc, prod);
            }

            result.set(j, acc);
        }

        return result;
    }
View Full Code Here

        if ((toIndex - fromIndex) != matrix.rows()) {
            fail("Wrong matrix dimensions: " + matrix.rows() + "x" + matrix.columns() +
                 ". Should be: " + (toIndex - fromIndex) + "x_.");
        }

        ByteVector result = factory.createVector(matrix.columns());

        for (int j = 0; j < matrix.columns(); j++) {
            byte acc = 0;

            ByteVectorIterator it = nonZeroIterator(fromIndex, toIndex);
            while (it.hasNext()) {
                it.next();
                final byte prod = aTimesB(it.get(), matrix.get(it.index() - fromIndex, j));
                acc = aPlusB(acc, prod);
            }

            result.set(j, acc);
        }

        return result;
    }
View Full Code Here

     *            that creates a new vector
     * @return a new vector
     */
    public ByteVector toVector(Factory factory) {

        ByteVector result = factory.createVector(length);
        alterVector(result);
        return result;
    }
View Full Code Here

    @Test
    public void testGetRow() {

        ByteMatrix matrix = getRowColumnMatrix();

        ByteVector vecA = factory().createVector(new byte[] {8, 3, 1, 9});
        ByteVector vecB = factory().createVector(new byte[] {4, 9, 6, 6});
        ByteVector vecC = factory().createVector(new byte[] {9, 1, 1, 4});
        ByteVector vecD = factory().createVector(new byte[] {5, 7, 3, 0});

        assertEquals(vecA, matrix.getRow(0));
        assertEquals(vecB, matrix.getRow(1));
        assertEquals(vecC, matrix.getRow(2));
        assertEquals(vecD, matrix.getRow(3));
View Full Code Here

    @Test
    public void testGetRowInRangeOf_0_to_0() {

        ByteMatrix matrix = getRowColumnMatrix();

        ByteVector vecA = factory().createVector(new byte[] {});
        ByteVector vecB = factory().createVector(new byte[] {});
        ByteVector vecC = factory().createVector(new byte[] {});
        ByteVector vecD = factory().createVector(new byte[] {});

        assertEquals(vecA, matrix.getRow(0, 0, 0));
        assertEquals(vecB, matrix.getRow(1, 0, 0));
        assertEquals(vecC, matrix.getRow(2, 0, 0));
        assertEquals(vecD, matrix.getRow(3, 0, 0));
View Full Code Here

    @Test
    public void testGetRowInRangeOf_0_to_2() {

        ByteMatrix matrix = getRowColumnMatrix();

        ByteVector vecA = factory().createVector(new byte[] {8, 3});
        ByteVector vecB = factory().createVector(new byte[] {4, 9});
        ByteVector vecC = factory().createVector(new byte[] {9, 1});
        ByteVector vecD = factory().createVector(new byte[] {5, 7});

        assertEquals(vecA, matrix.getRow(0, 0, 2));
        assertEquals(vecB, matrix.getRow(1, 0, 2));
        assertEquals(vecC, matrix.getRow(2, 0, 2));
        assertEquals(vecD, matrix.getRow(3, 0, 2));
View Full Code Here

TOP

Related Classes of net.fec.openrq.util.linearalgebra.vector.ByteVector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.