From: David Kastrup Date: Mon, 25 Jun 2007 05:08:54 GMT Subject: Re: [PATCH] diff: round down similarity index Message-ID: <85y7i8boyh.fsf@lola.goethe.zz> In-Reply-To: <467EEEE6.3090100@lsrfire.ath.cx> René Scharfe 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