Messages in this thread | | | Date | Mon, 31 May 2004 14:12:53 -0600 | From | Michal Jaegermann <> | Subject | Re: How to use floating point in a module? |
| |
On Mon, May 31, 2004 at 01:44:40PM +0800, Ian Kent wrote: > > Why not scaled longs (or bigger), scalled to number of significant > digits. The Taylor series for the trig functions might be a painfull.
Taylor series usually are painful for anything you want to calculate by any practical means. Slow convergence but, for a change, quickly growing roundup errors and things like that. An importance and uses of Taylor series lie elsewhere.
OTOH polynomial approximations, or rational ones (after all division is quite quick on modern processors), can be fast and surprisingly precise; especially if you know bounds for your arguments and that that range is not too wide. Of course when doing that in a fixed point one needs to pay attention to possible overflows and structuring calculations to guard against a loss of precision is always a good idea.
My guess is that finding some fixed-point libraries, at least to use as a starting point, should be not too hard.
Michal - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |