TestTree.java 925 B

123456789101112131415161718192021222324252627282930313233
  1. package oram;
  2. import java.math.BigInteger;
  3. public class TestTree {
  4. public static void main(String[] args) {
  5. Metadata md = new Metadata();
  6. Tree tree = new Tree(2, md);
  7. long tupleCounter = 0;
  8. for (int i = 0; i < tree.getD(); i++) {
  9. long numBuckets = (long) Math.pow(2, i);
  10. for (int j = 0; j < numBuckets; j++) {
  11. long bucketIndex = j + numBuckets - 1;
  12. Bucket bucket = tree.getBucket(bucketIndex);
  13. for (int k = 0; k < bucket.getNumTuples(); k++) {
  14. byte[] fnl = new byte[0];
  15. byte[] a = BigInteger.valueOf(tupleCounter).toByteArray();
  16. Tuple tuple = new Tuple(fnl, fnl, fnl, a);
  17. tupleCounter++;
  18. bucket.setTuple(k, tuple);
  19. }
  20. }
  21. }
  22. BigInteger L = new BigInteger("0110011", 2);
  23. System.out.println(L.toString(2));
  24. Bucket[] pathBuckets = tree.getBucketsOnPath(L.longValue());
  25. for (int i = 0; i < pathBuckets.length; i++)
  26. System.out.println(pathBuckets[i]);
  27. }
  28. }