public void addResult(int n, boolean isRelevant, long docNameExtractTime) {if (Math.abs(numPoints+1 - n) > 1E-6) {throw new IllegalArgumentException("point "+n+" illegal after "+numPoints+" points!");}if (isRelevant) {numGoodPoints+=1;recallPoints.add(new RecallPoint(n,numGoodPoints));if (recallPoints.size()==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;}

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;}
