Spec-Zone.ru › OpenJDK 24

Класс Float16

java.lang.Object
java.lang.Number
jdk.incubator.vector.Float16
Все реализованные интерфейсы:
Serializable, Comparable<Float16>
public final class Float16 extends Number implements Comparable<Float16>
Класс, хранящий данные в 16-битном формате IEEE 754 binary16.

Формат binary16:
S EEEEE MMMMMMMMMM
Знак - 1 бит
Порядок - 5 бит
Значимая часть - 10 бит (не включает явный бит, вытекающий из порядка, см. PRECISION)

Если не указано иное, методы в этом классе используют правила округления (JLS 15.4) округление до ближайшего.

Это класс типа value-based; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать их для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в будущей версии синхронизация может не работать.

Равенство, эквивалентность и сравнение чисел с плавающей точкой

Класс java.lang.Double содержит обсуждение равенства, эквивалентности и сравнения значений с плавающей точкой, которое также применимо к значениям типа Float16.

Проблемы преобразования десятичных и двоичных чисел

Обсуждение проблем с преобразованием двоичных чисел в десятичные в java.lang.Double также применимо к значениям типа Float16.
Примечание API:
Методы в этом классе, как правило, имеют аналогичные методы в Float/Double или Math/StrictMath. Если не указано иное, обработка специальных значений с плавающей точкой, таких как NaN, бесконечности и знакомых нулей, в методах этого класса аналогична обработке эквивалентных случаев методами в Float, Double, Math и т.д.
С момента:
24
См. также:
  • Стандарт IEEE для арифметики с плавающей точкой
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final int BYTES
Количество байтов, используемых для представления значения Float16, 2.
static final int MAX_EXPONENT
Максимальный порядок конечной переменной типа Float16, 15.
static final Float16 MAX_VALUE
Постоянная, хранящая наибольшее положительное конечное значение типа Float16, (2-2-10)·215, численно равное 65504.0.
static final int MIN_EXPONENT
Минимальный порядок нормализованной переменной типа Float16, -14.
static final Float16 MIN_NORMAL
Постоянная, хранящая наименьшее положительное нормализованное значение типа Float16, 2-14.
static final Float16 MIN_VALUE
Постоянная, хранящая наименьшее положительное ненулевое значение типа Float16, 2-24.
static final Float16 NaN
Постоянная, хранящая значение «не число» (NaN) типа Float16.
static final Float16 NEGATIVE_INFINITY
Постоянная, хранящая отрицательную бесконечность типа Float16.
static final Float16 POSITIVE_INFINITY
Постоянная, хранящая положительную бесконечность типа Float16.
static final int PRECISION
Количество битов в значимой части значения Float16, 11.
static final int SIZE
Количество битов, используемых для представления значения Float16, 16.

Краткое описание методов

