public virtual Edu.Stanford.Nlp.IE.Crf.FloatFactorTable SumOutEnd()
 {
     Edu.Stanford.Nlp.IE.Crf.FloatFactorTable ft = new Edu.Stanford.Nlp.IE.Crf.FloatFactorTable(numClasses, windowSize - 1);
     for (int i = 0; i < table.Length; i++)
     {
         ft.LogIncrementValue(i / numClasses, table[i]);
     }
     return(ft);
 }
        public virtual Edu.Stanford.Nlp.IE.Crf.FloatFactorTable SumOutFront()
        {
            Edu.Stanford.Nlp.IE.Crf.FloatFactorTable ft = new Edu.Stanford.Nlp.IE.Crf.FloatFactorTable(numClasses, windowSize - 1);
            int mod = SloppyMath.IntPow(numClasses, windowSize - 1);

            for (int i = 0; i < table.Length; i++)
            {
                ft.LogIncrementValue(i % mod, table[i]);
            }
            return(ft);
        }