Instance Property インスタンスプロパティ

isCanonical

A Boolean value indicating whether the instance’s representation is in its canonical form. このインスタンスの表現がそれの正準形式であるかどうかを指し示すブール値。

Declaration 宣言

var isCanonical: Bool { get }

Discussion 解説

The IEEE 754 specification defines a canonical, or preferred, encoding of a floating-point value. On platforms that fully support IEEE 754, every Float or Double value is canonical, but non-canonical values can exist on other platforms or for other types. Some examples: IEEE 754仕様は、ある正準の、または推奨の、浮動小数点値のエンコーディングを定義します。完全にIEEE 754をサポートするプラットホーム上では、あらゆるFloatまたはDouble値は正準です、しかし非正準値は他のプラットホーム上でまたは他の型に対して存在できます。いくつかの例:

  • On platforms that flush subnormal numbers to zero (such as armv7 with the default floating-point environment), Swift interprets subnormal Float and Double values as non-canonical zeros. (In Swift 5.1 and earlier, isCanonical is true for these values, which is the incorrect value.) 非正規化数をゼロへとフラッシュするプラットホーム(たとえば省略時の浮動小数点環境でのarmv7)上では、Swiftは非正規化数FloatおよびDouble値を非正準のゼロとして解釈します。(Swift 5.1およびそれより前では、isCanonicalはこれらの値に対してtrueです、それは不正確な値です。)

  • On i386 and x86_64, Float80 has a number of non-canonical encodings. “Pseudo-NaNs”, “pseudo-infinities”, and “unnormals” are interpreted as non-canonical NaN encodings. “Pseudo-denormals” are interpreted as non-canonical encodings of subnormal values. i386およびx86_64では、Float80は非正準エンコーディングのある数を持ちます。“Pseudo-NaN”、“pseudo-infinitie”、そして“unnormal”は、非正準NaNエンコーディングとして解釈されます。.“Pseudo-denormal”は、非正規化数値の非正準エンコーディングとして解釈されます。

  • Decimal floating-point types admit a large number of non-canonical encodings. Consult the IEEE 754 standard for additional details. 10進浮動小数点型は、多数の非正準エンコーディングを認めます。IEEE 754標準をさらなる詳細として参照してください。