Модификатор и тип Метод Описание
static Float16 abs(Float16 f16)
Возвращает абсолютное значение аргумента.
static Float16 add(Float16 addend, Float16 augend)
Складывает два значения Float16 вместе в соответствии с семантикой оператора +, используя политику округления до ближайшего.
byte byteValue()
Возвращает значение этого Float16 как byte после сужающего примитивного преобразования.
static int compare(Float16 f1, Float16 f2)
Сравнивает два указанных значения Float16.
int compareTo(Float16 anotherFloat16)
Числовое сравнение двух объектов Float16.
static Float16 copySign(Float16 magnitude, Float16 sign)
Возвращает первый аргумент с плавающей точкой со знаком второго аргумента с плавающей точкой.
static Float16 divide(Float16 dividend, Float16 divisor)
Делит два значения Float16 в соответствии с семантикой оператора /, используя политику округления до ближайшего.
double doubleValue()
Возвращает значение этого Float16 как double после расширяющего примитивного преобразования.
boolean equals(Object obj)
Сравнивает этот объект с указанным объектом.
static short float16ToRawShortBits(Float16 f16)
Возвращает представление заданного значения с плавающей точкой в соответствии с представлением IEEE 754 с плавающей точкой с 16 битами.
static short float16ToShortBits(Float16 f16)
Возвращает представление заданного значения с плавающей точкой в соответствии с представлением IEEE 754 с плавающей точкой с 16 битами.
float floatValue()
Возвращает значение этого Float16 как float после расширяющего примитивного преобразования.
static Float16 fma(Float16 a, Float16 b, Float16 c)
Возвращает результат умножения и сложения трех аргументов; то есть возвращает точное произведение первых двух аргументов, суммированное с третьим аргументом, а затем округляется один раз до ближайшего Float16.
static int getExponent(Float16 f16)
Возвращает несмещённый показатель степени, используемый в представлении Float16.
int hashCode()
Возвращает хэш-код для этого объекта Float16.
static int hashCode(Float16 value)
Возвращает хэш-код для значения Float16; совместимо с Float16.hashCode().
int intValue()
Возвращает значение этого Float16 как int после сужающего примитивного преобразования.
static boolean isFinite(Float16 f16)
Возвращает true, если аргумент является конечным значением с плавающей точкой; возвращает false в противном случае (для NaN и бесконечных аргументов).
static boolean isInfinite(Float16 f16)
Возвращает true, если указанное число имеет бесконечно большую величину; возвращает false в противном случае.
static boolean isNaN(Float16 f16)
Возвращает true, если указанное число является значением Not-a-Number (NaN); возвращает false в противном случае.
long longValue()
Возвращает значение этого Float16 как long после сужающего примитивного преобразования.
static Float16 max(Float16 a, Float16 b)
Возвращает большее из двух значений Float16.
static Float16 min(Float16 a, Float16 b)
Возвращает меньшее из двух значений Float16.
static Float16 multiply(Float16 multiplier, Float16 multiplicand)
Умножает два значения Float16 в соответствии с семантикой оператора *, используя политику округления до ближайшего.
static Float16 negate(Float16 f16)
Возвращает отрицание аргумента.
static Float16 nextDown(Float16 v)
Возвращает значение с плавающей точкой, прилежащее к v в направлении минус бесконечность.
static Float16 nextUp(Float16 v)
Возвращает значение с плавающей точкой, прилежащее к v в направлении плюс бесконечность.
static Float16 scalb(Float16 v, int scaleFactor)
Возвращает v × 2scaleFactor, округлённое так, как если бы оно выполнялось одним правильно округлённым умножением с плавающей точкой.
static Float16 shortBitsToFloat16(short bits)
Возвращает значение Float16, соответствующее заданному битовому представлению.
short shortValue()
Возвращает значение этого Float16 как short после сужающего примитивного преобразования.
static Float16 signum(Float16 f)
Возвращает функцию signum аргумента; ноль, если аргумент равен нулю, 1,0, если аргумент больше нуля, -1,0, если аргумент меньше нуля.
static Float16 sqrt(Float16 radicand)
Возвращает квадратный корень из операнда.
static Float16 subtract(Float16 minuend, Float16 subtrahend)
Вычитает два значения Float16 в соответствии с семантикой оператора -, используя политику округления до ближайшего.
static String toHexString(Float16 f16)
Возвращает шестнадцатеричное строковое представление аргумента Float16.
String toString()
Возвращает строковое представление этого Float16.
static String toString(Float16 f16)
Возвращает строковое представление аргумента Float16.
static Float16 ulp(Float16 f16)
Возвращает размер единицы в наименьшем значении аргумента.
static Float16 valueOf(double d)
Возвращает значение Float16, округлённое от аргумента double, используя политику округления до ближайшего.
static Float16 valueOf(float f)
Возвращает значение Float16, округлённое от аргумента float, используя политику округления до ближайшего.
static Float16 valueOf(int value)
Возвращает значение int, преобразованное в Float16.
static Float16 valueOf(long value)
Возвращает значение long, преобразованное в Float16.
static Float16 valueOf(String s)
Возвращает Float16, содержащий значение с плавающей точкой, представленное строкой аргумента.
static Float16 valueOf(BigDecimal v)
Возвращает значение Float16, округлённое от аргумента BigDecimal, используя политику округления до ближайшего.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

POSITIVE_INFINITY

public static final Float16 POSITIVE_INFINITY
Константа, содержащая положительную бесконечность типа Float16.
См. также:
  • Float.POSITIVE_INFINITY
  • Double.POSITIVE_INFINITY

NEGATIVE_INFINITY

public static final Float16 NEGATIVE_INFINITY
Константа, содержащая отрицательную бесконечность типа Float16.
См. также:
  • Float.NEGATIVE_INFINITY
  • Double.NEGATIVE_INFINITY

