Ada Programming/Attributes/'Unbiased Rounding
< Ada Programming < AttributesComputing » Computer Science » Computer Programming » Ada Programming

Description
X'Unbiased_Rounding(Y) is an Ada attribute where X is any floating-point type and Y is any instance of that type. This attribute represents the closest integer value to Y. If Y is exactly between two integer values (e.g. 1.5), then the result is the even value (e.g. 2.0).
Example
X : Float := 1.5; Y : Float := 1.0; Z : Float := 1.999; ... pragma Assert(Float'Unbiased_Rounding(X) = 2.0); -- OK pragma Assert(Float'Unbiased_Rounding(Y) = 1.0); -- OK pragma Assert(Float'Unbiased_Rounding(Z) = 2.0); -- OK pragma Assert(Float'Unbiased_Rounding(X) = 1.0); -- Wrong ... X := 2.5; pragma Assert(Float'Unbiased_Rounding(X) = 2.0 ); -- OK pragma Assert(Float'Unbiased_Rounding(X) = 3.0 ); -- Wrong
See also
Wikibook
- Ada Programming
- Ada Programming/Attributes
- Ada Programming/Attributes/'Ceiling
- Ada Programming/Attributes/'Floor
- Ada Programming/Attributes/'Rounding
Ada Reference Manual
- 13.3 Operational and Representation Attributes (Annotated)
- Annex K Language-Defined Attributes (Annotated)
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.