Re: [PATCH 3/3] diff --stat: sometimes use non-linear scaling.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Sep 27, 2006, 05:09 UTC
- Message-ID
- <7vmz8lj3pl.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64N.0609262005150.520@attu4.cs.washington.edu>
David Rientjes <rientjes@cs.washington.edu> writes:
> Again with the constant placement in a comparison expression.
I won't comment on this one. See list archives ;-).
Show 19 quoted lines
>> if (max_change < width)
>> ;
>> + else if (non_linear_scale) {
>> + total = scale_non_linear(total, width, max_change);
>> + add = scale_linear(add, total, add + del);
>> + del = total - add;
>> + }
>> else {
>> total = scale_linear(total, width, max_change);
>> add = scale_linear(add, width, max_change);
>>
>
> if (...)
> ;
> else if {
> ...
> }
>
> is _never_ necessary.What's happening here in this particular case is:
if the changes fits within the alloted width
; /* we do not have to do anything */
else if we are using non-linear scale {
scale it like this
}
else {
scale it like that
}so the code actually matches the flow of thought perfectly well.
I first tried to write it without "if () ;/*empty*/ else" chain like this:
if given width is narrower than changes we have {
if we are doing non-linear scale {
scale it like this
}
else {
scale it like that
}
}It made the indentation unnecessarily deep.