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