Ada Conformity Assessment Authority |
Home |
Conformity Assessment | Test Suite |
ARG | Ada Standard |

The following attribute
is defined for every floating point subtype S:

S'Digits

{*8652/0004*}
{*AI95-00203-01*}
S'Digits denotes the requested decimal precision for the subtype S. The
value of this attribute is of the type *universal_integer*. The
requested decimal precision of the base subtype of a floating point type
*T* is defined to be the largest value of *d* for which

ceiling(*d* * log(10) / log(T'Machine_Radix)) + *g* <= T'Model_Mantissa

where g is 0 if Machine_Radix is a positive power of 10 and 1 otherwise.

ceiling(

where g is 0 if Machine_Radix is a positive power of 10 and 1 otherwise.

NOTE 1 The predefined
operations of a floating point type include the assignment operation,
qualification, the membership tests, and explicit conversion to and from
other numeric types. They also include the relational operators and the
following predefined arithmetic operators: the binary and unary adding
operators – and +, certain multiplying operators, the unary operator
**abs**, and the exponentiation operator.

NOTE 2 As for all types, objects
of a floating point type have Size and Address attributes (see 13.3).
Other attributes of floating point types are defined in A.5.3.

{*8652/0004*}
{*AI95-00203-01*}
**Corrigendum:** Corrected the formula for Digits when the Machine_Radix
is 10.

Ada 2005 and 2012 Editions sponsored in part by **Ada-Europe**