Package ivory.lsh.data

Examples of ivory.lsh.data.SixtyFourBitSignature


  //   
  // }

  @Test
  public void testSubSignature() {
    SixtyFourBitSignature s = new SixtyFourBitSignature();
    for (int i = 1; i < 10; i = i * 3) {
      s.set(i, true);
    }
    // System.out.println(s);

    // for(int i=0;i<1;i++){
    NBitSignature slide = s.getSubSignature(0, 4);
    NBitSignature slide2 = s.getSubSignature(5, 9);
    // }
    System.out.println(s);

    System.out.println("From 0 to 4: " + slide);
    System.out.println("From 5 to 9: " + slide2);
View Full Code Here


  private static final String TMP_FILENAME2 = "tmp2.out";

  @Test
  public void testPermuteNew() throws IOException {
    // create some signature of size 64 (=sizeof(long))
    SixtyFourBitSignature s = new SixtyFourBitSignature();
    for (int i = 0; i < s.size(); i++) {
      s.set(i, (Math.random() > 0.5 ? true : false));
    }
    System.out.println(s);

    PermutationByBit p = new PermutationByBit(64);
    SixtyFourBitSignature permutedS = new SixtyFourBitSignature(64);
    ArrayListOfIntsWritable a;
    int loopcnt = 0;
    while (loopcnt++ < 1000000) {
        a = p.nextPermutation();
        s.perm(a, permutedS);
View Full Code Here

    }
  }

  @Test
  public void testReadWrite() throws IOException {
    SixtyFourBitSignature s = new SixtyFourBitSignature();
    SixtyFourBitSignature s2 = new SixtyFourBitSignature();

    for (int i = 1; i < 10; i = i * 2) {
      s.set(i, true);
      s2.set(i, true);
    }

    FileSystem fs;
    SequenceFile.Writer w;
    Configuration conf = new Configuration();

    try {
      fs = FileSystem.get(conf);
      w = SequenceFile.createWriter(fs, conf, new Path(TMP_FILENAME1),
          IntWritable.class, SixtyFourBitSignature.class);
      w.append(new IntWritable(1), s);
      w.append(new IntWritable(2), s2);
      w.close();
    } catch (IOException e) {
      e.printStackTrace();
    }

    List<PairOfWritables<WritableComparable, Writable>> listOfKeysPairs = SequenceFileUtils
        .readFile(new Path(TMP_FILENAME1));
    FileSystem.get(conf).delete(new Path(TMP_FILENAME1), true);

    SixtyFourBitSignature read1 = (SixtyFourBitSignature) listOfKeysPairs.get(0).getRightElement();
    SixtyFourBitSignature read2 = (SixtyFourBitSignature) listOfKeysPairs.get(0).getRightElement();

    assertTrue(read1.get(1) == true);
    assertTrue(read1.get(5) == false);
    assertTrue(read1.toString()
        .equals("0110100010000000000000000000000000000000000000000000000000000000"));

    System.out.println(read1.toString());
    System.out.println(read2.toString());

  }
View Full Code Here

      fs = FileSystem.get(conf);
      FSDataOutputStream out = fs.create(new Path(TMP_FILENAME1));
      w = SequenceFile.createWriter(fs, conf, new Path(TMP_FILENAME2),
          IntWritable.class, SixtyFourBitSignature.class);
      for (int i = 0; i < 1000000; i++) {
        SixtyFourBitSignature s = new SixtyFourBitSignature();
        w.append(new IntWritable(1), s);
        out.write(s.getBits());
      }
      w.close();
      out.close();

      fs.delete(new Path(TMP_FILENAME1), false);
View Full Code Here

    }
  }

  @Test
  public void testWrite() throws IOException {
    SixtyFourBitSignature s = new SixtyFourBitSignature();

    FileSystem fs;
    SequenceFile.Writer w;
    Configuration conf = new Configuration();
View Full Code Here

  }

  @Test
  public void testBasic() {
    SixtyFourBitSignature s = new SixtyFourBitSignature();
    for (int i = 0; i < 1000000000; i++)
      s.set(1, true);
    // s.set(1, false);
    // assertTrue(s.get(0));
    // assertTrue(!s.get(1));

    // s.set(0, false);
View Full Code Here

    // assertTrue(!s.get(0));
  }

  @Test
  public void testHammingDistance() {
    SixtyFourBitSignature s1 = new SixtyFourBitSignature();
    for (int i = 1; i < 63; i++) {
      s1.set(i, true);
    }
    SixtyFourBitSignature s2 = new SixtyFourBitSignature();
    s2.set(0, true);
    s2.set(63, true);

    // byte[] b1 = {107,125,3,6};
    // byte[] b2 = {-26,125,6,3};

    // int i1 = BitsSignature64.makeIntFromByte4(b1), i2 = BitsSignature64.makeIntFromByte4(b2);
View Full Code Here

    // assertTrue(s3.hammingDistance(s4)==4);
  }

  @Test
  public void testCompare() {
    SixtyFourBitSignature s1 = new SixtyFourBitSignature();
    for (int i = 0; i < 63; i++) {
      s1.set(i, true);
    }
    SixtyFourBitSignature s3 = new SixtyFourBitSignature();
    for (int i = 0; i < 63; i++) {
      s3.set(i, true);
    }
    SixtyFourBitSignature s2 = new SixtyFourBitSignature();
    s2.set(0, true);
    s2.set(63, true);
    for (int i = 0; i < 10000; i++) {
      // System.out.println(s1);
      // System.out.println(s2);
      // System.out.println(s1.compareTo(s2));
      // System.out.println(s2.compareTo(s1));
      s1.compareTo(s2);
    }
    assertTrue("s1 should be greater than s2", s1.compareTo(s2) > 0);
    assertTrue("s2 should be less than s1", s2.compareTo(s1) < 0);
    // assertTrue("s1 should be equal to s1",s1.compareTo(s1)==0);
    // assertTrue("s2 should be equal to s2",s1.compareTo(s1)==0);
    assertTrue(s1.compareTo(s3) == 0);
    assertTrue(s3.compareTo(s1) == 0);
View Full Code Here

  }

  @Test
  public void testSort() {
    // 00000000
    SixtyFourBitSignature s1 = new SixtyFourBitSignature();
    for (int i = 0; i < 64; i++) {
      s1.set(i, false);
    }

    // 10000000
    SixtyFourBitSignature s2 = new SixtyFourBitSignature();
    s2.set(0, true);

    // 01000000
    SixtyFourBitSignature s3 = new SixtyFourBitSignature();
    s3.set(1, true);

    // 000100000
    SixtyFourBitSignature s4 = new SixtyFourBitSignature();
    s4.set(3, true);

    PriorityQueue<SixtyFourBitSignature> sorted = new PriorityQueue<SixtyFourBitSignature>();
    sorted.add(s1);
    sorted.add(s2);
    sorted.add(s3);
View Full Code Here

TOP

Related Classes of ivory.lsh.data.SixtyFourBitSignature

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.