svoid video_scoreRectAndState(Scorer scorer, Rect expected, S expectedState, RectAndState guessed, double tolerance) { if ((guessed == null) != (expected == null)) ret with scorer.addError(); if (expected == null) ret with scorer.addOK(); scorer.addZeroToOneError(doubleAverage( ptDistance(rectCenter(guessed.r), rectCenter(expected)), abs(guessed.r.w-expected.w), abs(guessed.r.h-expected.h))/tolerance); scorer.add(eqic(expectedState, guessed.state)); }