NaN

public static final Float16 NaN
Константа, содержащая значение Не число (NaN) типа Float16.
См. также:
  • Float.NaN
  • Double.NaN

MAX_VALUE

public static final Float16 MAX_VALUE
Константа, содержащая наибольшее положительное конечное значение типа Float16, (2-2-10)·215, численно равно 65504.0.
См. также:
  • Float.MAX_VALUE
  • Double.MAX_VALUE

MIN_NORMAL

public static final Float16 MIN_NORMAL
Константа, содержащая наименьшее положительное нормализованное значение типа Float16, 2-14.
См. также:
  • Float.MIN_NORMAL
  • Double.MIN_NORMAL

MIN_VALUE

public static final Float16 MIN_VALUE
Константа, содержащая наименьшее положительное ненулевое значение типа Float16, 2-24.
См. также:
  • Float.MIN_VALUE
  • Double.MIN_VALUE

SIZE

public static final int SIZE
Количество бит, используемых для представления значения Float16, 16.
См. также:
  • Float.SIZE
  • Double.SIZE
  • Значения константных полей

PRECISION

public static final int PRECISION
Количество бит в мантиссе значения Float16, 11. Это соответствует параметру N в разделе 4.2.3 спецификации языка Java.
См. также:
  • Float.PRECISION
  • Double.PRECISION
  • Значения константных полей

MAX_EXPONENT

public static final int MAX_EXPONENT
Максимальный показатель степени, который может иметь конечная переменная Float16, 15. Он равен значению, возвращаемому Float16.getExponent(Float16.MAX_VALUE).
См. также:
  • Float.MAX_EXPONENT
  • Double.MAX_EXPONENT
  • Значения константных полей

MIN_EXPONENT

public static final int MIN_EXPONENT
Минимальный показатель степени, который может иметь нормализованная переменная Float16, -14. Он равен значению, возвращаемому Float16.getExponent(Float16.MIN_NORMAL).
См. также:
  • Float.MIN_EXPONENT
  • Double.MIN_EXPONENT
  • Значения константных полей

BYTES

public static final int BYTES
Количество байтов, используемых для представления значения Float16, 2.
См. также:
  • Float.BYTES
  • Double.BYTES
  • Значения константных полей

Подробное описание методов

toString

public static String toString(Float16 f16)
Возвращает строковое представление аргумента Float16. Поведение этого метода аналогично Float.toString(float) при обработке специальных значений (знаков, бесконечностей и NaN) и генерации десятичной строки, которая будет преобразована обратно в значение аргумента.
Параметры:
f16 - преобразуемое значение Float16.
Возвращает:
строковое представление аргумента.
См. также:
  • Float.toString(float)

toHexString

public static String toHexString(Float16 f16)
Возвращает шестнадцатеричное строковое представление аргумента Float16. Поведение этого класса аналогично Float.toHexString(float), за исключением того, что значение показателя степени "p-14" используется для поднормализованных значений Float16.
Примечание API:
Этот метод соответствует операции convertToHexCharacter, определенной в IEEE 754.
Параметры:
f16 - преобразуемое значение Float16.
Возвращает:
шестнадцатеричное строковое представление аргумента.
См. также:
  • Float.toHexString(float)
  • Double.toHexString(double)

valueOf

public static Float16 valueOf(int value)
Возвращает значение int, преобразованное в Float16.
Примечание API:
Этот метод соответствует операции convertFromInt, определенной в IEEE 754.
Параметры:
value - значение int.
Возвращает:
значение int, преобразованное в Float16

valueOf

public static Float16 valueOf(long value)
Возвращает значение long, преобразованное в Float16.
Примечание API:
Этот метод соответствует операции convertFromInt, определенной в IEEE 754.
Параметры:
value - значение long.
Возвращает:
значение long, преобразованное в Float16

valueOf

public static Float16 valueOf(float f)
Возвращает значение Float16, округлённое от аргумента float с использованием правила округления до ближайшего.
Примечание API:
Этот метод соответствует операции convertFormat, определенной в IEEE 754.
Параметры:
f - значение float
Возвращает:
значение Float16, округлённое от аргумента float с использованием правила округления до ближайшего

valueOf

