Spec-Zone.ru › OpenJDK 27

Класс VectorOperators

java.lang.Object
jdk.incubator.vector.VectorOperators
public final class VectorOperators extends Object
Этот класс состоит исключительно из статических констант, описывающих векторные операции по элементам, а также вложенных интерфейсов, классифицирующих эти операции. Статические константы служат маркерами, обозначающими конкретные операции над элементами, запрошенные в векторных выражениях, например маркер ADD в w = v0.lanewise(ADD, v1).

Документация для каждого отдельного маркера оператора очень краткая и содержит символическое выражение Java для операции, запрашиваемой этим маркером. В этих символических выражениях используются следующие общепринятые элементы:

  • a, b, c — имена значений элементов вектора
  • Операторы Java, например +, ?: и т. д. — операторы выражений
  • Имена методов Java, например max, sin и т. д. — методы стандартных классов, таких как Math, Double и т. д. Неполные имена методов следует интерпретировать так, как если бы они использовались в контексте статического импорта, с разрешением перегрузки.
  • bits(x) — вызов функции, возвращающей базовые биты значения x. Если x — значение с плавающей точкой, то это либо doubleToLongBits(x), либо floatToIntBits(x). В противном случае значение просто равно x.
  • ESIZE — размер операнда в байтах
  • EMASK — битовая маска типа операнда, где EMASK=(1<<(ESIZE*8))-1
  • intVal, byteVal и т. д. — операнд преобразования с указанным типом

Операции над векторами с плавающей точкой

  • Поэлементные векторные операции, применимые к векторам с плавающей точкой, соответствуют спецификациям точности и монотонности эквивалентной операции или метода Java, указанных в документации, если не оговорено иное. Если тип элемента вектора — float, а операция или метод Java принимает и возвращает только значения double, то скалярная операция над каждым элементом адаптируется так, чтобы привести операнды и результат к нужным типам: операнды float расширяются до операндов double, а результат double сужается до float.
  • Некоторые ассоциативные операции, применимые к векторам с плавающей точкой, фактически не являются ассоциативными для значений элементов с плавающей точкой. В частности, это ADD и MUL, используемые в операциях редукции между элементами, например FloatVector.reduceLanes(Associative). Результат такой операции зависит как от входных значений (вектора и маски), так и от порядка скалярных операций, применяемых для объединения значений элементов. В таких случаях порядок намеренно не определяется. Это позволяет JVM генерировать оптимальный машинный код для целевой платформы во время выполнения. Если платформа поддерживает векторную инструкцию для сложения или умножения всех значений в векторе либо существует другая эффективная последовательность машинных команд, JVM может сгенерировать такой машинный код. В противном случае применяется реализация по умолчанию, последовательно складывающая элементы вектора от начала до конца. Поэтому результат такой операции может различаться при одинаковых входных значениях.

Обратите внимание, что один и тот же маркер оператора может применяться к нескольким различным типам элементов вектора. Поэтому эти маркеры ведут себя как перегруженные операторы или методы, а не как дескрипторы методов или лямбда-выражения, специфичные для типа. Кроме того, в отличие от дескрипторов методов или лямбда-выражений, эти операторы не обладают операционной семантикой: у них нет метода apply или invoke. Они используются только для запроса операций над элементами у векторных объектов и сами по себе не могут выполнять операции над отдельными значениями элементов.

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static interface  VectorOperators.Associative
Тип для всех переассоциируемых бинарных операторов поэлементного применения, используемый в выражениях, таких как e = v0.reduceLanes(ADD).
static interface  VectorOperators.Binary
Тип для всех бинарных (с двумя аргументами) операторов поэлементного применения, используемый в выражениях, таких как w = v0.lanewise(ADD, v1).
static interface  VectorOperators.Comparison
Тип для всех бинарных логических сравнений значений элементов вектора при поэлементном применении, используемый в выражениях, таких как m = v0.compare(LT, v1).
static interface  VectorOperators.Conversion<E,F>
Тип для всех преобразований значений элементов вектора при поэлементном применении, используемый в выражениях, таких как w1 = v0.convert(I2D, 1).
static interface  VectorOperators.Operator
Базовый тип для всех маркеров операторов; предоставляет методы для получения общих свойств, таких как арность, типы аргументов и возвращаемого значения, символическое имя и имя оператора.
static interface  VectorOperators.Ternary
Тип для всех тернарных (с тремя аргументами) операторов поэлементного применения, используемый в выражениях, таких как w = v0.lanewise(FMA, v1, v2).
static interface  VectorOperators.Test
Тип для всех унарных логических проверок значений элементов вектора при поэлементном применении, используемый в выражениях, таких как m = v0.test(IS_FINITE).
static interface  VectorOperators.Unary
Тип для всех унарных (с одним аргументом) операторов поэлементного применения, используемый в выражениях, таких как w = v0.lanewise(NEG).

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

