Class BivariateFunctionVectorProcessor<TLeftInput,TRightInput,TOutput>
java.lang.Object
org.apache.druid.math.expr.vector.BivariateFunctionVectorProcessor<TLeftInput,TRightInput,TOutput>
- All Implemented Interfaces:
ExprVectorProcessor<TOutput>
- Direct Known Subclasses:
SymmetricalBivariateFunctionVectorProcessor
public abstract class BivariateFunctionVectorProcessor<TLeftInput,TRightInput,TOutput>
extends Object
implements ExprVectorProcessor<TOutput>
Basic vector processor that processes 2 inputs and works for both primitive value vectors and object vectors.
Different from
LongBivariateFunctionVectorProcessor, DoubleBivariateFunctionVectorProcessor
and BivariateObjectsFunctionVectorProcessor in that subclasses of this class must check for and directly
decide how to handle null values.-
Constructor Summary
ConstructorsConstructorDescriptionBivariateFunctionVectorProcessor(ExpressionType outputType, ExprVectorProcessor<TLeftInput> left, ExprVectorProcessor<TRightInput> right) -
Method Summary
Modifier and TypeMethodDescriptionabstract ExprEvalVector<TOutput> asEval()evalVector(Expr.VectorInputBinding bindings) intabstract voidprocessIndex(TLeftInput leftInput, boolean[] leftNulls, TRightInput rightInput, boolean[] rightNulls, int i)
-
Constructor Details
-
BivariateFunctionVectorProcessor
public BivariateFunctionVectorProcessor(ExpressionType outputType, ExprVectorProcessor<TLeftInput> left, ExprVectorProcessor<TRightInput> right)
-
-
Method Details
-
evalVector
- Specified by:
evalVectorin interfaceExprVectorProcessor<TLeftInput>
-
processIndex
public abstract void processIndex(TLeftInput leftInput, @Nullable boolean[] leftNulls, TRightInput rightInput, @Nullable boolean[] rightNulls, int i) -
asEval
-
getOutputType
- Specified by:
getOutputTypein interfaceExprVectorProcessor<TLeftInput>
-
maxVectorSize
public int maxVectorSize()- Specified by:
maxVectorSizein interfaceExprVectorProcessor<TLeftInput>
-