A multiary wavelet tree (implementation with pointers/references)
Inheritance: Sequence
Example #1
0
 public static SequenceBuilder GetWTM( ISymbolCoder symcoder = null, SequenceBuilder seq_builder = null)
 {
     return delegate (IList<int> seq, int sigma) {
         var wt = new WTM();
         wt.Build(seq, sigma, symcoder, seq_builder);
         return wt;
     };
 }
Example #2
0
 public static SequenceBuilder GetWTM_TopKFreqCoder(byte bits_per_code, int K, SequenceBuilder seq_builder = null)
 {
     return delegate (IList<int> seq, int sigma) {
         var wt = new WTM();
         TopKFreqCoder symcoder;
         var __coder = new EqualSizeCoder(bits_per_code, sigma - 1);
         var freqs = new int[sigma];
         for (int i = 0; i < seq.Count; ++i) {
             freqs[seq[i]]++;
         }
         symcoder = new TopKFreqCoder(K, freqs, __coder);
         wt.Build(seq, sigma, symcoder, seq_builder);
         return wt;
     };
 }
Example #3
0
 public static SequenceBuilder GetWTM(byte bits_per_code, SequenceBuilder seq_builder = null)
 {
     return delegate (IList<int> seq, int sigma) {
         var wt = new WTM();
         var symcoder = new EqualSizeCoder(bits_per_code, sigma - 1);
         wt.Build(seq, sigma, symcoder, seq_builder);
         return wt;
     };
 }