Модификатор и тип Поле Описание
static final VectorOperators.Unary ABS
Возвращает abs(a).
static final VectorOperators.Unary ACOS
Возвращает acos(a).
static final VectorOperators.Associative ADD
Возвращает a+b.
static final VectorOperators.Associative AND
Возвращает a&b.
static final VectorOperators.Binary AND_NOT
Возвращает a&~b.
static final VectorOperators.Binary ASHR
Возвращает a>>(n&(ESIZE*8-1)).
static final VectorOperators.Unary ASIN
Возвращает asin(a).
static final VectorOperators.Unary ATAN
Возвращает atan(a).
static final VectorOperators.Binary ATAN2
Возвращает atan2(a,b).
static final VectorOperators.Conversion<Byte,Double> B2D
Преобразует byteVal в (double)byteVal.
static final VectorOperators.Conversion<Byte,Float> B2F
Преобразует byteVal в (float)byteVal.
static final VectorOperators.Conversion<Byte,Integer> B2I
Преобразует byteVal в (int)byteVal.
static final VectorOperators.Conversion<Byte,Long> B2L
Преобразует byteVal в (long)byteVal.
static final VectorOperators.Conversion<Byte,Short> B2S
Преобразует byteVal в (short)byteVal.
static final VectorOperators.Unary BIT_COUNT
Возвращает bitCount(a).
static final VectorOperators.Ternary BITWISE_BLEND
Возвращает a^((a^b)&c).
static final VectorOperators.Unary CBRT
Возвращает cbrt(a).
static final VectorOperators.Binary COMPRESS_BITS
Возвращает compress(a,n).
static final VectorOperators.Unary COS
Возвращает cos(a).
static final VectorOperators.Unary COSH
Возвращает cosh(a).
static final VectorOperators.Conversion<Double,Byte> D2B
Преобразует doubleVal в (byte)doubleVal.
static final VectorOperators.Conversion<Double,Float> D2F
Преобразует doubleVal в (float)doubleVal.
static final VectorOperators.Conversion<Double,Integer> D2I
Преобразует doubleVal в (int)doubleVal.
static final VectorOperators.Conversion<Double,Long> D2L
Преобразует doubleVal в (long)doubleVal.
static final VectorOperators.Conversion<Double,Short> D2S
Преобразует doubleVal в (short)doubleVal.
static final VectorOperators.Binary DIV
Возвращает a/b.
static final VectorOperators.Comparison EQ
Сравнивает a==b.
static final VectorOperators.Unary EXP
Возвращает exp(a).
static final VectorOperators.Binary EXPAND_BITS
Возвращает expand(a,n).
static final VectorOperators.Unary EXPM1
Возвращает expm1(a).
static final VectorOperators.Conversion<Float,Byte> F2B
Преобразует floatVal в (byte)floatVal.
static final VectorOperators.Conversion<Float,Double> F2D
Преобразует floatVal в (double)floatVal.
static final VectorOperators.Conversion<Float,Integer> F2I
Преобразует floatVal в (int)floatVal.
static final VectorOperators.Conversion<Float,Long> F2L
Преобразует floatVal в (long)floatVal.
static final VectorOperators.Conversion<Float,Short> F2S
Преобразует floatVal в (short)floatVal.
static final VectorOperators.Associative FIRST_NONZERO
Возвращает bits(a)!=0?a:b.
static final VectorOperators.Ternary FMA
Возвращает fma(a,b,c).
static final VectorOperators.Comparison GE
Сравнивает a>=b.
static final VectorOperators.Comparison GT
Сравнивает a>b.
static final VectorOperators.Binary HYPOT
Возвращает hypot(a,b).
static final VectorOperators.Conversion<Integer,Byte> I2B
Преобразует intVal в (byte)intVal.
static final VectorOperators.Conversion<Integer,Double> I2D
Преобразует intVal в (double)intVal.
static final VectorOperators.Conversion<Integer,Float> I2F
Преобразует intVal в (float)intVal.
static final VectorOperators.Conversion<Integer,Long> I2L
Преобразует intVal в (long)intVal.
static final VectorOperators.Conversion<Integer,Short> I2S
Преобразует intVal в (short)intVal.
static final VectorOperators.Test IS_DEFAULT
Проверяет bits(a)==0.
static final VectorOperators.Test IS_FINITE
Проверяет isFinite(a).
static final VectorOperators.Test IS_INFINITE
Проверяет isInfinite(a).
static final VectorOperators.Test IS_NAN
Проверяет isNaN(a).
static final VectorOperators.Test IS_NEGATIVE
Проверяет bits(a)<0.
static final VectorOperators.Conversion<Long,Byte> L2B
Преобразует longVal в (byte)longVal.
static final VectorOperators.Conversion<Long,Double> L2D
Преобразует longVal в (double)longVal.
static final VectorOperators.Conversion<Long,Float> L2F
Преобразует longVal в (float)longVal.
static final VectorOperators.Conversion<Long,Integer> L2I
Преобразует longVal в (int)longVal.
static final VectorOperators.Conversion<Long,Short> L2S
Преобразует longVal в (short)longVal.
static final VectorOperators.Comparison LE
Сравнивает a<=b.
static final VectorOperators.Unary LEADING_ZEROS_COUNT
Возвращает numberOfLeadingZeros(a).
static final VectorOperators.Unary LOG
Возвращает log(a).
static final VectorOperators.Unary LOG10
Возвращает log10(a).
static final VectorOperators.Unary LOG1P
Возвращает log1p(a).
static final VectorOperators.Binary LSHL
Возвращает a<<(n&(ESIZE*8-1)).
static final VectorOperators.Binary LSHR
Возвращает (a&EMASK)>>>(n&(ESIZE*8-1)).
static final VectorOperators.Comparison LT
Сравнивает a<b.
static final VectorOperators.Associative MAX
Возвращает max(a,b).
static final VectorOperators.Associative MIN
Возвращает min(a,b).
static final VectorOperators.Associative MUL
Возвращает a*b.
static final VectorOperators.Comparison NE
Сравнивает a!=b.
static final VectorOperators.Unary NEG
Возвращает -a.
static final VectorOperators.Unary NOT
Возвращает ~a.
static final VectorOperators.Associative OR
Возвращает a|b.
static final VectorOperators.Binary POW
Возвращает pow(a,b).
static final VectorOperators.Conversion<Double,Long> REINTERPRET_D2L
Интерпретирует биты doubleVal как long.
static final VectorOperators.Conversion<Float,Integer> REINTERPRET_F2I
Интерпретирует биты floatVal как int.
static final VectorOperators.Conversion<Integer,Float> REINTERPRET_I2F
Интерпретирует биты intVal как float.
static final VectorOperators.Conversion<Long,Double> REINTERPRET_L2D
Интерпретирует биты longVal как double.
static final VectorOperators.Unary REVERSE
Возвращает reverse(a).
static final VectorOperators.Unary REVERSE_BYTES
Возвращает reverseBytes(a).
static final VectorOperators.Binary ROL
Возвращает rotateLeft(a,n).
static final VectorOperators.Binary ROR
Возвращает rotateRight(a,n).
static final VectorOperators.Conversion<Short,Byte> S2B
Преобразует shortVal в (byte)shortVal.
static final VectorOperators.Conversion<Short,Double> S2D
Преобразует shortVal в (double)shortVal.
static final VectorOperators.Conversion<Short,Float> S2F
Преобразует shortVal в (float)shortVal.
static final VectorOperators.Conversion<Short,Integer> S2I
Преобразует shortVal в (int)shortVal.
static final VectorOperators.Conversion<Short,Long> S2L
Преобразует shortVal в (long)shortVal.
static final VectorOperators.Binary SADD
Возвращает насыщенное значение a+b.
static final VectorOperators.Unary SIN
Возвращает sin(a).
static final VectorOperators.Unary SINH
Возвращает sinh(a).
static final VectorOperators.Unary SQRT
Возвращает sqrt(a).
static final VectorOperators.Binary SSUB
Возвращает насыщенное значение a-b.
static final VectorOperators.Associative SUADD
Возвращает насыщенное беззнаковое значение a+b.
static final VectorOperators.Binary SUB
Возвращает a-b.
static final VectorOperators.Binary SUSUB
Возвращает насыщенное беззнаковое значение a-b.
static final VectorOperators.Unary TAN
Возвращает tan(a).
static final VectorOperators.Unary TANH
Возвращает tanh(a).
static final VectorOperators.Unary TRAILING_ZEROS_COUNT
Возвращает numberOfTrailingZeros(a).
static final VectorOperators.Comparison UGE
Беззнаково сравнивает a>=b.
static final VectorOperators.Comparison UGT
Беззнаково сравнивает a>b.
static final VectorOperators.Comparison ULE
Беззнаково сравнивает a<=b.
static final VectorOperators.Comparison ULT
Беззнаково сравнивает a<b.
static final VectorOperators.Associative UMAX
Возвращает беззнаковое значение max(a,b).
static final VectorOperators.Associative UMIN
Возвращает беззнаковое значение min(a,b).
static final VectorOperators.Associative XOR
Возвращает a^b.
static final VectorOperators.Conversion<Byte,Integer> ZERO_EXTEND_B2I
Расширяет byteVal нулями до int.
static final VectorOperators.Conversion<Byte,Long> ZERO_EXTEND_B2L
Расширяет byteVal нулями до long.
static final VectorOperators.Conversion<Byte,Short> ZERO_EXTEND_B2S
Расширяет byteVal нулями до short.
static final VectorOperators.Conversion<Integer,Long> ZERO_EXTEND_I2L
Расширяет intVal нулями до long.
static final VectorOperators.Conversion<Short,Integer> ZERO_EXTEND_S2I
Расширяет shortVal нулями до int.
static final VectorOperators.Conversion<Short,Long> ZERO_EXTEND_S2L
Расширяет shortVal нулями до long.
static final VectorOperators.Unary ZOMO
Возвращает a==0?0:-1 (ноль или минус один).

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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения для этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает одну нить, ожидающую на мониторе этого объекта.
final void notifyAll()
Пробуждает все нити, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущую нить ждать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущую нить ждать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущую нить ждать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