public static Float16 valueOf(double d)
Возвращает значение Float16, округлённое от аргумента double с использованием правила округления до ближайшего.
Примечание API:
Этот метод соответствует операции convertFormat, определенной в IEEE 754.
Параметры:
d - значение double
Возвращает:
значение Float16, округлённое от аргумента double с использованием правила округления до ближайшего

valueOf

public static Float16 valueOf(String s) throws NumberFormatException
Возвращает Float16, содержащую значение с плавающей запятой, представленное строкой-аргументом. Грамматика строк, принимаемых этим методом, такая же, как и у Double.valueOf(String). Политика округления также аналогична политике, используемой этим методом; допустимый ввод рассматривается как точное числовое значение, округленное один раз до ближайшего представимого Float16 значения.
Примечание API:
Этот метод соответствует операциям convertFromDecimalCharacter и convertFromHexCharacter, определённым в IEEE 754.
Параметры:
s - строка, подлежащая разбору.
Возвращает:
значение с плавающей запятой, представленное строковым аргументом.
Использует:
NullPointerException - если строка равна null
NumberFormatException - если строка не содержит разбираемого Float16.
См. также:
  • Float.valueOf(String)

valueOf

public static Float16 valueOf(BigDecimal v)
Возвращает значение Float16, округлённое из аргумента BigDecimal с использованием политики округления до ближайшего значения.
Параметры:
v - BigDecimal
Возвращает:
значение Float16, округлённое из аргумента BigDecimal с использованием политики округления до ближайшего значения

isNaN

public static boolean isNaN(Float16 f16)
Возвращает true, если заданное число является значением «Не число» (NaN), false в противном случае.
Примечание API:
Этот метод соответствует операции isNaN, определённой в IEEE 754.
Параметры:
f16 - значение, подлежащее проверке.
Возвращает:
true, если аргумент равен NaN; false в противном случае.
См. также:
  • Float.isNaN(float)
  • Double.isNaN(double)

isInfinite

public static boolean isInfinite(Float16 f16)
Возвращает true, если заданное число имеет бесконечно большую величину, false в противном случае.
Примечание API:
Этот метод соответствует операции isInfinite, определённой в IEEE 754.
Параметры:
f16 - значение, подлежащее проверке.
Возвращает:
true, если аргумент равен положительной или отрицательной бесконечности; false в противном случае.
См. также:
  • Float.isInfinite(float)
  • Double.isInfinite(double)

isFinite

public static boolean isFinite(Float16 f16)
Возвращает true, если аргумент представляет собой конечное число с плавающей запятой; возвращает false в противном случае (для аргументов NaN и бесконечности).
Примечание API:
Этот метод соответствует операции isFinite, определённой в IEEE 754.
Параметры:
f16 - значение с плавающей запятой для проверки
Возвращает:
true, если аргумент представляет собой конечное число с плавающей запятой, false в противном случае.
См. также:
  • Float.isFinite(float)
  • Double.isFinite(double)

byteValue

public byte byteValue()
Возвращает значение этого Float16 в качестве byte после преобразования примитивного типа с сужением.
Переопределяет:
byteValue в классе Number
Возвращает:
значение этого Float16 в качестве byte после преобразования примитивного типа с сужением
См. Спецификацию языка Java:
5.1.3 Преобразование примитивного типа с сужением

toString

public String toString()
Возвращает строковое представление этого Float16.
Переопределяет:
toString в классе Object
Требования к реализации:
Этот метод возвращает результат Float16.toString(this).
Возвращает:
строковое представление этого Float16

shortValue

public short shortValue()
Возвращает значение этого Float16 в качестве short после преобразования примитивного типа с сужением.
Переопределяет:
shortValue в классе Number
Возвращает:
значение этого Float16 в качестве short после преобразования примитивного типа с сужением
См. Спецификацию языка Java:
5.1.3 Преобразование примитивного типа с сужением

intValue

public int intValue()
Возвращает значение этого Float16 как int после преобразования примитивного типа с сужением.
Определено в:
intValue в классе Number
Примечание API:
Этот метод соответствует операции convertToIntegerTowardZero, определённой в IEEE 754.
Возвращает:
значение этого Float16 как int после преобразования примитивного типа с сужением
См. Спецификацию языка Java:
5.1.3 Преобразование примитивного типа с сужением

longValue

