Browse Prior Art Database

Evaluating Exponentials and Logarithms

IP.com Disclosure Number: IPCOM000087789D
Original Publication Date: 1977-Mar-01
Included in the Prior Art Database: 2005-Mar-03
Document File: 3 page(s) / 24K

Publishing Venue

IBM

Related People

Chen, TC: AUTHOR [+2]

Abstract

The invention relates to a method for the fast iterative evaluation of exponentials and logarithms of binary fractions.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Evaluating Exponentials and Logarithms

The invention relates to a method for the fast iterative evaluation of exponentials and logarithms of binary fractions.

As taught by [*], each iteration used only 2 adds, one shift, one table look-up, and cleared 2 fraction bits on the average. For an N-bit fraction, N = even, the table had (N/2) entries. When (N/2) leading bits of the fraction had been cleared, an "end play" based on a two-term Taylor expansion completed the evaluation. While this method was very effective on the average, the worst case was limited to clearing only one fraction bit per iteration.

The present technique is an improvement over the prior method. It yields a 50% speed-up of the worst case, without increasing the size of the table. The iteration logic is only slightly more complicated. Both the old and new methods compute: z = w exp x, x Epsilon (0, log(e) 2) or z' = w' + log x', x' Epsilon (1/2, 1) by setting x(o) = x, y(o) = w or x'(o) = x', y'(o) = w'.

The iteration in both approaches consists of transforming the number pairs (x(k), y(k)) to (x(k + 1), y(k + 1)) in the exponential case, such that on the average /x(k + 1)/ < x(k)/; (x'(k), y'(k)) to (x'(k + 1), y'(k + 1)) in the logarithm case, such that on the average /1-x'(k + 1)/ < /1-x'(k)/; yet z = y(k) exp x(k) = y(k + 1) exp x(k + 1) z = y'(k) + log(e) x'(k) - y'(k + 1) + log(e) x'(k + 1). For N-bit fractions, N = even, an "end-play" is invoked when /x(k)/< or = 2/-N/2/ /1 - x'(k)/ < or = 2/-N/2/ then z ~ y(k) + x(k)y(k) z' ~ y'(k) - 1 + x'(k) with error about half a unit in the last bit position.

The same iteration and end-play techniques apply when N = odd with slight redefinition of N.

The only differences between the new and old schemes lie in the nature of the transformation and the values of the table entries. In what follows, let the m- th bit to the right of the binary fraction be called bit m, and the triplet of bits with m = 3(j...