text: public virtual void AddResult(int n, bool isRelevant, long docNameExtractTime){if (Math.Abs(numPoints + 1 - n) > 1E-6){throw new ArgumentException("point " + n + " illegal after " + numPoints + " points!");}if (isRelevant){numGoodPoints += 1;recallPoints.Add(new RecallPoint(n, numGoodPoints));if (recallPoints.Count == 1 && n <= 5){ mrr = 1.0 / n;}}numPoints = n;double p = numGoodPoints / numPoints;if (isRelevant){pReleventSum += p;}if (n < pAt.Length){pAt[n] = p;}recall = maxGoodPoints <= 0 ? p : numGoodPoints / maxGoodPoints;docNamesExtractTime += docNameExtractTime;}