Spec-Zone.ru › OpenJDK 25

Класс 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
Знак — 1 бит
Экспонента — 5 бит
Значащая часть — 10 бит (не включает неявный бит, выводимый из экспоненты; см. PRECISION)

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

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

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

В классе 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 binary16 для чисел с плавающей точкой.
static short float16ToShortBits(Float16 f16)
Возвращает представление указанного значения с плавающей точкой в соответствии с битовой раскладкой IEEE 754 binary16 для чисел с плавающей точкой.
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, если указанное число является значением «не число» (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)
Возвращает знаковую функцию аргумента: ноль, если аргумент равен нулю; 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)
Возвращает размер ulp аргумента.
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 с использованием правила округления к ближайшему.

Методы, объявленные в классе 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), за исключением того, что для субнормальных значений Float16 используется показатель степени "p-14".
Примечание 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 — строка для разбора.
Возвращает:
значение Float16, представленное строковым аргументом.
Выбрасывает:
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, если аргумент является конечным значением с плавающей точкой; в противном случае (для аргументов NaN и бесконечности) возвращает false.
Примечание API:
Этот метод соответствует операции isFinite, определенной в IEEE 754.
Параметры:
f16 — проверяемое значение Float16
Возвращает:
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(Object)

hashCode

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

equals

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

float16ToRawShortBits

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

float16ToShortBits

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

shortBitsToFloat16

public static Float16 shortBitsToFloat16(short bits)
Возвращает значение Float16, соответствующее заданному битовому представлению.
Параметры:
bits — любое целое число short.
Возвращает:
значение с плавающей точкой 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).
  • Положительный и отрицательный ноль численно равны при сравнении, но являются различными значениями. Этот метод считает положительный ноль большим отрицательного нуля.
Определено в:
compareTo в интерфейсе Comparable<Float16>
Параметры:
anotherFloat16 — значение Float16, с которым выполняется сравнение.
Возвращает:
значение 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.
Параметры:
f1 — первое значение Float16 для сравнения
f2 — второе значение Float16 для сравнения
Возвращает:
значение 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:
Этот метод соответствует операции максимума, определённой в IEEE 754.
Параметры:
a — первый операнд
b — второй операнд
Возвращает:
большее из a и b
См. также:
  • BinaryOperator
  • Math.max(float, float)

min

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

add

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

subtract

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 Аддитивные операторы (+ и -) для числовых типов

multiply

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 Оператор умножения *

divide

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)
Возвращает результат слитного умножения с последующим сложением трёх аргументов; то есть точное произведение первых двух аргументов, сложенное с третьим аргументом и затем один раз округлённое до ближайшего значения 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)

negate

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

abs

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

signum

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, в том числе обзоры концепций, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.incubator.vector/jdk/incubator/vector/Float16.html

Spec-Zone.ru

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