[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] [#167 Infinite Floats Domain] ??? FLOAT

From: Bill Page
Subject: [Axiom-developer] [#167 Infinite Floats Domain] ??? FLOAT
Date: Sun, 12 Jun 2005 14:27:00 -0500


What is the domain FLOAT if not already "infinite but bounded
length"? I thought that FLOAT has internal representation based
on a pair of "infinite but bounder length" INT's.

>From 'float.spad.pamphlet' I read::

  )abbrev domain FLOAT Float

  B ==> Boolean
  I ==> Integer
  S ==> String
  PI ==> PositiveInteger
  RN ==> Fraction Integer
  SF ==> DoubleFloat
  N ==> NonNegativeInteger

  ++ Author: Michael Monagan
  ++ Date Created:
  ++   December 1987
  ++ Change History:
  ++   19 Jun 1990
  ++ Basic Operations: outputFloating, outputFixed, outputGeneral, 
  ++   atan, convert, exp1, log2, log10, normalize, rationalApproximation,
  ++   relerror, shift, / , **
  ++ Keywords: float, floating point, number
  ++ Description: \spadtype{Float} implements arbitrary precision floating
  ++ point arithmetic.
  ++ The number of significant digits of each operation can be set
  ++ to an arbitrary value (the default is 20 decimal digits).
  ++ The underlying representation for floats is binary
  ++ not decimal. The implications of this are described below.
  ++ The model adopted is that arithmetic operations are rounded to
  ++ to nearest unit in the last place, that is, accurate to within
  ++ \spad{2**(-\spadfunFrom{bits}{FloatingPointSystem})}.
  ++ Also, the elementary functions and constants are
  ++ accurate to one unit in the last place.
  ++ A float is represented as a record of two integers, the mantissa
  ++ and the exponent.  The \spadfunFrom{base}{FloatingPointSystem}
  ++ of the representation is binary, hence
  ++ a \spad{Record(m:mantissa,e:exponent)} represents the number \spad{m * 2 
** e
  Rep := Record( mantissa:I, exponent:I )

forwarded from

reply via email to

[Prev in Thread] Current Thread [Next in Thread]