Ada Programming/Attributes/'Rounding

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

Description[edit | edit source]

X'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 number farthest away from zero (e.g. 1.5 => 2.0, -1.5 => -2.0).

Example[edit | edit source]

W : Float := -1.5;
X : Float :=  1.5;
Y : Float :=  1.0;
Z : Float :=  1.999;
...
pragma Assert (Float'Rounding(W) = -2.0); -- OK 
pragma Assert (Float'Rounding(X) =  2.0); -- OK
pragma Assert (Float'Rounding(Y) =  1.0); -- OK
pragma Assert (Float'Rounding(Z) =  2.0); -- OK
pragma Assert (Float'Rounding(W) = -1.0); -- Wrong
pragma Assert (Float'Rounding(X) =  1.0); -- Wrong

See also[edit | edit source]

Wikibook[edit | edit source]

Ada Reference Manual[edit | edit source]