Ada Programming/Attributes/'Rounding


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

Description

edit

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

Wikibook

edit

Ada Reference Manual

edit