floating point calculations.

What are these "trivial" steps?

The Taylor series for 1/x is 1/x. How does that help?

Reply to
Everett M. Greene
Loading thread data ...

Elementary school algorithm. Each step consists of compare/subtract and shift.

:))))))))

1

------ = 1 + x + x^2 + x^3 .... 1 - x

A lot. The whole series can be computed in parallel in one step.

Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

I'm a little fuzzy on this. How exactly do you perform multiple steps in parallel if each step requires the result of the previous step to evaluate the comparison? By the fourth step there are eight conditions that have to be evaluated. For a 24 bit mantissa how many bits are evaluated at once typically? How does this run as fast as a multiply?

Maybe the topic changed, but the original discussion was about software floating point. Grant Edwards said that his measurements of a software library gave equal timing results for multiply and divide. I was simply describing the algorithm used in hardware to explain why division was much slower in that case. I don't see how any of these methods would be any faster, and in fact I expect them to be slower than Newton Raphson iteration.

Yes, this can, in theory, be computed in one step. When working with

32 bit floating point, just how many elements of this series does it take to get a reasonable accuracy and how much logic does it take to perform all those calculations?

Here is an interesting paper I found.

formatting link

Rick

Reply to
rickman

Correct, but you said several can be computed at once. I took that to mean that several bits of the division could be done at once. Perhaps you meant that all the operations for one bit position can be performed at one time.

Only if 0 >= x < 1 and you put some minus signs in the expression

Reply to
Everett M. Greene

/x

Actually, this discussion has become more than academic. I am estimating a job that will be using floating point in an FPGA. I have found three open source floating point packages. Over the next few days/weeks I will be digging into this.

Rick

Reply to
rickman

I haven't been following this side-thread and if I'm speaking out of turn, I apologize. But I remember that Bipolar Integrated Technology (Beaverton, Oregon) had developed a combinatorial floating point divider. A designer I worked with on a project, in fact, used the parts for a board he designed then and that's how he described the chip to me. I can't speak for support on the QNaNs and so on, though.

Jon

Reply to
Jon Kirwan

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.