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

S'Digits

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.

NOTES

42 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.

43 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.

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