NOT

public static final VectorOperators.Unary NOT
Вычисляет ~a. Только для целочисленных типов.

ZOMO

public static final VectorOperators.Unary ZOMO
Вычисляет a==0?0:-1 (ноль или минус один). Только для целочисленных типов.

ABS

public static final VectorOperators.Unary ABS
Вычисляет abs(a).

NEG

public static final VectorOperators.Unary NEG
Вычисляет -a.

BIT_COUNT

public static final VectorOperators.Unary BIT_COUNT
Вычисляет bitCount(a). Только для целочисленных типов.
Начиная с версии:
19

TRAILING_ZEROS_COUNT

public static final VectorOperators.Unary TRAILING_ZEROS_COUNT
Вычисляет numberOfTrailingZeros(a). Только для целочисленных типов.
Начиная с версии:
19

LEADING_ZEROS_COUNT

public static final VectorOperators.Unary LEADING_ZEROS_COUNT
Вычисляет numberOfLeadingZeros(a). Только для целочисленных типов.
Начиная с версии:
19

REVERSE

public static final VectorOperators.Unary REVERSE
Вычисляет reverse(a). Только для целочисленных типов.
Начиная с версии:
19

REVERSE_BYTES

public static final VectorOperators.Unary REVERSE_BYTES
Вычисляет reverseBytes(a). Только для целочисленных типов.
Начиная с версии:
19