public long longValue()
Возвращает значение этого Float16 как long после преобразования примитивного типа с сужением.
Определено в:
longValue в классе Number
Примечание API:
Этот метод соответствует операции convertToIntegerTowardZero, определённой в IEEE 754.
Возвращает:
значение этого Float16 как long после преобразования примитивного типа с сужением
См. Спецификацию языка Java:
5.1.3 Преобразование примитивного типа с сужением

floatValue

public float floatValue()
Возвращает значение этого Float16 как float после преобразования примитивного типа с расширением.
Определено в:
floatValue в классе Number
Примечание API:
Этот метод соответствует операции convertFormat, определённой в IEEE 754.
Возвращает:
значение этого Float16 как float после преобразования примитивного типа с расширением
См. Спецификацию языка Java:
5.1.2 Преобразование примитивного типа с расширением

doubleValue

public double doubleValue()
Возвращает значение этого Float16 как double после преобразования примитивного типа с расширением.
Определено в:
doubleValue в классе Number
Примечание API:
Этот метод соответствует операции convertFormat, определённой в IEEE 754.
Возвращает:
значение этого Float16 как double после преобразования примитивного типа с расширением
См. Спецификацию языка Java:
5.1.2 Преобразование примитивного типа с расширением

hashCode

public int hashCode()
Возвращает код хэширования для этого объекта Float16. Общий контракт Object#hashCode() удовлетворяется. Все значения NaN имеют одинаковый код хэширования. Кроме того, все различные числовые значения имеют уникальные коды хэширования; в частности, отрицательный ноль и положительный ноль имеют разные коды хэширования.
Переопределяет:
hashCode в классе Object
Возвращает:
код хэширования для этого объекта Float16
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

hashCode

public static int hashCode(Float16 value)
Возвращает хеш-код для значения Float16; совместимо с Float16.hashCode().
Parameters:
value - значение для хеширования
Returns:
значение хеш-кода для значения Float16.

equals

public boolean equals(Object obj)
Сравнивает этот объект с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не равен null и является объектом типа Float16, представляющим значение Float16, которое имеет то же значение, что и значение double, представляемое этим объектом.
Overrides:
equals в классе Object
Parameters:
obj - объект-ссылка для сравнения.
Returns:
true, если этот объект идентичен аргументу obj; false в противном случае.
См. Спецификацию языка Java:
15.21.1 Операторы числового равенства == и !=
См. также:
  • Object.hashCode()
  • HashMap

float16ToRawShortBits

public static short float16ToRawShortBits(Float16 f16)
Возвращает представление указанного значения с плавающей точкой в соответствии с форматированием IEEE 754 для двоичных чисел с плавающей точкой типа 16 бит.
Parameters:
f16 - число с плавающей точкой типа Float16.
Returns:
биты, представляющие число с плавающей точкой.
См. также:
  • Float.floatToRawIntBits(float)
  • Double.doubleToRawLongBits(double)

float16ToShortBits

public static short float16ToShortBits(Float16 f16)
Возвращает представление указанного значения с плавающей точкой в соответствии с форматированием IEEE 754 для двоичных чисел с плавающей точкой типа 16 бит. Все значения NaN возвращают ту же битовую схему, что и NaN.
Parameters:
f16 - число с плавающей точкой типа Float16.
Returns:
биты, представляющие число с плавающей точкой.
См. также:
  • Float.floatToRawIntBits(float)
  • Double.doubleToRawLongBits(double)

shortBitsToFloat16

public static Float16 shortBitsToFloat16(short bits)
Возвращает значение Float16, соответствующее заданному битовому представлению.
Parameters:
bits - любое целое число типа short.
Returns:
значение Float16 числа с плавающей точкой с той же битовой схемой.
См. также:
  • Float.intBitsToFloat(int)
  • Double.longBitsToDouble(long)

compareTo

public int compareTo(Float16 anotherFloat16)
Сравнивает два объекта типа Float16 в числовом порядке. Этот метод накладывает полную упорядоченность на объекты типа Float16 с двумя отличиями по сравнению с неполной упорядоченностью, определенной операторами числового сравнения языка Java (<, <=, ==, >=, >) на значениях float и double.
  • NaN не упорядочен по отношению к другим значениям и не равен самому себе при использовании операторов сравнения. Этот метод выбирает определение Float16.NaN равным самому себе и больше всех других значений Float16 (включая Float16.POSITIVE_INFINITY).
  • Положительный ноль и отрицательный ноль сравниваются как числовые равные, но являются различными и различимыми значениями. Этот метод выбирает определение положительного нуля как большего, чем отрицательный ноль.
