public void testPlusEqualsAfterClone() { s1.indexVector(); HashedSparseVector s = (HashedSparseVector) s1.cloneMatrixZeroed(); s.plusEqualsSparse(s1); s.plusEqualsSparse(s2, 2.0); checkAnswer(s, new double[] {3, 5, 7, 6, 7}); }
// tests index2location getting screwed up when old (v 1.3) instances are de-serialized public void testPlusEqualsFromSaved() throws IOException, ClassNotFoundException { HashedSparseVector s1 = (HashedSparseVector) FileUtils.readObject(oldSv); HashedSparseVector s2 = new HashedSparseVector(new int[] {1}, new double[] {1.0}); s1.plusEqualsSparse(s2, 1.0); assertEquals(1.0, s1.value(0), 1e-5); assertEquals(0.0, s1.value(1), 1e-5); }
public void testPlusEquals() { HashedSparseVector s = (HashedSparseVector) s1.cloneMatrix(); s.plusEqualsSparse(s2, 2.0); checkAnswer(s, new double[] {3, 5, 7, 6, 7}); HashedSparseVector s2p = new HashedSparseVector(new int[] {13}, new double[] {0.8}); s.plusEqualsSparse(s2p, 1.0); checkAnswer(s, new double[] {3, 5, 7, 6.8, 7}); HashedSparseVector s3p = new HashedSparseVector(new int[] {14}, new double[] {0.8}); s.plusEqualsSparse(s3p, 1.0); checkAnswer(s, new double[] {3, 5, 7, 6.8, 7}); // verify s unchanged HashedSparseVector s4 = new HashedSparseVector(new int[] {7, 14, 15}, new double[] {0.2, 0.8, 1.2}); s.plusEqualsSparse(s4, 1.0); checkAnswer(s, new double[] {3, 5, 7.2, 6.8, 8.2}); HashedSparseVector s5 = new HashedSparseVector(new int[] {7}, new double[] {0.2}); s5.plusEqualsSparse(s1); for (int i = 0; i < s5.numLocations(); i++) { assertEquals(7, s5.indexAtLocation(i)); assertEquals(3.2, s5.valueAtLocation(i), 0.0); } HashedSparseVector s6 = new HashedSparseVector(new int[] {7}, new double[] {0.2}); s6.plusEqualsSparse(s1, 3.5); for (int i = 0; i < s6.numLocations(); i++) { assertEquals(7, s6.indexAtLocation(i)); assertEquals(10.7, s6.valueAtLocation(i), 0.0); } }
public void testBinaryVector() { HashedSparseVector binary1 = new HashedSparseVector(idxs, null, idxs.length, idxs.length, false, false, false); HashedSparseVector binary2 = new HashedSparseVector(idx2, null, idx2.length, idx2.length, false, false, false); assertEquals(3, binary1.dotProduct(binary2), 0.0001); assertEquals(3, binary2.dotProduct(binary1), 0.0001); assertEquals(15.0, binary1.dotProduct(s1), 0.0001); assertEquals(15.0, s1.dotProduct(binary1), 0.0001); assertEquals(9.0, binary2.dotProduct(s1), 0.0001); assertEquals(9.0, s1.dotProduct(binary2), 0.0001); HashedSparseVector dblVec = (HashedSparseVector) s1.cloneMatrix(); dblVec.plusEqualsSparse(binary1); checkAnswer(dblVec, new double[] {2, 3, 4, 5, 6}); HashedSparseVector dblVec2 = (HashedSparseVector) s1.cloneMatrix(); dblVec2.plusEqualsSparse(binary2); checkAnswer(dblVec2, new double[] {2, 2, 4, 4, 6}); }