> From: Scott Dattalo > On Thu, 6 Apr 2000, Gregg Lobdell 234-0884 wrote: > > I am looking for a PIC (16F84 or similar) assembler routine to compute > > arcsin with 32 bit floating point numbers. > > Since you've ruled out look up tables, then I won't bother refering you to my > web pages where there are solutions for sine, arcsine, arctan and sqrt. Instead > I'll ask why do you need 32 bit floating point results for something controlled > by a pic? What's your application? Application is a platform for astrophotography. Geometry of the platform induces a "tangent error" when driven at a constant rate. I want to use the PIC to vary the step interval to eliminate this source of error in the system. Actually, Scott, I did find your pages, and they were helpful, but I do need more precision. I've simulated it at multiple levels of precision (using higher level language) and I do need it. > From: Spehro Pefhany > > CORDIC algorithms (do a web search) would probably be the best choice > if you really need ~32 significant bits of result. > > If you have any application where the numbers have *physical* meaning, > it's unlikely you'd need more than a 16 segment/16 bit table that > might yield 12 or 13 bits of accuracy.(~0.02%). IMHO, of course. I did a web search, then a literature search. In the lit search I came across references to CORDIC, but forgot to back to the web and try it there. Thanks for the reminder, I found several good hits. I want to drive my platform a long time (1-2 hours) and the small steps (about 4/sec), the cumulative error is a killer without the higher precision. Remember 32 bit floats have 24 bits precision and 8 bits exponent. More comments on this topic welcome. Thanks, Gregg Lobdell Voice: 425-234-0884 Boeing Commercial Airplane Group Fax: 425-234-5775 Seattle, WA, USA InterNet: gml@ata.ca.boeing.com