Package org.apache.druid.math.expr
Class Function.UnivariateMathFunction
- java.lang.Object
-
- org.apache.druid.math.expr.Function.UnivariateFunction
-
- org.apache.druid.math.expr.Function.UnivariateMathFunction
-
- All Implemented Interfaces:
Function
,NamedFunction
- Direct Known Subclasses:
Function.Abs
,Function.BitwiseComplement
,Function.BitwiseConvertDoubleToLongBits
,Function.BitwiseConvertLongBitsToDouble
,Function.DoubleUnivariateMathFunction
,Function.GetExponent
- Enclosing interface:
- Function
public abstract static class Function.UnivariateMathFunction extends Function.UnivariateFunction
Base class for a single variable input mathematicalFunction
, with specialized 'eval' implementations that that operate on primitive number types
-
-
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.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.MultiValueStringToArrayFunction, 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.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 Constructor Description UnivariateMathFunction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canVectorize(Expr.InputBindingInspector inspector, List<Expr> args)
Check if a function can be 'vectorized', for a given set ofExpr
inputs.protected ExprEval
eval(double param)
protected ExprEval
eval(long param)
protected ExprEval
eval(ExprEval param)
ExpressionType
getOutputType(Expr.InputBindingInspector inspector, List<Expr> args)
Compute the output type of this function for a given set of argument expression inputs.-
Methods inherited from class org.apache.druid.math.expr.Function.UnivariateFunction
apply, validateArguments
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.math.expr.Function
asVectorProcessor, getArrayInputs, getScalarInputs, hasArrayInputs, hasArrayOutput
-
Methods inherited from interface org.apache.druid.math.expr.NamedFunction
name, processingFailed, validationFailed, validationFailed, validationHelperCheckAnyOfArgumentCount, validationHelperCheckArgIsLiteral, validationHelperCheckArgumentCount, validationHelperCheckArgumentCount, validationHelperCheckArgumentRange, validationHelperCheckLambaArgumentCount, validationHelperCheckMinArgumentCount, validationHelperCheckMinArgumentCount
-
-
-
-
Method Detail
-
eval
protected final ExprEval eval(ExprEval param)
- Specified by:
eval
in classFunction.UnivariateFunction
-
eval
protected ExprEval eval(long param)
-
eval
protected ExprEval eval(double param)
-
getOutputType
@Nullable public ExpressionType getOutputType(Expr.InputBindingInspector inspector, List<Expr> args)
Description copied from interface:Function
Compute the output type of this function for a given set of argument expression inputs.
-
canVectorize
public boolean canVectorize(Expr.InputBindingInspector inspector, List<Expr> args)
Description copied from interface:Function
Check if a function can be 'vectorized', for a given set ofExpr
inputs. 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 aExprVectorProcessor
which can evaluate values in batches to use with vectorized query engines.
-
-