Specified by:
compareTo в интерфейсе Comparable<Float16>
Parameters:
anotherFloat16 - сравниваемое значение Float16.
Returns:
значение 0, если anotherFloat16 численно равно этому значению Float16; значение меньше 0, если это значение Float16 численно меньше anotherFloat16; и значение больше 0, если это значение Float16 численно больше anotherFloat16.
См. Спецификацию языка Java:
15.20.1 Операторы числового сравнения <, <=, > и >=
См. также:
  • Float.compareTo(Float)
  • Double.compareTo(Double)

compare

public static int compare(Float16 f1, Float16 f2)
Сравнивает два указанных значения типа Float16.
Parameters:
f1 - первое значение Float16 для сравнения
f2 - второе значение Float16 для сравнения
Returns:
значение 0, если f1 численно равно f2; значение меньше 0, если f1 численно меньше f2; и значение больше 0, если f1 численно больше f2.
См. также:
  • Float.compare(float, float)
  • Double.compare(double, double)

max

public static Float16 max(Float16 a, Float16 b)
Возвращает большее из двух значений типа Float16. Обработка знакомых нулей, NaN, бесконечностей и других особых случаев этим методом аналогична обработке этих случаев методом Math#max(double, double).
API Note:
Этот метод соответствует операции максимального значения, определенной в IEEE 754.
Parameters:
a - первый операнд
b - второй операнд
Returns:
большее из a и b
См. также:
  • BinaryOperator
  • Math.max(float, float)

min

public static Float16 min(Float16 a, Float16 b)
Возвращает меньшее из двух значений типа Float16. Обработка знакомых нулей, NaN, бесконечностей и других особых случаев этим методом аналогична обработке этих случаев методом Math#min(double, double).
API Note:
Этот метод соответствует операции минимального значения, определенной в IEEE 754.
Parameters:
a - первый операнд
b - второй операнд
Returns:
меньшее из a и b
См. также:
  • BinaryOperator
  • Math.min(float, float)

add

public static Float16 add(Float16 addend, Float16 augend)
Складывает два значения типа Float16 вместе в соответствии с семантикой оператора + с политикой округления до ближайшего значения. Обработка знакомых нулей, NaN, бесконечностей и других особых случаев этим методом идентична обработке этих случаев встроенным оператором + для сложения с плавающей точкой (JLS 15.18.2).
API Note:
Этот метод соответствует операции сложения, определенной в IEEE 754.
Parameters:
addend - первый операнд
augend - второй операнд
Returns:
сумма операндов
См. Спецификацию языка Java:
15.4 Выражения с плавающей точкой
15.18.2 Операторы сложения (+ и -) для числовых типов

вычитание

public static Float16 subtract(Float16 minuend, Float16 subtrahend)
Вычитает два значения Float16 в соответствии с семантикой оператора -, используя политику округления до ближайшего. Обработка знакомых нулей, NaN, бесконечностей и других особых случаев в этом методе аналогична обработке этих случаев встроенным оператором - для вычитания с плавающей запятой (JLS 15.18.2).
Примечание API:
Этот метод соответствует операции вычитания, определенной в IEEE 754.
Параметры:
minuend - первый операнд
subtrahend - второй операнд
Возвращает:
разность операндов
См. Спецификацию языка Java:
15.4 Выражения с плавающей запятой
15.18.2 Арифметические операторы (+ и -) для числовых типов

умножение

public static Float16 multiply(Float16 multiplier, Float16 multiplicand)
Умножает два значения Float16 в соответствии с семантикой оператора *, используя политику округления до ближайшего. Обработка знакомых нулей, NaN и бесконечностей, а также других особых случаев в этом методе аналогична обработке таких случаев встроенным оператором * для умножения с плавающей запятой (JLS 15.17.1).
Примечание API:
Этот метод соответствует операции умножения, определенной в IEEE 754.
Параметры:
multiplier - первый операнд
multiplicand - второй операнд
Возвращает:
произведение операндов
См. Спецификацию языка Java:
15.4 Выражения с плавающей запятой
15.17.1 Оператор умножения *

деление

