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

**To**:**tech-kern%NetBSD.org@localhost****Subject**:**Re: atan2 and sqrt --> in driver****From**:**Joerg Sonnenberger <joerg%britannica.bec.de@localhost>**- Date: Tue, 9 Dec 2008 20:54:25 +0100

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

**Follow-Ups**:**Re: atan2 and sqrt --> in driver***From:*Robert Fritzsche

**References**:**atan2 and sqrt --> in driver***From:*Robert Fritzsche

**Re: atan2 and sqrt --> in driver***From:*Ignatios Souvatzis

**Re: atan2 and sqrt --> in driver***From:*Robert Fritzsche

**Re: atan2 and sqrt --> in driver***From:*Joerg Sonnenberger

**Re: atan2 and sqrt --> in driver***From:*der Mouse

- Prev by Date:
**Re: Proposal: B_ARRIER (addresses wapbl performance?)** - Next by Date:
**Re: Proposal: B_ARRIER (addresses wapbl performance?)** - Previous by Thread:
**Re: atan2 and sqrt --> in driver** - Next by Thread:
**Re: atan2 and sqrt --> in driver** - Indexes: