146147148149150151152153154155156
} // code and decode dos ids public BitArray encode(BitArray bt) { if (bt == null) { bt = new BitArray(); } if (this.isLeaf && this.value == 0) {//System.out.println("id enc a1"); bt.addbits(0, 3); } else if (this.isLeaf && this.value == 1) {//System.out.println("id enc a2");
167168169170171172173174175176177
return -1; } public char[] Encode() { BitArray bt = new BitArray(); bt = this.id.encode(bt); bt = this.event.encode(bt); return bt.getBits(); }
175176177178179180181182183184185
return bt.getBits(); } public void Decode(char[] bits) { BitArray bt = new BitArray(); bt.setBits(bits); this.id.decode(bt); this.event.decode(bt); }
238239240241242243244245246247248
char[] ecode = new char[elen]; System.arraycopy(array, 0, icode, 0, ilen); System.arraycopy(array, ilen, ecode, 0, elen); BitArray bi = new BitArray(icode); BitArray be = new BitArray(ecode); this.id.decode(bi); this.event.decode(be); }
179180181182183184185186187188189
return false; } public BitArray encode(BitArray bt) { if (bt == null) { bt = new BitArray(); } if (this.isLeaf) { bt.addbits(1, 1);//printf("g\n"); enc_n(bt, this.value, 2);