public static Float16 divide(Float16 dividend, Float16 divisor)
Делит два значения Float16 в соответствии с семантикой оператора /, используя политику округления до ближайшего. Обработка знакомых нулей, NaN и бесконечностей, а также других особых случаев в этом методе аналогична обработке таких случаев встроенным оператором / для деления с плавающей запятой (JLS 15.17.2).
Примечание API:
Этот метод соответствует операции деления, определенной в IEEE 754.
Параметры:
dividend - первый операнд
divisor - второй операнд
Возвращает:
частное от деления операндов
См. Спецификацию языка Java:
15.4 Выражения с плавающей запятой
15.17.2 Оператор деления /

sqrt

public static Float16 sqrt(Float16 radicand)
Возвращает квадратный корень из операнда. Квадратный корень вычисляется с использованием политики округления до ближайшего. Обработка нулей, NaN, бесконечностей и отрицательных аргументов в этом методе аналогична обработке этих случаев в Math.sqrt(double).
Примечание API:
Этот метод соответствует операции squareRoot, определенной в IEEE 754.
Параметры:
radicand - аргумент, для которого необходимо вычислить квадратный корень
Возвращает:
квадратный корень из операнда
См. также:
  • Math.sqrt(double)

fma

public static Float16 fma(Float16 a, Float16 b, Float16 c)
Возвращает произведение с последующим сложением (fma) трех аргументов; то есть возвращает точное произведение первых двух аргументов, суммированное с третьим аргументом, а затем один раз округлено до ближайшего значения Float16. Обработка нулей, NaN, бесконечностей и других особых случаев в этом методе аналогична обработке этих случаев в Math.fma(float, float, float).
Примечание API:
Этот метод соответствует операции fusedMultiplyAdd, определенной в IEEE 754.
Параметры:
a - значение
b - значение
c - значение
Возвращает:
(a × b + c), вычисленный как с неограниченным диапазоном и точностью, и округлённый один раз до ближайшего значения Float16
См. также:
  • Math.fma(float, float, float)
  • Math.fma(double, double, double)

отрицание

public static Float16 negate(Float16 f16)
Возвращает отрицание аргумента. Особые случаи:
  • Если аргумент равен нулю, результат — ноль с противоположным знаком, чем аргумент.
  • Если аргумент равен бесконечности, результат — бесконечность с противоположным знаком, чем аргумент.
  • Если аргумент — NaN, результат — NaN.
Примечание API:
Этот метод соответствует операции отрицания, определенной в IEEE 754.
Параметры:
f16 - значение, которое нужно изменить на противоположное
Возвращает:
отрицание аргумента
См. Спецификацию языка Java:
15.15.4 Унарный минус оператор -

абс

public static Float16 abs(Float16 f16)
Возвращает абсолютное значение аргумента. Обработка нулей, NaN и бесконечностей в этом методе аналогична обработке этих случаев в Math.abs(float).
Параметры:
f16 - аргумент, для которого необходимо определить абсолютное значение
Возвращает:
абсолютное значение аргумента
См. также:
  • Math.abs(float)
  • Math.abs(double)

getExponent

public static int getExponent(Float16 f16)
Возвращает несмещённый экспонент, используемый в представлении Float16.
  • Если аргумент NaN или бесконечность, то результат равен MAX_EXPONENT + 1.
  • Если аргумент ноль или поднормализованное число, то результат равен MIN_EXPONENT - 1.
Примечание API:
Этот метод аналогичен операции logB, определенной в IEEE 754, но возвращает другое значение для поднормализованных аргументов.
Параметры:
f16 - значение Float16
Возвращает:
несмещённый экспонент аргумента
См. также:
  • Math.getExponent(float)
  • Math.getExponent(double)

ulp

public static Float16 ulp(Float16 f16)
Возвращает размер ulp аргумента. ULP (единица в последнем разряде) значения Float16 — это положительное расстояние между этим значением с плавающей запятой и значением Float16, следующим по величине. Обратите внимание, что для не-NaN x, ulp(-x) == ulp(x).

Особые случаи:

  • Если аргумент NaN, результат NaN.
  • Если аргумент положительная или отрицательная бесконечность, результат — положительная бесконечность.
  • Если аргумент положительный или отрицательный ноль, результат — Float16.MIN_VALUE.
  • Если аргумент ±Float16.MAX_VALUE, то результат равен 25, 32.0.
