Package mikera.vectorz

Source Code of mikera.vectorz.TestSparseVectors

package mikera.vectorz;

import java.util.Arrays;

import static org.junit.Assert.*;
import mikera.vectorz.impl.SparseHashedVector;
import mikera.vectorz.impl.SparseIndexedVector;
import mikera.vectorz.impl.ZeroVector;

import org.junit.Test;

public class TestSparseVectors {

  @Test
  public void testHashed() {
    SparseHashedVector v=SparseHashedVector.createLength(10);
    assertEquals(0,v.nonZeroCount());

    v.set(1,1);
    assertEquals(1.0,v.elementSum(),0.0);
    assertEquals(1,v.nonZeroCount());
   
  }
 
  @Test
  public void testIndexed() {
    SparseIndexedVector v=SparseIndexedVector.createLength(10);
   
    assertEquals(0,v.nonZeroCount());

    v.set(1,1);
    assertEquals(1.0,v.elementSum(),0.0);
    assertEquals(1,v.nonZeroCount());
        assertTrue(Arrays.equals(new int[]{1},v.nonZeroIndices()));

        SparseIndexedVector w=v.clone();
        v.add(ZeroVector.create(10));
        assertEquals(w, v);

        SparseIndexedVector empty=SparseIndexedVector.createLength(3);
        SparseIndexedVector nonEmpty=SparseIndexedVector.create(Vector.of(1,0,2));
        empty.add(nonEmpty);
        assertEquals(Vector.of(1,0,2), empty);
  }
}
TOP

Related Classes of mikera.vectorz.TestSparseVectors

TOP
Copyright © 2018 www.massapi.com. 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.