protected override double Evaluate(double[] values)
 {
     if (values.Length < 1)
     {
         throw new EvaluationException(ErrorEval.DIV_ZERO);
     }
     return(StatsLib.stdev(values));
 }
        protected override double Evaluate(double[] ops)
        {
            if (ops.Length < 2)
            {
                throw new EvaluationException(ErrorEval.NUM_ERROR);
            }
            double[] values = new double[ops.Length - 1];
            int      k      = (int)ops[ops.Length - 1];

            System.Array.Copy(ops, 0, values, 0, values.Length);
            return(StatsLib.kthSmallest(values, k));
        }
 protected override double Evaluate(double[] values)
 {
     return(StatsLib.median(values));
 }
 protected override double Evaluate(double[] values)
 {
     return(StatsLib.devsq(values));
 }