|Re: High Precision Arithmetic Benchmarks firstname.lastname@example.org (1996-07-28)|
|Re: High Precision Arithmetic Benchmarks email@example.com (1996-07-31)|
|Re: High Precision Arithmetic Benchmarks Terje.Mathisen@hda.hydro.com (Terje Mathisen) (1996-07-31)|
|Re: High Precision Arithmetic Benchmarks firstname.lastname@example.org (Joe Keane) (1996-08-04)|
|From:||email@example.com (Henry Baker)|
|Date:||31 Jul 1996 19:18:57 -0400|
firstname.lastname@example.org (Andy Glew) wrote:
> Certainly, bignum add looks easy. The key is using arrays, not
> pointers, and declarations that are relatively easy to disambiguate.
There are quite a few algorithms which use 'bignums', but for which the
distribution of sizes of integers fall off so quickly that pointer
arithmetic is to be preferred to array/vector arithmetic. In these
algorithms, if you want to get fast execution, you have to make sure that
the most common case -- single precision -- is handled as fast as possible,
but allow a graceful overflow into multiple precision arithmetic.
This is one of the reasons for the Lisp Machine's emphasis on 'immediate'
integers and floats, which did no storage allocation, but which allowed for
a graceful fallback to a representation involving 'lists' of big digits.
As has been suggested quite a number of times since IEEE floating point
representation was defined, one could do the same thing with 'Not-a-Numbers',
which would encode pointers to where the real information was being stored.
Return to the
Search the comp.compilers archives again.