Claims
- 1. A digital computer for calculating the inverse I of a number D, comprising at least one processor including therein:
- means for conversion and standardization of the number D, as applicable, to binary form;
- a first memory forming an inverse table (T1) addressed as a function of n most significant bits of the number D and having an output Io,
- a second memory forming a divergence gradient table (T2) addressed as a function of the n most significant bits of the number D and having the output G.sub.o,
- a first multiplier circuit (M1) having an output S1 and an entry multiplier which receives at least m bits following the n most significant bits of D and Go,
- a third memory forming a correction table (T3), addressed as a function of the m bits following the n most significant bits of D and having an output (CBl,
- a fourth memory forming a scale table (T4) addressed as a function of the n most significant bits of the number D and having an output Hj,
- a second multiplier circuit (M2), the inputs of which receive the outputs CBl and Hj and which has an output Cjl, and
- an adder (A1 and A2) having three inputs connected to receive the outputs Io, S1 and Cjl, and having an output I2.
- 2. The computer of claim 1, characterized in that it further includes means for performing a programmed iteration by Newton's method on the basis of the value I2.
- 3. The computer of claim 2, characterized in that the dimensions Io, Go, S1, I1 and I2 are equal to n+m+g, with g.gtoreq.0.
- 4. The computer of claim 3, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 5. The computer of claim 2, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 6. The computer of claim 1 further including means for working the table T2, the multiplier M1 and the adder (A1, A2) on signed operands.
- 7. The computer of claim 6, characterized in that the dimensions Io, Go, S1, I1 and I2 are equal to n+m+g, with g.gtoreq.0.
- 8. The computer of claim 7, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 9. The computer of claim 6, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 10. The computer of claim 1 further including means for working the table T2, the multiplier M1 and the adder (A1, A2) on signed operands.
- 11. The computer of claim 10, characterized in that the dimensions Io, Go, S1, I1 and I2 are equal to n+m+g, with g.gtoreq.0.
- 12. The computer of claim 11, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 13. The computer of claim 10, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 14. The computer of claim 1, characterized in that the dimensions Io, Go, S1, I1 and I2 are equal to n+m+g, with g.gtoreq.0.
- 15. The computer of claim 14, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 16. The computer of claim 1, characterized in that the table T3 includes 2.sup.m entries, with m.gtoreq.n+2.
- 17. The computer of claim 1 wherein at least one of said first, second, third and fourth memories is a read only memory (ROM).
- 18. The computer of claim 1 wherein at least one of said first, second, third and fourth memories is a programmable read only memory (PROM).
- 19. Device for calculating the inverse I of a binary number D having a decimal value less than 1 and greater than or equal to 0.5 including:
- (a) memory (14, 16, 18, 20) containing first, second, third and fourth tables (T1, T2, T3, T4),
- (b) first means for searching in said first table (T1) for a first approximation Io of the inverse of the number D, on the basis of n first most significant bits of D corresponding to an input value Xj-1/2+(J.times.2.sup.-n), where j is an integer from 0 to 2.sup.n-1 -1,
- (c) second means for searching in said second table (T2) for the inverse divergence gradient Go=.DELTA.Io/i in the interval ij equals Xj to ((Xj)+i) framing the value D, with i=2.sup.-n,
- (d) means (M1, A1) for calculating a second value I1 =Io+(d.times.Go), where d=D-Xj and Go is entered as an algebraic value,
- (e) third means for searching in said third table (T3), on the basis of d, for a pre-established basic correction value CBl representing the divergence E=I1 in a basic interval iB equals Xjb to ((Xjb)+i), where jb is a particular value of j,
- (f) fourth means for searching in said fourth table (T4) for a scale factor Hj on the basis of Xj,
- (g) means (M2) for determining a correction value Cjl=CBl.times.Hj, and
- (h) means (A2) for determining a third approximation I2=I1+Cjl, and
- wherein said memory includes programmable read only memory.
- 20. A method, in a digital computer having memory having first, second, third, and fourth memory zones wherein the memory contents cannot normally be changed, for calculating the inverse I of a number D, including the following operations:
- (a) converting and standardizing the number D, as applicable, to binary form;
- (b) searching in an inverse table T1 in said first memory zone for a first approximation Io of the inverse of the number D, on the basis of n first most significant bits of D corresponding to an input value xj-1/2+(J.times.2.sup.-n), where j is an integer from 0 to 2.sup.n-1 -1,
- (c) searching in a divergence table T2 in said second memory zone for the inverse divergence gradient Go-.DELTA.Io/i in the interval ij=((Xj), ((Xj)+i)) framing the value D, with i-2.sup.-n,
- (d) by linear approximation, determining a second value I1 by using the algorithm I1=Io+(d.times.Go), where d=D-Xj and Go is entered as an algebraic value,
- (e) searching in a correction table T3 in said third memory zone, on the basis of d, for a pre-established basic correction value CBl, representing the divergence E-I-I1 in the basic interval iB-((xjB), ((XjB)+i)),
- (f) searching in a scale table T4 in said fourth memory zone for a scale factor Hj on the basis of Xj,
- (g) determining a correction value Cjl-CBl.times.Hj, and
- (h) determining a third approximation I2-I1+Cjl and
- wherein each of said first, second, third, and fourth memory zones are programmable read only memory locations.
- 21. A digital computer for calculating the inverse I of a number D, comprising at least one processor including therein:
- means for conversion and standardization of the number D, as applicable, to binary form;
- a memory having first, second, third, and fourth memory zones;
- said first memory zone forming an inverse table (T1) addressed as a function of n most significant bits of the number D and having an output Io,
- said second memory zone forming a divergence gradient table (T2) addressed as a function of the n most significant bits of the number D and having the output Go;
- multiplier circuitry (M1, M2) having an output S1 and an entry multiplier which receives at least m bits following the n most significant bits of D and Go;
- said third memory zone forming a correction table (T3) addressed as a function of the m bits following the n most significant bits of D and having an output CBl;
- said fourth memory zone forming a scale table (T4) addressed as a function of the n most significant bits of the number D and having an output Hj;
- said multiplier circuitry (M1, M2) further having inputs receiving the outputs CBl and Hj, said multiplier circuitry further having an output Cjl; and
- an adder (A1, A2) having three inputs connected to receive the outputs Io, S1, and Cjl, and having an output I2.
- 22. Device for calculating the inverse I of a binary number D having a decimal value less than 1 and greater than or equal to 0.5, including:
- (a) memory (14, 16, 18, 20) containing first, second, third and fourth tables (T1, T2, T3, T4),
- (b) first means for searching in said first table (T1) for a first approximation Io of the inverse of the number D, on the basis of n first most significant bits of D corresponding to an input value Xj-1/2+(J.times.2.sup.-n), where j is an integer from 0 to 2.sup.n-1 -1,
- (c) second means for searching in said second table (T2) for the inverse divergence gradient Go=.DELTA.Io/i in the interval ij equals Xj to ((Xj) +i) framing the value D, with i=2.sup.-n,
- (d) calculation circuitry (M1, M2, A1, A2) for calculating a second value I1=Io+(d.times.Go), where d=D-Xj and Go is entered as an algebraic value, said calculation circuitry including multiplier circuitry and an adder,
- (e) third means for searching in said third table (T3), on the basis of d, for a pre-established basic correction value CBl representing the divergence E=I-I1 in a basic interval iB equals Xjb to ((Xjb)+i), where jb is a particular value of j,
- (f) fourth means for searching in said fourth table (T4) for a scale factor Hj on the basis of Xj, and wherein said calculation circuitry determines a correction value Cjl equals Cbl.times.Hj and determines a third approximation I2=I1 +Cjl.
- 23. The device of claim 22 wherein said memory has contents which cannot normally be changed and wherein said memory includes a hardware memory element.
Priority Claims (1)
Number |
Date |
Country |
Kind |
90 03605 |
Mar 1990 |
FRX |
|
Parent Case Info
This is a continuation of application Ser. No. 672,085, filed Mar. 19, 1991, now abandoned.
US Referenced Citations (6)
Foreign Referenced Citations (1)
Number |
Date |
Country |
0149248 |
Sep 1985 |
EPX |
Non-Patent Literature Citations (1)
Entry |
IBM Technical Disclosure Bulletin, vol. 26, No. 3B, Aug. 1983, pp. 1537-1539, NY, C. Galano, "Fast Division". |
Continuations (1)
|
Number |
Date |
Country |
Parent |
672085 |
Mar 1991 |
|