Параметры:
f16 - значение с плавающей запятой, для которого необходимо получить ulp
Возвращает:
размер ulp аргумента
См. также:
  • Math.ulp(float)
  • Math.ulp(double)

nextUp

public static Float16 nextUp(Float16 v)
Возвращает значение с плавающей запятой, смежное с v в направлении положительной бесконечности.

Особые случаи:

  • Если аргумент NaN, результат NaN.
  • Если аргумент положительная бесконечность, результат — положительная бесконечность.
  • Если аргумент ноль, результат — MIN_VALUE
Примечание API:
Этот метод соответствует операции nextUp, определенной в IEEE 754.
Параметры:
v - начальное значение с плавающей запятой
Возвращает:
Смежное значение с плавающей запятой, более близкое к положительной бесконечности.
См. также:
  • Math.nextUp(float)
  • Math.nextUp(double)

nextDown

public static Float16 nextDown(Float16 v)
Возвращает значение с плавающей точкой, смежное с v в направлении отрицательной бесконечности.

Особые случаи:

  • Если аргумент равен NaN, результат равен NaN.
  • Если аргумент равен отрицательной бесконечности, результат равен отрицательной бесконечности.
  • Если аргумент равен нулю, результат равен -MIN_VALUE
Примечание API:
Этот метод соответствует операции nextDown, определённой в стандарте IEEE 754.
Параметры:
v - начальное значение с плавающей точкой
Возвращает:
Смежное значение с плавающей точкой, более близкое к отрицательной бесконечности.
См. также:
  • Math.nextDown(float)
  • Math.nextDown(double)

scalb

public static Float16 scalb(Float16 v, int scaleFactor)
Возвращает v × 2scaleFactor, округлённое так, как если бы оно выполнялось с помощью одного правильно округлённого умножения с плавающей точкой. Если порядок результата находится между MIN_EXPONENT и MAX_EXPONENT, ответ вычисляется точно. Если порядок результата будет больше Float16.MAX_EXPONENT, возвращается бесконечность. Обратите внимание, что если результат является субнормальным, точность может быть потеряна; то есть, когда scalb(x, n) является субнормальным, scalb(scalb(x, n), -n) может не равняться x. Когда результат не NaN, результат имеет тот же знак, что и v.

Особые случаи:

  • Если первый аргумент равен NaN, возвращается NaN.
  • Если первый аргумент равен бесконечности, возвращается бесконечность с тем же знаком.
  • Если первый аргумент равен нулю, возвращается ноль с тем же знаком.
Примечание API:
Этот метод соответствует операции scaleB, определённой в стандарте IEEE 754.
Параметры:
v - число, которое будет масштабировано на степень двойки.
scaleFactor - степень двойки, используемая для масштабирования v
Возвращает:
v × 2scaleFactor
См. также:
  • Math.scalb(float, int)
  • Math.scalb(double, int)

copySign

public static Float16 copySign(Float16 magnitude, Float16 sign)
Возвращает первый аргумент с плавающей точкой со знаком второго аргумента с плавающей точкой. Этот метод не требует, чтобы аргументы NaN обрабатывались как положительные значения; реализации разрешается обрабатывать некоторые аргументы NaN как положительные, а другие - как отрицательные, чтобы повысить производительность.
Примечание API:
Этот метод соответствует операции copySign, определённой в стандарте IEEE 754.
Параметры:
magnitude - параметр, определяющий величину результата
sign - параметр, определяющий знак результата
Возвращает:
значение с величиной magnitude и знаком sign.
См. также:
  • Math.copySign(float, float)
  • Math.copySign(double, double)

signum

public static Float16 signum(Float16 f)
Возвращает функцию signum аргумента; ноль, если аргумент равен нулю, 1.0, если аргумент больше нуля, -1.0, если аргумент меньше нуля.

Особые случаи:

  • Если аргумент равен NaN, результат равен NaN.
  • Если аргумент равен положительному или отрицательному нулю, результат такой же, как и аргумент.
Параметры:
f - значение с плавающей точкой, для которого нужно вернуть функцию signum
Возвращает:
функция signum аргумента
См. также:
  • Math.signum(float)
  • Math.signum(double)

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/jdk.incubator.vector/jdk/incubator/vector/Float16.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API