W3cubDocs

/OpenJDK 21

Interface VectorOperators.Operator

All Known Subinterfaces:
VectorOperators.Associative, VectorOperators.Binary, VectorOperators.Comparison, VectorOperators.Conversion<E,F>, VectorOperators.Ternary, VectorOperators.Test, VectorOperators.Unary
Enclosing class:
VectorOperators
public static interface VectorOperators.Operator
Root type for all operator tokens, providing queries for common properties such as arity, argument and return types, symbolic name, and operator name.
API Note:
User code should not implement this interface. A future release of this type may restrict implementations to be members of the same package.
See Also:

Method Summary

Modifier and Type Method Description
int arity()
Returns the arity of this operator (1, 2, or 3).
boolean compatibleWith(Class<?> elementType)
Reports whether this operator is compatible with the proposed element type.
boolean isAssociative()
Returns the associativity of this operator.
boolean isBoolean()
Reports whether this operator returns a boolean (a mask).
String name()
Returns the symbolic name of this operator, as a constant in VectorOperators.
String operatorName()
Returns the Java operator symbol or method name corresponding to this operator.
Class<?> rangeType()
Reports the special return type of this operator.

Method Details

name

String name()
Returns the symbolic name of this operator, as a constant in VectorOperators. The operator symbol, Java method name, or example expression, such as "+", "max" or "-a", is also available as operatorName().
Returns:
the symbolic name of this operator, such as "ADD"

operatorName

String operatorName()
Returns the Java operator symbol or method name corresponding to this operator. If there is no symbol or method, return a string containing a representative expression for the operator, using operand names a, b (for non-unary operators), and c (for ternary operators). The symbolic name of the constant, such as "ADD", is also available as name().
Returns:
an operator token, such as "+", or a method name, such as "max", or a representative expression, such as "-a"

arity

int arity()
Returns the arity of this operator (1, 2, or 3).
Returns:
the arity of this operator (1, 2, or 3)

isBoolean

boolean isBoolean()
Reports whether this operator returns a boolean (a mask). A boolean operator also reports boolean as the rangeType.
Returns:
whether this operator returns a boolean

rangeType

Class<?> rangeType()
Reports the special return type of this operator. If this operator is a boolean, returns boolean.class. If this operator is a Conversion, returns its range type. Otherwise, the operator's return value always has whatever type was given as an input, and this method returns Object.class to denote that fact.
Returns:
the special return type, or Object.class if none

isAssociative

boolean isAssociative()
Returns the associativity of this operator. Only binary operators can be associative.
Returns:
the associativity of this operator

compatibleWith

boolean compatibleWith(Class<?> elementType)
Reports whether this operator is compatible with the proposed element type. First, unrestricted operators are compatible with all element types. Next, if the element type is double or float and the operator is restricted to floating point types, it is compatible. Otherwise, if the element type is neither double nor float and the operator is restricted to integral types, it is compatible. Otherwise, the operator is not compatible.
Parameters:
elementType - the proposed operand type for the operator
Returns:
whether the proposed type is compatible with this operator

© 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