Интерфейс VectorOperators.Operator
- Все известные подинтерфейсы:
-
VectorOperators.Associative,VectorOperators.Binary,VectorOperators.Comparison,VectorOperators.Conversion<E,,F> VectorOperators.Ternary,VectorOperators.Test,VectorOperators.Unary
- Включающий класс:
VectorOperators
public static interface VectorOperators.Operator
Базовый тип для всех операторных токенов, предоставляющий запросы для общих свойств, таких как арность, типы аргументов и возвращаемого значения, символическое имя и имя оператора.
- Примечание API:
- Код пользователя не должен реализовывать этот интерфейс. Будущая версия этого типа может ограничить реализации членством в одном пакете.
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
arity() |
Возвращает арность этого оператора (1, 2 или 3). |
boolean |
compatibleWith |
Отмечает, совместим ли этот оператор с предлагаемым типом элемента. |
boolean |
isAssociative() |
Возвращает ассоциативность этого оператора. |
boolean |
isBoolean() |
Отмечает, возвращает ли этот оператор булево значение (маску). |
String |
name() |
Возвращает символическое имя этого оператора как константу в VectorOperators. |
String |
operatorName() |
Возвращает символ оператора Java или имя метода, соответствующие этому оператору. |
Class |
rangeType() |
Отмечает специальный тип возвращаемого значения этого оператора. |
Подробное описание методов
name
String name()
Возвращает символическое имя этого оператора как константу в
VectorOperators. Символ оператора, имя метода Java или пример выражения, такие как "+", "max" или "-a", также доступны как operatorName().- Возвращает:
- символическое имя этого оператора, например,
"ADD"
operatorName
String operatorName()
Возвращает символ оператора Java или имя метода, соответствующие этому оператору. Если символ или метод отсутствуют, возвращает строку, содержащую представительное выражение для оператора, используя имена операндов
a, b (для операторов, отличных от унарных) и c (для тернарных операторов). Символическое имя константы, например, "ADD", также доступно как name().- Возвращает:
- токен оператора, например,
"+", или имя метода, например,"max", или представительное выражение, например,"-a"
arity
int arity()
Возвращает арность этого оператора (1, 2 или 3).
- Возвращает:
- арность этого оператора (1, 2 или 3)
isBoolean
boolean isBoolean()
Отмечает, возвращает ли этот оператор булево значение (маску). Булевый оператор также отмечает
boolean как rangeType.- Возвращает:
- возвращает ли этот оператор булево значение
rangeType
Class<?> rangeType()
Отмечает специальный тип возвращаемого значения этого оператора. Если этот оператор булевый, возвращает
boolean.class. Если этот оператор является Conversion, возвращает его тип диапазона. В противном случае возвращаемое значение оператора всегда имеет тот тип, который был задан в качестве входного, и этот метод возвращает Object.class, чтобы указать этот факт.- Возвращает:
- специальный тип возвращаемого значения, или
Object.class, если нет
isAssociative
boolean isAssociative()
Возвращает ассоциативность этого оператора. Только бинарные операторы могут быть ассоциативными.
- Возвращает:
- ассоциативность этого оператора
compatibleWith
boolean compatibleWith(Class<?> elementType)
Отмечает, совместим ли этот оператор с предлагаемым типом элемента. Во-первых, неограниченные операторы совместимы со всеми типами элементов. Затем, если тип элемента является
double или float, и оператор ограничен типами с плавающей точкой, он совместим. В противном случае, если тип элемента не является ни double, ни float, и оператор ограничен целочисленными типами, он совместим. В противном случае оператор не совместим.- Параметры:
-
elementType- предлагаемый тип операнда для оператора - Возвращает:
- является ли предлагаемый тип совместимым с этим оператором
© 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/VectorOperators.Operator.html