lkml.org 
[lkml]   [2004]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: How to use floating point in a module?
On Mon, May 31, 2004 at 02:12:53PM -0600, Michal Jaegermann wrote:
> 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.

It's also worth pointing out that there are other, much
faster-converging, polynomial series that can be used to approximate
trig functions. Chebyshev polynomials are, I believe, pretty
well-behaved. IIRC, they are what the Sinclair Spectrum used to use.

Hugo.

--
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
PGP key: 1C335860 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
--- Hey, Virtual Memory! Now I can have a *really big* ramdisk! ---
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 14:03    [W:0.055 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site