[dsdl-discuss] Numeric precision

From: Martin Bryan <mtbryan@sgml.u-net.com>
Date: Mon Feb 03 2003 - 16:35:12 UTC

Rick's unnamed correspondent suggested:

>The current botch whereby ints and floats are incommensurable should be
replaced by the well-thought-out Scheme numeric tower, which looks like
this:

Number
Exact Inexact
ExactComplex InexactComplex
ExactReal InexactReal
ExactRational InexactRational
ExactInteger InexactInteger

>Of course the existing range-control facets would remain. Note that
the tower is a strict subsetting relationship: an exact 5 is all of
ExactInteger, ExactRational, ExactReal, ExactComplex, Exact, Number.
This is utterly independent of representation, so 5/3 is an ExactRational
and so is 7.2.

While I accept the concept I am not sure about the use of the term Exact.
What is the exact value of pi or 1/3? ISO 11404 introduces Exact and
Approximate as Datatype Properties, rather than as datatypes. The other
distinction made is "level of precision" which is really a misnomer for
"limits of permitted values". A third distinction needs to be made between
signed and unsigned values.

What we end up with is a set of nested subsets of values:
   Number
     Complex number
         Real number
             Rational number
                 Integer

for which the following qualification properties:
    Min. precision/Max. precision
       (where precision is expressed in number of bytes of data
        required to hold minumum/maximum permitted value)
    Signed/Unsigned
      (whether or not the first bit of the first byte identifies its sign)
    Accurate/Approximate
      (whether or not a larger number of bytes should be used
       when calculating values, or whether rounding should be used
       to keep values within the precision bounds)

Martin Bryan
IS-Thought: Thinkers for the Information Society
29 Oldbury Orchard, Churchdown, Glos. GL3 2PU, UK
Phone/Fax: 01452 714029 E-mail: martin@is-thought.co.uk

Thought of the week:
The past provides facts, the future provides intentions:
only the present provides actions.

--
DSDL members discussion list
To unsubscribe, please send a message with the
command  "unsubscribe" to dsdl-discuss-request@dsdl.org
(mailto:dsdl-discuss-request@dsdl.org?Subject=unsubscribe)
Received on Mon Feb 3 17:39:23 2003

This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:27 UTC