René Scharfe [off-list ref] writes:
+static int similarity_index(struct diff_filepair *p)
+{
+ int result = p->score * 100.0 / MAX_SCORE;
Use floor(p->score ... MAX_SCORE) here: I don't think that C otherwise
specifies a preferred way of rounding on float->int conversions.
+ /* Paranoia: guard against floating point rounding errors. */
+ if (p->score == MAX_SCORE)
+ result = 100;
+ else if (result == 100)
+ result = 99;
Also, p->score itself must be calculated by truncating.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum