Ada 编程/属性/'Copy Sign
外观
function
S'Copy_Sign (Value, Sign : T)return
T
S'Copy_Sign(X, Y) 是一个 Ada 属性,其中 S 是任何浮点类型,X 和 Y 是该类型的任何实例。此属性表示具有 X 的幅度和 Y 的符号的浮点值。
如果结果值超出 S 的基范围,则会引发 Constraint_Error 异常。
X : Float := 1.5; Y : Float := -1.0; Z : Float := 1.0;pragma
Assert (Float'Copy_Sign ( X, Y) = -1.5); -- OKpragma
Assert (Float'Copy_Sign ( X, Z) = 1.5); -- OKpragma
Assert (Float'Copy_Sign (-X, Z) = 1.5); -- OKpragma
Assert (Float'Copy_Sign ( Y, Z) = -1.0); -- Wrong