tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: atan2 and sqrt --> in driver



ok will try approaches for sqrt and atan2.

txl

2008/12/9 Joerg Sonnenberger <joerg%britannica.bec.de@localhost>:
> On Tue, Dec 09, 2008 at 02:42:45PM -0500, der Mouse wrote:
>> >> The driver is for the wii-remote, so get 1 byte for x-, y- and
>> >> z-axis.  Based on this values I will calculate the
>> >> pitch = atan2(y, sqrt(x^2+z^2)) and yaw = atan2(z, sqrt(x^2+y^2))
>>
>> Why do these have to be done in the driver, rather than userland?
>
> Well, I think our wsmouse interface allows only absolute coordinates
> right now.
>
>> > Alternatively, just provide a data table, indexed by 0..255 x 0..255,
>> > with the second operand shifted and the sqrt computed in integer
>> > math.  Search wikipedia for easy algorithms to compute isqrt.
>>
>> Since sqrt isn't being used in full generality, but just for hypot(),
>> you could use a lookup table for that too.  Even with cache miss
>> effects I suspect it may be faster than integer square root code
>> (though I'd want to benchmark before saying anything definite).
>
> I wasn't thinking much about speed, just size. Computing integer square
> root is simple, atan2 likely is more involved.
>
> Joerg
>


Home | Main Index | Thread Index | Old Index