package org.rdfhdt.hdt.compact.array; import java.io.FileOutputStream; import org.rdfhdt.hdt.compact.sequence.SequenceLog64; import org.rdfhdt.hdt.util.BitUtil; public class LogArray64Dump { private static long calculate(long bits, long n) { return ((bits*n+7)/8); } /** * @param args * @throws Throwable */ public static void main(String[] args) throws Throwable { int num = 100; System.out.println("Bits: "+BitUtil.log2(num)+" Num: "+num); SequenceLog64 arr = new SequenceLog64(BitUtil.log2(num), num); for(int i=0;i<num;i++) { arr.append(i); } FileOutputStream out = new FileOutputStream("logarr2.bin"); arr.save(out, null); out.close(); for(int i=0;i<num;i++) { System.out.println(arr.get(i)); } int bits = 7; for(int i=0;i<100;i++) { System.out.println(i+" values of "+ bits+" bits: "+ calculate(bits,i)+" bytes Total bits: "+ (bits*i) + " Bytes: "+ (bits*i)/8+ " Remaind: "+(bits*i)%8); } } }