public bool?Compute( long leftStart, long leftEnd, long rightStart, long rightEnd, EventBean[] eventsPerStream, bool newData, ExprEvaluatorContext context) { if (overlaps) { long minThreshold = minEval.Evaluate(leftStart, eventsPerStream, newData, context); long maxThreshold = maxEval.Evaluate(leftEnd, eventsPerStream, newData, context); return(IntervalComputerOverlapsAndByThresholdEval.ComputeIntervalOverlaps( leftStart, leftEnd, rightStart, rightEnd, minThreshold, maxThreshold)); } else { long minThreshold = minEval.Evaluate(rightStart, eventsPerStream, newData, context); long maxThreshold = maxEval.Evaluate(rightEnd, eventsPerStream, newData, context); return(IntervalComputerOverlapsAndByThresholdEval.ComputeIntervalOverlaps( rightStart, rightEnd, leftStart, leftEnd, minThreshold, maxThreshold)); } }
public CodegenExpression Codegen( CodegenExpression leftStart, CodegenExpression leftEnd, CodegenExpression rightStart, CodegenExpression rightEnd, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { return(IntervalComputerOverlapsAndByThresholdEval.Codegen( this, leftStart, leftEnd, rightStart, rightEnd, codegenMethodScope, exprSymbol, codegenClassScope)); }