public virtual Number ComputeNumber(Context context)
        {
            var    numberDistribution = mNumberModel.NumberDistribution(context);
            Number number;

            if (numberDistribution[mNumberModel.SingularIndex] > mMinimumNumberProbability)
            {
                number = new Number(NumberEnum.Singular, numberDistribution[mNumberModel.SingularIndex]);
            }
            else if (numberDistribution[mNumberModel.PluralIndex] > mMinimumNumberProbability)
            {
                number = new Number(NumberEnum.Plural, numberDistribution[mNumberModel.PluralIndex]);
            }
            else
            {
                number = new Number(NumberEnum.Unknown, mMinimumNumberProbability);
            }
            return(number);
        }
        public virtual Number ComputeNumber(Context context)
        {
            double[] numberDistribution = mNumberModel.NumberDistribution(context);
            Number   number;

            //System.err.println("MaxentCompatibiltyResolver.computeNumber: "+c+" sing="+dist[numModel.getSingularIndex()]+" plural="+dist[numModel.getPluralIndex()]);
            if (numberDistribution[mNumberModel.SingularIndex] > mMinimumNumberProbability)
            {
                number = new Number(NumberEnum.Singular, numberDistribution[mNumberModel.SingularIndex]);
            }
            else if (numberDistribution[mNumberModel.PluralIndex] > mMinimumNumberProbability)
            {
                number = new Number(NumberEnum.Plural, numberDistribution[mNumberModel.PluralIndex]);
            }
            else
            {
                number = new Number(NumberEnum.Unknown, mMinimumNumberProbability);
            }
            return(number);
        }