Интерфейс 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, 2021, 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/17/docs/api/jdk.incubator.vector/jdk/incubator/vector/VectorOperators.Operator.html