SIN

public static final VectorOperators.Unary SIN
Вычисляет sin(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

COS

public static final VectorOperators.Unary COS
Вычисляет cos(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

TAN

public static final VectorOperators.Unary TAN
Вычисляет tan(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

ASIN

public static final VectorOperators.Unary ASIN
Вычисляет asin(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

ACOS

public static final VectorOperators.Unary ACOS
Вычисляет acos(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

ATAN

public static final VectorOperators.Unary ATAN
Вычисляет atan(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

EXP

public static final VectorOperators.Unary EXP
Вычисляет exp(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

LOG

public static final VectorOperators.Unary LOG
Вычисляет log(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

LOG10

public static final VectorOperators.Unary LOG10
Вычисляет log10(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

SQRT

public static final VectorOperators.Unary SQRT
Вычисляет sqrt(a). Только для значений с плавающей точкой. См. раздел «Операции над векторами с плавающей точкой» выше

CBRT

public static final VectorOperators.Unary CBRT
Вычисляет cbrt(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

SINH

public static final VectorOperators.Unary SINH
Вычисляет sinh(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

COSH

public static final VectorOperators.Unary COSH
Вычисляет cosh(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

TANH

public static final VectorOperators.Unary TANH
Вычисляет tanh(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

EXPM1

public static final VectorOperators.Unary EXPM1
Вычисляет expm1(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

LOG1P

public static final VectorOperators.Unary LOG1P
Вычисляет log1p(a). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

ADD

public static final VectorOperators.Associative ADD
Вычисляет a+b.

SUB

public static final VectorOperators.Binary SUB
Вычисляет a-b.

MUL

public static final VectorOperators.Associative MUL
Вычисляет a*b.

DIV

public static final VectorOperators.Binary DIV
Вычисляет a/b. Только для значений с плавающей точкой.

MIN

public static final VectorOperators.Associative MIN
Вычисляет min(a,b).

MAX

public static final VectorOperators.Associative MAX
Вычисляет max(a,b).

FIRST_NONZERO

public static final VectorOperators.Associative FIRST_NONZERO
Вычисляет bits(a)!=0?a:b.

AND

public static final VectorOperators.Associative AND
Вычисляет a&b. Только для целочисленных типов.

AND_NOT

public static final VectorOperators.Binary AND_NOT
Вычисляет a&~b. Только для целочисленных типов.

OR

public static final VectorOperators.Associative OR
Вычисляет a|b. Только для целочисленных типов.

XOR

public static final VectorOperators.Associative XOR
Вычисляет a^b. Только для целочисленных типов.

SADD

public static final VectorOperators.Binary SADD
Вычисляет a+b с насыщением. Только для целочисленных типов.
См. также:
  • VectorMath.addSaturating(int, int)

SUADD

public static final VectorOperators.Associative SUADD
Вычисляет беззнаковое a+b с насыщением. Только для целочисленных типов.
См. также:
  • VectorMath.addSaturatingUnsigned(int, int)

SSUB

public static final VectorOperators.Binary SSUB
Вычисляет a-b с насыщением. Только для целочисленных типов.
См. также:
  • VectorMath.subSaturating(int, int)

SUSUB

public static final VectorOperators.Binary SUSUB
Вычисляет беззнаковое a-b с насыщением. Только для целочисленных типов.
См. также:
  • VectorMath.subSaturatingUnsigned(int, int)

UMIN

public static final VectorOperators.Associative UMIN
Вычисляет беззнаковое min(a,b). Только для целочисленных типов.
См. также:
  • (int, int)

UMAX

public static final VectorOperators.Associative UMAX
Вычисляет беззнаковое max(a,b). Только для целочисленных типов.
См. также:
  • (int, int)

LSHL

public static final VectorOperators.Binary LSHL
Вычисляет a<<(n&(ESIZE*8-1)). Только для целочисленных типов.

ASHR

public static final VectorOperators.Binary ASHR
Вычисляет a>>(n&(ESIZE*8-1)). Только для целочисленных типов.

LSHR

public static final VectorOperators.Binary LSHR
Вычисляет (a&EMASK)>>>(n&(ESIZE*8-1)). Только для целочисленных типов.

ROL

public static final VectorOperators.Binary ROL
Вычисляет rotateLeft(a,n). Только для целочисленных типов.

ROR

public static final VectorOperators.Binary ROR
Вычисляет rotateRight(a,n). Только для целочисленных типов.

COMPRESS_BITS

public static final VectorOperators.Binary COMPRESS_BITS
Вычисляет compress(a,n). Только для целочисленных типов, int и long.
Начиная с версии:
19

EXPAND_BITS

public static final VectorOperators.Binary EXPAND_BITS
Вычисляет expand(a,n). Только для целочисленных типов, int и long.
Начиная с версии:
19

ATAN2

public static final VectorOperators.Binary ATAN2
Вычисляет atan2(a,b). См. раздел «Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

POW

public static final VectorOperators.Binary POW
Вычисляет pow(a,b). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

HYPOT

public static final VectorOperators.Binary HYPOT
Вычисляет hypot(a,b). Только для значений с плавающей точкой. Полумонотонность не гарантируется. См. раздел «Операции над векторами с плавающей точкой» выше

BITWISE_BLEND

public static final VectorOperators.Ternary BITWISE_BLEND
Вычисляет a^((a^b)&c). (Побитовое (c(i)?b(i):a(i)).) Только для целочисленных типов.

FMA

public static final VectorOperators.Ternary FMA
Вычисляет fma(a,b,c). Только для значений с плавающей точкой.

IS_DEFAULT

public static final VectorOperators.Test IS_DEFAULT
Проверяет bits(a)==0. (Не является истиной для -0.0.)

IS_NEGATIVE

public static final VectorOperators.Test IS_NEGATIVE
Проверяет bits(a)<0. (Является истиной для -0.0.)

IS_FINITE

public static final VectorOperators.Test IS_FINITE
Проверяет isFinite(a). Только для значений с плавающей точкой.

IS_NAN

public static final VectorOperators.Test IS_NAN
Проверяет isNaN(a). Только для значений с плавающей точкой.

IS_INFINITE

public static final VectorOperators.Test IS_INFINITE
Проверяет isInfinite(a). Только для значений с плавающей точкой.

EQ

public static final VectorOperators.Comparison EQ
Сравнивает a==b.

NE

public static final VectorOperators.Comparison NE
Сравнивает a!=b.

LT

public static final VectorOperators.Comparison LT
Сравнивает a<b.

LE

public static final VectorOperators.Comparison LE
Сравнивает a<=b.

GT

public static final VectorOperators.Comparison GT
Сравнивает a>b.

GE

public static final VectorOperators.Comparison GE
Сравнивает a>=b.

ULT

public static final VectorOperators.Comparison ULT
Беззнаково сравнивает a<b. Только для целочисленных типов.
См. также:
  • Integer.compareUnsigned(int, int)
  • Long.compareUnsigned(long, long)

ULE

public static final VectorOperators.Comparison ULE
Беззнаково сравнивает a<=b. Только для целочисленных типов.
См. также:
  • Integer.compareUnsigned(int, int)
  • Long.compareUnsigned(long, long)

UGT

public static final VectorOperators.Comparison UGT
Беззнаково сравнивает a>b. Только для целочисленных типов.
См. также:
  • Integer.compareUnsigned(int, int)
  • Long.compareUnsigned(long, long)

UGE

public static final VectorOperators.Comparison UGE
Беззнаково сравнивает a>=b. Только для целочисленных типов.
См. также:
  • Integer.compareUnsigned(int, int)
  • Long.compareUnsigned(long, long)

B2D

public static final VectorOperators.Conversion<Byte,Double> B2D
Преобразует byteVal в (double)byteVal.

B2F

public static final VectorOperators.Conversion<Byte,Float> B2F
Преобразует byteVal в (float)byteVal.

B2I

public static final VectorOperators.Conversion<Byte,Integer> B2I
Преобразует byteVal в (int)byteVal.

B2L

public static final VectorOperators.Conversion<Byte,Long> B2L
Преобразует byteVal в (long)byteVal.

B2S

public static final VectorOperators.Conversion<Byte,Short> B2S
Преобразует byteVal в (short)byteVal.

D2B

public static final VectorOperators.Conversion<Double,Byte> D2B
Преобразует doubleVal в (byte)doubleVal.

D2F

public static final VectorOperators.Conversion<Double,Float> D2F
Преобразует doubleVal в (float)doubleVal.

D2I

public static final VectorOperators.Conversion<Double,Integer> D2I
Преобразует doubleVal в (int)doubleVal.

D2L

public static final VectorOperators.Conversion<Double,Long> D2L
Преобразует doubleVal в (long)doubleVal.

D2S

public static final VectorOperators.Conversion<Double,Short> D2S
Преобразует doubleVal в (short)doubleVal.

F2B

public static final VectorOperators.Conversion<Float,Byte> F2B
Преобразует floatVal в (byte)floatVal.

F2D

public static final VectorOperators.Conversion<Float,Double> F2D
Преобразует floatVal в (double)floatVal.

F2I

public static final VectorOperators.Conversion<Float,Integer> F2I
Преобразует floatVal в (int)floatVal.

F2L

public static final VectorOperators.Conversion<Float,Long> F2L
Преобразует floatVal в (long)floatVal.

F2S

public static final VectorOperators.Conversion<Float,Short> F2S
Преобразует floatVal в (short)floatVal.

I2B

public static final VectorOperators.Conversion<Integer,Byte> I2B
Преобразует intVal в (byte)intVal.

I2D

public static final VectorOperators.Conversion<Integer,Double> I2D
Преобразует intVal в (double)intVal.

I2F

public static final VectorOperators.Conversion<Integer,Float> I2F
Преобразует intVal в (float)intVal.

I2L

public static final VectorOperators.Conversion<Integer,Long> I2L
Преобразует intVal в (long)intVal.

I2S

public static final VectorOperators.Conversion<Integer,Short> I2S
Преобразует intVal в (short)intVal.

L2B

public static final VectorOperators.Conversion<Long,Byte> L2B
Преобразует longVal в (byte)longVal.

L2D

public static final VectorOperators.Conversion<Long,Double> L2D
Преобразует longVal в (double)longVal.

L2F

public static final VectorOperators.Conversion<Long,Float> L2F
Преобразует longVal в (float)longVal.

L2I

public static final VectorOperators.Conversion<Long,Integer> L2I
Преобразует longVal в (int)longVal.

L2S

public static final VectorOperators.Conversion<Long,Short> L2S
Преобразует longVal в (short)longVal.

S2B

public static final VectorOperators.Conversion<Short,Byte> S2B
Преобразует shortVal в (byte)shortVal.

S2D

public static final VectorOperators.Conversion<Short,Double> S2D
Преобразует shortVal в (double)shortVal.

S2F

public static final VectorOperators.Conversion<Short,Float> S2F
Преобразует shortVal в (float)shortVal.

S2I

public static final VectorOperators.Conversion<Short,Integer> S2I
Преобразует shortVal в (int)shortVal.

S2L

public static final VectorOperators.Conversion<Short,Long> S2L
Преобразует shortVal в (long)shortVal.

REINTERPRET_D2L

public static final VectorOperators.Conversion<Double,Long> REINTERPRET_D2L
Интерпретирует биты doubleVal как long. Как если бы использовался Double.doubleToRawLongBits(double)

REINTERPRET_F2I

public static final VectorOperators.Conversion<Float,Integer> REINTERPRET_F2I
Интерпретирует биты floatVal как int. Как если бы использовался Float.floatToRawIntBits(float)

REINTERPRET_I2F

public static final VectorOperators.Conversion<Integer,Float> REINTERPRET_I2F
Интерпретирует биты intVal как float. Как если бы использовался Float.intBitsToFloat(int)

REINTERPRET_L2D

public static final VectorOperators.Conversion<Long,Double> REINTERPRET_L2D
Интерпретирует биты longVal как double. Как если бы использовался Double.longBitsToDouble(long)

ZERO_EXTEND_B2I

public static final VectorOperators.Conversion<Byte,Integer> ZERO_EXTEND_B2I
Расширяет byteVal нулями до int.

ZERO_EXTEND_B2L

public static final VectorOperators.Conversion<Byte,Long> ZERO_EXTEND_B2L
Расширяет byteVal нулями до long.

ZERO_EXTEND_B2S

public static final VectorOperators.Conversion<Byte,Short> ZERO_EXTEND_B2S
Расширяет byteVal нулями до short.

ZERO_EXTEND_I2L

public static final VectorOperators.Conversion<Integer,Long> ZERO_EXTEND_I2L
Расширяет intVal нулями до long.

ZERO_EXTEND_S2I

public static final VectorOperators.Conversion<Short,Integer> ZERO_EXTEND_S2I
Расширяет shortVal нулями до int.

ZERO_EXTEND_S2L

public static final VectorOperators.Conversion<Short,Long> ZERO_EXTEND_S2L
Расширяет shortVal нулями до long.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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