On 10/16/2016 12:52 PM, Christopher Kormanyos wrote:
I would like to further investigate your sqrt implementation.
It seems the link to the whitepaper for sqrt has broken over the years. I swear archive.org is the only thing keeping us from another dark age.
I found it again here: OK. Thank you. I will try to bench the iterative sqrt algorithm for,let's say, 32-bit signed fixed-point on a 32-bit microcontroller.If I get any sensible results compared with our polynomialapproximation, I will forward them to the thread. One disadvantage of polynomial approximation is digit lossdue to argument reduction. Iterative and CORDIC seem tonot suffer from this, and cam be good options. Thanks for the suggestions.
Two things of note: I'm pretty sure that sqrt is missing a bit of code to handle an odd number of fractional bits (I never used any types that had these but is probably important for a fully generic lib). I'm pretty sure there is a low hanging fruit optimization opportunity to use CLZ to skip a bunch of iterations before starting the loop.