Example #1
0
        public static uint Create <SYMBOL_ENUM>(params SYMBOL_ENUM[] ss) where SYMBOL_ENUM : struct
        {
            uint chunk = 0;

            for (int i = 0; i < ss.Length; ++i)
            {
                SymbolChunkTraits.Add(ref chunk, ss[i]);
            }
            return(chunk);
        }
Example #2
0
 public static IEnumerable <uint> MultiConcat <SYMBOL_ENUM>(uint chunk,
                                                            SymbolChunkSet <SYMBOL_ENUM> tailSet,
                                                            int limitLength)
     where SYMBOL_ENUM : struct
 {
     if (SymbolChunkTraits.Count(chunk) >= limitLength)
     {
         yield return(SymbolChunkTraits.GetFirsts(chunk, limitLength));
     }
     else
     {
         foreach (uint tail_chunk in tailSet.Chunks)
         {
             yield return(SymbolChunkTraits.Concat(chunk, tail_chunk, limitLength));
         }
     }
 }