Hough probability maths (hough.cpp)

Hi all, while looking at the code for probabilistic hough for uni, I came across a section of the code that doesnt make sense with no explanation.

Within hough.cpp (found through github: opencv/hough.cpp at master · opencv/opencv · GitHub) , on line 567, after calculating rho using the polar coordinate formula, the code then adds “(numrho - 1) / 2” to the already calculated rho

surely this is adding extra value to the pre-calculated distance value and shouldnt be needed within this process. can anyone explain why this calculation happens?

any help would be greatly appreciated

r += (numrho - 1) / 2; it prevents negative value of r.