クラスFloat16
java.lang.Object
java.lang.Number
jdk.incubator.vector.Float16
- すべての実装されたインタフェース:
Serializable,Comparable<Float16>
public final class Float16 extends Number implements Comparable<Float16>
Float16は、16ビット・データをIEEE 754 binary16形式で保持するクラスです。
Binary16形式:
S EEEEE MMMMMMMMMM
Sign - 1ビット
指数 - 5ビット
重要度 - 10ビット(指数から推測される暗黙ビットは含まれません。PRECISIONを参照してください)
特に指定がないかぎり、このクラスのメソッドは「四捨五入」の「丸めポリシー」 (JLS 15.4)を使用します。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。
浮動小数点等価、等価および比較
クラスjava.lang.Doubleには、Float16値に等しく適用可能な「等価性、等価性、浮動小数点値の比較の説明」があります。
小数点↔バイナリ変換の問題
java.lang.Doubleの「バイナリから10進への変換に関する問題の説明」は、Float16値にも適用されます。-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intFloat16値2を表すために使用されるバイト数。static final int有限Float16変数が持つことができる最大指数(15)。static final Float16型Float16、(2-2-10)·215の最大正の有限値を保持する定数で、数値的には65504.0と等しくなります。static final int正規化されたFloat16変数の最小指数は、 -14です。static final Float16Float16、2-14型の正の通常の最小値を保持する定数。static final Float16Float16、2-24型の正のゼロ以外の最小値を保持する定数。static final Float16Float16型のNot-a-Number (NaN)値を保持する定数。static final Float16Float16型の負の無限大を保持する定数。static final Float16Float16型の正の無限大を保持する定数。static final intFloat16値11の重要度のビット数。static final intFloat16値16を表すために使用されるビット数。 -
メソッドのサマリー
修飾子と型メソッド説明static Float16引数の絶対値を返しますstatic Float16最も近い端数処理ポリシーを使用して、+演算子セマンティクスに従って2つのFloat16値を加算します。byte絞込みプリミティブ変換の後、このFloat16の値をbyteとして返します。static int指定された2つのFloat16値を比較します。int2つのFloat16オブジェクトを数値で比較します。static Float162番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します。static Float16/演算子セマンティクスに従って、最も近い丸めポリシーを使用して2つのFloat16値を除算します。doubleプリミティブ変換の拡大後に、このFloat16の値をdoubleとして返します。booleanこのオブジェクトと指定されたオブジェクトを比較します。static shortIEEE 754浮動小数点のbinary16ビット・レイアウトに従って、指定された浮動小数点値の表現を返します。static shortIEEE 754浮動小数点のbinary16ビット・レイアウトに従って、指定された浮動小数点値の表現を返します。floatプリミティブ変換の拡大後に、このFloat16の値をfloatとして返します。static Float163つの引数の融合積加算を返します。つまり、3番目の引数で合計された最初の2つの引数の正確な積を返し、1回を最も近いFloat16に丸めます。static intgetExponent(Float16 f16) Float16の表現で使用される偏りのない指数を返します。inthashCode()このFloat16オブジェクトのハッシュ・コードを返します。static intFloat16値のハッシュ・コードを返します。Float16.hashCode()と互換性があります。intintValue()絞込みプリミティブ変換の後、このFloat16の値をintとして返します。static boolean引数が有限の浮動小数点値である場合はtrueを返し、そうでない場合(NaNおよび無限大の引数の場合)はfalseを返します。static booleanisInfinite(Float16 f16) 指定された数値の絶対値が無限量である場合にはtrueを、そうでない場合にはfalseを返します。static boolean指定された数値が非数(NaN)である場合にはtrueを、そうでない場合はfalseを返します。long絞込みプリミティブ変換の後、このFloat16の値をlongとして返します。static Float162つのFloat16値の大きい方を返します。static Float162つのFloat16値のうち小さい方を返します。static Float16最も近い端数処理ポリシーを使用して、*演算子セマンティクスに従って2つのFloat16値を乗算します。static Float16引数の否定を返します。static Float16負の無限大の方向にvに隣接する浮動小数点値を返します。static Float16正の無限大の方向で、vに隣接する浮動小数点値を返します。static Float161つの正しく丸められた浮動小数点乗算によって実行されるかのように丸められたv× 2scaleFactorを返します。static Float16shortBitsToFloat16(short bits) 指定されたビット表現に対応するFloat16値を返します。short絞込みプリミティブ変換の後、このFloat16の値をshortとして返します。static Float16引数の符号要素を返します。引数がゼロの場合はゼロ、引数がゼロより大きい場合は1.0、引数がゼロより小さい場合は -1.0です。static Float16オペランドの平方根を返します。static Float16最も近い端数処理ポリシーを使用して、-演算子セマンティクスに従って2つのFloat16値を減算します。static StringtoHexString(Float16 f16) Float16引数の16進文字列表現を返します。toString()このFloat16の文字列表現を返します。static StringFloat16引数の文字列表現を返します。static Float16引数のulpのサイズを返します。static Float16valueOf(double d) double引数から端数処理されたFloat16値を、最も近い端数処理ポリシーを使用して返します。static Float16valueOf(float f) float引数から端数処理されたFloat16値を、最も近い端数処理ポリシーを使用して返します。static Float16valueOf(int value) Float16に変換されたintの値を返します。static Float16valueOf(long value) Float16に変換されたlongの値を返します。static Float16引数文字列で表される浮動小数点値を保持するFloat16を返します。static Float16BigDecimal引数から端数処理されたFloat16値を、最も近い端数処理ポリシーを使用して返します。
-
フィールド詳細
-
POSITIVE_INFINITY
-
NEGATIVE_INFINITY
-
NaN
-
MAX_VALUE
public static final Float16 MAX_VALUE型Float16、(2-2-10)·215の最大正の有限値を保持する定数で、数値的には65504.0と等しくなります。- 関連項目:
-
MIN_NORMAL
-
MIN_VALUE
-
SIZE
public static final int SIZEFloat16値16を表すために使用されるビット数。- 関連項目:
-
PRECISION
public static final int PRECISIONFloat16値11の重要度のビット数。 これは、「Java言語仕様」のセクション4.2.3のパラメータNに対応します。- 関連項目:
-
MAX_EXPONENT
public static final int MAX_EXPONENT有限Float16変数が持つことができる最大指数(15)。 これは、Float16.getExponent(Float16.MAX_VALUE)によって返される値と同じです。- 関連項目:
-
MIN_EXPONENT
public static final int MIN_EXPONENT正規化されたFloat16変数の最小指数は、 -14です。 これは、Float16.getExponent(Float16.MIN_NORMAL)によって返される値と同じです。- 関連項目:
-
BYTES
public static final int BYTESFloat16値2を表すために使用されるバイト数。- 関連項目:
-
-
メソッドの詳細
-
toString
Float16引数の文字列表現を返します。 このメソッドの動作は、特殊値(符号付きゼロ、無限大およびNaN)の処理、および引数値に戻される10進文字列の生成におけるFloat.toString(float)と似ています。- パラメータ:
f16- 変換するFloat16。- 戻り値:
- この引数の文字列表現。
- 関連項目:
-
toHexString
Float16引数の16進文字列表現を返します。 このクラスの動作は、Float.toHexString(float)と似ていますが、"p-14"の指数値が非正規のFloat16値に使用される点が異なります。- APIのノート:
- このメソッドは、IEEE 754で定義されたconvertToHexCharacter操作に対応します。
- パラメータ:
f16- 変換するFloat16。- 戻り値:
- この引数の16進数の文字列表現。
- 関連項目:
-
valueOf
public static Float16 valueOf(int value) Float16に変換されたintの値を返します。- APIのノート:
- このメソッドは、IEEE 754で定義されたconvertFromInt操作に対応します。
- パラメータ:
value-int値。- 戻り値:
Float16に変換されたintの値
-
valueOf
public static Float16 valueOf(long value) Float16に変換されたlongの値を返します。- APIのノート:
- このメソッドは、IEEE 754で定義されたconvertFromInt操作に対応します。
- パラメータ:
value-long値。- 戻り値:
Float16に変換されたlongの値
-
valueOf
public static Float16 valueOf(float f) float引数から端数処理されたFloat16値を、最も近い端数処理ポリシーを使用して返します。- APIのノート:
- このメソッドは、IEEE 754で定義されているconvertFormat演算に対応します。
- パラメータ:
f-float- 戻り値:
- 丸め処理ポリシーを使用して
float引数から丸められたFloat16値
-
valueOf
public static Float16 valueOf(double d) double引数から端数処理されたFloat16値を、最も近い端数処理ポリシーを使用して返します。- APIのノート:
- このメソッドは、IEEE 754で定義されているconvertFormat演算に対応します。
- パラメータ:
d-double- 戻り値:
- 丸め処理ポリシーを使用して
double引数から丸められたFloat16値
-
valueOf
public static Float16 valueOf(String s) throws NumberFormatException 引数文字列で表される浮動小数点値を保持するFloat16を返します。 このメソッドで受け入れられる文字列の文法は、Double.valueOf(String)で受け入れられるものと同じです。 丸めポリシーは、そのメソッドで使用されるものと類似しており、有効な入力は、最も近い表現可能なFloat16値に1回丸められる正確な数値とみなされます。- APIのノート:
- このメソッドは、IEEE 754で定義されているconvertFromDecimalCharacterおよびconvertFromHexCharacter操作に対応します。
- パラメータ:
s- 解析される文字列。- 戻り値:
- 文字列引数で表される
Float16値。 - スロー:
NullPointerException- 文字列がnullの場合NumberFormatException- 文字列に解析可能なFloat16が含まれていない場合。- 関連項目:
-
valueOf
public static Float16 valueOf(BigDecimal v) BigDecimal引数から端数処理されたFloat16値を、最も近い端数処理ポリシーを使用して返します。- パラメータ:
v- aBigDecimal- 戻り値:
- 丸め処理ポリシーを使用して
BigDecimal引数から丸められたFloat16値
-
isNaN
public static boolean isNaN(Float16 f16) 指定された数値が非数(NaN)である場合にはtrueを、そうでない場合はfalseを返します。- APIのノート:
- このメソッドは、IEEE 754で定義されているisNaN演算に対応します。
- パラメータ:
f16- テストする値。- 戻り値:
- 引数がNaNである場合は
true、そうでない場合はfalse。 - 関連項目:
-
isInfinite
public static boolean isInfinite(Float16 f16) 指定された数値の絶対値が無限量である場合にはtrueを、そうでない場合にはfalseを返します。- APIのノート:
- このメソッドは、IEEE 754で定義されているisInfinite演算に対応します。
- パラメータ:
f16- テストする値。- 戻り値:
- 引数が正または負の無限大の場合は
true、そうでない場合はfalse。 - 関連項目:
-
isFinite
public static boolean isFinite(Float16 f16) 引数が有限の浮動小数点値である場合はtrueを返し、そうでない場合(NaNおよび無限大の引数の場合)はfalseを返します。- APIのノート:
- このメソッドは、IEEE 754で定義されているisFinite演算に対応します。
- パラメータ:
f16- テストするFloat16値- 戻り値:
- その引数が有限の浮動小数点値である場合は
true、それ以外の場合はfalse - 関連項目:
-
byteValue
public byte byteValue()絞込みプリミティブ変換の後、このFloat16の値をbyteとして返します。- オーバーライド:
byteValue、クラスNumber- 戻り値:
- 絞込みプリミティブ変換後の
byteとしてのこのFloat16の値 - Java言語仕様を参照してください:
-
5.1.3 プリミティブ・コンバージョンの解説
-
toString
-
shortValue
public short shortValue()絞込みプリミティブ変換の後、このFloat16の値をshortとして返します。- オーバーライド:
shortValue、クラスNumber- 戻り値:
- 絞込みプリミティブ変換後の
shortとしてのこのFloat16の値 - Java言語仕様を参照してください:
-
5.1.3 プリミティブ・コンバージョンの解説
-
intValue
public int intValue()絞込みプリミティブ変換の後、このFloat16の値をintとして返します。- 定義:
intValue、クラスNumber- APIのノート:
- このメソッドは、IEEE 754で定義されたconvertToIntegerTowardZero操作に対応します。
- 戻り値:
- 絞込みプリミティブ変換後の
intとしてのこのFloat16の値 - Java言語仕様を参照してください:
-
5.1.3 プリミティブ・コンバージョンの解説
-
longValue
public long longValue()絞込みプリミティブ変換の後、このFloat16の値をlongとして返します。- 定義:
longValue、クラスNumber- APIのノート:
- このメソッドは、IEEE 754で定義されたconvertToIntegerTowardZero操作に対応します。
- 戻り値:
- 絞込みプリミティブ変換後の
longとしてのこのFloat16の値 - Java言語仕様を参照してください:
-
5.1.3 プリミティブ・コンバージョンの解説
-
floatValue
public float floatValue()プリミティブ変換の拡大後に、このFloat16の値をfloatとして返します。- 定義:
floatValue、クラスNumber- APIのノート:
- このメソッドは、IEEE 754で定義されているconvertFormat演算に対応します。
- 戻り値:
- プリミティブ変換の拡大後の
floatとしてのこのFloat16の値 - Java言語仕様を参照してください:
-
5.1.2 プリミティブ変換の強化
-
doubleValue
public double doubleValue()プリミティブ変換の拡大後に、このFloat16の値をdoubleとして返します。- 定義:
doubleValue、クラスNumber- APIのノート:
- このメソッドは、IEEE 754で定義されているconvertFormat演算に対応します。
- 戻り値:
- プリミティブ変換の拡大後の
doubleとしてのこのFloat16の値 - Java言語仕様を参照してください:
-
5.1.2 プリミティブ変換の強化
-
hashCode
-
hashCode
public static int hashCode(Float16 value) Float16値のハッシュ・コードを返します。Float16.hashCode()と互換性があります。- パラメータ:
value- ハッシュ対象の値- 戻り値:
Float16値のハッシュ・コード値。
-
equals
public boolean equals(Object obj) このオブジェクトと指定されたオブジェクトを比較します。 引数がnullではなく、このオブジェクトによって表されるdoubleと同じ値を持つFloat16を表すFloat16オブジェクトの場合にのみ、結果はtrueになります。- オーバーライド:
equals、クラスObject- パラメータ:
obj- 比較対象の参照オブジェクト。- 戻り値:
- このオブジェクトがobj引数と同じである場合は
true、それ以外の場合はfalse。 - Java言語仕様を参照してください:
-
「15.21.1 数値等価演算子==と!=」
- 関連項目:
-
float16ToRawShortBits
public static short float16ToRawShortBits(Float16 f16) IEEE 754浮動小数点のbinary16ビット・レイアウトに従って、指定された浮動小数点値の表現を返します。- パラメータ:
f16-Float16浮動小数点数。- 戻り値:
- 浮動小数点値を表すビット。
- 関連項目:
-
float16ToShortBits
-
shortBitsToFloat16
public static Float16 shortBitsToFloat16(short bits) 指定されたビット表現に対応するFloat16値を返します。- パラメータ:
bits- 任意のshort整数。- 戻り値:
- 同じビット・パターンを持つ
Float16浮動小数点値。 - 関連項目:
-
compareTo
public int compareTo(Float16 anotherFloat16) 2つのFloat16オブジェクトを数値で比較します。 このメソッドでは、floatおよびdouble値に対するJava言語の数値比較演算子(<, <=, ==, >=, >)によって定義された不完全な順序と比較して、2つの差異があるFloat16オブジェクトの合計順序が課されます。- NaNは、他の値に関して「順序なし」で、比較演算子ではそれ自体に対して不等です。 このメソッドでは、
Float16.NaNを自身と等しく、他のすべてのFloat16値(Float16.POSITIVE_INFINITYを含む)よりも大きく定義することを選択します。 - 正のゼロと負のゼロは、数値で比較されますが、区別できる値は明確です。 このメソッドでは、負のゼロより大きい正のゼロを定義することを選択します。
- 定義:
- インタフェース
Comparable<Float16>内のcompareTo - パラメータ:
anotherFloat16- 比較するFloat16。- 戻り値:
anotherFloat16がこのFloat16と数値的に等しい場合は値0、このFloat16が数値的にanotherFloat16より小さい場合は値0、このFloat16が数値的にanotherFloat16より大きい場合は値0より小さい値。- Java言語仕様を参照してください:
-
「15.20.1 数値比較演算子
<、<=、>および>=」 - 関連項目:
- NaNは、他の値に関して「順序なし」で、比較演算子ではそれ自体に対して不等です。 このメソッドでは、
-
compare
-
max
-
min
-
add
最も近い端数処理ポリシーを使用して、+演算子セマンティクスに従って2つのFloat16値を加算します。 このメソッドによる符号付きゼロ、NaNs、無限大、およびその他の特殊なケースの処理は、浮動小数点加算(JLS 15.18.2)の組込み+演算子によるこれらのケースの処理と同じです。- APIのノート:
- このメソッドは、IEEE 754で定義されている追加演算に対応します。
- パラメータ:
addend- 最初のオペランドaugend- 2番目のオペランド- 戻り値:
- オペランドの合計
- Java言語仕様を参照してください:
-
「15.4 浮動小数点式」
「15.18.2 数値型の加算演算子(+および -)」
-
subtract
最も近い端数処理ポリシーを使用して、-演算子セマンティクスに従って2つのFloat16値を減算します。 このメソッドによる符号付きゼロ、NaNs、無限大およびその他の特殊なケースの処理は、浮動小数点減算(JLS 15.18.2)の組込み-演算子によるこれらのケースの処理と同じです。- APIのノート:
- このメソッドは、IEEE 754で定義された減算演算に対応します。
- パラメータ:
minuend- 最初のオペランドsubtrahend- 2番目のオペランド- 戻り値:
- オペランドの違い
- Java言語仕様を参照してください:
-
「15.4 浮動小数点式」
「15.18.2 数値型の加算演算子(+および -)」
-
multiply
最も近い端数処理ポリシーを使用して、*演算子セマンティクスに従って2つのFloat16値を乗算します。 符号付きゼロ、NaNsおよび無限大の処理、このメソッドによるその他の特殊なケースは、浮動小数点乗算(JLS 15.17.1)の組込み*演算子によるこれらのケースの処理と同じです。- APIのノート:
- このメソッドは、IEEE 754で定義されている乗算操作に対応します。
- パラメータ:
multiplier- 最初のオペランドmultiplicand- 2番目のオペランド- 戻り値:
- オペランドの積
- Java言語仕様を参照してください:
-
「15.4 浮動小数点式」
「15.17.1 乗算演算子*」
-
divide
/演算子セマンティクスに従って、最も近い丸めポリシーを使用して2つのFloat16値を除算します。 符号付きゼロ、NaNsおよび無限大の処理、このメソッドによるその他の特殊なケースは、浮動小数点除算(JLS 15.17.2)の組込み/演算子によるこれらのケースの処理と同じです。- APIのノート:
- このメソッドは、IEEE 754で定義された除算演算に対応します。
- パラメータ:
dividend- 最初のオペランドdivisor- 2番目のオペランド- 戻り値:
- オペランドの商
- Java言語仕様を参照してください:
-
「15.4 浮動小数点式」
「15.17.2 除算演算子 /」
-
sqrt
オペランドの平方根を返します。 平方根は、もっとも近い丸めポリシーを使用して計算されます。 このメソッドによるゼロ、NaN、無限大、および負の引数の処理は、Math.sqrt(double)によるこれらのケースの処理に似ています。- APIのノート:
- このメソッドは、IEEE 754で定義されているsquareRoot演算に対応します。
- パラメータ:
radicand- 正方形のルートを取得する引数- 戻り値:
- オペランドの平方根
- 関連項目:
-
fma
3つの引数の融合積加算を返します。つまり、3番目の引数で合計された最初の2つの引数の正確な積を返し、1回を最も近いFloat16に丸めます。 このメソッドによるゼロ、NaN、無限大、およびその他の特殊なケースの処理は、Math.fma(float, float, float)によるこれらのケースの処理に似ています。- APIのノート:
- このメソッドは、IEEE 754で定義されているfusedMultiplyAdd演算に対応します。
- パラメータ:
a- 値b- 値c- 値- 戻り値:
- (a × b + c)は、範囲と精度が無制限であるかのように計算され、1回は最も近い
Float16値に丸められます - 関連項目:
-
negate
引数の否定を返します。 特例として:- 引数がゼロの場合、結果はゼロになり、反対の符号が引数になります。
- 引数が無限の場合、結果は無限大で、反対の符号が引数になります。
- 引数がNaNの場合、結果はNaNになります。
- APIのノート:
- このメソッドは、IEEE 754で定義された否定演算に対応します。
- パラメータ:
f16- 否定される値- 戻り値:
- 引数の否定
- Java言語仕様を参照してください:
-
「15.15.4 単項マイナス演算子
-」
-
abs
引数の絶対値を返します このメソッドによるゼロ、NaNおよび無限度の処理は、Math.abs(float)によるこれらのケースの処理に似ています。- パラメータ:
f16- 絶対値が決定される引数- 戻り値:
- 引数の絶対値
- 関連項目:
-
getExponent
public static int getExponent(Float16 f16) Float16の表現で使用される偏りのない指数を返します。- 引数がNaNまたは無限の場合、結果は
MAX_EXPONENT+ 1になります。 - 引数がゼロまたは非正規の場合、結果は
MIN_EXPONENT- 1になります。
- APIのノート:
- このメソッドは、IEEE 754で定義されたlogB演算に似ていますが、非正規引数で異なる値を返します。
- パラメータ:
f16-Float16値- 戻り値:
- 引数の不偏指数
- 関連項目:
- 引数がNaNまたは無限の場合、結果は
-
ulp
引数のulpのサイズを返します。Float16値の最後の位置にあるulpの単位は、この浮動小数点値と次に大きい大きさのFloat16値の間の正の距離です。 xがNaNでない場合は、ulp(-x)== ulp(x)となります。特例として:
- 引数がNaNの場合、NaNが返されます。
- 引数が正または負の無限大の場合は、結果は正の無限大になります。
- 引数が正または負のゼロの場合、結果は
Float16.MIN_VALUEです。 - 引数が±
Float16.MAX_VALUEの場合、結果は25、32.0に等しくなります。
- パラメータ:
f16- ulpが返される浮動小数点値- 戻り値:
- 引数のulpのサイズ
- 関連項目:
-
nextUp
-
nextDown
-
scalb
1つの正しく丸められた浮動小数点乗算によって実行されるかのように丸められたv× 2scaleFactorを返します。 結果の指数がMIN_EXPONENTからMAX_EXPONENTの間である場合、回答は正確に計算されます。 結果の指数がFloat16.MAX_EXPONENTより大きい場合、無限大が返されます。 結果が非正規の場合は精度が失われる可能性があります。つまり、scalb(x, n)が非正規の場合、scalb(scalb(x, n), -n)がxと等しくならない可能性があります。 結果がnon-NaNの場合、結果はvと同じ符号になります。特例として:
- 最初の引数がNaNの場合は、NaNが返されます。
- 最初の引数が無限大の場合は、同じ符号の無限大値が返されます。
- 最初の引数がゼロの場合は、同じ符号のゼロが返されます。
- APIのノート:
- このメソッドは、IEEE 754で定義されているscaleB演算に対応します。
- パラメータ:
v- 2の累乗でスケーリングされる数。scaleFactor-vのスケーリングに使用される2の累乗- 戻り値:
v× 2scaleFactor- 関連項目:
-
copySign
2番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します。 このメソッドでは、NaNsign引数を正の値として処理する必要はありません。実装では、一部のNaN引数を正の引数として、他のNaN引数を負の引数として処理してパフォーマンスを向上させることができます。- APIのノート:
- このメソッドは、IEEE 754で定義されているcopySign演算に対応します。
- パラメータ:
magnitude- 結果の絶対値を提供するパラメータsign- 結果の符号を提供するパラメータ- 戻り値:
magnitudeの絶対値とsignの符号を持つ値。- 関連項目:
-
signum
-