On Mon, 14 Feb 2005 22:05:37 +0100, Lourens Veen <[EMAIL PROTECTED]> wrote: > On Saturday 12 February 2005 17:10, Timothy Miller wrote: > > I know some analysis has been done regarding the nonlinearity of the > > reciprocal. There are going to be parts of the spectrum where lower > > bits make a big difference, and there'll be parts where many inputs > > map to the same output. > > Well, the derivative varies between -2.0 and -0.5. So in the beginning, an > input change of 1 will give an output change of 2 (making an extra bit not > that useful), and at the end of the range, an input change of 1 wil give an > output change of 0.5 (making an extra bit nice). Of course, in the first > part, the results are large, and in the second part they are smaller. We > could try and shift the value by one halfway through. In other words, we'd > have a 19-bit value in the table, and store the topmost 18 bits for the top > half, and the bottom 18 bits for the lower half of the table. Actually, the > MSB is zero anyway for the bottom half of the table. Total cost one extra > MUX, or am I missing something?
This is the sort of thing I had in mind. > On the other hand, if the input value is 16 bit, then we only need 17 bits > output to get this gain, and we can probably do that with 18 bit table values > anyway. > > > I'm wondering if we can't do some math on > > some of the upper bits... or use a priority encoder to determine the > > highest or lowest 1-bit of the mantissa. We can find some way to > > reverse the nonlinearity and distribute values in the table more to > > our advantage. > > Well, if we use 1/x as the key instead of x, then the table will be > linear ;-). Damn, why didn't I think of that! :) _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
