DocAda(tm) is a productivity tool of KSCE

Prev | Up | Next | Back | Forward
About DocAda Light: Preface / Preliminary / Help / TOC / Copyright
DocAda Online at the Ada Home: Complete RM95 / Updates / News

A.5.3 Attributes of Floating Point Types

Static Semantics

The following representation-oriented attributes are defined for every subtype S of a floating point type T.

S'Machine_Radix

The values of other representation-oriented attributes of a floating point subtype, and of the ``primitive function'' attributes of a floating point subtype described later, are defined in terms of a particular representation of nonzero values called the canonical form. The canonical form (for the type T) is the form

       +/-mantissa*T'Machine_Radix**exponent

where

S'Machine_Mantissa

S'Machine_Emin

S'Machine_Emax

S'Denorm

           +/-mantissa*T'Machine_Radix**T'Machine_Emin

The values described by the formula in the definition of S'Denorm are called denormalized numbers. A nonzero machine number that is not a denormalized number is a normalized number. A normalized number x of a given type T is said to be represented in canonical form when it is expressed in the canonical form (for the type T) with a mantissa having T'Machine_Mantissa digits; the resulting form is the canonical-form representation of x.

S'Machine_Rounds

S'Machine_Overflows

S'Signed_Zeros

For every value x of a floating point type T, the normalized exponent of x is defined as follows:

The following primitive function attributes are defined for any subtype S of a floating point type T.

S'Exponent

    
           function S'Exponent (X : T)
             return universal_integer

S'Fraction

    
           function S'Fraction (X : T)
             return T

S'Compose

    
           function S'Compose (Fraction : T;
                               Exponent : universal_integer)
             return T

S'Scaling

    
           function S'Scaling (X : T;
                               Adjustment : universal_integer)
             return T

S'Floor

    
           function S'Floor (X : T)
             return T

S'Ceiling

    
           function S'Ceiling (X : T)
             return T

S'Rounding

    
           function S'Rounding (X : T)
             return T

S'Unbiased_Rounding

    
           function S'Unbiased_Rounding (X : T)
             return T

S'Truncation

    
           function S'Truncation (X : T)
             return T

S'Remainder

    
           function S'Remainder (X, Y : T)
             return T

S'Adjacent

    
           function S'Adjacent (X, Towards : T)
             return T

S'Copy_Sign

    
           function S'Copy_Sign (Value, Sign : T)
             return T

S'Leading_Part

    
           function S'Leading_Part (X : T;
                                    Radix_Digits : universal_integer)
             return T

S'Machine

    
           function S'Machine (X : T)
             return T

The following model-oriented attributes are defined for any subtype S of a floating point type T.

S'Model_Mantissa

S'Model_Emin

S'Model_Epsilon

S'Model_Small

S'Model

    
           function S'Model (X : T)
             return T

S'Safe_First

S'Safe_Last

About DocAda Light: Preface / Preliminary / Help / TOC / Copyright
DocAda Online at the Ada Home: Complete RM95 / Updates / News
Prev | Up | Next | Back | Forward


Copyright © 1994-1997 by Kempe Software Capital Enterprises. All Rights Reserved. For comments on this DocAda(tm) hypertext document, please write to KSCE, at docada@ksce.com