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

浮動小数点値が正規化表現になっているかどうかをテストします。

シグネチャ

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

戻り値

値が正規化表現の場合は true を返します。

説明

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

正規化できるのは、有限の 0 以外の値だけです。限りなく 0 に近い数を表す値は、非正規化表現を持ち、正規化された値より少ない有効ビットで表現されます。

正規化された値と非正規化された値の境界は、doublefloat の場合とは異なります。

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


例: さまざまな値での normalized? の使用
{text
    {br} 3.0 is {normalized? 3.0}
    {br} -1.0 / 0.0 is {normalized? -1.0 / 0.0}
    {br} 0.0 / 0.0 is {normalized? 0.0 / 0.0}
    {br} 0.0 is {normalized? 0.0}
    {br} 1e-308 is {normalized? 1e-307 / 10.0}
    {br} -1e-308 is {normalized? 1e-307 / 10.0}
    {br} 1e-40 is {normalized? 1e-40}
    {br} -1e-40 is {normalized? -1e-40}
    {br} 1e-40f is {normalized? 1e-40f}
    {br} -1e-40f is {normalized? -1e-40f}
    {br} 1e20 is {normalized? 1e20}
    {br} -1e20 is {normalized? -1e20}
    {br} 1e20f is {normalized? 1e20f}
    {br} -1e20f is {normalized? -1e20f}
}