Ada Programming/Attributes/'Copy Sign
< Ada Programming < AttributesComputing » Computer Science » Computer Programming » Ada Programming

function S'Copy_Sign (Value, Sign : T) return T
Description
S'Copy_Sign(X, Y) is an Ada attribute where S is any floating-point type, and X and Y are any instance of that type. This attribute represents the floating point value with the magnitude of X and the sign of Y.
If the resulting value is outside the base range of S, a Constraint_Error exception is raised.
Example
X : Float := 1.5; Y : Float := -1.0; Z : Float := 1.0; pragma Assert (Float'Copy_Sign ( X, Y) = -1.5); -- OK pragma Assert (Float'Copy_Sign ( X, Z) = 1.5); -- OK pragma Assert (Float'Copy_Sign (-X, Z) = 1.5); -- OK pragma Assert (Float'Copy_Sign ( Y, Z) = -1.0); -- Wrong
See also
Wikibook
Ada Reference Manual
- A.5.3 Attributes of Floating Point Types (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.