in modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/impl/optimization/MathExpressions.scala [27:137]
def apply(expr: Expression, checkChild: (Expression) ⇒ Boolean): Boolean = expr match {
case Abs(child, _) ⇒
checkChild(child)
case Acos(child) ⇒
checkChild(child)
case Asin(child) ⇒
checkChild(child)
case Atan(child) ⇒
checkChild(child)
case Cos(child) ⇒
checkChild(child)
case Cosh(child) ⇒
checkChild(child)
case Sin(child) ⇒
checkChild(child)
case Sinh(child) ⇒
checkChild(child)
case Tan(child) ⇒
checkChild(child)
case Tanh(child) ⇒
checkChild(child)
case Atan2(left, right) ⇒
checkChild(left) && checkChild(right)
case BitwiseAnd(left, right) ⇒
checkChild(left) && checkChild(right)
case BitwiseOr(left, right) ⇒
checkChild(left) && checkChild(right)
case BitwiseXor(left, right) ⇒
checkChild(left) && checkChild(right)
case Ceil(child) ⇒
checkChild(child)
case ToDegrees(child) ⇒
checkChild(child)
case Exp(child) ⇒
checkChild(child)
case Floor(child) ⇒
checkChild(child)
case Log(child) ⇒
checkChild(child)
case Log10(child) ⇒
checkChild(child)
case Logarithm(left, right) ⇒
checkChild(left) && checkChild(right)
case ToRadians(child) ⇒
checkChild(child)
case Sqrt(child) ⇒
checkChild(child)
case _: Pi ⇒
true
case _: EulerNumber ⇒
true
case Pow(left, right) ⇒
checkChild(left) && checkChild(right)
case Rand(child, _) ⇒
checkChild(child)
case Round(child, scale) ⇒
checkChild(child) && checkChild(scale)
case Signum(child) ⇒
checkChild(child)
case Remainder(left, right, _) ⇒
checkChild(left) && checkChild(right)
case Divide(left, right, _) ⇒
checkChild(left) && checkChild(right)
case Multiply(left, right, _) ⇒
checkChild(left) && checkChild(right)
case Subtract(left, right, _) ⇒
checkChild(left) && checkChild(right)
case Add(left, right, _) ⇒
checkChild(left) && checkChild(right)
case UnaryMinus(child, _) ⇒
checkChild(child)
case UnaryPositive(child) ⇒
checkChild(child)
case _ ⇒ false
}