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; }; }
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; }; }
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; }; }