denormalized? (マクロ)
パッケージ: CURL.LANGUAGE.COMPILER

浮動小数点値が非正規化表現かどうかをテストします。

シグネチャ

{denormalized? value}:bool
value: 結果が浮動小数点値または数量となる式。

戻り値

値が非正規化表現を持つ場合、true を返します。

説明

value が数量の場合は、その単位は無視され、結果はその数量の既定表現の絶対値にのみに基づいて返されます。

0 でない有限値のみ非正規化できます。0 に極めて近い数を表す値は非正規化表現を持ち、正規化値に比べて少ない有効ビットで表現されます。

正規化と非正規化値を区別するのは、doublefloat の違いです。

fpclass および FloatingPointClass も参照してください。


例: denormalized? を各種の値と共に使用
{text
    {br} 3.0 is {denormalized? 3.0}
    {br} -1.0 / 0.0 is {denormalized? -1.0 / 0.0}
    {br} 0.0 / 0.0 is {denormalized? 0.0 / 0.0}
    {br} 0.0 is {denormalized? 0.0}
    {br} 1e-308 is {denormalized? 1e-307 / 10.0}
    {br} -1e-308 is {denormalized? 1e-307 / 10.0}
    {br} 1e-40 is {denormalized? 1e-40}
    {br} -1e-40 is {denormalized? -1e-40}
    {br} 1e-40f is {denormalized? 1e-40f}
    {br} -1e-40f is {denormalized? -1e-40f}
    {br} 1e20 is {denormalized? 1e20}
    {br} -1e20 is {denormalized? -1e20}
    {br} 1e20f is {denormalized? 1e20f}
    {br} -1e20f is {denormalized? -1e20f}
}