natix.CompactDS.WTM.Build C# (CSharp) Method

Build() public method

public Build ( IList text, int alphabet_size, ISymbolCoder symbol_split = null, SequenceBuilder seq_builder = null ) : void
text IList
alphabet_size int
symbol_split ISymbolCoder
seq_builder SequenceBuilder
return void
        public void Build(IList<int> text, int alphabet_size, ISymbolCoder symbol_split = null, SequenceBuilder seq_builder = null)
        {
            if (symbol_split == null) {
                symbol_split = new EqualSizeCoder(4, alphabet_size-1);
            }
            this.SymbolCoder = symbol_split;
            var list = this.SymbolCoder.Encode(0, null);
            var numbits = list[0].numbits;
            var arity = (short)(1 << numbits);
            this.Alphabet = new WTM_Leaf[alphabet_size];
            this.Root = new WTM_Inner (arity, null, true);
            for (int i = 0; i < text.Count; i++) {
                this.Add (text [i], list);
            }
            if (seq_builder == null) {
                seq_builder = SequenceBuilders.GetSeqPlain(arity);
            }
            this.FinishBuild (this.Root, seq_builder, arity);
        }

Usage Example

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;
     };
 }
All Usage Examples Of natix.CompactDS.WTM::Build