Package org.apache.druid.math.expr
Class Function.Pi
java.lang.Object
org.apache.druid.math.expr.Function.Pi
- All Implemented Interfaces:
Function,NamedFunction
- Enclosing interface:
Function
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.druid.math.expr.Function
Function.Abs, Function.Acos, Function.ArrayAddElementFunction, Function.ArrayAppendFunction, Function.ArrayConcatFunction, Function.ArrayConstructorFunction, Function.ArrayContainsFunction, Function.ArrayLengthFunction, Function.ArrayOffsetFunction, Function.ArrayOffsetOfFunction, Function.ArrayOrdinalFunction, Function.ArrayOrdinalOfFunction, Function.ArrayOverlapFunction, Function.ArrayPrependFunction, Function.ArrayScalarFunction, Function.ArraySetAddAllFunction, Function.ArraySetAddFunction, Function.ArraysFunction, Function.ArraySliceFunction, Function.ArraysMergeFunction, Function.ArrayToMultiValueStringFunction, Function.ArrayToStringFunction, Function.Asin, Function.Atan, Function.Atan2, Function.BitwiseAnd, Function.BitwiseComplement, Function.BitwiseConvertDoubleToLongBits, Function.BitwiseConvertLongBitsToDouble, Function.BitwiseOr, Function.BitwiseShiftLeft, Function.BitwiseShiftRight, Function.BitwiseXor, Function.BivariateBitwiseMathFunction, Function.BivariateFunction, Function.BivariateMathFunction, Function.CaseSearchedFunc, Function.CaseSimpleFunc, Function.CastFunc, Function.Cbrt, Function.Ceil, Function.CoalesceFunc, Function.ConcatFunc, Function.ConditionFunc, Function.CopySign, Function.Cos, Function.Cosh, Function.Cot, Function.Div, Function.DoubleBivariateMathFunction, Function.DoubleUnivariateMathFunction, Function.Exp, Function.Expm1, Function.Floor, Function.GetExponent, Function.GreatestFunc, Function.HumanReadableBinaryByteFormatFunc, Function.HumanReadableDecimalByteFormatFunc, Function.HumanReadableDecimalFormatFunc, Function.Hypot, Function.IsDistinctFromFunc, Function.IsFalseFunc, Function.IsNotDistinctFromFunc, Function.IsNotFalseFunc, Function.IsNotNullFunc, Function.IsNotTrueFunc, Function.IsNullFunc, Function.IsTrueFunc, Function.LeastFunc, Function.LeftFunc, Function.Log, Function.Log10, Function.Log1p, Function.LowerFunc, Function.LpadFunc, Function.Max, Function.Min, Function.MultiValueStringHarmonizeNullsFunction, Function.MultiValueStringToArrayFunction, Function.MvContainsFunction, Function.MvOverlapFunction, Function.NextAfter, Function.NextUp, Function.NvlFunc, Function.ParseLong, Function.Pi, Function.Pow, Function.ReduceFunction, Function.Remainder, Function.RepeatFunc, Function.ReplaceFunc, Function.ReverseFunc, Function.RightFunc, Function.Rint, Function.Round, Function.RpadFunc, Function.SafeDivide, Function.ScalarInArrayFunction, Function.Scalb, Function.Signum, Function.Sin, Function.Sinh, Function.SizeFormatFunc, Function.Sqrt, Function.StringFormatFunc, Function.StringLongFunction, Function.StringToArrayFunction, Function.StrlenFunc, Function.StrposFunc, Function.SubMonthFunc, Function.SubstringFunc, Function.Tan, Function.Tanh, Function.TimestampFromEpochFunc, Function.ToDegrees, Function.ToRadians, Function.Ulp, Function.UnivariateFunction, Function.UnivariateMathFunction, Function.UnixTimestampFunc, Function.UpperFunc -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply(List<Expr> args, Expr.ObjectBinding bindings) Evaluate the function, given a list of arguments and a set of bindings to provide values forIdentifierExpr.<T> ExprVectorProcessor<T> asVectorProcessor(Expr.VectorInputBindingInspector inspector, List<Expr> args) Builds a 'vectorized' function expression processor, that can build vectorized processors for its input values usingExpr.asVectorProcessor(org.apache.druid.math.expr.Expr.VectorInputBindingInspector), for use in vectorized query engines.booleancanVectorize(Expr.InputBindingInspector inspector, List<Expr> args) Check if a function can be 'vectorized', for a given set ofExprinputs.getOutputType(Expr.InputBindingInspector inspector, List<Expr> args) Compute the output type of this function for a given set of argument expression inputs.name()Name of the functionvoidvalidateArguments(List<Expr> args) Validate function arguments.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.druid.math.expr.Function
asBitmapColumnIndex, asColumnIndexSupplier, asSingleThreaded, getArrayInputs, getScalarInputs, hasArrayInputs, hasArrayOutputMethods inherited from interface org.apache.druid.math.expr.NamedFunction
processingFailed, processingFailed, validationFailed, validationFailed, validationHelperCheckAnyOfArgumentCount, validationHelperCheckArgIsLiteral, validationHelperCheckArgumentCount, validationHelperCheckArgumentCount, validationHelperCheckArgumentRange, validationHelperCheckLambaArgumentCount, validationHelperCheckMinArgumentCount, validationHelperCheckMinArgumentCount
-
Constructor Details
-
Pi
public Pi()
-
-
Method Details
-
name
Description copied from interface:NamedFunctionName of the function- Specified by:
namein interfaceNamedFunction
-
apply
Description copied from interface:FunctionEvaluate the function, given a list of arguments and a set of bindings to provide values forIdentifierExpr. -
validateArguments
Description copied from interface:FunctionValidate function arguments. This method is called whenever aFunctionExpris created, and should validate everything that is feasible up front. Note that input type information is typically unavailable at the timeExprare parsed, and so this method is incapable of performing complete validation.- Specified by:
validateArgumentsin interfaceFunction
-
getOutputType
@Nullable public ExpressionType getOutputType(Expr.InputBindingInspector inspector, List<Expr> args) Description copied from interface:FunctionCompute the output type of this function for a given set of argument expression inputs.- Specified by:
getOutputTypein interfaceFunction- See Also:
-
canVectorize
Description copied from interface:FunctionCheck if a function can be 'vectorized', for a given set ofExprinputs. If this method returns true,Function.asVectorProcessor(org.apache.druid.math.expr.Expr.VectorInputBindingInspector, java.util.List<org.apache.druid.math.expr.Expr>)is expected to produce aExprVectorProcessorwhich can evaluate values in batches to use with vectorized query engines.- Specified by:
canVectorizein interfaceFunction- See Also:
-
asVectorProcessor
public <T> ExprVectorProcessor<T> asVectorProcessor(Expr.VectorInputBindingInspector inspector, List<Expr> args) Description copied from interface:FunctionBuilds a 'vectorized' function expression processor, that can build vectorized processors for its input values usingExpr.asVectorProcessor(org.apache.druid.math.expr.Expr.VectorInputBindingInspector), for use in vectorized query engines.- Specified by:
asVectorProcessorin interfaceFunction- See Also:
-