protected void Compute(double[] kappas, double[] variances)
{
this.EstimatedValues = kappas;
this.Variances = variances;
double num = 0;
for (int i = 0; i < kappas.Length; i++)
num += kappas[i] / variances[i];
double den = 0;
for (int i = 0; i < variances.Length; i++)
den += 1.0 / variances[i];
this.OverallKappa = num / den;
this.OverallVariance = den;
double chiSquare = 0;
for (int i = 0; i < kappas.Length; i++)
chiSquare += Math.Pow(kappas[i] - OverallKappa, 2) / variances[i];
int df = kappas.Length - 1;
base.Compute(chiSquare, df);
}