跳转到内容

Ada 编程/属性/'Copy Sign

来自 Wikibooks,开放世界中的开放书籍

Ada. Time-tested, safe and secure.
Ada. 经久考验,安全可靠。
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);   -- 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

另请参阅

[编辑 | 编辑源代码]

维基教科书

[编辑 | 编辑源代码]

Ada 参考手册

[编辑 | 编辑源代码]
华夏公益教科书