Re: [PATCH 3/3] diff --stat: sometimes use non-linear scaling.
From: apodtele <hidden>
Date: 2016-06-15 22:42:43
Sublinear solution without patch is below. On Sept 28, 2006 Martin Waitz wrote:
On Wed, Sep 27, 2006 at 08:12:49AM -0700, Linus Torvalds wrote:quoted
No _way_ is it correct to show more than three characters if there were three lines of changes. I think "nonlinear" is fine, but this is something that is "superlinear" in small changes, and then sublinear in bigger ones (and then apparently totally wrong for one-line changes). It should at least never be superlinear, I believe.So if we want to keep the logarithmic scale we can do some maths: Assume we use a formula ala length = a log(change + b) + c
You are probably looking for much simpler, log-less, and pure integer:
length = width * change / (width + change) + 1
Assuming target witdth of 40, for example, it will produce
Change Length
1 1
2 2
3 3
4 4
10 9
20 14
30 18
50 23
100 29
1000 39
10000 40
1000000 40
--
Alexei